Awesome URDF
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
- Libraries
- C++
- Python
- MATLAB/Simulink
- Rust
- Julia
- Resources
- Tools
- Community
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
- urdf-rs - URDF parser using serde-xml-rs for Rust. [APACHE2]
Julia
- MeshCatMechanisms.jl - 3D Visualization of mechanisms and URDFs using MeshCat.jl and RigidBodyDynamics.jl . [MIT]
Resources
- Awesome Robot Descriptions - A curated list of awesome robot descriptions, most in URDF or Xacro formats.
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.
Community
- Robotics StackExchange - Questions related to URDF in Robotics StackExchange.
- ROS Answers - Questions related to URDF in ROS.
- Foxglove Slack community - Questions and discussion related to robitics data visualization
Contribute
Contributions are welcome! Read the contribution guidelines first.
License