A native ROS1 client implementation in async Rust.
- Designed to leverage the code generation functionality provided by rosrust
 - Publishers & subscribers with support for latched topics and configuring 
TCP_NODELAY - Service clients & servers with support for persistent connections
 - Define services using async functions or closures returning async blocks
 - Support for the ROS1 Parameter Server
 - Client implementations for both the ROS Master & ROS Slave APIs
 - Optional Clock module for interacting with simulated time
 
The examples directory contains a handful of examples showing how to use this crate.
The rosrust-async-test crate is also worth looking at. The tests are a bit verbose & hard on the eyes, but they can also serve as a good reference for more complex use-cases.
Although ROS1 has reached EOL as of 2025-05-31, this project is being actively maintained!
The API is mostly complete, aside from a few rough spots. Check out the issues page for a summary of what is being worked on.
Note: Documentation is limited in this initial release. Improving both API docs and examples is a top priority. Please open an issue if you encounter any problems or have questions.
This project is licensed under the MIT license.