Navigating an Autonomous Underwater ROV With GPS using ROS2 and Pymavlink

Hi @itsJayMendoza -
What version Pi are you using? BlueOS supports 3, 4 and 5 but it will take up the lowest percent of resources with a 5 of course.

Using BlueOS would not prevent you from using ROS and Pymavlink - it provides many of the features you would might need to setup anyways. Pymavlink alone should be able to connect and and communicate with your autopilot, but BlueOS and Mavlink2Rest may make aspects of your development easier.

Navigating at the surface with GPS and ArduSub should work without issue. If you’re using a DVL, you can typically set your coordinate system and then maintain approximate positioning when submerged, when in range of the bottom or a surface for the DVL to track. The AUTO mission functionality of ArduSub should “just work”!

Using the LUA script functionality that is a part of ArduSub / Ardupilot since v4.5 may make your entire project radically simpler. By enabling the SCR parameter, and just writing a short script, you can do things like have rangefinder values trigger actions like target depth changes, or jumping to a waypoint. You can see a bit of how that is done with a BlueBoat in this thread, and I’ve been working on this project (that will become a guide) to further detail just how easy it can be!