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

Revision history [back]

click to hide/show revision 1
initial version

The following example shows how to define a revolute DoF defined using the Denavit-Hartenberg parameters (theta, d, a and alpha) using URDF in a systematic way.

<link name="base_link">...</link>
<link name="tmp_11">...</link>
<joint name="theta1" type="revolute">
  <parent link="base_link"/>
  <child link="tmp_11"/>
  <axis xyz="0 0 1"/>
  <limit effort="1000.0" lower="-3.1415" upper="3.1415" velocity="0.5"/>
  <origin rpy="0 0 {{ value_theta1 }}" xyz="0 0 0"/>
</joint>
<link name="tmp_12">...</link>
<joint name="d1" type="fixed">
  <parent link="tmp_11"/>
  <child link="tmp_12"/>
  <origin rpy="0 0 0" xyz="0 0 {{ value_d1 }}"/>
</joint>
<link name="tmp_13">...</link>
<joint name="a1" type="fixed">
  <parent link="tmp_12"/>
  <child link="tmp_13"/>
  <origin rpy="0 0 0" xyz="{{ value_a1 }} 0 0"/>
</joint>
<link name="L1">...</link>
<joint name="alpha1" type="fixed">
  <parent link="tmp_13"/>
  <child link="L1"/>
  <origin rpy="{{ value_alpha1 }} 0 0" xyz="0 0 0"/>
</joint>