Skip to content

Bathymetry Integration

Woensug Choi edited this page Sep 30, 2020 · 29 revisions

Contents

Overview

A bathymetry integration plugin that automatically spawns and removes bathymetry DEM grids converted preliminarily from NOAA bathymetry data.

  • Features
    • Automatic spawn/remove with vehicle locations
    • Overlaps for mission continuity

*The plugin was developed by Micahel Jakuba at WHOI and implemented to the dave project by Woensug Choi.

Bathymetry-Plugin-Highlight

Tutorial: How-to

Quickstart

  1. Close all running gazebo
pkill gzserver
  1. Run gazebo with roslaunch command for bathy_dave launch file:
roslaunch bathy_dave_plugin bathy_dave.launch
  1. Unpause gazebo by clicking the play button at the bottom-left of the window.
  2. Wait (around 10 seconds) until the initial bathymetry is loaded based on the initial Rexrov spawned position.
  3. Zoom out to see the edge of the loaded bathymetry grid tile and the Rexrov.
  4. Give ocean current to move Rexrov toward the edge of the grid tile
  5. Run this command on a new terminal window (three lines at once)
rosservice call /hydrodynamics/set_current_velocity "velocity: 5.0 
horizontal_angle: 2.8 
vertical_angle: 0.0" 

The Rexrov wil drift away due to input ocean current velocity pushing it to the edge of the loaded grid tile. When the Rexrov meets the edge, the new tile will be loaded beyond the overlap region.

Plugin settings

The details of the plugin settings are described at the end of the dave_bathy.world file

    <plugin name="bathy_dave_plugin" filename="libbathy_dave_plugin.so">
      <projection epsg="26987" />
      <bathymetry interval_s="0.1">
        <grid prefix="ncei19" priority="1" epsg="26987" colmax="5" rowmax="5" anchor_lon="-70.699" anchor_lat="41.509" spacing_lon="0.012" spacing_lat="0.010" />
      </bathymetry>

Also, the update rate for the tiles is specified in each robot description. dave\uuv_dave\urdf\rexrov_oberon7_with_bathy.xacro

  <gazebo>
      <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
        <robotNamespace>/$(arg namespace)</robotNamespace>
        <robotParam>/$(arg namespace)/robot_description</robotParam>

        <bathymetry>
          <interval_s>10.0</interval_s>
        </bathymetry>
        
      </plugin>
  </gazebo>

Video clip

Video tutorial link (2 min 50 sec)

Video tutorial link (2 min 50 sec)

Importing more bathymetry data

  • Advanced, approx. 2 hours at initial set-up, approx. 0.5 hours for conversions The bathymetry data need to be converted to be imported using the plugin. The converter to obtain bathymetry tiles from raw data downloaded from NOAA can be found at Bathymetry converter. Follow this tutorial.
Clone this wiki locally