Skip to content

GTRI based Sonar Notes and Description

Bruce Allen edited this page Apr 18, 2020 · 16 revisions

The GTRI-based Sonar model at https://github.com/Field-Robotics-Lab/gtri_based_sonar is based on and is forked from the SyllogismRXS Sonar model at https://github.com/SyllogismRXS/syllo-gazebo, ref. "A Computationally-Efficient 2D Imaging Sonar Model for Underwater Robotics Simulations in Gazebo", Georgia Tech . This fork has been modified as follows:

  • It has been ported to work with ROS Melodic and Gazebo 9.
  • The algorithm for converting the point cloud from the Gazebo Ray module to a Gazebo camera image has been merged into the Gazebo module. The image is no longer calculated and advertised on a separate ROS Node.
  • Modules not related to modeling Sonar have been removed in order to simplify the repository.

Example Usage

See https://github.com/Field-Robotics-Lab/DAVE/wiki/Sonar-Models#gtri for usage and example screenshot.

.xacro Interface

Here is a proposed xacro macro for instantiating a named Sonar instance onto a parent link:

Name: gtri_based_fls. Parameters: namespace, suffix, parent_link, topic, *origin.

ROS Interface

Here are the topics published by this Sonar model:

Message type Suggested topic name Description
sensor_msgs::PointCloud sonar_cloud The point cloud is calculated from Gazebo's RaySensor interface.
sensor_msgs::Image sonar_image The Sonar image calculated from the point cloud.
sensor_msgs::CameraInfo sonar_image_camera_info The height, width, and timestamp of the currently available Sonar image.

Implementation

The implementation is divided into two parts, 1) point cloud and 2) camera image:

Point Cloud

The point cloud is calculated from information available in Gazebo's RaySensor interface, https://osrf-distributions.s3.amazonaws.com/gazebo/api/dev/classgazebo_1_1sensors_1_1RaySensor.html.

Sonar Image

The Sonar image is calculated from the point cloud, see file cloud_to_image.cpp.

Clone this wiki locally