#ros2 #client #now

rclrust

使用 Rust 编写的 ROS2 客户端

2 个版本

0.0.2 2021 年 8 月 10 日
0.0.0 2021 年 7 月 24 日

#114 in 机器人

Apache-2.0

160KB
4K SLoC

RclRust

简介

这是另一个用 Rust 编写的 ROS2 客户端库。
我独立于 ament 或 colcon 实现了它。通过使用 proc-macro 生成消息类型和服务类型代码,现在可以在 cargo 中完成 crate 依赖解析。这受到了 rosrust 的启发。

开发环境

  • 操作系统:Ubuntu 20.04
  • ROS2:Foxy
  • rustc:1.54.0(稳定版)

支持的功能

  • .msg.srv.action 生成代码
  • 日志记录器
  • 发布者/订阅者
  • 服务/客户端
  • 定时器
  • 参数(不包含服务)

待办事项

  • 参数服务/客户端
  • 动作
  • 多线程
  • 生命周期
  • 更多
    • 单元测试
    • 文档
    • 示例(特别是与 ament 一起使用)
  • CI
  • 等等...

我不会支持

  • 组件
    • Rust 需要(它)吗?

示例

准备

$ git clone [email protected]:rclrust/rclrust.git
$ cd rclrust
$ cargo build

发布/订阅

发布者

$ cargo run --examples publisher

订阅者

$ cargo run --examples subscription

out

更多示例,请参阅 https://github.com/rclrust/rclrust/tree/main/rclrust/examples

其他用 Rust 编写的 ROS2 客户端

依赖关系

~8–11MB
~208K SLoC