Skip to main content

Crate zerodds_ros2_rmw

Crate zerodds_ros2_rmw 

Source
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.
  • rmw C API — the Rust crate provides mapping constants and profiles; the actual rmw_zerodds C-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_zerodds library.
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.