MicroXRCE DDS on Ardupilot

Before and after. I figured out how to do build the client configuration from reference. This moves the XML from program flash of ardupilot to disk of offboard computer.
Before

Target               Text (B)  Data (B)  BSS (B)  Total Flash Used (B)  Free Flash (B)
--------------------------------------------------------------------------------------
bin/antennatracker    3009746    116733   197192               3126479  Not Applicable
bin/arducopter        3954606    170173   215048               4124779  Not Applicable
bin/arducopter-heli   3943934    171693   216136               4115627  Not Applicable
bin/arduplane         3874086    172525   212776               4046611  Not Applicable
bin/ardusub           3501974    138877   207752               3640851  Not Applicable
bin/blimp             2822538    109845   197288               2932383  Not Applicable
bin/ardurover         3611312    151877   213704               3763189  Not Applicable

After

BUILD SUMMARY
Build directory: /home/ryan/Documents/ardu_ws/src/ardupilot/build/sitl
Target               Text (B)  Data (B)  BSS (B)  Total Flash Used (B)  Free Flash (B)
--------------------------------------------------------------------------------------
bin/antennatracker    3009258    116733   197192               3125991  Not Applicable
bin/arducopter        3954150    170173   215048               4124323  Not Applicable
bin/arducopter-heli   3943446    171693   216136               4115139  Not Applicable
bin/arduplane         3873598    172525   212776               4046123  Not Applicable
bin/ardusub           3501486    138877   207752               3640363  Not Applicable
bin/blimp             2822018    109845   197288               2931863  Not Applicable
bin/ardurover         3610824    151877   213704               3762701  Not Applicable

For arducopter, it was 456 bytes difference for the one message. Considering px4_msgs has 184 different messages, if this was extrapolated out very roughly, that’s an 83.9KB saving. I don’t think there is any reason a ROS developer would need access to 184 different topics to do offboard control, but you never know I guess.

Huge!

2 Likes