/awesome-urdf

A curated list of Unified Robot Description Format (URDF) libraries, tools and resources.

Awesome URDF Awesome

A curated list of Unified Robot Description Format (URDF) libraries, tools and resources.

Unified Robot Description Format (URDF) is an XML format for representing some aspects of a robot model, that was initially proposed as part of the Robot Operating System (ROS), but it is now used in several robotics-related tools and software.

See the official ROS documentation page on URDF for the official specification and more information about URDF.

Contents

URDF

There is no versioned specification of the URDF format. The main reference for the URDF format are the ROS wiki docs on URDF.

Libraries

Libraries to import, export and manipulate URDF files.

C++

  • urdfdom - Reference C++ URDF parser implementation mantained by OpenRobotics. [BSD]
  • sdformat - Reference C++ implementation of the SDFormat (Simulation Description Format), used in Gazebo and Ignition libraries that includes a converter (based on urdfdom) from URDF to SDF. [APACHE2]
  • iDynTree - Library for kinematics and dynamics computation of free-floating robot model, with support for import and export of URDF files. It includes Python and MATLAB bindings. [BSD]

Python

  • urdf_parser_py - Reference Python URDF parser mantained by OpenRobotics. [BSD]
  • odio_urdf - Library for building URDF files using Python. [MIT]

MATLAB/Simulink

  • Simscape Multibody URDF Import - Simscape Multibody is the Multibody simulation environment of MATLAB, that supports importing URDFs. MATLAB docs contain also a useful URDF primer documentation. [Commercial]

Rust

Julia

Resources

Tools

  • xacro - Xacro is an XML macro language. With xacro, you can construct shorter and more readable XML files by using macros that expand to larger XML expressions. Xacro is frequently used to mantain URDF models. [BSD]
  • blender-robotics-utils - Set of utilities for exporting/controlling your robot in Blender. It includes a URDF to Blender model converter. [BSD]
  • Unity-Technologies/URDF-Importer - URDF Importer allows you to import a robot defined in URDF format in a Unity scene. [APACHE]
  • yourdfpy - Library and command-line tool to load, visualize, manipulate, validate and save URDF files.
  • urdf-viz - Visualize URDF/XACRO file, URDF Viewer works on Windows/MacOS/Linux. [APACHE2]
  • Foxglove Studio - Visualization app for web or desktop, supports URDFs as well as arbitrary bag or MCAP data. [MPL-2.0]
  • URDFormer - Given an image, URDFormer predicts its corresponding interactive 'digital twin' in the URDF format.

Extensions

Several libraries and groups have extended the URDF format beyond the official specs, a brief list is provided in the urdf-extensions.md file.

Community

Contribute

Contributions are welcome! Read the contribution guidelines first.

License

CC0