ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

URDF (with ROS) explodes while SDF (only with Gazebo) works

asked 2018-04-26 12:48:57 -0500

Miriam gravatar image

Hi, I’m trying to make a simulator for a humanoid robot and I stared to construct it only with Gazebo, and with out control, the robot falls, as it was supposed to do. To start with the control in my robot, I was trying to use the platform of ROS, so, based in the SDF generated in Gazebo, I made a URDF of the robot to run it with ROS, and in ROS, the robot explodes. I have already review the other answers about similar cuestions, and tried to change the inertias (didn’t worked), review the centers of mass (all in their places), I don’t have any control yet, so it can’t be the derivative gain in the PID, and I’m out of ideas, so I was wondering if some one have any other idea of what the problem is about… I'm working with ROS Kinetic and Gazebo 7.

URDF

<?xml version="1.0"?>
<!-- Revolute-Revolute Manipulator -->
<robot name="mex_rb" xmlns:xacro="http://www.ros.org/wiki/xacro">


  <!-- Links -->   
    <link name="link_0">
      <inertial>
        <origin xyz="-0.003958 0 1.00846" rpy="0 -1.5707 -1.577"/>
        <mass value="0.598008"/>
        <inertia
          ixx="0.339691"
          ixy="0.0004183"
          ixz="0.0001867"
          iyy="0.0385081"
          iyz="0.0277932"
          izz="0.356779"/>
      </inertial>
      <visual>
        <origin xyz="-0.257058 -0.0781 0.77296" rpy="1.5707 0 1.5707"/>
        <geometry>
        <mesh filename="package://mex_rb/meshes/Stl/Completepart1stl.STL" scale="0.001 0.001 0.001"/>
        </geometry>
      </visual>
      <collision>
        <origin xyz="-0.257058 -0.0781 0.77296" rpy="1.5707 0 1.5707"/>
        <geometry>
        <mesh filename="package://mex_rb/meshes/Stl/Completepart1stl.STL" scale="0.001 0.001 0.001"/>
        </geometry>
      </collision>
    </link>
    <link name="link_1">
      <inertial>
        <origin xyz="-0.003958 0 0.885161" rpy="-0 -1.5707 -1.5707"/>
        <mass value="1.01132"/>
        <inertia
          ixx="0.218719"
          ixy="0.00021"
          ixz="0.0048212"
          iyy="0.381429"
          iyz="0.004079"
          izz="0.356779"/>
      </inertial>
      <visual>
        <origin xyz="-0.257058 -0.0981 0.77296" rpy="1.5707 0 1.5707"/>
        <geometry>
          <mesh filename="package://mex_rb/meshes/Stl/Complete_UpperBodypartstl.STL" scale="0.001 0.001 0.001"/>
        </geometry>
      </visual>
      <collision>
        <origin xyz="-0.257058 -0.0981 0.77296" rpy="1.5707 0 1.5707"/>
        <geometry>
          <mesh filename="package://mex_rb/meshes/Stl/Complete_UpperBodypartstl.STL" scale="0.001 0.001 0.001"/>
        </geometry>
      </collision>
    </link>
    <link name="link_10">
      <inertial>
        <origin xyz="0.003067 0.156075 0.725202" rpy="-0.78535 -1.5707 0"/>
        <mass value="0.009682"/>
        <inertia
          ixx="4.32e-05"
          ixy="0.0"
          ixz="0.0"
          iyy="0.0002238"
          iyz="0.0"
          izz="0.0002238"/>
      </inertial>
      <visual>
        <origin xyz="0.022042 0.13549 0.854522" rpy="-0.000572 1.5707 1.57013"/>
        <geometry>
          <mesh filename="package://mex_rb/meshes/Stl/tubomotorpartstl.STL" scale="0.001 0.001 0.001"/>
        </geometry>
      </visual>
      <collision>
        <origin xyz="0.022042 0.13549 0.854522" rpy="-0.000572 1.5707 1.57013"/>
        <geometry>
          <mesh filename="package://mex_rb/meshes/Stl/tubomotorpartstl.STL" scale="0.001 0.001 0.001"/>
        </geometry>
      </collision ...
(more)
edit retag flag offensive close merge delete

Comments

Consider using a service such as GitHub gists for including large files in your question.

Geoff gravatar image Geoff  ( 2018-04-26 18:42:15 -0500 )edit

Your URDF uses a lot of meshes, which means we can't easily test it without them. Please provide everything necessary to test your code. You should also include an image to illustrate what you mean by "the robot explodes".

Geoff gravatar image Geoff  ( 2018-04-26 19:29:15 -0500 )edit

Here is the video of what happens https://youtu.be/dSOMwhRa4Ss

Miriam gravatar image Miriam  ( 2018-05-03 14:16:27 -0500 )edit

2 Answers

Sort by » oldest newest most voted
0

answered 2018-05-04 12:16:09 -0500

Miriam gravatar image

I had misplaced the joints, I did'tn pass in a correct way the information of the SDF in my URDF

edit flag offensive delete link more
0

answered 2018-04-28 00:53:42 -0500

robustify gravatar image

I have seen similar "exploding" behavior simulating an Ackermann drive vehicle, where the front wheels would fly off from the rest of the model almost immediately after spawn. The cause was the very low mass value (1 milligram) I specified for dummy intermediate links that I used to implement steering joints. I ended up fixing it by giving the dummy steering links a significant amount of mass.

Therefore, I think the "exploding" behavior in your model is also caused by low link mass. I am more sure of this after seeing very low masses of some of your links, especially the 9 milligram link_10. I would try playing around with increasing the mass of your links and seeing what happens. The moments of inertia should also be adjusted to be consistent with the new mass values as well.

edit flag offensive delete link more

Comments

I had tried that and didn´t worked... both mass and inertias...

Miriam gravatar image Miriam  ( 2018-05-01 17:24:16 -0500 )edit

Hmmm... Not sure what it could be then. My only idea is to keep increasing the mass until it stops, or you reach completely crazy values.

robustify gravatar image robustify  ( 2018-05-01 19:12:02 -0500 )edit

When I try that, the only difference is that explodes in less parts (instead of explode part by part, some pieces stay together...)

Miriam gravatar image Miriam  ( 2018-05-02 12:03:32 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2018-04-26 12:48:57 -0500

Seen: 454 times

Last updated: May 04 '18