Minimal ROS 2 Rust bindings
Go to file
Martin Dahl 8502a3a7d4 Arrays of Strings 2019-08-20 13:16:24 +02:00
common Initial experiments with bindings and msg generation. 2019-08-19 21:05:26 +02:00
examples Started adding support for arrays and nested messages. More derives! 2019-08-20 11:07:09 +02:00
msg_gen Arrays of Strings 2019-08-20 13:16:24 +02:00
rcl Arrays of Strings 2019-08-20 13:16:24 +02:00
src Started adding support for arrays and nested messages. More derives! 2019-08-20 11:07:09 +02:00
.gitignore Initial experiments with bindings and msg generation. 2019-08-19 21:05:26 +02:00
Cargo.toml Started adding support for arrays and nested messages. More derives! 2019-08-20 11:07:09 +02:00
README.md Short description 2019-08-20 11:31:46 +02:00
build.rs Initial experiments with bindings and msg generation. 2019-08-19 21:05:26 +02:00
msgs.txt Started adding support for arrays and nested messages. More derives! 2019-08-20 11:07:09 +02:00

README.md

R2R - Minimal ROS2 Rust bindings

Minimal bindings for ROS2 that does not require hooking in to the ROS2 build infrastructure, in contrast to https://github.com/ros2-rust/ros2_rust. Message definitions are instead created by calling into the c introspection libraries to avoid the .msg/.idl pipeline.

How to use

You need to source your ros installation before building/running. A couple of examples are included in examples/

. /opt/ros/dashing/setup.sh
cargo build
cargo run --example subscriber_with_thread

In order to avoid building everything, put the message types you need in msgs.txt.

What works?

  • Only tested with ROS2 Dashing
  • Simple publish/subscribe, see examples.

TODO

  • The code generation is currently just a big hack. Needs cleanup and refactoring.
  • There is no proper abstractions for nodes etc. Reuse/share with https://github.com/ros2-rust/ros2_rust?
  • Implement error handling and cleanup code.