Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | Apache License 2.0 |
Build type | AMENT_CARGO |
Use | RECOMMENDED |
Repository Summary
Description | Rust bindings for ROS 2 |
Checkout URI | https://github.com/ros2-rust/ros2_rust.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-02 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | rust robotics ros ros2 |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Esteve Fernandez
- Nikolai Morin
- Jacob Hassold
Authors
- Esteve Fernandez
ROS 2 client library for Rust
ROS 2 is a popular open source robotics framework, used in a variety of fields (self-driving cars, drones, humanoid robots, etc.). rclrs
is a library for writing robotics applications in Rust that integrate with ROS 2.
Please see the docs in the ros2_rust
repo.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
0.5.1 - 2025-08-23
Other
- Fix executor timeout (#519)
0.5.0 - 2025-08-15
Added
- vendorize messages so that cargo update works (#509)
Other
- Moved examples to its own repo (#504)
- Wake up wait set when adding a new waitable (#505)
- rename generate_docs feature to use_ros_shim (#501)
- Async Workers (#446)
- Shared state pattern (spin-off of #427) (#430)
- Options pattern (spin-off of #427) (#429)
- Fix RAII for subscription, client, and service (#463)
- Execution structure (spin-off of #427) (#428)
- Remove Iron support (#443)
- Add Publisher::get_subscription_count (#457)
- Bumb bindgen dependency to 0.70 (#452)
- Update for clippy 1.83 (#441)
- Add Publisher::can_loan_msgs (#434)
- Add rosout logging to rclrs (#422)
- Update vendored interface packages (#423)
- Use latest stable Rust CI + Fix Test Errors (#420)
- Add std::error::Error impls to Error enums of
parameter
module (#413) - Wrap slice::from_raw_parts to be compatible with rcl (#419)
- Compile on targets where c_char ≠ i8 (#403)
- Add parameter services (#342)
- Fixup of #388 (#389)
- Fix link formatting
- Get rid of doc links to private structs
- Update documentation on ENTITY_LIFECYCLE_MUTEX
- Improve the documentation for the domain ID situation of test_graph_empty
- Rename to avoid confusion with Handle pattern
- Update documentation and safety info on rcl entity lifecycles
- Remove the need for lazy_static
- Satisfy clippy
- Use usize instead of u8 for domain id
- Ensure that test_graph_empty works even if the system has ROS_DOMAIN_ID set to 99
- Run clippy
- Run rustfmt
- Apply lifecycle lock to all middleware entities
- Ensure that mutex guards are not being dropped prematurely
- Introduce InitOptions to allow manually setting domain ID
- Keep context alive for guard conditions
- Manage all rcl bindings with Handle structs
- Reworking the lifecycle management of rcl bindings
- Import the builtin_interfaces directly from the internal vendor module.
- Added
test_msgs
as a test dependency - Move the tests in the
rclrs_tests
crate intorclrs
. - Move rcl structs to end of Node declaration
- Allow ros2_rust to be built within a distro workspace
- Add default implementation and builder pattern for QoS (#361)
- Adding a simple helper function for converting
rclrs::Time
to a ros message (#359) - Remove leading underscore from private fields (#354)
0.4.1 - 2023-11-28
- Added minor changes to enable documentation generation on docs.rs for the
ros2-rust
projects.
0.4.0 - 2023-11-07
- Service clients now support service_is_ready to check if a service server is present ahead of calling (#399)
- Added preliminary support for parameters
- Added support for Iron Irwini
- Added Serde big array support
- Added basic functionality for loading introspection type support libraries
- Added extended string types
- Added time source and clock API to nodes
- Removed support for Galactic
- Removed support for Foxy
0.3.1 - 2022-10-17
- Fixed segfault when re-using
WaitSet
- Fixed
Node::get_{publishers,subscriptions}_info_by_topic()
0.3.0 - 2022-10-03
[0.2.0] (2022-07-21)
- First release
-
colcon-cargo
andcolcon-ros-cargo
can now build any pure Cargo and ament-aware Cargo projects -
rclrs
andrclrs_examples
are nowament_cargo
projects, no more CMake involved -
rosidl_generator_rs
has been updated to support all ROS message types -
rclrs
now supports clients and services
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
rosidl_runtime_rs | |
test_msgs | |
example_interfaces | |
rcl | |
builtin_interfaces | |
rcl_interfaces | |
rosgraph_msgs |
System Dependencies
Name |
---|
libclang-dev |
Dependant Packages
Name | Deps |
---|---|
nexus_workcell_editor | |
rerun_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged rclrs at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | Apache License 2.0 |
Build type | AMENT_CARGO |
Use | RECOMMENDED |
Repository Summary
Description | Rust bindings for ROS 2 |
Checkout URI | https://github.com/ros2-rust/ros2_rust.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-02 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | rust robotics ros ros2 |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Esteve Fernandez
- Nikolai Morin
- Jacob Hassold
Authors
- Esteve Fernandez
ROS 2 client library for Rust
ROS 2 is a popular open source robotics framework, used in a variety of fields (self-driving cars, drones, humanoid robots, etc.). rclrs
is a library for writing robotics applications in Rust that integrate with ROS 2.
Please see the docs in the ros2_rust
repo.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
0.5.1 - 2025-08-23
Other
- Fix executor timeout (#519)
0.5.0 - 2025-08-15
Added
- vendorize messages so that cargo update works (#509)
Other
- Moved examples to its own repo (#504)
- Wake up wait set when adding a new waitable (#505)
- rename generate_docs feature to use_ros_shim (#501)
- Async Workers (#446)
- Shared state pattern (spin-off of #427) (#430)
- Options pattern (spin-off of #427) (#429)
- Fix RAII for subscription, client, and service (#463)
- Execution structure (spin-off of #427) (#428)
- Remove Iron support (#443)
- Add Publisher::get_subscription_count (#457)
- Bumb bindgen dependency to 0.70 (#452)
- Update for clippy 1.83 (#441)
- Add Publisher::can_loan_msgs (#434)
- Add rosout logging to rclrs (#422)
- Update vendored interface packages (#423)
- Use latest stable Rust CI + Fix Test Errors (#420)
- Add std::error::Error impls to Error enums of
parameter
module (#413) - Wrap slice::from_raw_parts to be compatible with rcl (#419)
- Compile on targets where c_char ≠ i8 (#403)
- Add parameter services (#342)
- Fixup of #388 (#389)
- Fix link formatting
- Get rid of doc links to private structs
- Update documentation on ENTITY_LIFECYCLE_MUTEX
- Improve the documentation for the domain ID situation of test_graph_empty
- Rename to avoid confusion with Handle pattern
- Update documentation and safety info on rcl entity lifecycles
- Remove the need for lazy_static
- Satisfy clippy
- Use usize instead of u8 for domain id
- Ensure that test_graph_empty works even if the system has ROS_DOMAIN_ID set to 99
- Run clippy
- Run rustfmt
- Apply lifecycle lock to all middleware entities
- Ensure that mutex guards are not being dropped prematurely
- Introduce InitOptions to allow manually setting domain ID
- Keep context alive for guard conditions
- Manage all rcl bindings with Handle structs
- Reworking the lifecycle management of rcl bindings
- Import the builtin_interfaces directly from the internal vendor module.
- Added
test_msgs
as a test dependency - Move the tests in the
rclrs_tests
crate intorclrs
. - Move rcl structs to end of Node declaration
- Allow ros2_rust to be built within a distro workspace
- Add default implementation and builder pattern for QoS (#361)
- Adding a simple helper function for converting
rclrs::Time
to a ros message (#359) - Remove leading underscore from private fields (#354)
0.4.1 - 2023-11-28
- Added minor changes to enable documentation generation on docs.rs for the
ros2-rust
projects.
0.4.0 - 2023-11-07
- Service clients now support service_is_ready to check if a service server is present ahead of calling (#399)
- Added preliminary support for parameters
- Added support for Iron Irwini
- Added Serde big array support
- Added basic functionality for loading introspection type support libraries
- Added extended string types
- Added time source and clock API to nodes
- Removed support for Galactic
- Removed support for Foxy
0.3.1 - 2022-10-17
- Fixed segfault when re-using
WaitSet
- Fixed
Node::get_{publishers,subscriptions}_info_by_topic()
0.3.0 - 2022-10-03
[0.2.0] (2022-07-21)
- First release
-
colcon-cargo
andcolcon-ros-cargo
can now build any pure Cargo and ament-aware Cargo projects -
rclrs
andrclrs_examples
are nowament_cargo
projects, no more CMake involved -
rosidl_generator_rs
has been updated to support all ROS message types -
rclrs
now supports clients and services
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
rosidl_runtime_rs | |
test_msgs | |
example_interfaces | |
rcl | |
builtin_interfaces | |
rcl_interfaces | |
rosgraph_msgs |
System Dependencies
Name |
---|
libclang-dev |
Dependant Packages
Name | Deps |
---|---|
nexus_workcell_editor | |
rerun_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged rclrs at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | Apache License 2.0 |
Build type | AMENT_CARGO |
Use | RECOMMENDED |
Repository Summary
Description | Rust bindings for ROS 2 |
Checkout URI | https://github.com/ros2-rust/ros2_rust.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-02 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | rust robotics ros ros2 |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Esteve Fernandez
- Nikolai Morin
- Jacob Hassold
Authors
- Esteve Fernandez
ROS 2 client library for Rust
ROS 2 is a popular open source robotics framework, used in a variety of fields (self-driving cars, drones, humanoid robots, etc.). rclrs
is a library for writing robotics applications in Rust that integrate with ROS 2.
Please see the docs in the ros2_rust
repo.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
0.5.1 - 2025-08-23
Other
- Fix executor timeout (#519)
0.5.0 - 2025-08-15
Added
- vendorize messages so that cargo update works (#509)
Other
- Moved examples to its own repo (#504)
- Wake up wait set when adding a new waitable (#505)
- rename generate_docs feature to use_ros_shim (#501)
- Async Workers (#446)
- Shared state pattern (spin-off of #427) (#430)
- Options pattern (spin-off of #427) (#429)
- Fix RAII for subscription, client, and service (#463)
- Execution structure (spin-off of #427) (#428)
- Remove Iron support (#443)
- Add Publisher::get_subscription_count (#457)
- Bumb bindgen dependency to 0.70 (#452)
- Update for clippy 1.83 (#441)
- Add Publisher::can_loan_msgs (#434)
- Add rosout logging to rclrs (#422)
- Update vendored interface packages (#423)
- Use latest stable Rust CI + Fix Test Errors (#420)
- Add std::error::Error impls to Error enums of
parameter
module (#413) - Wrap slice::from_raw_parts to be compatible with rcl (#419)
- Compile on targets where c_char ≠ i8 (#403)
- Add parameter services (#342)
- Fixup of #388 (#389)
- Fix link formatting
- Get rid of doc links to private structs
- Update documentation on ENTITY_LIFECYCLE_MUTEX
- Improve the documentation for the domain ID situation of test_graph_empty
- Rename to avoid confusion with Handle pattern
- Update documentation and safety info on rcl entity lifecycles
- Remove the need for lazy_static
- Satisfy clippy
- Use usize instead of u8 for domain id
- Ensure that test_graph_empty works even if the system has ROS_DOMAIN_ID set to 99
- Run clippy
- Run rustfmt
- Apply lifecycle lock to all middleware entities
- Ensure that mutex guards are not being dropped prematurely
- Introduce InitOptions to allow manually setting domain ID
- Keep context alive for guard conditions
- Manage all rcl bindings with Handle structs
- Reworking the lifecycle management of rcl bindings
- Import the builtin_interfaces directly from the internal vendor module.
- Added
test_msgs
as a test dependency - Move the tests in the
rclrs_tests
crate intorclrs
. - Move rcl structs to end of Node declaration
- Allow ros2_rust to be built within a distro workspace
- Add default implementation and builder pattern for QoS (#361)
- Adding a simple helper function for converting
rclrs::Time
to a ros message (#359) - Remove leading underscore from private fields (#354)
0.4.1 - 2023-11-28
- Added minor changes to enable documentation generation on docs.rs for the
ros2-rust
projects.
0.4.0 - 2023-11-07
- Service clients now support service_is_ready to check if a service server is present ahead of calling (#399)
- Added preliminary support for parameters
- Added support for Iron Irwini
- Added Serde big array support
- Added basic functionality for loading introspection type support libraries
- Added extended string types
- Added time source and clock API to nodes
- Removed support for Galactic
- Removed support for Foxy
0.3.1 - 2022-10-17
- Fixed segfault when re-using
WaitSet
- Fixed
Node::get_{publishers,subscriptions}_info_by_topic()
0.3.0 - 2022-10-03
[0.2.0] (2022-07-21)
- First release
-
colcon-cargo
andcolcon-ros-cargo
can now build any pure Cargo and ament-aware Cargo projects -
rclrs
andrclrs_examples
are nowament_cargo
projects, no more CMake involved -
rosidl_generator_rs
has been updated to support all ROS message types -
rclrs
now supports clients and services
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
rosidl_runtime_rs | |
test_msgs | |
example_interfaces | |
rcl | |
builtin_interfaces | |
rcl_interfaces | |
rosgraph_msgs |
System Dependencies
Name |
---|
libclang-dev |
Dependant Packages
Name | Deps |
---|---|
nexus_workcell_editor | |
rerun_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged rclrs at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | Apache License 2.0 |
Build type | AMENT_CARGO |
Use | RECOMMENDED |
Repository Summary
Description | Rust bindings for ROS 2 |
Checkout URI | https://github.com/ros2-rust/ros2_rust.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-02 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | rust robotics ros ros2 |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Esteve Fernandez
- Nikolai Morin
- Jacob Hassold
Authors
- Esteve Fernandez
ROS 2 client library for Rust
ROS 2 is a popular open source robotics framework, used in a variety of fields (self-driving cars, drones, humanoid robots, etc.). rclrs
is a library for writing robotics applications in Rust that integrate with ROS 2.
Please see the docs in the ros2_rust
repo.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
0.5.1 - 2025-08-23
Other
- Fix executor timeout (#519)
0.5.0 - 2025-08-15
Added
- vendorize messages so that cargo update works (#509)
Other
- Moved examples to its own repo (#504)
- Wake up wait set when adding a new waitable (#505)
- rename generate_docs feature to use_ros_shim (#501)
- Async Workers (#446)
- Shared state pattern (spin-off of #427) (#430)
- Options pattern (spin-off of #427) (#429)
- Fix RAII for subscription, client, and service (#463)
- Execution structure (spin-off of #427) (#428)
- Remove Iron support (#443)
- Add Publisher::get_subscription_count (#457)
- Bumb bindgen dependency to 0.70 (#452)
- Update for clippy 1.83 (#441)
- Add Publisher::can_loan_msgs (#434)
- Add rosout logging to rclrs (#422)
- Update vendored interface packages (#423)
- Use latest stable Rust CI + Fix Test Errors (#420)
- Add std::error::Error impls to Error enums of
parameter
module (#413) - Wrap slice::from_raw_parts to be compatible with rcl (#419)
- Compile on targets where c_char ≠ i8 (#403)
- Add parameter services (#342)
- Fixup of #388 (#389)
- Fix link formatting
- Get rid of doc links to private structs
- Update documentation on ENTITY_LIFECYCLE_MUTEX
- Improve the documentation for the domain ID situation of test_graph_empty
- Rename to avoid confusion with Handle pattern
- Update documentation and safety info on rcl entity lifecycles
- Remove the need for lazy_static
- Satisfy clippy
- Use usize instead of u8 for domain id
- Ensure that test_graph_empty works even if the system has ROS_DOMAIN_ID set to 99
- Run clippy
- Run rustfmt
- Apply lifecycle lock to all middleware entities
- Ensure that mutex guards are not being dropped prematurely
- Introduce InitOptions to allow manually setting domain ID
- Keep context alive for guard conditions
- Manage all rcl bindings with Handle structs
- Reworking the lifecycle management of rcl bindings
- Import the builtin_interfaces directly from the internal vendor module.
- Added
test_msgs
as a test dependency - Move the tests in the
rclrs_tests
crate intorclrs
. - Move rcl structs to end of Node declaration
- Allow ros2_rust to be built within a distro workspace
- Add default implementation and builder pattern for QoS (#361)
- Adding a simple helper function for converting
rclrs::Time
to a ros message (#359) - Remove leading underscore from private fields (#354)
0.4.1 - 2023-11-28
- Added minor changes to enable documentation generation on docs.rs for the
ros2-rust
projects.
0.4.0 - 2023-11-07
- Service clients now support service_is_ready to check if a service server is present ahead of calling (#399)
- Added preliminary support for parameters
- Added support for Iron Irwini
- Added Serde big array support
- Added basic functionality for loading introspection type support libraries
- Added extended string types
- Added time source and clock API to nodes
- Removed support for Galactic
- Removed support for Foxy
0.3.1 - 2022-10-17
- Fixed segfault when re-using
WaitSet
- Fixed
Node::get_{publishers,subscriptions}_info_by_topic()
0.3.0 - 2022-10-03
[0.2.0] (2022-07-21)
- First release
-
colcon-cargo
andcolcon-ros-cargo
can now build any pure Cargo and ament-aware Cargo projects -
rclrs
andrclrs_examples
are nowament_cargo
projects, no more CMake involved -
rosidl_generator_rs
has been updated to support all ROS message types -
rclrs
now supports clients and services
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
rosidl_runtime_rs | |
test_msgs | |
example_interfaces | |
rcl | |
builtin_interfaces | |
rcl_interfaces | |
rosgraph_msgs |
System Dependencies
Name |
---|
libclang-dev |
Dependant Packages
Name | Deps |
---|---|
nexus_workcell_editor | |
rerun_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged rclrs at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | Apache License 2.0 |
Build type | AMENT_CARGO |
Use | RECOMMENDED |
Repository Summary
Description | Rust bindings for ROS 2 |
Checkout URI | https://github.com/ros2-rust/ros2_rust.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-02 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | rust robotics ros ros2 |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Esteve Fernandez
- Nikolai Morin
- Jacob Hassold
Authors
- Esteve Fernandez
ROS 2 client library for Rust
ROS 2 is a popular open source robotics framework, used in a variety of fields (self-driving cars, drones, humanoid robots, etc.). rclrs
is a library for writing robotics applications in Rust that integrate with ROS 2.
Please see the docs in the ros2_rust
repo.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
0.5.1 - 2025-08-23
Other
- Fix executor timeout (#519)
0.5.0 - 2025-08-15
Added
- vendorize messages so that cargo update works (#509)
Other
- Moved examples to its own repo (#504)
- Wake up wait set when adding a new waitable (#505)
- rename generate_docs feature to use_ros_shim (#501)
- Async Workers (#446)
- Shared state pattern (spin-off of #427) (#430)
- Options pattern (spin-off of #427) (#429)
- Fix RAII for subscription, client, and service (#463)
- Execution structure (spin-off of #427) (#428)
- Remove Iron support (#443)
- Add Publisher::get_subscription_count (#457)
- Bumb bindgen dependency to 0.70 (#452)
- Update for clippy 1.83 (#441)
- Add Publisher::can_loan_msgs (#434)
- Add rosout logging to rclrs (#422)
- Update vendored interface packages (#423)
- Use latest stable Rust CI + Fix Test Errors (#420)
- Add std::error::Error impls to Error enums of
parameter
module (#413) - Wrap slice::from_raw_parts to be compatible with rcl (#419)
- Compile on targets where c_char ≠ i8 (#403)
- Add parameter services (#342)
- Fixup of #388 (#389)
- Fix link formatting
- Get rid of doc links to private structs
- Update documentation on ENTITY_LIFECYCLE_MUTEX
- Improve the documentation for the domain ID situation of test_graph_empty
- Rename to avoid confusion with Handle pattern
- Update documentation and safety info on rcl entity lifecycles
- Remove the need for lazy_static
- Satisfy clippy
- Use usize instead of u8 for domain id
- Ensure that test_graph_empty works even if the system has ROS_DOMAIN_ID set to 99
- Run clippy
- Run rustfmt
- Apply lifecycle lock to all middleware entities
- Ensure that mutex guards are not being dropped prematurely
- Introduce InitOptions to allow manually setting domain ID
- Keep context alive for guard conditions
- Manage all rcl bindings with Handle structs
- Reworking the lifecycle management of rcl bindings
- Import the builtin_interfaces directly from the internal vendor module.
- Added
test_msgs
as a test dependency - Move the tests in the
rclrs_tests
crate intorclrs
. - Move rcl structs to end of Node declaration
- Allow ros2_rust to be built within a distro workspace
- Add default implementation and builder pattern for QoS (#361)
- Adding a simple helper function for converting
rclrs::Time
to a ros message (#359) - Remove leading underscore from private fields (#354)
0.4.1 - 2023-11-28
- Added minor changes to enable documentation generation on docs.rs for the
ros2-rust
projects.
0.4.0 - 2023-11-07
- Service clients now support service_is_ready to check if a service server is present ahead of calling (#399)
- Added preliminary support for parameters
- Added support for Iron Irwini
- Added Serde big array support
- Added basic functionality for loading introspection type support libraries
- Added extended string types
- Added time source and clock API to nodes
- Removed support for Galactic
- Removed support for Foxy
0.3.1 - 2022-10-17
- Fixed segfault when re-using
WaitSet
- Fixed
Node::get_{publishers,subscriptions}_info_by_topic()
0.3.0 - 2022-10-03
[0.2.0] (2022-07-21)
- First release
-
colcon-cargo
andcolcon-ros-cargo
can now build any pure Cargo and ament-aware Cargo projects -
rclrs
andrclrs_examples
are nowament_cargo
projects, no more CMake involved -
rosidl_generator_rs
has been updated to support all ROS message types -
rclrs
now supports clients and services
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
rosidl_runtime_rs | |
test_msgs | |
example_interfaces | |
rcl | |
builtin_interfaces | |
rcl_interfaces | |
rosgraph_msgs |
System Dependencies
Name |
---|
libclang-dev |
Dependant Packages
Name | Deps |
---|---|
nexus_workcell_editor | |
rerun_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged rclrs at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | Apache License 2.0 |
Build type | AMENT_CARGO |
Use | RECOMMENDED |
Repository Summary
Description | Rust bindings for ROS 2 |
Checkout URI | https://github.com/ros2-rust/ros2_rust.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-02 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | rust robotics ros ros2 |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Esteve Fernandez
- Nikolai Morin
- Jacob Hassold
Authors
- Esteve Fernandez
ROS 2 client library for Rust
ROS 2 is a popular open source robotics framework, used in a variety of fields (self-driving cars, drones, humanoid robots, etc.). rclrs
is a library for writing robotics applications in Rust that integrate with ROS 2.
Please see the docs in the ros2_rust
repo.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
0.5.1 - 2025-08-23
Other
- Fix executor timeout (#519)
0.5.0 - 2025-08-15
Added
- vendorize messages so that cargo update works (#509)
Other
- Moved examples to its own repo (#504)
- Wake up wait set when adding a new waitable (#505)
- rename generate_docs feature to use_ros_shim (#501)
- Async Workers (#446)
- Shared state pattern (spin-off of #427) (#430)
- Options pattern (spin-off of #427) (#429)
- Fix RAII for subscription, client, and service (#463)
- Execution structure (spin-off of #427) (#428)
- Remove Iron support (#443)
- Add Publisher::get_subscription_count (#457)
- Bumb bindgen dependency to 0.70 (#452)
- Update for clippy 1.83 (#441)
- Add Publisher::can_loan_msgs (#434)
- Add rosout logging to rclrs (#422)
- Update vendored interface packages (#423)
- Use latest stable Rust CI + Fix Test Errors (#420)
- Add std::error::Error impls to Error enums of
parameter
module (#413) - Wrap slice::from_raw_parts to be compatible with rcl (#419)
- Compile on targets where c_char ≠ i8 (#403)
- Add parameter services (#342)
- Fixup of #388 (#389)
- Fix link formatting
- Get rid of doc links to private structs
- Update documentation on ENTITY_LIFECYCLE_MUTEX
- Improve the documentation for the domain ID situation of test_graph_empty
- Rename to avoid confusion with Handle pattern
- Update documentation and safety info on rcl entity lifecycles
- Remove the need for lazy_static
- Satisfy clippy
- Use usize instead of u8 for domain id
- Ensure that test_graph_empty works even if the system has ROS_DOMAIN_ID set to 99
- Run clippy
- Run rustfmt
- Apply lifecycle lock to all middleware entities
- Ensure that mutex guards are not being dropped prematurely
- Introduce InitOptions to allow manually setting domain ID
- Keep context alive for guard conditions
- Manage all rcl bindings with Handle structs
- Reworking the lifecycle management of rcl bindings
- Import the builtin_interfaces directly from the internal vendor module.
- Added
test_msgs
as a test dependency - Move the tests in the
rclrs_tests
crate intorclrs
. - Move rcl structs to end of Node declaration
- Allow ros2_rust to be built within a distro workspace
- Add default implementation and builder pattern for QoS (#361)
- Adding a simple helper function for converting
rclrs::Time
to a ros message (#359) - Remove leading underscore from private fields (#354)
0.4.1 - 2023-11-28
- Added minor changes to enable documentation generation on docs.rs for the
ros2-rust
projects.
0.4.0 - 2023-11-07
- Service clients now support service_is_ready to check if a service server is present ahead of calling (#399)
- Added preliminary support for parameters
- Added support for Iron Irwini
- Added Serde big array support
- Added basic functionality for loading introspection type support libraries
- Added extended string types
- Added time source and clock API to nodes
- Removed support for Galactic
- Removed support for Foxy
0.3.1 - 2022-10-17
- Fixed segfault when re-using
WaitSet
- Fixed
Node::get_{publishers,subscriptions}_info_by_topic()
0.3.0 - 2022-10-03
[0.2.0] (2022-07-21)
- First release
-
colcon-cargo
andcolcon-ros-cargo
can now build any pure Cargo and ament-aware Cargo projects -
rclrs
andrclrs_examples
are nowament_cargo
projects, no more CMake involved -
rosidl_generator_rs
has been updated to support all ROS message types -
rclrs
now supports clients and services
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
rosidl_runtime_rs | |
test_msgs | |
example_interfaces | |
rcl | |
builtin_interfaces | |
rcl_interfaces | |
rosgraph_msgs |
System Dependencies
Name |
---|
libclang-dev |
Dependant Packages
Name | Deps |
---|---|
nexus_workcell_editor | |
rerun_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged rclrs at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | Apache License 2.0 |
Build type | AMENT_CARGO |
Use | RECOMMENDED |
Repository Summary
Description | Rust bindings for ROS 2 |
Checkout URI | https://github.com/ros2-rust/ros2_rust.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-02 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | rust robotics ros ros2 |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Esteve Fernandez
- Nikolai Morin
- Jacob Hassold
Authors
- Esteve Fernandez
ROS 2 client library for Rust
ROS 2 is a popular open source robotics framework, used in a variety of fields (self-driving cars, drones, humanoid robots, etc.). rclrs
is a library for writing robotics applications in Rust that integrate with ROS 2.
Please see the docs in the ros2_rust
repo.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
0.5.1 - 2025-08-23
Other
- Fix executor timeout (#519)
0.5.0 - 2025-08-15
Added
- vendorize messages so that cargo update works (#509)
Other
- Moved examples to its own repo (#504)
- Wake up wait set when adding a new waitable (#505)
- rename generate_docs feature to use_ros_shim (#501)
- Async Workers (#446)
- Shared state pattern (spin-off of #427) (#430)
- Options pattern (spin-off of #427) (#429)
- Fix RAII for subscription, client, and service (#463)
- Execution structure (spin-off of #427) (#428)
- Remove Iron support (#443)
- Add Publisher::get_subscription_count (#457)
- Bumb bindgen dependency to 0.70 (#452)
- Update for clippy 1.83 (#441)
- Add Publisher::can_loan_msgs (#434)
- Add rosout logging to rclrs (#422)
- Update vendored interface packages (#423)
- Use latest stable Rust CI + Fix Test Errors (#420)
- Add std::error::Error impls to Error enums of
parameter
module (#413) - Wrap slice::from_raw_parts to be compatible with rcl (#419)
- Compile on targets where c_char ≠ i8 (#403)
- Add parameter services (#342)
- Fixup of #388 (#389)
- Fix link formatting
- Get rid of doc links to private structs
- Update documentation on ENTITY_LIFECYCLE_MUTEX
- Improve the documentation for the domain ID situation of test_graph_empty
- Rename to avoid confusion with Handle pattern
- Update documentation and safety info on rcl entity lifecycles
- Remove the need for lazy_static
- Satisfy clippy
- Use usize instead of u8 for domain id
- Ensure that test_graph_empty works even if the system has ROS_DOMAIN_ID set to 99
- Run clippy
- Run rustfmt
- Apply lifecycle lock to all middleware entities
- Ensure that mutex guards are not being dropped prematurely
- Introduce InitOptions to allow manually setting domain ID
- Keep context alive for guard conditions
- Manage all rcl bindings with Handle structs
- Reworking the lifecycle management of rcl bindings
- Import the builtin_interfaces directly from the internal vendor module.
- Added
test_msgs
as a test dependency - Move the tests in the
rclrs_tests
crate intorclrs
. - Move rcl structs to end of Node declaration
- Allow ros2_rust to be built within a distro workspace
- Add default implementation and builder pattern for QoS (#361)
- Adding a simple helper function for converting
rclrs::Time
to a ros message (#359) - Remove leading underscore from private fields (#354)
0.4.1 - 2023-11-28
- Added minor changes to enable documentation generation on docs.rs for the
ros2-rust
projects.
0.4.0 - 2023-11-07
- Service clients now support service_is_ready to check if a service server is present ahead of calling (#399)
- Added preliminary support for parameters
- Added support for Iron Irwini
- Added Serde big array support
- Added basic functionality for loading introspection type support libraries
- Added extended string types
- Added time source and clock API to nodes
- Removed support for Galactic
- Removed support for Foxy
0.3.1 - 2022-10-17
- Fixed segfault when re-using
WaitSet
- Fixed
Node::get_{publishers,subscriptions}_info_by_topic()
0.3.0 - 2022-10-03
[0.2.0] (2022-07-21)
- First release
-
colcon-cargo
andcolcon-ros-cargo
can now build any pure Cargo and ament-aware Cargo projects -
rclrs
andrclrs_examples
are nowament_cargo
projects, no more CMake involved -
rosidl_generator_rs
has been updated to support all ROS message types -
rclrs
now supports clients and services
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
rosidl_runtime_rs | |
test_msgs | |
example_interfaces | |
rcl | |
builtin_interfaces | |
rcl_interfaces | |
rosgraph_msgs |
System Dependencies
Name |
---|
libclang-dev |
Dependant Packages
Name | Deps |
---|---|
nexus_workcell_editor | |
rerun_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged rclrs at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | Apache License 2.0 |
Build type | AMENT_CARGO |
Use | RECOMMENDED |
Repository Summary
Description | Rust bindings for ROS 2 |
Checkout URI | https://github.com/ros2-rust/ros2_rust.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-02 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | rust robotics ros ros2 |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Esteve Fernandez
- Nikolai Morin
- Jacob Hassold
Authors
- Esteve Fernandez
ROS 2 client library for Rust
ROS 2 is a popular open source robotics framework, used in a variety of fields (self-driving cars, drones, humanoid robots, etc.). rclrs
is a library for writing robotics applications in Rust that integrate with ROS 2.
Please see the docs in the ros2_rust
repo.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
0.5.1 - 2025-08-23
Other
- Fix executor timeout (#519)
0.5.0 - 2025-08-15
Added
- vendorize messages so that cargo update works (#509)
Other
- Moved examples to its own repo (#504)
- Wake up wait set when adding a new waitable (#505)
- rename generate_docs feature to use_ros_shim (#501)
- Async Workers (#446)
- Shared state pattern (spin-off of #427) (#430)
- Options pattern (spin-off of #427) (#429)
- Fix RAII for subscription, client, and service (#463)
- Execution structure (spin-off of #427) (#428)
- Remove Iron support (#443)
- Add Publisher::get_subscription_count (#457)
- Bumb bindgen dependency to 0.70 (#452)
- Update for clippy 1.83 (#441)
- Add Publisher::can_loan_msgs (#434)
- Add rosout logging to rclrs (#422)
- Update vendored interface packages (#423)
- Use latest stable Rust CI + Fix Test Errors (#420)
- Add std::error::Error impls to Error enums of
parameter
module (#413) - Wrap slice::from_raw_parts to be compatible with rcl (#419)
- Compile on targets where c_char ≠ i8 (#403)
- Add parameter services (#342)
- Fixup of #388 (#389)
- Fix link formatting
- Get rid of doc links to private structs
- Update documentation on ENTITY_LIFECYCLE_MUTEX
- Improve the documentation for the domain ID situation of test_graph_empty
- Rename to avoid confusion with Handle pattern
- Update documentation and safety info on rcl entity lifecycles
- Remove the need for lazy_static
- Satisfy clippy
- Use usize instead of u8 for domain id
- Ensure that test_graph_empty works even if the system has ROS_DOMAIN_ID set to 99
- Run clippy
- Run rustfmt
- Apply lifecycle lock to all middleware entities
- Ensure that mutex guards are not being dropped prematurely
- Introduce InitOptions to allow manually setting domain ID
- Keep context alive for guard conditions
- Manage all rcl bindings with Handle structs
- Reworking the lifecycle management of rcl bindings
- Import the builtin_interfaces directly from the internal vendor module.
- Added
test_msgs
as a test dependency - Move the tests in the
rclrs_tests
crate intorclrs
. - Move rcl structs to end of Node declaration
- Allow ros2_rust to be built within a distro workspace
- Add default implementation and builder pattern for QoS (#361)
- Adding a simple helper function for converting
rclrs::Time
to a ros message (#359) - Remove leading underscore from private fields (#354)
0.4.1 - 2023-11-28
- Added minor changes to enable documentation generation on docs.rs for the
ros2-rust
projects.
0.4.0 - 2023-11-07
- Service clients now support service_is_ready to check if a service server is present ahead of calling (#399)
- Added preliminary support for parameters
- Added support for Iron Irwini
- Added Serde big array support
- Added basic functionality for loading introspection type support libraries
- Added extended string types
- Added time source and clock API to nodes
- Removed support for Galactic
- Removed support for Foxy
0.3.1 - 2022-10-17
- Fixed segfault when re-using
WaitSet
- Fixed
Node::get_{publishers,subscriptions}_info_by_topic()
0.3.0 - 2022-10-03
[0.2.0] (2022-07-21)
- First release
-
colcon-cargo
andcolcon-ros-cargo
can now build any pure Cargo and ament-aware Cargo projects -
rclrs
andrclrs_examples
are nowament_cargo
projects, no more CMake involved -
rosidl_generator_rs
has been updated to support all ROS message types -
rclrs
now supports clients and services
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
rosidl_runtime_rs | |
test_msgs | |
example_interfaces | |
rcl | |
builtin_interfaces | |
rcl_interfaces | |
rosgraph_msgs |
System Dependencies
Name |
---|
libclang-dev |
Dependant Packages
Name | Deps |
---|---|
nexus_workcell_editor | |
rerun_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged rclrs at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.5.0 |
License | Apache License 2.0 |
Build type | AMENT_CARGO |
Use | RECOMMENDED |
Repository Summary
Description | Rust bindings for ROS 2 |
Checkout URI | https://github.com/ros2-rust/ros2_rust.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-09-02 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | rust robotics ros ros2 |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Esteve Fernandez
- Nikolai Morin
- Jacob Hassold
Authors
- Esteve Fernandez
ROS 2 client library for Rust
ROS 2 is a popular open source robotics framework, used in a variety of fields (self-driving cars, drones, humanoid robots, etc.). rclrs
is a library for writing robotics applications in Rust that integrate with ROS 2.
Please see the docs in the ros2_rust
repo.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
0.5.1 - 2025-08-23
Other
- Fix executor timeout (#519)
0.5.0 - 2025-08-15
Added
- vendorize messages so that cargo update works (#509)
Other
- Moved examples to its own repo (#504)
- Wake up wait set when adding a new waitable (#505)
- rename generate_docs feature to use_ros_shim (#501)
- Async Workers (#446)
- Shared state pattern (spin-off of #427) (#430)
- Options pattern (spin-off of #427) (#429)
- Fix RAII for subscription, client, and service (#463)
- Execution structure (spin-off of #427) (#428)
- Remove Iron support (#443)
- Add Publisher::get_subscription_count (#457)
- Bumb bindgen dependency to 0.70 (#452)
- Update for clippy 1.83 (#441)
- Add Publisher::can_loan_msgs (#434)
- Add rosout logging to rclrs (#422)
- Update vendored interface packages (#423)
- Use latest stable Rust CI + Fix Test Errors (#420)
- Add std::error::Error impls to Error enums of
parameter
module (#413) - Wrap slice::from_raw_parts to be compatible with rcl (#419)
- Compile on targets where c_char ≠ i8 (#403)
- Add parameter services (#342)
- Fixup of #388 (#389)
- Fix link formatting
- Get rid of doc links to private structs
- Update documentation on ENTITY_LIFECYCLE_MUTEX
- Improve the documentation for the domain ID situation of test_graph_empty
- Rename to avoid confusion with Handle pattern
- Update documentation and safety info on rcl entity lifecycles
- Remove the need for lazy_static
- Satisfy clippy
- Use usize instead of u8 for domain id
- Ensure that test_graph_empty works even if the system has ROS_DOMAIN_ID set to 99
- Run clippy
- Run rustfmt
- Apply lifecycle lock to all middleware entities
- Ensure that mutex guards are not being dropped prematurely
- Introduce InitOptions to allow manually setting domain ID
- Keep context alive for guard conditions
- Manage all rcl bindings with Handle structs
- Reworking the lifecycle management of rcl bindings
- Import the builtin_interfaces directly from the internal vendor module.
- Added
test_msgs
as a test dependency - Move the tests in the
rclrs_tests
crate intorclrs
. - Move rcl structs to end of Node declaration
- Allow ros2_rust to be built within a distro workspace
- Add default implementation and builder pattern for QoS (#361)
- Adding a simple helper function for converting
rclrs::Time
to a ros message (#359) - Remove leading underscore from private fields (#354)
0.4.1 - 2023-11-28
- Added minor changes to enable documentation generation on docs.rs for the
ros2-rust
projects.
0.4.0 - 2023-11-07
- Service clients now support service_is_ready to check if a service server is present ahead of calling (#399)
- Added preliminary support for parameters
- Added support for Iron Irwini
- Added Serde big array support
- Added basic functionality for loading introspection type support libraries
- Added extended string types
- Added time source and clock API to nodes
- Removed support for Galactic
- Removed support for Foxy
0.3.1 - 2022-10-17
- Fixed segfault when re-using
WaitSet
- Fixed
Node::get_{publishers,subscriptions}_info_by_topic()
0.3.0 - 2022-10-03
[0.2.0] (2022-07-21)
- First release
-
colcon-cargo
andcolcon-ros-cargo
can now build any pure Cargo and ament-aware Cargo projects -
rclrs
andrclrs_examples
are nowament_cargo
projects, no more CMake involved -
rosidl_generator_rs
has been updated to support all ROS message types -
rclrs
now supports clients and services
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
rosidl_runtime_rs | |
test_msgs | |
example_interfaces | |
rcl | |
builtin_interfaces | |
rcl_interfaces | |
rosgraph_msgs |
System Dependencies
Name |
---|
libclang-dev |
Dependant Packages
Name | Deps |
---|---|
nexus_workcell_editor | |
rerun_ros |