ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
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>