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.
- Author: Wim Meeussen, John Hsu, Rosen Diankov
- License: BSD
- Source: hg https://kforge.ros.org/robotmodel/robot_model
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.
- Author: Wim Meeussen, John Hsu, Rosen Diankov
- License: BSD
- Source: hg https://kforge.ros.org/robotmodel/robot_model
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.
- Maintainer: Ioan Sucan <isucan@willowgarage.com>
- Author: Ioan Sucan
- License: BSD
- Bugtracker: https://github.com/ros/robot_model/issues
- Source: git https://github.com/ros/robot_model.git
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.
- Maintainer: Ioan Sucan <isucan@willowgarage.com>
- Author: Ioan Sucan
- License: BSD
- Bugtracker: https://github.com/ros/robot_model/issues
- Source: git https://github.com/ros/robot_model.git
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.
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:
Known Issues
- Sensor model information is not included (except in gazebo extensions for simulated sensors).






