ROS2Sonic
0.2.0
A ROS2 driver for R2Sonic MBES
|
<figure><figcaption></figcaption></figure>
The ROS2Sonic package is a ROS2 driver designed to receive data from a R2Sonic multibeam and re-publish the data as a relevant ROS message.
Refer Complete API documentation for additional details
NOTE: This project is currently in pre-release. It has been tested with R2Sonic hardware but the interface is subject to change until the first major release.
This project can be installed like any other ROS2 source package
First clone the package to your ROS workspace source directory
This package uses the marine_messages package. Clone them to your work space's src directory
The rest of the dependencies can be acquired through rosdep. Run the following command from your workspace root directory.
Finally you can compile the package from the root directory of your ros workspace
This package has a sample launch file for testing. You may need to edit or create your own r2sonic/params/bench_test.yaml
to match the port numbers of your unit.
The driver can be started with the following command
If you do not have an R2Sonic unit available or want a more convenient test in the lab you can replay captured R2Sonic packets using the replay_pcap.sh
utility with the following command:
Replace <pcap file>
with the log you wish to replay. You can find more about these files in the #logs section. Replace <interface>
with one of your computer's interfaces with a vaild IP address. You can list your interfaces and their associated IP address with the following command: 
There are a few other packages associated with the marine_msgs standards that may be useful for processing and visualizing data generated by this driver.
Acoustic Msgs Tools Is a collection of tools to view and interpret messages in the marine_msgs package.
 
This driver publishes the marine_msgs that bes correspond with the raw R2Sonic types (described in #logs). The raw binary messages are also published under the /r2sonic/raw/*
topics. These raw topics can be converted to marine_msgs using the the api functions in the conversions namespace.
IMPORTANT NOTE ABOUT LOGGING: This project can be used for data acquisition in it's pre-release state. However, it is imperative that you log the
r2sonic_interfaces/msg/*
messages. The marine_msgs package is currently subject to change and may not record important data until this package is out of -re-release.
Below is a description of the available (default) topic
/r2sonic/acoustic_image
the acoustic_msgs::msg::RawSonarImage
representation of the the R2Sonic AID0, acoustic image, packet. This is basically a down sampled water column view to reduce data sizes./r2sonic/detections
the detection associated with a given sonar ping from the R2Sonic BTH0, bathymetric detection, message./r2sonic/raw/aid0
the raw acoustic image data in big endian binary directly from the sonar. /r2sonic/raw/bth0
the raw acoustic image data in big endian binary directly from the sonar. R2Sonic provides developers with PCAP logs of R2Sonic network traffic associated with all their datatypes.  
To access PCAP logs and Official Data Format Definitions:
r2sonic
#R2sample#
This package was created by Kris Krasnosky of the USF COMIT group and offered under the Apache 2.0 License.
This package was made possible through the technical support and doccumentation of R2Sonic.