For developers and future users
OpenRR (pronounced like "opener") is Open Rust Robotics platform.
It's heavily under development.
OS | Core | GUI | ROS | ROS2 |
---|---|---|---|---|
Linux (Ubuntu) | ✔ | ✔ | ✔ | ✔ |
macOS | ✔ | ✔ | ✔ | |
Windows | ✔ | ✔ |
- You can use ROS without ROS installation on Linux/macOS.
- ROS2 Support is experimental. See arci-ros2 for details.
sudo apt install cmake build-essential libudev-dev xorg-dev libglu1-mesa-dev libasound2-dev libxkbcommon-dev protobuf-compiler
- cmake build-essential (openrr-planner (assimp-sys))
- libudev-dev (arci-gamepad-gilrs)
- xorg-dev libglu1-mesa-dev libxkbcommon-dev (openrr-gui (egui))
- libasound2-dev (arci-speak-audio)
- protobuf-compiler (openrr-remote)
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..
- abstract robot interfaces (
arci
) - concrete implementation of the interfaces (
arci-ros
,arci-urdf-viz
, ...) - library which uses the interfaces (
openrr-client
, ...) - tools (
openrr-apps
) - pure libraries nothing to do with
arci
(openrr-planner
, ...)
Currently we have some tools to control real/sim robots.
See openrr-apps for details.
Inspired by joint_state_publisher_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,
cargo +nightly fmt
Licensed under the Apache License, Version 2.0.
- k : kinematics library
- ros-nalgebra : rosrust nalgebra converter generator
- rrt : RRT-dual-connect path planner
- trajectory : trajectory interpolator
- urdf-rs : URDF parser
- urdf-viz: URDF visualizer
gear: (deprecated) motion planning library, but it is openrr-planner now.
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!
Here is a discord server.
You can read the tutorial books at the following links.