Waterlinked DVL integration code in Ardusub

Where is the code that is responsible for allowing the waterlinked DVL to be integrated into the position tracking onboard the blueROV? I’m interested in trying to use the RPY of DVL to assist pixhawk RPY calculation

Hi @cmarq,

Here’s the relevant code in the DVL extension, which is responsible for converting a DVL velocity update into a MAVLink VISION_SPEED_ESTIMATE message, which is handled by ArduSub’s visual odometry functionality.

The code just below that is for handling the DVL’s local position estimate messages (which makes use of the DVL’s orientation estimates rather than just the deltas), but if I’m remembering correctly there’s no frontend element for changing the “should send” type from velocity to position local - to try it out you’ll need to change the relevant setting in the file.

Hi Eliot,

Thanks for that info. How does that change if I am still using the older software before blueOS upgrade?

Ahh, the Companion Water Linked DVL integration code uses 0s for the angles, and doesn’t know that the DVL can provide angle deltas or estimates, so you would need to modify that code file on your Raspberry Pi if you want to add angle handling support.

Note that our old Companion software is no longer being maintained or supported, so we would recommend upgrading to BlueOS if you’re able to :slight_smile:

Hi Eliot,

I have thought about upgrading to blueOS. Is there any possible issue that could arise from doing so? I have custom pixhawk firmware, will I need to do any redesign work there?

The only missing feature that I’m aware of Companion having that BlueOS does not yet have is audio streaming, and if I’m remembering correctly there have been issues with QGroundControl’s support of that for quite a while anyway, so it’s unlikely that would be noticeable.

If you’re still using your Pixhawk then it should be fine for it to run whatever firmware you want, although there may be some compatibility issues if you’ve added some custom MAVLink messages that you’ve had to modify companion to allow passing through.

Just make sure to skip the vehicle type selection in the BlueOS setup wizard, because otherwise it will flash a standard firmware onto your Pixhawk (although you can of course flash your custom one back on if that does happen accidentally).

Hi Eliot,

As a follow up on this thread, is there anyway to view the vision_estimate_delta message in QGC? I would like to have the DVL body frame estimate of velocity before it is fused into an NED frame message in LOCAL_POSITION_NED