robot-description-builder 0.0.3

Creator: bigcodingguy24

Last updated:

Add to Cart

Description:

robotdescriptionbuilder 0.0.3

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 work[^1].


[^1]: Famous last words.

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




Spec
Support
State




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
# TODO: EXPAND

🚧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

Add documentation pages.
Add shorthand Link constructors.
Add (partial) support for SDFormat.
Add support for the Gazebo URDF extension support.
(Optional) Add (partial) support for the MIT Drake URDF extension

Interesting ideas with questionable feasibility

Add SmartJointBuilder, similar to the Rust version

It would need to be a dynamic class with function injection, (ASSUMPTION) which would not work with IntelliSense making.



Lessons

🚧UNDER CONSTRUCTION: ADD LESSONS/DESIGN DECISIONS🚧
License

robot-description-builder is licensed under the MIT license.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.