Robotics with Zenoh: From ROS 2 to ros-z and Beyond
DateMay 6Time14:00 - 14:25Location Founders Cafe
Eclipse Zenoh has established itself as a high-performance communication protocol for robotics: low-latency pub/sub, location-transparent routing from shared memory to WAN, built-in support for queryables (a generalization of RPC), efficient bandwidth usage, and seamless peer-to-peer or routed topologies. Its adoption by ROS 2 as a Tier 1 middleware (rmw_zenoh, released with Kilted Kaiju) validated what the community had been asking for.
But rmw_zenoh still routes through the full RCL abstraction stack, in C/C++. While working on it, we kept wondering: what if we built a ROS 2 stack natively from Zenoh up? Could we improve performance? Make it easier to extend? And still support existing C/C++/Python packages?
This led us to develop ros-z — a pure-Rust, Zenoh-native ROS 2 implementation. Beyond performance gains from bypassing the RMW/RCL layers, ros-z is opening the ROS ecosystem to non-ROS environments: its lightweight architecture and Zenoh foundation make integration straightforward for teams that need ROS interoperability without the full ROS stack. With support for multiple serialization formats (CDR, Protobuf, and soon CUDA tensors), and language bindings in Rust, Python and now Go — sponsored by Dexory —, ros-z extends its reach to communities and tech stacks traditionally outside the ROS world.
In this talk, we'll walk through the architecture, share performance insights, demonstrate interop with standard ROS 2 nodes, and show how ros-z can become a natural bridge between the ROS ecosystem and any other framework using Zenoh.