Using MAVLink and BlueOS for Position Hold on a BlueROV2

By default, the Tracker 650 will send position delta messages to mavlink2rest, a component of BlueOS. ArduSub requires these messages to enter Position Hold mode. You can also optionally send MAVLink DISTANCE_SENSOR distance messages that make the Tracker 650 look like a depth sounder, and optionally a SET_GPS_GLOBAL_ORIGIN message.

The position delta messages are necessary but not sufficient for ArduSub to do position hold (see the next two sections for other conditions).

The distance sensor messages tell ArduSub how far off the bottom (or other target surface) the DVL is. ArduSub doesn't really care, but it does pass this information to QGroundControl, which can display this on your piloting screen.

The SET_GPS_GLOBAL_ORIGIN message is described here. The address and port of mavlink2rest are assumed to be, which is the default in BlueOS. The address and port will need to be configured if they are different than the default. See DVL Setup for MAVLink Support. Other ROV operating systems running mavlink2rest may also work, but we have only tested with BlueOS at this time.

The Tracker 650 must be on the same Ethernet subnet as the mavlink2rest server

We recommend using BlueOS version 1.1.0-beta.16 or later. Earlier versions of BlueOS may not have the functionality to support position hold using the MAVLink interface as described here.

We recommend using ArduSub version 4.1.1 Beta or later. Earlier versions of ArduSub may not have the functionality to support position hold using the MAVLink interface as described here.

When sending a distance measurement, by default the Tracker 650 will send a parameter in the MAVLink message saying the distance measurement is along the ROV +Z axis (down). If you tell the Tracker 650 it is mounted pointing other than down (e.g., forward), the Tracker 650 will say the distance measurement is parallel to the closest one of the ROV principal axis. If the Tracker 650 is pointed in a direction that is ambiguous (e.g., halfway between the +X and +Y axes), the Tracker 650 will use the default (down) parameter. Possible direction values (automatically derived from your mounting parameters) are: - Down (parallel to the +Z axis) - Up (parallel to the -Z axis) - Forward (parallel to the +X axis) - Aft (parallel to the -X axis) - Port (parallel to the -Y axis) - Starboard (parallel to the +Y axis)

Last updated