rosrust-async
A Native ROS1 client implementation in async Rust.
Features
- Designed to leverage the code generation functionality provided by rosrust
- Complete pub/sub messaging with support for latched topics &
TCP_NODELAY
- Service client and server implementations with support for async handlers
- Full support for the ROS1 Parameter Server
- Optional
Clock
module for interacting with simulated time - Provides client implementations for both the ROS Master & ROS Slave APIs
Getting Started
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.
Status
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.
License
This project is licensed under the MIT license.