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

Revision history [back]

I found this tutorial from Articulated Robotics really helpful for working with a manipulator arm:

  • https://github.com/joshnewans/urdf_example

  • https://articulatedrobotics.xyz/ready-for-ros-7-urdf/

  • https://www.youtube.com/watch?v=laWn7_cj434

You have to have a fixed link to the world, like below.

A part of the URDF (check the links for the rest):

<!-- This first link called "world" is empty -->
<link name="world"></link>


<!-- A simple fixed joint from our empty world link, to our base. -->
<!-- The base origin is offset from the world origin. -->
<joint name="base_joint" type="fixed">
    <origin xyz="1.5 1.0 0" rpy="0 0 0"/>
    <parent link="world"/>
    <child link="base_link"/>        
</joint>


<!-- base_link is a large rectangular plate. Some things to note: -->
<!-- - We set the visual origin Z to half the box height, so that the link origin sits at the bottom of the box -->
<!-- - We set the collision to be identical to the visual -->
<!-- - We specified the colour manually (but still need to enter a name) -->
<!-- - We specified all the inertial parameters manually -->
<link name="base_link">
    <visual>
        <origin xyz="0 0 0.05" rpy="0 0 0"/>
        <geometry>
            <box size="2.5 1.5 0.1" />
        </geometry>
        <material name="green">
            <color rgba="0.2 1 0.2 1"/>
        </material>
    </visual>
    <collision>
        <origin xyz="0 0 0.05" rpy="0 0 0"/>
        <geometry>
            <box size="2.5 1.5 0.1" />
        </geometry>
    </collision>
    <inertial>
        <origin xyz="0 0 0.05" rpy="0 0 0"/>
        <mass value="12" />
        <inertia ixx="2.26" ixy="0.0" ixz="0.0" iyy="6.26" iyz="0.0" izz="8.5" />
    </inertial>
</link>