Ros2-rust needs your help!

At the ros2-rust project we haven’t been able to keep up with recent developments in ROS 2, and it’s unlikely we can continue spending significant time maintaining ros2-rust so instead of letting the project die, here I am asking for your help.

Basic pubsub works, and ros2-rust recently got support for Dashing and later (thanks Natesh Narain!). However lots of other features are still missing, such as client/server, actions and QoS.

17 Likes

@esteve In case there are things to do for Rust newbies I could probably find some spare time. As far as I know there is no roadmap or trello board or something like that for ros2-rust. How do you coordinate development?

2 Likes

fyi not a fix but related Eclipse Cyclone DDS has Rust API WIP by @esteve @kydos, will be ready for use soon

2 Likes

I would dearly love to work on ros2-rust and absolutely intend to when I get more time… but I have no idea when that will be.

Talk to my bosses. Maybe they’ll allocate me time!

3 Likes

I apologize for the slight necro, but I didn’t think this warranted a new topic.

My work is allowing me some time to work on Rust for ROS 2, and I figured that this is the area to work on. However, I’m not positive on what areas need to be prioritized. The readme mentions about the CMake needing some work, but that section of the readme has been that way for a while. I noticed a colcon cargo project, is this usable yet? If not, should we consider using corrosion to make the CMake nicer?

Should we consider making a small Working Group to get this going? Is there enough interest for a Rust Working Group?

4 Likes

There was an initial push to form a Rust focused working group for ROS when this project was first announced, but some were hesitant on whether such an initiative was needed.

I think the slow progress of Rust support for ROS is self evident that such efforts require a focused community to develop & maintain, and fostering such a community takes deliberate coordination and regular interactions to grow. I’ve just emailed Open Robotics about the founding of a Rust WG for ROS.

5 Likes

Hi @esteve I am working on linking ros2 and rust together, which will help me, and others if possible, to have better understanding how to integrate both. And I publish my article here. It still on processing.
Besides, I would love to help and contribute code to ros2-rust. I have read the README and checked some of source code. My question is: DO you have other resources to help us to catch up? Or all in code so far. Whether is there other group to join, such as slack ?
And, if you have some resources about CMake, it will be better. It’s too “hard” to follow :smiley:
Thanks.

1 Like

Hi, I have strong interest in ROS2 rust, but i have done nothing yet.
It is super nice if there are some place to discuss about Rust and ROS for me!
(Currently i’m user of rosrust (ROS1) only)

1 Like

@marshalshi I’m not Steve, but I’ve dabbled a little bit in integrating ROS 2 and Rust over here. The main resource I used for learning CMake was this guide, though I also used corrosion to help with the integration with Cargo.

If you need some help, shoot me a message. I’m no expert, but I can try to help! Also, feel free to use my CMake code as a template. There’s some code that probably isn’t applicable to you (the stuff running the cxx generator), but you might be able to use it as a reference to get bindgen up and running.


@ruffsl, I agree that a WG might be what we need. I think a lot of people are going to be hesitant to work on Rust until either a client library is built for them to experiment with, or they see a lot of activity happening on said client library. So getting a coordinated group together might help with turnout.

Also, building client libraries is hard, even before you get to Ownership/Lifetimes, so a way to coordinate efforts is important too.

2 Likes

Rusty! Eclipse Zenoh router and ROS 2 zenoh-dds-plugin written in rust have been released. This gives ROS 2 scalable fault tolerant discovery; bridging for wireless (WiFi, LTE, 5G LoRa, satellite), WAN, cloud; microcontroller support, and is interoperable with all ROS 2 Tier 1 ROS middleware DDS implementations.







4 Likes