Background
Underwater robotics is an emerging application of autonomous vehicles. SwRI has extensive experience in designing autonomy software for ground and aerial vehicles but has not yet developed underwater autonomy. One of the major open research topics for underwater autonomy is high-resolution mapping and localization. In ground and aerial domains, SwRI has solved this problem with state-of-the-art lidar sensors and simultaneous localization and mapping (SLAM) algorithms. However, lidar technology performs poorly underwater and existing underwater SLAM techniques rely on sensors like radar and 2D forward-looking imaging sonar (FLIS).
This project investigated adapting existing above-ground, lidar-based SLAM algorithms to underwater environments using 3D FLIS, a recent innovation on 2D FLIS, as a substitute for lidar. The 3D FLIS generates point clouds that resemble lidar point clouds, although the field of view, scan rate, and point accuracy are limited. The ability to accurately map an underwater structure is extremely useful for inspection and autonomous navigation, and several remotely operated vehicle (ROV) manufacturers have developed systems that generate these maps. They require the 3D FLIS and vehicle positioning information, which is usually calculated via an external device (GPS receiver) and relayed over acoustic pulses (via an ultra-short baseline acoustic positioning system) to the ROV, creating an acoustic link. Removing the reliance on relayed position data would allow maps to be made in environments where the position data relay is too cumbersome, unreliable, or expensive. Underwater SLAM algorithms that calculate and provide position data exist in academia, but they are generally designed for mapping locally planar terrain, have not been tested with 3D FLIS, and require extremely lengthy scan and deployment times. This project evaluated the viability of replacing the position data relay by using existing lidar SLAM algorithms on a simulated ROV with a 3D FLIS to determine feasibility for quickly constructing accurate environment maps.
Approach
A simulated ROV was designed in Gazebo with a 9-degree-of-freedom inertial measurement unit (IMU) and multiple 3D FLIS that mimic real-world sensors. The ROV traveled in simulated environments under user control and interfaced with different publicly available SLAM algorithms using the Robot Operating System (ROS) to determine position and to generate environment maps.
Several simulated environments were obtained to recreate difficult structures and conditions that are anticipated in real-world applications. These environments include a shipwreck hull with light damage (Figure 1), a pier structure with significant overhang, a sea floor with surrounding rocks, and a complex coral reef sea floor tile. The ROV was piloted on a trajectory through each environment, and the sensor outputs were stored in ROS bag files. Each SLAM algorithm was run on the recorded ROS bag files to ensure precise reproducibility. The project utilized five test scenarios overall and Gazebo simulated seven configurations of the 3D FLIS sensors, based on two commercial FLIS models. The sensor configurations use different fields of view and produce pointclouds at different rates, with larger fields of view requiring longer to generate a pointcloud.
Five SLAM algorithms were tested on the simulated FLIS data. LeGO-LOAM, an algorithm popular in onroad driving applications, failed to localize entirely due to the lack of a ground plane. The localization performance of the other algorithms, FastGICP, FastVGICP, LIO-Mapping, and Fast-LIO-LC, were compared on the range of environments and sensor configurations.
Accomplishments
This work produced a recommendation for which SLAM algorithms are most effective in various environmental conditions and sensor configurations. It determined which sensor configurations balance field of view and rate of return so that the FLIS is usable by existing SLAM algorithms. It was found that no SLAM algorithm achieves sufficiently accurate localization in all environments considered here, so the most effective methods each SLAM algorithm used were identified. A novel algorithm could be developed that combines methods from each algorithm considered here for optimal performance.
Also, this work involved setting up a simulation environment capable of modeling a ROV with FLIS and other sensors. This can be utilized in further work to test perception, localization, navigation, and other autonomy behaviors in simulation.