PatWie / ros-core-rs

This Rust library provides a standalone implementation of the ROS (Robot Operating System) core, allowing you to build ROS nodes entirely in Rust without needing other ROS dependencies. Start the ROS core, run any ROS stack, and use the provided examples to create publishers and subscribers. Contributions are welcome!
MIT License
8 stars 2 forks source link

Several fixes to make it work as a drop in replacement for roscore #5

Closed jobafr closed 3 months ago

jobafr commented 3 months ago

Hi,

thank you for the RiiR :)

I found a few issues / behavior differences from the original roscore implementation and fixed them, so that ros-core-rs can be used as a drop-in replacement.

Things i changed:

While the test coverage is not extensive, we have tested this in our existing robot and so far have not found any more bugs. CPU usage is reduced significantly compared to the upstream roscore implementation in scenarios that put load on roscore, such as repeated querying for parameters. Incidentally, ros-core-rs's logs (with RUST_LOG=ros_core_rs=debug) turned out to be more useful than the log file of the original implementation in locating such bottlenecks and fix the underlying issue (repeated querying of parameters).

PatWie commented 3 months ago

That's an awesome contribution. Thank you for your work!!! These things were waiting on my to-do list.