DVL velocity is valid, but no MAVLink messages are sent

Hi,
I recently integrated the Waterlinked DVL A50 into our BlueROV. The Rov uses the raspi 4 and the navigator flight controller, and I connected the DVL over the ethernet switch, as suggested in the integration handbook. I’m runnning on ArduPilot 4.1.2 and BlueOS 1.2.6.

The IP of the DVL is set to 192.168.2.95 and I can access the DVL data over the BlueOS Webinterface at http://192.168.2.2/extension/waterlinkeddvl. There, I can see that the velocity reading is valid, the Status is running and the buttons Enable DVL Driver and send range data through Mavlink are both ticked.

I changed the relevant Parameters as follows:
SERIAL0_PROTOCOL: MAVLink2
EK3_ENABLE: Enabled
AHRS_EKF_TYPE: EnableEKF3
EK2_ENABLE: Disabled
VISO_TYPE: MAVLink
EK3_SRC_POSXY: ExternalNav
EK3_SRC_VELXY: ExternalNav
PSC_POSXY_P: 2.0
PSC_POSZ_P: 1.0
PSC_VELXY_D: 0.8
PSC_VELXY_I: 0.5
PSC_VELXY_P: 5.0
PSC_VELZ_P: 5.0

However, although I can access the DVL data over TCP from my computer, I do not receive any DVL related MAVLink messages in QGroundControl (as far as I understood these would be VISION_SPEED_ESTIMATE, VISION_POSITION_DELTA or VISION_POSITION_ESTIMATE) and I did not see any messages from the EKF, that would indicate the consideration of DVL data. Additionally, if I’m moving the DVL in the Water, while the ROV remains stationary, the Movement is not reflected in the ATTITUDE message.

This is a section of the EKF output in QGroundControl:
[13:56:40.847] Info: EKF3 IMU0 initialised
[13:56:41.871] Info: EKF3 IMU0 tilt alignment complete
[13:56:41.947] Info: EKF3 IMU0 MAG0 initial yaw alignment complete
[13:56:51.846] Warning: EKF3 IMU0 forced reset
[13:56:51.846] Info: EKF3 IMU0 initialised
[13:56:52.869] Info: EKF3 IMU0 tilt alignment complete
[13:56:52.957] Info: EKF3 IMU0 MAG0 initial yaw alignment complete
[14:15:23.849] Info: Barometer 1 calibration complete
[14:15:23.862] Info: Barometer 2 calibration complete
[14:15:23.993] Info: ArduPilot Ready
[14:15:23.993] Info: AHRS: DCM active
[14:15:24.974] Critical: Lost manual control
[14:15:25.010] Info: EKF3 IMU0 buffs IMU=6 OBS=2 OF=5 EN:5 dt=0.0120
[14:15:26.000] Info: EKF3 IMU0 initialised
[14:15:26.014] Info: AHRS: EKF3 active
[14:15:27.509] Info: EKF3 IMU0 tilt alignment complete
[14:15:27.589] Info: EKF3 IMU0 MAG0 initial yaw alignment complete

Has anyone else experienced this, and might know how to properly integrate the DVL into the EKF and also stream the relevant MAVLink messages?

Kind Regards
Franka

Okay, I realized that the DVL software needed an update, since it did not yet support dead_reckoning and therefore was not compatible with the ArduSub extension. (The “type” entry in the dvl data output was missing)
The DVL data is now used by the EKF :slight_smile:

Although the DVL is now recognized by the EKF, I still can not see VISION_POSE_ESTIMATION or VISION_SPEED_ESTIMATION data in the Mavlink inspector.
The VISION_POSITION_DELTA message is also not published and I can not find it in the MAVLink documentation (Messages (common) · MAVLink Developer Guide) Is the message deprecated or something?
I also tried to add settings in /root/.config/dvl, so that I can specify the message to be send, since I would prefer speed_estimates.
settings.json:
{“enabled”: true,“current_orientation”: 1,“rangefinder”: true,“hostname”: “waterlinked-dvl.local”,“origin”: [0,0],“should_send”: “SPEED_ESTIMATE”}

However, regardless whether the should send is SPEED_ESTIMATE or POSITION_ESTIMATE, I don’t seem to receive any VISION_* data. Can anyone please point me in a direction how to fix this?

1 Like

Hi @franka ,

There’s a bug in mavlink2rest that prevents messages that don’t come from the autopilot itself from being shown in BlueOS’s Mavlink Inspector.

Please check if they show up here:
http://blueos.local/mavlink2rest/

As for speed estimate, there’s an open pr for re-enabling it.

1 Like

Thank you very much for the info,
I was able to find some VISION_POSTION_DELTA messages under the link you posted.
I’m looking forward to the reintegration of the speed_estimate messages :slight_smile: