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 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 ...
Consider using a service such as GitHub gists for including large files in your question.
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".
Here is the video of what happens https://youtu.be/dSOMwhRa4Ss