Browse Source

Write up README

tags/v0.2.5-alpha.2
Yuma Hiramatsu 4 years ago
parent
commit
000c41f948
1 changed files with 73 additions and 1 deletions
  1. +73
    -1
      README.md

+ 73
- 1
README.md View File

@@ -1 +1,73 @@
# rclrust
# 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](https://github.com/adnanademovic/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

```sh-session
$ git clone git@github.com:rclrust/rclrust.git
$ cd rclrust
$ cargo build
```

### Pub/Sub

Publisher:

```sh-session
$ cargo run --examples publisher
```

Subscription

```sh-session
$ cargo run --examples subscription
```

![out](https://user-images.githubusercontent.com/25898373/128894819-f925b31f-d814-4046-a328-68bfe854d03b.gif)

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

## The other ROS2 clients written in Rust

- [ros2_rust](https://github.com/ros2-rust/ros2_rust)
- [r2r](https://github.com/sequenceplanner/r2r)

Loading…
Cancel
Save