I need to deploy and update a ROS2 system to an embedded device with limited connectivity.
This ROS2 system is made up of many custom packages written both in C++ and Python. At the moment I am just compiling the packages with
colcon build --merge-install and sending a compressed archive of the
install directory to the device.
The device supports over-the-air updates but, at the moment, the size of the ROS2 install archive makes the update too slow. However, I noticed that in the
install directory are copied many text files, such as headers, scripts, etc.. together with the binary files.
Is there any option to have
colcon only copy the files strictly necessary to run the program? If not, which are the files that can be safely removed?
PS I know that I could sort this out by trial and error, but I would prefer a less time consuming approach.