Home        Store        Docs        Blog

ArduSub Research & Development: DVL

Originally published at: http://bluerobotics.com/ardusub-research-development-dvl/

As you browse through our community forums, you may come across the term “DVL”. What is this piece of equipment and why is it useful?

What is a DVL?

A Doppler Velocity Log (DVL) is an underwater navigation instrument that gets an acoustic “lock” on the bottom like a single-beam echosounder. However, in addition to measuring the distance to the bottom like an echosounder, a DVL also measures the velocity relative to the bottom. This relative velocity measurement can then be used for holding a stable position, obtaining a speed reading or navigating without the need for an acoustic positioning system. The DVL also enables the vehicle to navigate autonomously and facilitates the pilot’s control of the vehicle, similar to the vision sensors in an aerial drone like the DJI Mavic.

Here are some additional references which go into more detail:

Experimental Testing

With these interests in mind, Nortek graciously lent Blue Robotics a DVL1000 for testing purposes. The DVL1000 is an ideal piece of equipment due to its high accuracy and thorough integration documentation.

Hardware Installation

Mounting the DVL1000 to a BlueROV2 involved drilling appropriately spaced holes on the bottom frame panel and securing the DVL in place. A modified Payload Skid was installed to act as a protective cage.

A special cable was built using a Seacon MCIL8 in-line wet-mateable connector and a penetrator on the other end. The cable was terminated with an RJ45 connector and spades installed on the appropriate wires to configure for Ethernet communications.

A 3-port Ethernet switch was installed inside the BlueROV2 on top of the Fathom-X and had the following connections:

  • Fathom-X
  • Raspberry Pi 3B
  • Nortek DVL1000

3-Port-Ethernet-Switch-resized

ArduSub Integration

ArduPilot has a series of libraries available for non-GPS navigation. The two libraries that were most applicable for integrating a DVL are Optical Flow and Visual Odometry. The Visual Odometry Library was chosen to try first.

The Blue Robotics software team wrote a driver to convert the position sentences from the DVL into the VISION_POSITION_DELTA messages that could be interpreted by the ArduSub firmware.

Physical Testing

After the driver was tested by using a SITL Simulator (Software in the Loop), physical testing was conducted in the Blue Robotics pool.

Position hold and non-GPS navigation were successfully demonstrated with the results shown in the video below:

Future ArduSub Support

Support for DVLs is not implemented in the current version of ArduSub, but is something the ArduSub developers are currently working on. There is no planned timeline for implementation, as the feature will need to be thoroughly tested with accessible hardware.

12 Likes

Rusty and Team,

I am looking forward to have this DVL implemented.

regards

1 Like

Hi; we have several BR2s here in Western Australia and will shortly have access to a Nortek 1000 for integration into a prototype larger vehicle that we’ve built.

At this stage we’re looking purely to create stationkeep so that when the operator stops flying, the vehicle doesn’t wander off. Hardware and electrically, integration’s no issue, but it would be good to understand the software integration you’ve tried.

Are you able to share the details of how to use the Visual Odometry Library, and would you be willing to share the driver you created ?

I think stationkeep is one of the most important advances for small ROVs, and having seen the Nortek in action on Fusion ROVs, it’s fantastic.

cheers
Rich