Skip to content

chatblanc-ciel/openrr

 
 

Repository files navigation

openrr: Open Rust Robotics

Build and Test crates.io codecov docs

OpenRR (pronounced like "opener") is Open Rust Robotics platform.

It's heavily under development.

Supported Platforms

OS Core GUI ROS
Linux (Ubuntu)
MacOS
Windows

Dependencies

Linux

sudo apt install cmake build-essential libudev-dev xorg-dev libglu1-mesa-dev libasound2-dev
  • cmake build-essential (openrr-planner (assimp-sys))
  • libudev-dev (arci-gamepad-gilrs)
  • xorg-dev libglu1-mesa-dev (openrr-gui (iced))
  • libasound2-dev (arci-speak-audio)

Architecture

architecture

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.

What is OpenRR?

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, openrr-sleep, ...)

Tools

Currently we have some tools to control real/sim robots.

See openrr-apps for details.

joint_trajectory_sender

Inspired by joint_state_publisher_gui

joint_sender

You can use this GUI not only for ROS but anything if you implement arci::JointTrajectoryClient and write a small binary main function.

robot_command

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.

License

Apache2

Related openrr repositories

  • 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.

Why OpenRR?

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.

Contribution

We appreciate for your any contributions! Create an issue at first!

About

Open Rust Robotics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 99.6%
  • Other 0.4%