-
Notifications
You must be signed in to change notification settings - Fork 70
Home
This document is no longer maintained. Please visit https://field-robotics-lab.github.io/dave.doc/
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 manipulation. The environment is built upon existing ROS and Gazebo infrastructure, particularly the UUV Simulator and WHOI's ds_sim.
- For a high-level overview of the project, see the release highlight videos:
-
Release 2.0.0 Highlight Video, September 2020
- Narrated version of the Electrical Mating demonstration.
- For an overview of what is included in the most recent release, see the Changelog
- To review the project plans and priorities for future development efforts, review the Dave Roadmap and consider submitting an issue or pull request.
- To try the simulation, follow the Installation Tutorial.
The objective of the project is to provide the following capabilities:
- Visual, physical and (hydro)dynamic models of generalized 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.
Step-by-step guides to illustrate working examples how to accomplish certain tasks and demonstrate features of the project.
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.
- Check to make sure you meet the System Requirements.
- Follow the Installation Tutorials to set up your system.
- New-Underwater-Vehicle: Given a visual and dynamic model of an underwater vehicle, how to instantiate the model in Gazebo.
- Vehicle Models: Visual and physical models of existing vehicle platforms.
- Dave Robotic Models: ROV and AUV models with traditional propulsion.
- Dave Glider Models: Underwater and wave glider model examples.
- UUV Simulator Models: ROV and AUV models from UUV Simulator project.
- Gamepad Teleoperation Mapping: Default mapping of gamepad interface to thruster allocation and manipulators.
- Bathymetry Models: Underwater heightmap included in the repository.
- Building a simple underwater environment via heightmaps: How to build your own bathymetry.
-
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.
- Multibeam Forward Looking Sonar
- Doppler Velocity Logger Examples
- 3D Underwater Lidar
- Sensor Tutorials:
- Underwater Camera Roadmap
- Manipulator-Models
- Electrical Mating Plugin: Youssef's GSoC demo of a custom plugin to implement the subsea mating of an electrical connector. The plugin implements constraints on alignment and forces necessary to complete the manipulation.
- BOP panel manipulation mission: Implementing the blowout preventer panel example from the UUV Simulator.
- Manipulation force feedback: First implementation of joint-based force feedback to enhance perception.
- Swapping-out-the-Oberon7-arm-with-another-manipulator: Tutorial demonstrating how to swap out the oberon7 arm for another custom made arm.
- Retrieving a bar from the seafloor: Coordinated telecoperation of vehicle and manipulator.
- Bimanual Manipulation Example: Equipping the RexROV with dual Oberon7s.
- 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.
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.