I am currently working on an autonomous underwater ROV using Ubuntu, ROS2, Pymavlink, and ArduSub. At the moment, I am using SITL for simulation using my laptop with Ubuntu OS.
My goal is to manually set waypoints using QGroundControl on my laptop, upload them to the ROV, and have ROS2 handle the control and execution of flight modes and others.
In SITL, everything works as expected—the ROV follows the waypoints I set. However, I’m unsure how to implement this in a real-world underwater scenario since GPS signals do not work underwater. Without GPS data, how can the ROV accurately navigate to predefined waypoints?
Additionally, I am uncertain about how to integrate this setup with my hardware, which includes a Pixhawk Holybro CM4 and a Ublox M8N GPS module with compass. Since the GPS will be ineffective underwater, what alternative positioning methods can be used?
I would appreciate any guidance or suggestions on how to approach this. Thank you!