zerodds-spatial-ros2 1.0.0-rc.7

SpatialDDS <-> ROS 2 semantic mapping: converts the ZeroDDS SpatialDDS profile types to/from the ROS 2 common-interfaces messages (geometry_msgs/sensor_msgs/vision_msgs/tf2_msgs/geographic_msgs), with rmw-compatible topic + type naming.
Documentation

zerodds-spatial-ros2

Semantic conversions between SpatialDDS types and generated ROS 2 common-interface types from ros_msgs.idl. This crate itself is a type/conversion layer, not an RMW implementation or a running bridge; rmw-zerodds-shim's opt-in ros2.spatial_bridge (C2(6)) is the consumer that runs it as a bridge.

The conversion module covers poses, transforms, geographic poses, 3D detections and IMU samples. The naming module provides ROS-compatible DDS topic and type names.

Conversions are not lossless: for example, PoseStamped has no destination for SpatialDDS pose covariance, and several identifiers/metadata fields have no ROS counterpart. Each conversion's field-fidelity contract is documented in convert.rs; reverse conversion defaults fields absent from ROS.

Both message families are generated by this tree's build-time code generation. See the build script and tests. Successful conversion tests alone do not establish live communication with a native ROS 2 node — rmw-zerodds-shim's tests/spatial_bridge_e2e.rs demonstrates the bridge in-process (a SpatialDDS writer through the bridge to a plain DCPS reader of the ROS type, and back); a real ros2 topic echo against a native ROS 2 node is a separate, manual measurement (commands in that crate's README).