rosrust_async 0.2.0

A native ROS1 client implementation in async Rust.
Documentation

rosrust-async

A native ROS1 client implementation in async Rust.

Build Status Crates.io

Features

  • 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

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.