Problem Description
The BlueROV2 system uses ArduSub as its autopilot system. To effectively integrate with ArduSub from an external software package, it is necessary to send commands using the MavLink communication protocol.
Feature Description
mavros is the primary software library used to enable communication with an ArduPilot-based system from a ROS-based system. It is necessary to consider how this would be best integrated, however. Specifically, mavros could be implemented as a distinct package. Alternatively, it may be useful to wrap mavros into a ros2_control hardware interface to help make controller development easier.
Alternative Solutions
Communication could also be accomplished using pymavlink. While pymavlink is an excellent option and alternative, it targets a Python environment which won't be compatible with this driver.
Additional Context
Here are a couple of projects that implement a MavLink inteface for the BlueROV2: