ROS 2 PMC calls dedicated meeting on REP 0157 zero-copy messaging redesign
REP 0157 proposes native universal zero-copy transport for ROS 2 by redesigning rosidl with language-agnostic memory layouts and XCDRv1 as the standard in-memory representation.
Summary
The ROS 2 Project Management Committee has scheduled a dedicated meeting for November 4, 2026 to discuss REP 0157, a proposal to fundamentally redesign the rosidl messaging system. The redesign aims to deliver native, universal zero-copy transport across process boundaries with minimal overhead, addressing a long-standing performance bottleneck in ROS 2 inter-process communication.
The proposal standardizes on XCDRv1 for in-memory representation, introduces strict message constraints, and defines language-agnostic memory layouts while maintaining backward compatibility for existing C, C++, and Python code. Experimental reference implementations and benchmarks are already being developed by groups including Ekumen-OS to validate constrained publisher and subscriber loan mechanisms.
What REP 0157 changes in ROS 2 messaging
- Zero-copy architecture: REP 0157 redesigns rosidl to enable native zero-copy transport across process boundaries, eliminating serialization overhead for intra-machine communication.
- XCDRv1 standardization: The proposal makes XCDRv1 the canonical in-memory representation, replacing ad-hoc serialization approaches with a consistent wire and memory format.
- Language-agnostic memory layouts: Message memory layouts are defined independently of any specific language binding, enabling direct memory sharing between C, C++, and Python nodes without translation layers.
- Strict message constraints: The specification imposes stricter message structure rules to guarantee predictable memory layouts that support safe shared-memory access patterns.
- Experimental validation: Ekumen-OS and other contributors maintain reference implementations with benchmarks specifically testing constrained publisher and subscriber loan lifecycles.
Why it matters
Zero-copy messaging is critical for robotics workloads with strict latency requirements, such as autonomous navigation and real-time control loops, where current ROS 2 serialization overhead can introduce millisecond-scale jitter. If adopted, REP 0157 would reduce CPU load and memory bandwidth pressure across the ROS 2 ecosystem, benefiting embedded platforms like the Raspberry Pi and NVIDIA Jetson that run Linux-based robot software with tight resource constraints.
Original reference: discourse.openrobotics.org →