Clopema description

Contains URDF (xacro) robot description files.
  • meshes/ - stl models of individual links (model with suffix col is convex hull used for collision checking)
  • urdf/ - macros defined individual parts of the robot (links, collision objects, frames)
  • robots/clopema.urdf.xacro - macros from urdf folder stuck together

Detailed information

URDF - Uniform Robot Description Format
XACRO - Allow us to use macros and parameters in the URDF files

Example

For example to add model of the dx100 controller to the robot description file you should define macro in urdf folder (urdf/dx100.urdf.xacro) with the following text in it:


<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
        <xacro:macro name="dx100" params="*origin parent color height">
                <link name="dx100">
                        <xacro:default_inertial/>
                        <visual>
                                <geometry>
                                        <box size="0.8 0.8 ${height}" />
                                </geometry>
                                <material name="${color}" />
                                <origin xyz="0 0 ${height/2}"/>
                        </visual>
                        <collision>
                                <geometry>
                                        <box size="0.8 0.8 ${height}" />
                                </geometry>
                                <origin xyz="0 0 ${height/2}"/>
                        </collision>
                </link>
                <joint name="joint_f_dx100" type="fixed">
                        <insert_block name="origin" />
                        <parent link="${parent}"/>
                        <child link="dx100"/>
                </joint>
        </xacro:macro>
</robot>

This macro then can be used in files describing your robot (robots/clopema_{PARTNER}.urdf.xacro):


        <include filename="$(find clopema_description)/urdf/dx100.urdf.xacro" />
        <xacro:dx100 parent="base_link" color="grey" height="1">
                <origin xyz="1.0 0.0 0.0" rpy="0 0 0"/>
        </xacro:dx100>

If link you added to the model is adjacent in collision (or never in collision as well) you need to disable collision check for it in clopema_arm_navigation package.