ros2_rust icon indicating copy to clipboard operation
ros2_rust copied to clipboard

Rust bindings for ROS 2

Results 120 ros2_rust issues
Sort by recently updated
recently updated
newest added

This package is meant to test behaviors with dependencies that don't belong in the rclrs crate - namely, msgs Addresses #237

The `message_demo` package sends two messages of type `rclrs_example_msgs::msg::VariousTypes` on the topic "topic". When the `minimal_subscriber` is modified to receive messages of that type, however, none are received when the...

bug

The modules for clients/services/publishers/subscriptions are moved up from the node/ directory into the main directory. This way, the node module only contains the implementation of the actual Node type. Even...

Experimental, I don't really know what I'm doing here

It would be nice if the string types in `rosidl_runtime_rs` could be built/extended from iterators, [like the regular string type](https://doc.rust-lang.org/std/string/struct.String.html#impl-Extend%3Cchar%3E). For this, we'd need implementations for `Extend` and `FromIterator` for...

enhancement
good first issue

There should be something like https://gitlab.com/ApexAI/point_cloud_msg_wrapper in the Rust ecosystem – i.e. a convenient and as-safe-as-possible way to interact with point clouds that doesn't incur a copy. This requires good...

enhancement

We currently use simple `spin` functions to interact with waitsets and any waitable entities (subscriptions, clients, services, etc.), porting the [executor API](https://github.com/ros2/rclcpp/blob/master/rclcpp/include/rclcpp/executor.hpp) would help us implement more waitable entities (e.g....

enhancement

As [the tutorial](https://github.com/ros2-rust/ros2_rust/blob/main/docs/writing-your-first-rclrs-node.md) shows, implementing a node with `rclrs` is currently very different from `rclcpp`/`rclpy` and comparatively difficult: In particular, a lot of locking is going on. There probably is...

Actions are essentially pub/sub + clients/services, both of which are already implemented, so this should be relatively straightforward.

enhancement

Guard conditions are useful for e.g. properly terminating nodes (#188).

enhancement