Expand description
ROS 2 RMW Bridge Layer.
Crate zerodds-ros2-rmw. Safety classification: STANDARD.
Specs: docs/standards/cache/ros2/rep-{2003,2004,2005,2007,2008, 2009}.html (ROS Enhancement Proposals).
§Scope
We implement the ROS-2 DDS mapping conventions as a pure-Rust no_std+alloc library:
- Topic name mangling (de-facto standard from
rmw_dds_common): ROS 2 logical names are mapped to DDS topic names with a prefix code (rt/,rq/,rr/,rs/). - REP-2003 QoS settings — map/sensor-data QoS profiles (Reliable+TransientLocal for maps; BestEffort+Volatile for sensor data).
- REP-2004 package quality categories — Q1-Q5 classification.
- Standard RMW QoS profiles — DEFAULT/SENSOR_DATA/PARAMETERS/ SERVICES_DEFAULT/PARAMETER_EVENTS/SYSTEM_DEFAULT.
§What is not covered
- REP-2005 Common Packages — informational.
- REP-2007 Type Adaptation — a compile-time feature in C++/Python
rclcpp/rclpy; not a wire layer. - REP-2008 Hardware Acceleration — driver layer.
- REP-2009 Type Negotiation — compile-time feature.
rmwC API — the Rust crate provides mapping constants and profiles; the actualrmw_zeroddsC-FFI crate is its own sprint.
Re-exports§
pub use ffi_api::RMW_IMPLEMENTATION_IDENTIFIER;pub use ffi_api::RmwNode;pub use ffi_api::RmwRet;pub use ffi_api::check_rmw_identifier;pub use ffi_api::map_to_rmw_ret;pub use qos_profiles::Durability;pub use qos_profiles::History;pub use qos_profiles::QosProfile;pub use qos_profiles::Reliability;pub use qos_profiles::profiles;pub use quality::QualityLevel;pub use rmw_qos_mapping::RmwDurability;pub use rmw_qos_mapping::RmwHistory;pub use rmw_qos_mapping::RmwQosProfile;pub use rmw_qos_mapping::RmwReliability;pub use rmw_qos_mapping::dds_to_rmw;pub use rmw_qos_mapping::rmw_to_dds;pub use topic_mangling::NameMangleError;pub use topic_mangling::RosKind;pub use topic_mangling::demangle_topic_name;pub use topic_mangling::is_ros_topic;pub use topic_mangling::mangle_topic_name;pub use type_mapping::RosBuiltinType;pub use type_mapping::RosNamespace;pub use type_mapping::RosTypeRef;
Modules§
- action
- ROS-2 Action-Pattern (5-Topic-Set).
- ffi_api
- REP-2007 RMW C-API skeleton — Rust layer for implementing
an
rmw_zeroddslibrary. - json_
log - rcutils-kompatibles JSON-Logging.
- msg_
to_ idl - REP-2008 Type-Mapping
.msg/.srv→ IDL. - qos_
profiles - ROS 2 Standard QoS Profiles — REP-2003 + RMW Defaults.
- quality
- ROS 2 Package Quality Categories — REP-2004.
- rmw_
qos_ mapping - REP-2009 RMW-QoS-Mapping —
rmw_qos_profile_t(C struct) → DDS-QoS. - service
- ROS 2 service pattern (request-reply) as a 2-topic pair.
- topic_
mangling - ROS 2 → DDS Topic-Name-Mangling.
- type_
mapping - REP-2008 Type-System-Mapping —
rosidl→ DDS-XTypes-1.3.