Hi everyone!
Im trying to get comfortable using BlueOS. My main goal is to be able to use a Blue Navigator on a Pi 5 while using a Ping360 to do forward tracking on an object. I can get majority of things like motor controls working through a MCU talking to the Pi and gathering intensity matrixes from the Pi, but how do I incorporate all of this into BlueOS? I don’t really understand docker that much or how to create these extensions. Where can I find some tutorials or guidance for those?
Thanks,
Rick
Hi @ryghoul -
Happy to help. A few clarifications:
- By motor controls via MCU, do you mean the Navigator autopilot? This doesn’t technically have an MCU onboard, but is used by the autopilot process (ArduSub or ArduRover) to control motors and read inputs. Other autopilots are technically supported, but not tested or used by Blue Robotics much… Maybe you’re using a Pi5 with a different autopilot, since the Navigator is not yet available with a Pi5 compatible heatsink?
- It sounds like you have code working to collect data from the P360? Tracking an object via this type of data, with its low update rate and “splotchy” nature sounds very challenging! Getting whatever libraries you’re using to build for 32 bit or 64bit ARM cpu may be challenging…
- The documentation on extension development is here. Generally, you put code on github and setup a github action with credentials for docker hub. The dockerfile in your code helps build your code into a docker image - this is a complete copy of your code running in its own linux environment, wrapped up into a container. The permissions set in your dockerfile configuration let the container optionally communicate externally or save data outside of the container - this is important because on every start-up, the container starts fresh - only files outside of it persist.
- While not a tutorial, pointing a LLM AI coding tool at existing repositories can help speed development. You’ll find many examples on my own github account, beyond the official ones!