creating URDF using the D-H parameters.

asked 2015-04-13 17:45:56 -0500

kaujag gravatar image

I am trying to build a URDF model in rviz for simulation purpose. I have developed a URDF model which is working fine if I move the joints manually. I am not sure if I have done the conversion from DH to URDF correctly. Can someone help?

<?xml version="1.0"?>
<robot name="adept_model_detailed">
<link name="base_link">
<visual>
  <geometry>
    <mesh filename="file:///home/viki/catkin_ws/src/adept_model_detailed/meshes/adept1.dae"/>
  </geometry>
</visual>
</link>

<link name="link_one">
<visual>
  <geometry>
   <mesh filename="file:///home/viki/catkin_ws/src/adept_model_detailed/meshes/adept2.dae"/>
  </geometry>
<origin rpy="0 0 0" xyz="0.425 0 0"/>
</visual>
</link>

<link name="link_two">
<visual>
  <geometry>
    <mesh filename="file:///home/viki/catkin_ws/src/adept_model_detailed/meshes/adept3.dae"/>
  </geometry>
<origin rpy="0 0 0" xyz="0.375 0 0"/>
</visual>
</link>
<link name="link_three">
<visual>
<origin rpy="0 0 0" xyz="0.375 0 0"/>
</visual>
</link>

<link name="link_four">
<visual>
  <geometry>
    <mesh filename="file:///home/viki/catkin_ws/src/adept_model_detailed/meshes/adept4.dae"/>
  </geometry>
<origin rpy="1.57080 0 0" xyz="0 0 0.4"/>
</visual>
</link>

<link name="link_five">
<visual>
  <geometry>
   <mesh filename="file:///home/viki/catkin_ws/src/adept_model_detailed/meshes/adept5.dae"/>
  </geometry>
<origin rpy="3.14 0 0" xyz="0 0 0"/>    
 </visual>
 </link>

 <joint name="joint_1" type="revolute">
<parent link="base_link"/>
<child  link="link_one"/>
<limit lower="2.6179" upper="-2.6179" effort="30" velocity=".15" />
<axis xyz="0 0 1"/>
  </joint>

<joint name="joint_2" type="revolute">
<parent link="link_one"/>
<child  link="link_two"/>
<origin xyz="0.375 0 0"/>
<axis xyz="0 0 1"/>
<limit lower="2.5656" upper="-2.5656" effort="30" velocity=".15" />
 </joint>

<joint name="joint_3" type="revolute">
<parent link="link_two"/>
<child  link="link_three"/>
<origin xyz="0.375 0 0"/>
<axis xyz="0 0 1"/>
<limit lower="4.8345" upper="-4.8345" effort="30" velocity=".15" />
 </joint>

 <joint name="joint_4" type="prismatic">
<parent link="link_three"/>
<child  link="link_four"/>
<axis xyz="0 0 1"/>
<origin xyz="0 0 0" rpy="0 0 0.4"/>
<limit effort="1000" lower="0.20" upper="-0.1" velocity="1"/>
 </joint>

 <joint name="joint_5" type="revolute">
<parent link="link_four"/>
<child  link="link_five"/>
<origin xyz="0 0 0.4"/>
<axis xyz="0 1 0"/>
<limit lower="2.5656" upper="-2.5656" effort="30" velocity=".15" />
  </joint>  
 </robot>

This is the URDF and the DH parameters for these joints for Adept1 robot are

a       d            alpha     theta
0.42500       0     0       0  
0.37500       0     0       0  
0       0.30000     0       0 
0       0       1.57080     0 
0       0       1.57080     0

Please I would like to know if I am going in the right direction. Otherwise please give me guidelines to use DH parameters in URDF. Thank you.

edit retag flag offensive close merge delete

Comments

I want to know how to use a ,d alpha and theta in URDF tags. I have tried using it in Joint tag. Am I just need to use Joint tag or Also the link tag?

kaujag gravatar image kaujag  ( 2015-04-23 03:27:05 -0500 )edit
1

hi,there, how to generate the dae file,could you give me some help?

manipulator gravatar image manipulator  ( 2015-04-29 13:42:49 -0500 )edit

@manipulator: I am using Meshlab which accept number of file formats including .obj. You can export your mesh to .stl or .dae

kaujag gravatar image kaujag  ( 2015-05-07 23:07:17 -0500 )edit