ROS2 on microcontrollers with RIOT

Thanks ! ^^

Not so much. But of course this proof of concept is far from having all the features. Here are the current sizes :

  • For the NDN version :
    RAM : ~12Kb
    Flash : ~60Kb

  • For the MQTT-SN version :
    RAM : ~18Kb
    Flash : ~62Kb

For the whole OS, ROS2, and user application.
The RAM is not counting the heap used, but it takes in account the stack of the different threads.

I’m based on beta1, mainly because I could not use the ROS2 build system (microcontrollers + RIOT having it’s own build system, hard time), and I needed some generated files (from rosidl) that were not compatible with the master branch at this time (February). It was more secure to base my work on a stable branch.

Not so much. I just had to change the time.c implementation to use RIOT, and some warnings made my build system unhappy (mostly old-style function definition), but the rest was ok.

The most hard part I (still) have is with the rosidl/typesupport things, which prevent me to support any type but Strings.

1 Like