we have a task for our BlueROV2 Heavy and we would like to get your opinion on feasibility and our planned approach.
The task is to implement orientation and position control, to be more specific, we would like to control orientation angles (roll, pitch, yaw) and position of the ROV. For a start, we would use PID controllers. Orientation and position references would be generated topside and sent to the BlueROV through ROS. Our setup is the standard BlueROV2 Heavy + visual odometry for the position feedback.
We are aware that the current Ardusub has controllers for the angle rates and that there is an unstable release of Ardusub that supports waypoint navigation (guided mode).
Our plan is to modify current Ardusub version to achieve orientation angle control (if this is not already available but we are unaware of?) and to use guided mode for waypoint navigation but instead of GPS data to feed it with position provided by visual odometry from the RPi. In the process we would use available Ardusub structures, or implement new ones if necessary.
Do you think this is the best approach for the task? Do you believe it is feasible? Do you have any recommendations, tips, advice? We are open for suggestion for an alternative approaches.