Socket
Socket
Sign inDemoInstall

robot-description-builder

Package Overview
Dependencies
0
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    robot-description-builder

A libary to create (valid) Robot descriptions


Maintainers
1

Readme

Robot-description-builder 🐍

A Python Package for create (valid) Robot descriptions

PyPI - Status PyPI PyPI - Implementation PyPI - Python Version PyPI - License Code style: black

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

SpecSupportState
URDF✔/🔩 WIPFully supported TRANSMISIONS ARE CURRENTLY INCORRECT
URDF Gazebo🔩/❌Extension unsupported, Base URDF compatibility avaible
SDFPlanned

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

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.

Footnotes

  1. Famous last words.

Keywords

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc