ros2_rust
ros2_rust copied to clipboard
Rust bindings for ROS 2
See https://docs.ros.org/en/rolling/Concepts/About-Composition.html and https://docs.ros.org/en/rolling/Tutorials/Composition.html
The only functions that take a mutable pointer, i.e. `rcl_node_t *`, are `rcl_publisher_fini` and `rcl_subscription_fini`. And if you look at them, they don't _really_ need a mutable pointer, since they...
Something like the `GenericPublisher`/`GenericSubscription` in `rclcpp`, i.e. from a string containing the message type's name, find and load the typesupport library and allow working with it through `dyn Message`.
To avoid the problem described in https://github.com/ros2-rust/ros2_rust/pull/180, one option (I think) would be to have each message crate add an `RPATH` entry pointing to the library. This path might not...
Having to include and recompile all the message types any rust project requires is kind of a non-starter: > "Ain't Nobody Got Time for That" > ~ Kimberly "Sweet Brown"...
This likely depends, in part, on the service/client functionality to be added soon. The relevant functions are in https://github.com/ros2/rcl/blob/master/rcl/include/rcl/arguments.h
From the ros2_rust element chat room, it was suggested that we should create an issue to setup testing for all feature combinations.
This step would be a stopgap until `colcon test` is implemented for the `ament_cargo` build type.
It would be nice to have demo applications that show something resembling useful work. They could showcase multi-threading, launch files, calling a Rust library from C++, and (once they've landed)...
GitHub offers a free Windows CI – we should add equivalent jobs to the ones we have for Ubuntu.