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

Documented

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

Documented

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

Released Continuous integration Documented

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 | joint_state_publisher | kdl_parser | resource_retriever | urdf | urdf_parser_plugin

Package Summary

Released Continuous integration Documented

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

Released Continuous integration Documented

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.

Cannot load information on name: urdf, distro: jade, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.

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

Parser API Model API

Sensor

sensor

Components

New in Hydro A number of different packages and components make up urdf. The following diagram attempts to explain the relationship between these components:

urdf_diagram.png

Current Status of URDF Components in Hydro:

  • The core URDF parser and data structures (urdfdom, urdfdom_headers) have been pushed upstream into stand alone (no ROS-dependencies) software packages that will in the future be released into Ubuntu completely separate from ROS.
  • There is now a distinction between a URDF file and a URDF data structure. A URDF file follows the XML format as described on the ros.org wiki. A URDF data structure is a set of generic classes that various formats (currently URDF and Collada) can be parsed into.
  • A new plugin abstraction layer (urdf_parser_plugin) allows the URDF data structures to be populated with various file formats (currently URDF and Collada)
  • The ROS packages urdf_parser and urdf_interface have been deprecated in Groovy and removed in Hydro.

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 urdfdom 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:

New in Hydro

  • urdf_to_graphiz pr2.urdf

New in Groovy

  • rosrun urdfdom urdf_to_graphiz 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 2014-02-07 08:57:08 by davetcoleman)