Documentation Status

robot_model: collada_parser | collada_urdf | colladadom | convex_decomposition | ivcon | kdl_parser | resource_retriever | robot_state_publisher | simmechanics_to_urdf | urdf | urdf_interface | urdf_parser

Package Summary

This package contains a C++ parser for the Unified Robot Description Format (URDF), which is an XML format for representing a robot model. The code API of the parser has been through our review process and will remain backwards compatible in future releases.

robot_model: collada_parser | collada_urdf | colladadom | convex_decomposition | ivcon | kdl_parser | resource_retriever | robot_state_publisher | simmechanics_to_urdf | srdf | urdf | urdf_interface | urdf_parser

Package Summary

This package contains a C++ parser for the Unified Robot Description Format (URDF), which is an XML format for representing a robot model. The code API of the parser has been through our review process and will remain backwards compatible in future releases.

robot_model: angles | assimp | collada-dom | collada_parser | collada_urdf | common_msgs | convex_decomposition | curl | geometry | graphviz | ivcon | kdl_parser | orocos_kdl | resource_retriever | robot_state_publisher | ros | ros_comm | rosconsole_bridge | srdf | urdf | urdf_interface | urdf_parser | urdfdom | urdfdom_headers

Package Summary

This package contains a C++ parser for the Unified Robot Description Format (URDF), which is an XML format for representing a robot model. The code API of the parser has been through our review process and will remain backwards compatible in future releases.

Package Summary

This package contains a C++ parser for the Unified Robot Description Format (URDF), which is an XML format for representing a robot model. The code API of the parser has been through our review process and will remain backwards compatible in future releases.

Overview

This package contains a number of XML specifications for robot models, sensors, scenes, etc. Each XML specification has a corresponding parser in one or more languages.

XML Description

C++

Python

Model

model

API

Sensor

sensor

Getting Started

There is large set of tutorials on how to build up your own robot models using the URDF specification. Check out the urdf/Tutorials page.

We also developed a macro language called xacro to make it easier to maintain the robot description files, increase their readability, and to avoid duplication in the robot description files.

Examples

See this page for a list of robots described by a URDF model.

Tools

Verification

The robot model stack includes the command line tool check_urdf. It's called with a single command line argument naming a file. It attempts to parse the file as a URDF description, and either prints a description of the resulting kinematic chain, or an error message.

For example, to run this tool on the pr2 urdf, first create the urdf file by running:

  • rosrun xacro xacro.py `rospack find pr2_description`/robots/pr2.urdf.xacro -o /tmp/pr2.urdf

Then run the check by running:

  • rosrun urdf check_urdf /tmp/pr2.urdf

Groovy:

  • rosrun urdfdom check_urdf /tmp/pr2.urdf
    and you should see something resembling:
    robot name is: pr2
    ---------- Successfully Parsed XML ---------------
    root Link: base_footprint has 1 child(ren)
        child(1):  base_link
            child(1):  base_laser_link
            child(2):  bl_caster_rotation_link
                child(1):  bl_caster_l_wheel_link
                child(2):  bl_caster_r_wheel_link
            child(3):  br_caster_rotation_link
                child(1):  br_caster_l_wheel_link
                child(2):  br_caster_r_wheel_link
            child(4):  fl_caster_rotation_link
                child(1):  fl_caster_l_wheel_link
                child(2):  fl_caster_r_wheel_link
            child(5):  fr_caster_rotation_link
                child(1):  fr_caster_l_wheel_link
                child(2):  fr_caster_r_wheel_link
            child(6):  torso_lift_link
                child(1):  head_pan_link
                    child(1):  head_tilt_link
                        child(1):  head_plate_frame
                            child(1):  sensor_mount_link
                                child(1):  double_stereo_link
                                    child(1):  narrow_stereo_link
     ...

Visualization

To get a graphviz diagram of your urdf file, do this:

  • rosrun urdf_parser urdf_to_graphiz /tmp/pr2.urdf

Groovy:

  • rosrun urdfdom urdf_to_graphiz /tmp/pr2.urdf

The result is a file called pr2.pdf that looks something like this:

graphiz.png

Known Issues

  • Sensor model information is not included (except in gazebo extensions for simulated sensors).

Wiki: urdf (last edited 2013-04-11 22:01:05 by ffurrer)