ROS2 with BeagleBone Robotics Cape
I am working on a small project that (among other things) reads 4 encoders with a BeagleBone Blue (BeagleBone with the Robotics Cape built in) and am having trouble finding a working combination of OS, Robot Control Library, and ROS2. Specifically:
- Robot Control Library primarily supports Debian (buster). Installing it on ubuntu is easy until you need to use the PRU to read the fourth encoder. I cannot find any evidence of people getting the PRU-based features to work on ubuntu. I have been working with ubuntu 18.04 because the 20.04 images for the beaglebone have not been release yet.
- ROS2 primarily supports ubuntu and says that you have to compile from source to run on Debian. My needs from ROS2 are very simplistic (just launch and simple message exchange to the main computer) but I am having a heck of a time configuring and compiling a minimal ROS2 installation on the very resource-limited (4GB total eMMC space) beaglebone. I have been trying with both Dashing and Foxy.
Can anyone point me towards information on how to compile a minimal ROS2 system for Debian buster on a beaglebone? Has anyone done this? Am I better off compiling on the beaglebone or cross-compiling?
I realize that this is a more open-ended question than ideal, but since I have tried about 10 different paths, my question is really more about which path is likely to be most promising rather than the particular compile error I have run into on each path.
Have you ever found a solution/path? If so can you point me in the right direction?