Robotics StackExchange | Archived questions

Want to integrate the micro-ros client and micro-ros agent builds into a single host build invocation

I want to build some micro-ros enabled firmware against multiple boards (esp32, teensy, and potentially others), and multiple platforms (freertos and arduino). I will also have a package of custom messages to be shared across the micro-ros agent, the microros-clients and other ROS2 nodes. Here are the list of packages I will have:

- client_esp32_arduino_microros
- client_teensy_arduino_microros
- client_esp32_freertos_microros
- client_teensy_freertos_microros
- my_custom_messages

According to the Micro-ROS instructions, all the micro-ROS builds run across 3 a separate workspaces (microrosws, firmwarews and mcu_ws), with:

- One set of ros2 run scripts for creating creating, configuring, building and flashing the firmware, and
- Another set for creating and building the micro-ros agent itself.

Compared and contrasted to the simple process that PlatformIO offers for tying together different boards/frameworks/platforms, using micro-ros has been quite a steep hill to climb. Specifically, the seemingly out-of-band steps for building micro-ros firmware seem very intricate.

Some questions:

Asked by alikureishy on 2022-04-04 00:08:48 UTC

Comments

Answers

You have available modules for using micro-ROS in default build systems for:

We do not have solutions for FreeRTOS + Teensy.

Asked by Pablogs on 2022-04-04 03:18:46 UTC

Comments

Thanks for the links, @pablogs. Maybe I haven't looked deep enough into those systems, but from what I found they still require separate shell commands (e.g, via idf.py for espidf) to invoke those custom builds. I'm not familiar with CMake, so maybe that's where my confusion lies. Would there be example CMakeLists.txt files that you could link me to (or provide a copy+paste of) that I could place in each of the packages above (excluding FreeRTOS +Teensy), that would allow each of those firmware binaries to be built as part of the top-level "colcon build" invocation?

Asked by alikureishy on 2022-04-06 14:07:18 UTC