Common message structures for UUVs?

I disagree that common messages have us well-covered. The UAV community is going through a broader discussion to drive towards a common ROS API. Perhaps something similar here is appropriate? Especially given the sudden spike in interest for maritime robotics. There are enough unique sensors for a UUV-specific sensors package.

The existing LaserScan message is a start, but it would help to have beam widths. Most multibeams offer both equiangular and equidistant spacing, and LaserScan (like most laser scanners) only supports equiangular spacing. Some larger multibeams also do real-time yaw compensation that results in non-coplanar beams. Sure, we could use a pointcloud, but most existing multibeam post-processing software assumes a constant number of beams with a quality indicator. Launch angles are helpful if you ever want to re-raytrace your data.
And that’s just for bathymetric multibeams. An R-Theta image would be really handy for imaging multibeams (BlueView P900, Kongsberg M3, etc).

The vehicle I am currently helping to transition to ROS will require messages for: DVL, depth, subbottom profiler, two different sidescans, multibeam imaging sonar, multibeam swath sonar, inertial navigation system, one- and two-way travel-time measurement, USBL fixes, CTD, sound velocity, and a generic scalar water-column measurement (ph, oxidation reduction potential, fluorescence, dissolved oxygen, optical backscatter, whatever the instrument guys down the hall gin up next month). Some of those can re-use existing messages, but there’s enough there to propose a UUV-specific sensors package. That’s just us. Other teams will need bathymetric side-scan, scanning imaging sonars, and tons more even before adding unique situations like in-situ mass spectrometry, custom sampling gear, etc that should be handled in their own packages.

3 Likes