Zenoh is a new communication middleware that ZettaScale has developed.
At eSOL, we have been porting Zenoh-pico to micro-ROS.
Zenoh-pico is Zenoh’s implementation for microcontrollers.
This post is the announcement of the prototype of Zenoh-pico adaptation to micro-ROS.
- RMW layer for Zenoh-pico: https://github.com/esol-community/rmw_zenoh_pico
- Using Zenoh-pico version: 0.11.0
- README.md is a tutorial.
- micro-ROS setup for Zenoh-pico: https://github.com/esol-community/micro_ros_setup/tree/rmw_zenoh_pico
- Based micro-ROS branch: jazzy
Although it is still experimental, we confirmed it would work on the generic (Linux) or Raspbian platforms of micro-ROS.
Ideally, we would have liked to include Zenoh in the transport specification.
However, we treated it as an RTOS equivalent since Zenoh can select TCP, UDP, or serial.
This Zenoh-pico and micro-ROS system is assumed to communicate with “rmw_zenoh” on ROS. It is set as an environment variable, RMW_IMPLEMENTATION
.
They can communicate directly with rmw_zenoh; the structure is just agent-less, like using embedded RTPS.
You can use it as a reference implementation. It would be even better if the ZettaScale and micro-ROS communities could discuss it.
Note:
As the previous post was from a personal account, I reposted it from the company account.