ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
I've already solved this problem. I think the problem was inertial elements which I didn't specified any for the base link and link_0. I didn't specify their inertial properties at first. However when I specify inertial elements like mass and inertia, I successfully converted the exact urdf model to sdf.
2 | No.2 Revision |
I've already solved this problem. I think the problem was inertial elements which I didn't specified specify any for the base link and link_0. I didn't specify their inertial properties at first. However when I specify inertial elements like mass and inertia, I successfully converted the exact urdf model to sdf.
3 | No.3 Revision |
I've already solved this problem. I think the problem was inertial elements which I didn't specify any for the base link and link_0. I didn't specify their inertial properties at first. However when I specify inertial elements like mass and inertia, I successfully converted the exact urdf model to sdf.
Here is the new urdf file that the problem is solved in;
<?xml version="1.0" ?>
<robot name="testbot">
<!--platform-->
<link name="pform">
<inertial>
<mass value="1"/>
<inertia ixx="0.13" iyy="0.524" izz="0.539" ixy="0" ixz="0" iyz="0" />
</inertial>
<visual>
<geometry>
<cylinder length="0.125" radius="0.08"/>
</geometry>
<material name="Orange">
<color rgba="1 0.4 0 1"/>
</material>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<cylinder length="0.125" radius="0.08"/>
</geometry>
</collision>
</link>
<!--base cylinder-->
<link name="base">
<inertial>
<mass value="1"/>
<inertia ixx="0.13" iyy="0.524" izz="0.539" ixy="0" ixz="0" iyz="0" />
</inertial>
<visual>
<geometry>
<cylinder length="0.025" radius="0.08"/>
</geometry>
<material name="Orange">
<color rgba="1 0.4 0 1"/>
</material>
<origin rpy="0 0 0" xyz="0 0 0"/>
</visual>
<collision>
<geometry>
<cylinder length="0.025" radius="0.08"/>
</geometry>
</collision>
</link>
<!--joint between pform and base-->
<joint name="pform_to_base" type="fixed">
<origin xyz="0 0 0.075" rpy="0 0 0" />
<axis xyz="0 0 0" />
<parent link="pform"/>
<child link="base"/>
</joint>
<!--link_0-->
<link name="link_0">
<inertial>
<mass value="25" />
<inertia ixx="0.13" iyy="0.524" izz="0.539" ixy="0" ixz="0" iyz="0" />
</inertial>
<visual>
<geometry>
<cylinder length="0.2385" radius="0.0295"/>
</geometry>
<material name="Orange">
<color rgba="1 0.4 0 1"/>
</material>
<origin rpy="0 0 0" xyz="0 0 0.13175"/>
</visual>
<collision>
<geometry>
<cylinder length="0.2385" radius="0.0295"/>
</geometry>
<origin rpy="0 0 0" xyz="0 0 0.13175"/>
</collision>
</link>
<!--joint between base and link0-->
<joint name="base_to_link0" type="fixed">
<origin xyz="0 0 0" rpy="0 0 0" />
<axis xyz="0 0 0" />
<parent link="base"/>
<child link="link_0"/>
</joint>
<!--link_1-->
<link name="link_1">
<inertial>
<mass value="10" />
<inertia ixx="0.13" iyy="0.524" izz="0.539" ixy="0" ixz="0" iyz="0" />
</inertial>
<visual>
<geometry>
<cylinder length="0.103" radius="0.0295"/>
</geometry>
<material name="Black">
<color rgba="0 0 0 1"/>
</material>
<origin rpy="0 -1.57079 1.57079" xyz="0 0.022 0.2805"/>
</visual>
<collision>
<geometry>
<cylinder length="0.103" radius="0.0295"/>
</geometry>
<origin rpy="0 -1.57079 1.57079" xyz="0 0.022 0.2805"/>
</collision>
</link>
<!--joint between link0 and link1-->
<joint name="link0_to_link1" type="revolute">
<limit effort="30" velocity="1.0" lower="-2.792526" upper="2.792526"/>
<axis xyz="0 0 1"/>
<parent link="link_0"/>
<child link="link_1"/>
</joint>
<!--link_2-->
<link name="link_2">
<inertial>
<mass value="17.4" />
<inertia ixx="0.13" iyy="0.524" izz="0.539" ixy="0" ixz="0" iyz="0" />
</inertial>
<visual>
<geometry>
<box size="0.059 0.209 0.079"/>
</geometry>
<material name="Orange">
<color rgba="1 0.4 0 1"/>
</material>
<origin rpy="0 0 -1.57079" xyz="0.054 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.059 0.209 0.079"/>
</geometry>
<origin rpy="0 0 -1.57079" xyz="0.054 0 0"/>
</collision>
</link>
<!--joint between link1 and link2-->
<joint name="link1_to_link2" type="revolute">
<limit effort="30" velocity="1.0" lower="-3.906056" upper="0.79"/>
<axis xyz="0 1 0"/>
<origin xyz="0 0.092 0.2805"/>
<parent link="link_1"/>
<child link="link_2"/>
</joint>
<!--link_3-->
<link name="link_3">
<inertial>
<mass value="4.8" />
<inertia ixx="0.066" iyy="0.0125" izz="0.086" ixy="0" ixz="0" iyz="0" />
</inertial>
<visual>
<geometry>
<box size="0.032 0.184 0.032"/>
</geometry>
<material name="Black">
<color rgba="0 0 0 1"/>
</material>
<origin rpy="0 0 -1.57079" xyz="0.0425 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.032 0.184 0.032"/>
</geometry>
<origin rpy="0 0 -1.57079" xyz="0.0425 0 0"/>
</collision>
</link>
<!--joint between link2 and link3-->
<joint name="link2_to_link3" type="revolute">
<limit effort="30" velocity="1.0" lower="-2.79" upper="0.79"/>
<axis xyz="0 1 0"/>
<origin xyz="0.1725 -0.045 0"/>
<parent link="link_2"/>
<child link="link_3"/>
</joint>
<!--link_4-->
<link name="link_4">
<inertial>
<mass value="0.82" />
<inertia ixx="0.0018" iyy="0.0018" izz="0.0013" ixy="0" ixz="0" iyz="0" />
</inertial>
<visual>
<geometry>
<box size="0.032 0.007 0.032"/>
</geometry>
<material name="Orange">
<color rgba="1 0.4 0 1"/>
</material>
<origin rpy="0 0 -1.57079" xyz="0.019 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.032 0.007 0.032"/>
</geometry>
<origin rpy="0 0 -1.57079" xyz="0.019 0 0"/>
</collision>
</link>
<!--joint between link3 and link4-->
<joint name="link3_to_link4" type="revolute">
<limit effort="30" velocity="1.0" lower="-1.919862" upper="2.96705"/>
<axis xyz="1 0 0"/>
<origin xyz="0.119 0 0"/>
<parent link="link_3"/>
<child link="link_4"/>
</joint>
<!--link_5-->
<link name="link_5">
<inertial>
<mass value="0.34" />
<inertia ixx="0.0003" iyy="0.0003" izz="0.0004" ixy="0" ixz="0" iyz="0" />
</inertial>
<visual>
<geometry>
<cylinder length="0.032" radius="0.0095"/>
</geometry>
<material name="Black">
<color rgba="0 0 0 1"/>
</material>
<origin rpy="1.57079 0 0" xyz="-0.00015 0 0"/>
</visual>
<collision>
<geometry>
<cylinder length="0.032" radius="0.0095"/>
</geometry>
<origin rpy="1.57079 0 0" xyz="-0.00015 0 0"/>
</collision>
</link>
<!--joint between link4 and link5-->
<joint name="link4_to_link5" type="revolute">
<limit effort="30" velocity="1.0" lower="-1.195329" upper="1.195329"/>
<axis xyz="0 1 0"/>
<origin xyz="0.0323 0 0"/>
<parent link="link_4"/>
<child link="link_5"/>
</joint>
<!--link_6-->
<link name="link_6">
<inertial>
<mass value="0.09" />
<inertia ixx="0.00015" iyy="0.00015" izz="0.00004" ixy="0" ixz="0" iyz="0" />
</inertial>
<visual>
<geometry>
<box size="0.0055 0.032 0.0155"/>
</geometry>
<material name="Orange">
<color rgba="1 0.4 0 1"/>
</material>
<origin rpy="1.57079 0 0" xyz="0.0043 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.0055 0.032 0.0155"/>
</geometry>
<origin rpy="1.57079 0 0" xyz="0.0043 0 0"/>
</collision>
</link>
<!--joint between link5 and link6-->
<joint name="link5_to_link6" type="revolute">
<limit effort="30" velocity="1.0" lower="-0.6" upper="0.6"/>
<axis xyz="1 0 0"/>
<origin xyz="0.0076 0 0"/>
<parent link="link_5"/>
<child link="link_6"/>
</joint>
<!--ext1_link_6-->
<link name="ext1_link_6">
<inertial>
<mass value="0.09" />
<inertia ixx="0.00015" iyy="0.00015" izz="0.00004" ixy="0" ixz="0" iyz="0" />
</inertial>
<visual>
<geometry>
<box size="0.012 0.005 0.0155"/>
</geometry>
<material name="Orange">
<color rgba="1 0.4 0 1"/>
</material>
<origin rpy="1.57079 0 0" xyz="0.0043 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.012 0.005 0.0155"/>
</geometry>
<origin rpy="1.57079 0 0" xyz="0.0043 0 0"/>
</collision>
</link>
<!--joint between link6 and ext1link6-->
<joint name="link6_to_ext1link6" type="fixed">
<axis xyz="1 0 0"/>
<origin xyz="0.0087 0 -0.01375"/>
<parent link="link_6"/>
<child link="ext1_link_6"/>
</joint>
<!--ext2_link_6-->
<link name="ext2_link_6">
<inertial>
<mass value="0.09" />
<inertia ixx="0.00015" iyy="0.00015" izz="0.00004" ixy="0" ixz="0" iyz="0" />
</inertial>
<visual>
<geometry>
<box size="0.012 0.005 0.0155"/>
</geometry>
<material name="Orange">
<color rgba="1 0.4 0 1"/>
</material>
<origin rpy="1.57079 0 0" xyz="0.0043 0 0"/>
</visual>
<collision>
<geometry>
<box size="0.012 0.005 0.0155"/>
</geometry>
<origin rpy="1.57079 0 0" xyz="0.0043 0 0"/>
</collision>
</link>
<!--joint between link6 and ext2link6-->
<joint name="link6_to_ext2link6" type="fixed">
<axis xyz="1 0 0"/>
<origin xyz="0.0087 0 0.01375"/>
<parent link="link_6"/>
<child link="ext2_link_6"/>
</joint>
<!--transmission elements for each joint-->
<transmission name="tran1">
<type>transmission_interface/SimpleTransmission</type>
<joint name="link0_to_link1"/>
<actuator name="motor1">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
<transmission name="tran2">
<type>transmission_interface/SimpleTransmission</type>
<joint name="link1_to_link2"/>
<actuator name="motor2">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>10000</mechanicalReduction>
</actuator>
</transmission>
<transmission name="tran3">
<type>transmission_interface/SimpleTransmission</type>
<joint name="link2_to_link3"/>
<actuator name="motor3">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
<transmission name="tran4">
<type>transmission_interface/SimpleTransmission</type>
<joint name="link3_to_link4"/>
<actuator name="motor4">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
<transmission name="tran5">
<type>transmission_interface/SimpleTransmission</type>
<joint name="link4_to_link5"/>
<actuator name="motor5">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
<transmission name="tran6">
<type>transmission_interface/SimpleTransmission</type>
<joint name="link5_to_link6"/>
<actuator name="motor6">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>0.01</mechanicalReduction>
</actuator>
</transmission>
<!--gazebo plugin for gazebo_ros_control-->
<gazebo>
<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
<robotNamespace>/testbot</robotNamespace>
</plugin>
</gazebo>
<gazebo>
<plugin name="gazebo_ros_joint_trajectory" filename="libgazebo_ros_joint_trajectory.so">
<topicName>joint_trajectory</topicName>
<robotNamespace>/testbot</robotNamespace>
</plugin>
</gazebo>
<gazebo reference="pform">
<material>Gazebo/Orange</material>
</gazebo>
<gazebo reference="base">
<material>Gazebo/Black</material>
</gazebo>
<gazebo reference="link_0">
<material>Gazebo/Orange</material>
</gazebo>
<gazebo reference="link_1">
<material>Gazebo/Black</material>
</gazebo>
<gazebo reference="link_2">
<material>Gazebo/Orange</material>
</gazebo>
<gazebo reference="link_3">
<material>Gazebo/Black</material>
</gazebo>
<gazebo reference="link_4">
<material>Gazebo/Orange</material>
</gazebo>
<gazebo reference="link_5">
<material>Gazebo/Black</material>
</gazebo>
<gazebo reference="link_6">
<material>Gazebo/Orange</material>
</gazebo>
</robot>