URDF (with ROS) explodes while SDF (only with Gazebo) works
Hi, I’m trying to make a simulator for a humanoid robot and I stared to construct it only with Gazebo, and with out c ontrol, 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 ...
It's fairly difficult to tell what the problem might be from a urdf this huge. You could try removing most links and then start slowly adding links back one-by-one as you see how they behave in the simulation. Once the model explodes you'll know which link caused it.
Testing all the links separately (and changing some inertias), they work as they are suposed to do, but when I put them together, the model still explodes...
And when I constructed it with links and joint, it looks like the joint number 5 doesn't exist and it it declared as the ones before that... here is the video https://youtu.be/7_KUc83YTgU