Learning esp-idf and Adding Zenoh-pico support to micro_ros_espidf_component banner

Learning esp-idf and Adding Zenoh-pico support to micro_ros_espidf_component

4 devlogs
4h 43m 9s

I am very experienced in ROS 2 and often use rmw_zenoh there. The problem I face now is that Micro-ROS currently uses rmw_microxrcedds, which is only compatible …

I am very experienced in ROS 2 and often use rmw_zenoh there. The problem I face now is that Micro-ROS currently uses rmw_microxrcedds, which is only compatible with rmw_fastrtps. Recently, a project called rmw_zenoh_pico came out. The only problem with this is that support for microcontroller platforms like Arduino, esp-idf, etc. has not been added yet.
Therefore, I have decided to learn esp-idf and work on adding zenoh-pico support to the micro_ros_espidf_component.

amronos

I have finally started working on Zenoh support in Micro-ROS, the thing I started this project for. rmw_zenoh_pico had some patches for zenoh-pico to make it work better with Micro-ROS (rmw_zenoh_pico currently only has support for running Zenoh with Micro-ROS on Linux, not on microcontrollers). They didn’t work for the latest zenoh-pico versions and needed some cleanup. I did the necessary changes, and now zenoh-pico is building just fine with colcon for ESP-IDF.
rmw_zenoh_pico is currently failing as it was originally made to work on ROS 2 Jazzy, not Rolling. I will fix that in the next devlog.

Attachment
Attachment
0
amronos

I made many improvements to the GitHub Actions CI and README.md of the micro_ros_espidf_component to make it easier for me to test my changes. PR: https://github.com/micro-ROS/micro_ros_espidf_component/pull/324

I then worked on getting the component to properly work with ESP-IDF v5.5. I took most of my changes from another PR and retargeted them to rolling. My PR: https://github.com/micro-ROS/micro_ros_espidf_component/pull/325

Attachment
0
amronos

I have started by trying to build and run the micro_ros_espidf_component default examples using rmw_microxrcedds.
I first created a flake.nix for the project (something which I do for all my projects). I used nixpkgs-esp-dev for this.
When attempting to build the first example in ROS2 Rolling, I encountered an error. Turns out that right now Micro-ROS is not working for rolling due to a new package added to rcl_logging. I decided to address this issue as well.

Attachment
0