Robot-description-builder 🐍
A Python Package for create (valid) Robot descriptions

robot-description-builder is a Python library for creating robot descriptions in multiple formats, like URDF, for use in various robotics and simulation applications such as ROS and Gazebo Simulator.
The Python version of robot-description-builder is written in Rust using PyO3 by wrapping the robot-description-builder Rust crate. This has been done for the following reasons:
- Using Rust prevented memory leaks, which would occur in a full Python implementation. (I had not heard of the
weakref module, yet.)
- Using Rust also allows for interesting compile time validation, which is only available in the Rust Language. Resulting in the
SmartJointBuilder (Only available in the Rust version).
- Creating a Rust library and wrapping it in Python creates two libraries with little or no extra work1.
Installation
robot-description-builder can be installed from PyPi using the following command:
$ pip install robot-description-builder
Features
- Support for the Full URDF spec, fully compatible starting at ROS Indigo. (
Transmissions are different before ROS Indigo, other features should work)
- Support for all base URDF geometry types:
Box, Cylinder, Sphere and Mesh.
- Mirroring of Kinematic chains.
- Easy cloning/renaming Kinematic chains by changing the
group_id.
- ROS independent, can be run on any machine using Python 3.8 and above.
🚧UNDER CONSTRUCTION: EXPAND FEATURE LIST🚧
Compatibility chart
| URDF | ✔/🔩 WIP | Fully supported TRANSMISIONS ARE CURRENTLY INCORRECT |
| URDF Gazebo | 🔩/❌ | Extension unsupported, Base URDF compatibility avaible |
| SDF | ❌ | Planned |
Using robot-description-builder
It is recommended to import only the classes needed from the package or import the module as rdb, since the package name (robot_description_builder) is quite long.
import robot_description_builder as rdb
🚧UNDER CONSTRUCTION: EXPAND EXAMPLE🚧
Documentation
This Python Package has typing support and comes fully equiped with docstrings and stub files. Documentation pages comming soon(ish).
🚧UNDER CONSTRUCTION: CREATE DOCUMENTATION PAGES🚧
Roadmap
Interesting ideas with questionable feasibility
Lessons
🚧UNDER CONSTRUCTION: ADD LESSONS/DESIGN DECISIONS🚧
License
robot-description-builder is licensed under the MIT license.