7 个版本

0.1.0 2023 年 3 月 31 日
0.0.7 2022 年 12 月 9 日
0.0.6 2021 年 7 月 1 日
0.0.5 2021 年 3 月 29 日
0.0.3 2021 年 2 月 19 日

#27 in 机器人

每月下载 27 次

Apache-2.0

375KB
8K SLoC

openrr: Open Rust Robotics

Build Status crates.io codecov docs

面向开发者和未来用户

docs discord tutorial

OpenRR(发音为“opener”)是 Open Rust 机器人平台。

它处于高度开发中。

支持的平台

操作系统 核心 图形用户界面 ROS ROS2
Linux (Ubuntu)
MacOS
Windows
  • 在 Linux/MacOS 上,您可以在不安装 ROS 的情况下使用 ROS。
  • ROS2 支持是实验性的。有关详细信息,请参阅 arci-ros2

依赖关系

Linux

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)

架构

architecture

arci 是 openrr 的硬件抽象层。目前实现了 ROS1urdf-viz(作为一个静态模拟器(实际上它只是一个查看器))。

如果您使用 arci 特性,则可以编写平台/硬件无关的代码。

OpenRR 是什么?

OpenRR 包含..

  • 抽象机器人接口 (arci)
  • 接口的具体实现 (arci-rosarci-urdf-viz,...)
  • 使用接口的库 (openrr-client,...)
  • 工具 (openrr-apps)
  • 纯库,与 arci 无关 (openrr-planner,...)

工具

目前我们有一些工具可以控制真实的/模拟机器人。

有关详细信息,请参阅 openrr-apps

joint_trajectory_sender

joint_state_publisher_gui 启发

joint_sender

您可以使用此GUI,不仅限于ROS,任何需要的情况下,只要您实现了 arci::JointTrajectoryClient 并编写一个小型的二进制主函数。

robot_command

通用的CLI,用于访问 arci 机器人客户端。它不仅支持直接发送关节轨迹,还支持带自碰撞检查的反向运动学和导航。

格式

要格式化,请使用nightly rustfmt。

cargo +nightly fmt

许可

本软件受Apache License, Version 2.0 许可。

  • k : 运动学库
  • ros-nalgebra : rosrust nalgebra 转换生成器
  • rrt : RRT-dual-connect 路径规划器
  • trajectory : 轨迹插值器
  • urdf-rs : URDF 解析器
  • urdf-viz:URDF 可视化器
  • gear: (已弃用) 运动规划库,但现在它是 openrr-planner。

为什么选择OpenRR?

我们坚信Rust是机器人技术的未来。OpenRR是第一个由Rust编写,为Rust而生的机器人平台。它可以作为一个参考,为未来的机器人开发者,就像我们一样,打下基础。

贡献

我们非常感谢您的任何贡献!首先创建一个问题

这里有一个Discord服务器。

使用OpenRR

您可以在以下链接中阅读教程书籍。

依赖关系

~29–72MB
~1.5M SLoC