For developers and future users
OpenRR (pronounced like “opener”) is Open Rust Robotics platform.
It’s heavily under development.
- 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
- 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)
You can write platform/hardware independent code if you use
- abstract robot interfaces (
- concrete implementation of the interfaces (
- library which uses the interfaces (
- tools (
- pure libraries nothing to do with
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.