Skip to content

ros-controls/zephyr-zenoh-integration

Repository files navigation

Zephyr Zenoh Integration for ros2_control

Better embedded integration for ROS 2 robots: bringing microcontrollers running Zephyr RTOS into ros2_control as first-class participants, with agent-less, low-latency communication over Zenoh.

Status: This work was originally proposed for GSoC 2026 and was not selected. We are doing it anyway.

Motivation

Modern robots increasingly rely on microcontrollers for sensing and actuation close to the hardware, while higher-level control and planning runs on a companion computer. Today, integrating these MCUs into a ROS 2 / ros2_control system typically requires bridges or agents that add latency, jitter and operational complexity.

This project explores a more direct path: by combining Zephyr RTOS on the embedded side with Zenoh as the wire protocol, MCUs can publish sensor state and consume joint commands directly, without an intermediate agent, while keeping the determinism that control loops need.

Goals

  • Make Zephyr-based microcontrollers behave as proper ros2_control hardware, not as opaque peripherals behind a bridge.
  • Reduce end-to-end latency and jitter in the embedded-to-host control path compared to existing DDS-based solutions.
  • Keep the embedded footprint small and the real-time behaviour predictable.
  • Provide reusable building blocks (hardware interface template, Zephyr module, benchmarks) so other projects can adopt the pattern.

Scope

  • A ros2_control hardware interface template that talks to embedded targets over Zenoh.
  • A Zephyr module that exposes sensor data and accepts joint commands in a compatible format.
  • A serialization layer mapping state and command interfaces to Zenoh key-value paths efficiently.
  • Real-time refinements on the embedded side to minimize context switching and memory use in control loops.
  • A benchmark suite comparing latency and jitter against existing DDS-based approaches.

An ESP32 is the reference target, but the work should generalize to other Zephyr-supported boards.

References

About

Project to integrate ros2_control with embedded boards using Zephyr and Zenoh

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors