Link Search Menu Expand Document

Page last modified: Apr 11 2022.

Project DAVE

DAVE Aquatic Virtual Environment(DAVE) is a simulation environment to support the rapid testing and evaluation of underwater robotic solutions, specifically underwater vehicles (AUVs/UUVs) operating autonomously and completing missions that involve autonomous maniputlation. The environment is built upon existing ROS and Gazebo infrastructure, particularly the UUV Simulator and WHOI’s ds_sim.

Quick Start

Project Objective

The objective of the project is to provide the following capabilities:

  • Visual, physical and (hydro)dynamic models of generlized vehicle, manipulator and sensor elements.
  • Simulation of sensing specific to underwater robotics including perception (e.g., sonar, underwater lidar and optical imaging) and navigation (e.g., DVL and USBL).
  • Parameterized representations of the ocean environment including seafloor bathymetry and ocean currents.

These capabilities will enable support the development of autonomous systems capable of multi-phase underwater missions over large time and space scales.


We welcome contributions from the robotics community. We are particularly interested in contributions to extend and improve capabiliteis associated with the objectives described above. To contribute, please submit an issue or a pull request.

In addition to our officially supported, core features, Dave also includes a number of features that are supported exclusively by community members. Click here for the current list of community supported features.


If you use this simulator for your project, please cite the following paper:

Mabel M. Zhang, Woen-Sug Choi, Jessica Herman, Duane Davis, Carson Vogt, Michael McCarrin, Yadunund Vijay, Dharini Dutia, William Lew, Steven Peters, and Brian Bingham, “DAVE Aquatic Virtual Environment: Toward a General Underwater Robotics Simulator,” in IEEE/OES Autonomous Underwater Vehicle (AUV) Symposium, 2022. doi: 10.1109/AUV53081.2022.9965808

If you use the multibeam sonar simulation, please cite the following paper:

Woen-Sug Choi, Derek R. Olson, Duane Davis, Mabel Zhang, Andy Racson, Brian Bingham, Michael McCarrin, Carson Vogt, and Jessica Herman, “Physics-based modelling and simulation of Multibeam Echosounder perception for Autonomous Underwater Manipulation,” Frontiers in Robotics and AI, 2021. doi: 10.3389/frobt.2021.706646

Tutorials and Demonstrations

Step-by-step guides to illustrate working examples how to accomplish certain tasks and demonstrate features of the project.

Project Setup

Dave depends upon ROS Noetic and Gazebo 11 - with community support for previous versions of ROS and Gazebo. The project may be installed directly on your host or run using Docker.

Dave Models

Underwater Vehicle Models

Bathymetry Models

Object Models

  • Object Models: A collection of useful objects for composing underwater search and manipulation scenarios.

  • Object Degradation Tools: Tools for altering the geometric shape of a 3D mesh model and for adding customized SDF properties such as surface material to be interpreted by Gazebo plugins.

Perception and Sensing

Ocean Environmental Models

  • Ocean Current Models: A plugin for constant/stratified ocean current with Gauss-Markov model definitions.
  • Bathymetry generation and auto spawning: A plugin that automatically spawns and removes bathymetry grids converted preliminarily from NOAA data.
  • Occlusion: An example of bottom occlusion due to silt or object occlusion due to marine growth.

Subsea Manipulator Models and Manipulation Feature Demonstrations

Integrated Scenarios

Notes and Sandboxes


Descriptions of how things work, how certain aspects of the project are implemented (descriptions of the methods and techniques used by developer) or results of reverse engineering existing implementations. May include recommendations for further work and improvements.

  • UUV Simulator Image Sonar: Description of foward looking sonar implementation.
  • UUV Simulator Doppler Velocity Loggers: Description of UUV Simulator and WHOI DSL environment DVL plugin implementations.

Historical notes