Skip to content

NPS Ray based Sonar

Bruce Allen edited this page May 7, 2020 · 13 revisions

Here we examine simulating Sonar using the Gazebo GpuRaySensor sensor. We start with a single-beam plugin prototype with the expectation of expanding to offer a ray trace plugin.

References:

  • Gazebo 9 API: http://osrf-distributions.s3.amazonaws.com/gazebo/api/9.0.0/index.html

  • Gazebo 9 source code: Download Version 9.0 from http://gazebosim.org/download and unzip. Some files of interest include:

    gazebo/sensors/GpuRaySensor.cc
    gazebo/sensors/GpuRaySensor.hh
    gazebo/sensors/GpuRaySensorPrivate.hh
    plugins/GpuRayPlugin.cc
    plugins/GpuRayPlugin.hh
    
  • Ros Melodic source online: https://github.com/ros-simulation/gazebo_ros_pkgs/tree/melodic-devel/gazebo_plugins.

  • ROS Melodic source download: Clone gazebo_ros_pkgs and checkout branch melodic-devel:

    git clone https://github.com/ros-simulation/gazebo_ros_pkgs.git
    git checkout melodic-devel
    

    Some files of interest:

    gazebo_plugins/src/gazebo_ros_laser.cpp
    gazebo_plugins/src/gazebo_ros_gpu_laser.cpp
    gazebo_plugins/src/gazebo_ros_block_laser.cpp
    gazebo_plugins/src/gazebo_ros_range.cpp
    
    gazebo_plugins/include/gazebo_plugins/gazebo_ros_gpu_laser.h
    gazebo_plugins/include/gazebo_plugins/gazebo_ros_block_laser.h
    gazebo_plugins/include/gazebo_plugins/gazebo_ros_laser.h
    gazebo_plugins/include/gazebo_plugins/gazebo_ros_range.h
    

Single Beam Sonar

Using gazebo_ros_gpu_laser as a template, we create nps_single_beam_sonar to produce one Sonar point calculated from three points obtained from Gazebo's GpuRaySensor sensor. This work is (will be) in https://github.com/Field-Robotics-Lab/uw_sensors_gazebo.

Clone this wiki locally