Open Rust Robotics
OpenRR (pronounced like "opener") is Open Rust Robotics platform.
It's heavily under development.
|OS|Core|GUI|ROS|ROS2| |--|----|---|---|---| |Linux (Ubuntu)|✔|✔|✔|✔| |MacOS |✔|✔|✔| | |Windows |✔|✔| | |
bash
sudo apt install cmake build-essential libudev-dev xorg-dev libglu1-mesa-dev libasound2-dev libxkbcommon-dev
arci
is a hardware abstraction layer for openrr.
Currently ROS1 and urdf-viz (as a static simulator (actually it's just a viewer)) are implemented.
You can write platform/hardware independent code if you use arci
traits.
OpenRR contains..
arci
)arci-ros
, arci-urdf-viz
, ...)openrr-client
, ...)openrr-apps
)arci
(openrr-planner
, ...)Currently we have some tools to control real/sim robots.
See openrr-apps for details.
Inspired by jointstatepublisher_gui
You can use this GUI not only for ROS but anything if you implement arci::JointTrajectoryClient
and write a small binary main function.
General CLI to access arci
robot clients. It supports not only sending joint trajectory directly but it supports inverse kinematics with self-collision check, and navigation.
To format use nightly rustfmt,
bash
cargo +nightly fmt
Licensed under the Apache License, Version 2.0.
We strongly believe that Rust is the future of robotics. OpenRR is the world first robotics platform which is made by Rust, made for Rust. It can be a reference, a base for the future robotic people, like us.
We appreciate for your any contributions! Create an issue at first!
You can read the tutorial books at the following links.