🚀 Introducing Hiroz - by ZettaScale

Hiroz (High-performance Interoperable Robotics on Zenoh) is a project by ZettaScale Technology, the company supporting Eclipse Zenoh — and the new name for what was previously known as ROS-Z.

Hiroz is a robotics stack built on top of Zenoh, implemented in pure Rust. The core idea is to provide full ROS 2 compatibility while enabling roboticists to go beyond what the ROS architecture allows — with less coupling to ROS internals, faster iteration, and a foundation for enriching ROS itself.


Relationship with ROS 2 and rmw_zenoh

Hiroz is not a replacement for rmw_zenoh. It is a distinct layer that sits on top of Zenoh directly:

  • rmw_zenoh is a Tier-1 RMW implementation based on Zenoh and using it with specific key expressions and encoding (CDR). It can be used as a shared library via the ROS 2 rcl, rclcpp, rclpy and rcl-rs API
  • Hiroz is a Zenoh-native platform — not bound to the RMW interface, but still interoperable with ROS 2 by using the same key expressions and encoding

Both can coexist and communicate over the same Zenoh infrastructure, meaning you can mix your regular ROS 2 Nodes with enhanced Hiroz Nodes in a same system.


Features extending beyond ROS

  • Multiple serialization formats: CDR (ROS-compatible), Protobuf, and more to come
  • Multiple language bindings: Rust (native), Python, and Go (Go bindings sponsored by Dexory)
  • Zero-copy and GPU memory support: Zenoh’s buffer-aware pub/sub enables CPU and CUDA memory backends coming soon
  • Full-Rust stack: memory safety and predictable performance by design; fits naturally into AI-assisted development workflows
  • Framework interoperability: communicate between ROS 2 nodes and non-ROS systems over the same Zenoh infrastructure

For more details, see the full feature comparison page


Supported ROS 2 distributions

Distribution Status
Humble :white_check_mark: Supported
Jazzy :white_check_mark: Supported
Kilted :white_check_mark: Supported
Lyrical :soon_arrow: Very soon

Links


Feedback, questions, and contributions are welcome. If you have been following ROS-Z, everything carries over — just under the new name.

At ZettaScale, we are committed to keep supporting rmw_zenoh and also to evolving Hiroz in close collaboration with partners and customers. If you have specific needs — performance, interoperability, custom transports, new language bindings — feel free to reach out.

— The ZettaScale team

8 Likes

So it says " Hiroz is implemented in pure rust" .

Hiroz defaults to zenoh for its middleware.

But zenoh-pico (C based) is the zenoh implementation for micro-controllers. So, it wouldn’t be pure rust, atleast in the case of microcontrollers…

In the context of embedded systems (micro-controllers) how is it pure rust?

Am I missing something?

@JEnoch is this the low level zenoh rust implementation Zenoh-nostd ?

The documentation doesn’t mention microcontroller support anywhere, and I am assuming that Hiroz isn’t no_std and just doesn’t really consider microcontrollers.

In my opinion, that makes sense given what they are attempting to do. Without having access to any data, I would assume that microros use is extremely small as compared to ROS use on like Ubuntu.

I’m assuming ZettaScale would point out that Zeno itself has great support for microcontrollers via zenohpico.

That’s correct: Hiroz relies on zenoh full stack which requires std and tokio. Hence Hiroz doesn’t currently address microcontrollers.

zenoh-nostd lacks some features to make it useable for ROS 2 in a rmw_zenoh interoperable way: mainly Liveliness Tokens and Advanced Pub/Sub.

But for microcontrollers, you can already use PicoROS which is a thin wrapper above zenoh-pico and is interoperable with rmw_zenoh