Crate robot_description_builder
source ·Expand description
Robot-description-builder 🦀
A Rust Crate for create (valid) Robot descriptions
robot-description-builder
is a Rust crate for creating robot descriptions in multiple formats, like URDF, for use in various robotics and simulation applications such as ROS and Gazebo Simulator.
Installation
robot-description-builder
can be installed from Crates.io using the following command:
$ carge add robot-description-builder
Features
- Support for the Full URDF spec, fully compatible starting at ROS Indigo. (
Transmission
s are different before ROS Indigo, other features should work)- Support for all base URDF geometry types:
Box
,Cylinder
,Sphere
andMesh
.
- Support for all base URDF geometry types:
- Mirroring of Kinematic chains.
- Easy cloning/renaming Kinematic chains by changing the
group_id
.
🚧UNDER CONSTRUCTION: EXPAND FEATURE LIST🚧
Compatibility chart
Spec | Support | State |
---|---|---|
URDF | ✔/🔩 | 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 items needed from the function or import the crate as rdb
, since the crate name (robot_description_builder
) is quite long.
use robot_description_builder as rdb;
use rdb::prelude::*;
// TODO: EXPAND
🚧UNDER CONSTRUCTION: EXAMPLE🚧
Documentation
The documentation for this Rust Crate can be found on docs.rs.
🚧UNDER CONSTRUCTION: DOCUMENTATION IS UNFINISHED🚧
Roadmap
- Improve documentation.
-
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
Lessons
🚧UNDER CONSTRUCTION: ADD LESSONS/DESIGN DECISIONS🚧
License
robot-description-builder
is licensed under the MIT license.
Modules
- Error-types used in
robot-description-builder
. - TODO: GLOBAL DOCS
- TODO: Pub(crate) for now pub(crate) PUB FOR NOW FOR DOC TESTS????
- All datatypes which a link can hold.
- The
Material
System - The infrastructure to describe a
Robot
in a robot description format.
Structs
- A Wrapper to indicate if the current builder is a chain.
- A representation of a basic Kinematic structure.
- A
Link
in a Kinematic Structure. - A
Transform
type to represent the transform from the parent coordinate system to a new coordinate system.
Enums
- An enum to represent the the types of
Joint
. - A
MirrorAxis
enum to represent a plane to mirror about.
Traits
- A trait which allows for the existance of multiple different Kinematic Structures, such as
Robot
andKinematicTree
.