You're reading the documentation for a version of ROS 2 that has reached its EOL (end-of-life), and is no longer officially supported. If you want up-to-date information, please have a look at Kilted.
zenbedded_rcl
The embedded client library for Zephyr RTOS that provides a high-level API for ROS 2 communication.
Warning
This package is work in progress.
Features
Agent-less: Communicates directly with ROS 2 via Zenoh, with no bridge process running on the MCU.
Double-buffered: Lock-free state/command buffers with ABA-prevention versioning, safe for the control thread.
ROS-like API:
state()/command()accessors plussync()to publish and consume buffers; an optional control thread is started viastart_thread(control_freq).Optimized: Designed for a low memory footprint and real-time execution within the Zephyr thread model.
Setup
zenbedded_rcl is a Zephyr module; build it as part of a demo application
in a west workspace that also provides zenoh-pico (e.g. the Docker
development environment mounts demos/ into a ready-made workspace):
cd demos/inverted_pendulum
west build -p always -b esp32s3_devkitc/esp32s3/procpu #your appropriate board
west flash --esp-device /dev/ttyUSB0