march_description

The march_description package contains all robot descriptions used by Project March. The robot descriptions are formatted in the Unified Robot Description Format (URDF), URDF is an xml format and is preferred to be written using xacro, which is an xml macro language. This enables us to write shorter and more readable robot descriptions.

Since the ROS urdf package can only parse the URDF format, we must first process the xacro files. This is done at build time and is described in the CMakeLists.txt <march_description/CMakeLists.txt>. Both the *.urdf and *.xacro files are installed into the march_description package. In the launch files these files can be uploaded to the parameter server at /robot_description, so that they are available for all nodes.

<param name="robot_description" textfile="$(find march_description)/urdf/march4.urdf"/>

The *.xacro files are also installed since xacro allows for file arguments. This is used in the march_world.launch <march_simulation/launch/march_world.launch>.

<param name="robot_description"
       command="$(find xacro)/xacro '$(find march_description)/urdf/$(arg robot).xacro'
                k_velocity_value_hfe:=60.0 k_velocity_value_kfe:=60.0
                k_velocity_value_haa:=60.0 k_velocity_value_adpf:=60.0
                k_position_value_hfe:=50.0 k_position_value_kfe:=50.0
                k_position_value_haa:=50.0 k_position_value_adpf:=50.0
                max_effort_rotary:=200.0 max_effort_linear:=40.0
                ground_gait:=$(arg ground_gait)" />

It uses the xacro command to process the *.xacro files and add arguments to change the properties of the robot in simulation.

Aside from the robot descriptions, the march_description package also contains *.stl files, which contain visualization for the robots, since URDF only describes the properties of a robot. These *.stl files have been exported from the robot assembly in Catia. These visualization files are included in the xacro, which can be used by tools like RViz and Gazebo to visualize the robot.