rclrust

Crates.iorclrust
lib.rsrclrust
version0.0.2
sourcesrc
created_at2021-07-24 02:40:33.100015
updated_at2021-08-10 17:45:55.555868
descriptionROS2 client written in Rust
homepage
repositoryhttps://github.com/rclrust/rclrust
max_upload_size
id426615
size165,016
Yuma Hiramatsu (eduidl)

documentation

README

RclRust

Introduction

This is yet another ROS2 client library written in Rust.
I have implemented it independent of the ament or colcon. By using proc-macro to generate message-type and service-type code, crate dependency resolution can now be completed in cargo. This was inspired by rosrust.

Development environment

  • OS: Ubuntu 20.04
  • ROS2: Foxy
  • rustc: 1.54.0 (stable)

Supporting features

  • Code generation from .msg, .srv, .action
  • Loggers
  • Publishers/Subscriptions
  • Services/Clients
  • Timers
  • Parameters (without services)

TODO

  • Parameter services/clients
  • Actions
  • Multithread
  • Lifecycles
  • More
    • Unit test
    • Documentation
    • Examples (especially with ament)
  • CI
  • etc...

I'm not going to support

  • Components
    • Is it necessary for Rust?

Examples

Prepare

$ git clone git@github.com:rclrust/rclrust.git
$ cd rclrust
$ cargo build

Pub/Sub

Publisher:

$ cargo run --examples publisher

Subscription

$ cargo run --examples subscription

out

For more examples, see https://github.com/rclrust/rclrust/tree/main/rclrust/examples.

The other ROS2 clients written in Rust

Commit count: 141

cargo fmt