Towards Autonomous Industrial-Scale Bathymetric Surveying
Ignacio Torrobam Nils Bore John Folkesson
cs.RO


Finding Dark Matter Faster with Explicit Profile Likelihoods
    J. Conrad
    December 30, 2023
============================================================

empty
empty



Both higher efficiency and cost reduction can be gained from automating bathymetric surveying for offshore applications such as pipeline, telecommunication or power cables installation and inspection on the seabed.  
We present a SLAM system that optimizes the geo-referencing of bathymetry surveys by fusing the dead-reckoning sensor data from the surveying vehicle with constraints from the maximization of the geometric consistency of overlapping regions of the survey.  
The framework has been extensively tested on bathymetric maps from both simulation and several actual industrial surveys and has proved robustness over different types of terrain.  
We demonstrate that our system is able to maximize the consistency of the final map even when there are large sections of the survey with reduced topographic variation.
The framework has been made publicly available together with the simulation environment used to test it and some of the datasets. 






§ INTRODUCTION


Bathymetric surveys are an essential service on a great variety of offshore industrial operations.
Tasks such as laying pipelines, setting transoceanic cables or installing wind farms require a detailed map of the topology of the seabed for a safe installation.  Furthermore, the high security standards applied on these industries make regular inspections of the seabed structures necessary for maintenance. Sound navigation ranging (sonar) is the primary tool for underwater sensing, with the multibeam echo sounder (MBES) being commonly used due to its resolution, range and robustness.

Nowadays, infrastructure assessment operations are carried out by specialized vessels that monitor large areas of seabed through MBES.
These vessels employ hull-mounted sonars in shallow waters and remotely operated vehicles (ROV) for deeper areas.
The resolution of hull-mounted equipment is limited by the depth of the target area while the ROV tethers complicate the operations.  Furthermore, geo-referencing is more challenging when the sonar is mounted on an ROV as there is no rigid connection to a GPS antenna.  

Surveys are time consuming and costly. 
Reducing the operation time offshore or the crew involved could increase the overall efficiency.  This motivates the use of autonomous underwater
vehicles (AUV) as a means to automate bathymetric surveying tasks.  
However, the long range and often large depths at which these operations
take place often pose a challenge to an AUV's navigation system.  In
the absence of fixed reference points, the error in  position of
the vehicle will grow boundlessly with the length of the mission, limiting the accuracy of the constructed map.  Post processing can correct some errors but optimization of the vehicle trajectory estimate is important to ensure full area coverage, as well as creating maps that meet the accuracy requirements.



Installation of underwater acoustic positioning systems for terrain-aided navigation such as long baseline (LBL), when an option, would increase the complexity and overall costs.   On the other hand, systems like ultra short baseline (USBL), while easy to install, require a support vessel and fail to provide an accurate positioning at high depths.  In fact, all acoustic positioning systems suffer from inaccuracies at longer distances due to propagation effects.    

Proposed solutions to these challenges have come in the form of simultaneous localization and mapping (SLAM) algorithms for the AUVs <cit.>.
SLAM solutions have shown robust and reliable vehicle trajectory estimation and map construction on a variety of underwater scenarios.
Nevertheless, most of these techniques rely up to a certain degree on distinguishable surroundings and carefully designed trajectories to be able to perform data association and loop closure detection. 
Hence, few attempts have been made to develop and test SLAM solutions for navigating unstructured and featureless sea bottom areas on long range missions.

We present a SLAM framework designed to deal with the precision standards of industrial bathymetric surveying with underwater vehicles.  Our system, described in Sec. <ref>, integrates components from established SLAM methods creating a simple yet effective solution aimed at seabed mapping. 
Sec. <ref> shows the experimental evaluation of the method with data from both real and simulated surveys.



§ RELATED WORK
 

SLAM techniques for autonomous platforms have been applied to map large areas with great success within ground robotics.  
<cit.>, <cit.> are two examples of how algorithmic and hardware-related advancements have enabled autonomous mapping of large regions in real world environments. 
However, the specific challenges posed by the underwater domain have made this branch of mobile robots lag behind its ground counterpart.
Limited sensing and communication capabilities and changing environment dynamics remain challenges for successful underwater deployments of SLAM systems.
The typical AUV navigation sensors suite consist of an inertial measurement unit (IMU) and a Doppler velocity log (DVL) used to compute a dead reckoning (DR) estimate of the vehicle's pose <cit.>.
Exteroceptive sensing underwater mainly relies on sonar technology or cameras to build a consistent model of the seabed while bounding the rapidly growing drift error in the positioning.

Attempts have been made to adapt the SLAM solutions deployed on ground and indoor robotics to AUV technology.
One of the first steps towards underwater SLAM for AUVs can be traced back to <cit.>.
Here an extended Kalman filter (EKF) was used to build a feature-based map of the surroundings through the point features extracted from sonar scans.
In <cit.> the estimation problem is reformulated in terms of extended information filters (IF) to reduce the computational burden of the EKF updates.
The approach is then tested in the context of a vision-based shipwreck survey.
Both works are examples of SLAM systems which depend on the ability to detect and disambiguate features from the environment.
In an underwater surveying context, this is not always a possibility due to the scarcity of these features, low saliency or the limited sensing capabilities.
To overcome these issues, <cit.> introduces a featureless approach based on MBES submaps.
Here, raw MBES scans are collected into patches or seabed submaps, which are associated to a single vehicle pose and treated as a measurement within an EKF.
In this case, data association is carried out by registering overlapping submaps with a variant of the iterative closest point (ICP) algorithm.
In <cit.>, Bore et al. use these submaps to train sparse Gaussian processes (GP) which are used to reconstruct the final map.
The map refinement is then performed by finding the vehicle poses that maximize the probabilities of overlapping MBES returns to be originated from the corresponding GPs.
The submapping approach has yielded promising results on mid-scale surveys over areas with a rich topology. 
For this reason it has been applied within the framework presented in this paper, and it will be discussed more in detail in <ref>.
In <cit.>, Fairfield uses a particle filter to perform localization relative to a grid-based representation of the sea bottom within an active SLAM framework.
Barkby et al. report in <cit.> on a SLAM system based on a Rao-Blackwellized particle filter (RBPF) in which the weighting of the particles is based on the self-consistency of their 2.5D maps, modeled by GPs.
The measure of the seabed geometric consistency they use, defined in <cit.>, has also been applied in this work, and will be presented more in detail in section <ref>.

Factor graphs have been used in underwater SLAM within the context of autonomous mapping of submerged structures <cit.>, <cit.>, vehicle localization through sparse bathymetric mapping with a DVL <cit.> or flooded inland mine mapping as in <cit.>. 
But notably its most consistent application in recent years has been in the field of autonomous ship hull inspection.
This kind of operation aims to build a representation of the survey target, the hull of a vessel, while being able to estimate the trajectory of the AUV so as to ensure full coverage.
To do so, Hover <cit.> combined features extracted from both camera feedback and an imaging sonar to create spatial constraints between vehicle poses in a pose-graph framework. 
In <cit.>, similar constraints are derived from the relative alignment of planar patches associated to an AUV pose and pairwise visual constraints from a camera.
These patches are constructed from the returns of a DVL pointing at the hull and allow for a robust registration in multisession SLAM.
At the expense, however, of requiring a prior estimate of the curvature of the hull.
The work in <cit.> achieves similar results in the same context but rely on the registration of volumetric submaps created from carefully processed MBES scans to build the graph.

Probably the most closely related approaches from an algorithmic perspective to the work presented here can be found in <cit.>-<cit.>.
However, these solutions have been designed and tested in very different environments to the ones targeted in this paper.
A ship hull on a harbor constitutes a much more structured setup in which smaller dynamics can be expected and assumptions on the geometry of the targets can safely be made, as in <cit.>. 
Furthermore, the sonar propagation is simpler to model than at deeper rates.
And finally, the scale of the surveying areas and vehicle trajectories of all the previous works mentioned are several orders of magnitude different than those of the results presented here.




§ SLAM WITH BATHYMETRIC SUBMAPS


A surveying platform accumulates a growing error in its pose estimate which, together with the resolution of the sensors, will limit the quality of the map being constructed.
On an ROV, this error will be proportional to its distance to the USBL system on the support vessel.
In the case of an AUV, the navigation drift will grow unbounded with the duration of the mission due to the absence of global references.
However, underwater platforms are able to achieve higher accuracy on the bathymetry since they can operate very close to the seabed.
With ship hull-mounted MBES systems, the positioning error is much smaller thanks to the availability of GPS but at the cost of limited resolution.
Thus, a SLAM solution is required to guarantee a level of accuracy on the survey. 
As introduced in <cit.>, the geometric consistency of the seabed model and the vehicle trajectory error are related by the sensor measurements.  
This means that maximizing the map consistency will lead to a more accurate trajectory estimate, and vice versa, where the limit is imposed by the accuracy of the sensors.
Thus, we pose the problem of refining the vehicle's trajectory and the map as an optimization problem solved in two steps.
The first step, described in section <ref>, registers locally overlapping MBES swaths over an area and propagates that correction to the estimate of the vehicle pose while collecting those swaths.  
The second step, in <ref>, globally reduces the disparity between the vehicle DR estimate and the corrections from step one.
The diagram of the algorithm described hereafter is shown in Figure <ref>. 





 §.§ Maximization of the map consistency
 

The first step consists in minimizing the consistency error in the seabed map, as the vehicle collects MBES returns. 
To do so, the map inconsistency is computed in all the overlapping areas of the map and then the error is recursively optimized on each of them.



  §.§.§ Error metric
 

Given the absence of ground truth in underwater mapping, an error metric needs to be defined to measure the consistency of a bathymetric map. 
We selected the geometric disparity defined in <cit.> given its broad use in similar applications <cit.>, <cit.>.
Intuitively, this measure quantifies the thickness of the point cloud resulting from merging overlapping MBES returns from different swaths over the same area.




  §.§.§ Composition of MBES pings
 

Accumulating consecutive sonar pings into a submap S_i as in
<cit.> allows treating the submaps as single
measurements.  These measurements are then associated to a submap
frame, x_i = [x,y,z,ψ,ϕ ,θ] initially given by the dead-reckoning estimate of the vehicle 6D pose while acquiring the ping in the middle of the submap, as depicted in Fig. <ref>.  The reason to do this is twofold: i) parts of the map can be treated separately according to the magnitude of the
consistency error in the area and ii) measurement
compositions reduce the size of the pose graph being built, described in the next section.  However, for this approach to work the
consistency within the submaps must be preserved.  Hence, submap
formation is triggered according to two criteria:  i) the submap already
contains enough geometric features to contribute meaningful
information to the following map optimization process, described in
<ref> or ii) the submap length has reached a
maximum manually set above which the vehicle trajectory can no longer be assumed to
be drift-free.  Once a submap has been created, a 3D voxel grid is
applied to down-sample it, preserving the geometric information while
reducing the size of the submap.  This is followed by an outlier
removal filter meant to eliminate spurious MBES returns.  These steps
are of key importance when working with large areas of seafloor.





  §.§.§ Local optimization of the map
 

Once some overlap has been detected among submaps, the latest submap is re-aligned relative to all the others, which are assumed rigidly linked according to the current solution.
A version of the generalized iterative closest point (GICP) from <cit.> restricted to x,y and yaw is applied to find the relative transformation T^GICP∈ℝ^3 between the submap frames that minimizes the plane-to-plane distance between the point clouds.
GICP is more suitable for the registration of large, mostly flat submaps <cit.> than the variants of ICP typically used on other more structured underwater environments (<cit.>, <cit.>, <cit.>).
This is because GICP models locally the surface from both point clouds during the matching step, easing the registration of large planar surfaces with minimal overlap and scarce features.    
The output of the re-alignment of submaps i and j is a relative rigid transformation with Gaussian model T(x_i, x_j) ∼ (T^GICP_i,j, O_i) that, applied to the source submap, will minimize the distance between corresponding matches among submaps, locally reducing the consistency error of the global map.
However, given that GICP locally optimizes over a non-convex function, its convergence to a global minima is not always guaranteed.
Most algorithms that make use of ICP-based registration methods handle this explicitly by manually setting thresholds on the values of the results or preprocessing the submaps.
Since these thresholds are usually case-dependent, they are a step away from a general algorithm.  
In our case, the second step of the algorithm corrects erroneous outputs of the registration.










 §.§ Minimization of the vehicle trajectory error
 

On the second step of the SLAM algorithm, the estimate of the vehicle trajectory is optimized performing maximum a posterior (MAP) inference on a pose graph built from the nonlinear measurements collected during the first step.
By doing so the algorithm also maximizes the self-consistency of the bathymetric map. 
The use of graphical models in the robotics literature in order to solve SLAM as an inference problem can be traced back to <cit.>.
Here, we use a pose graph in which the set of vertices are the [x,y,θ] components of the submap frames X = {x_0, ...., x_N} and where edges are virtual measurements z_i,j relating vertices x_i and x_j, with associated information matrix Ω_i,j.
Defining the prediction of a virtual measurement between x_i and x_j as their expected relative transform such that ẑ_i,j = T(x_i, x_j), we can define a term to account for the errors present in the system as

    e_i,j(x_i, x_j) = z_i,j - ẑ_i,j(x_i, x_j)

In our problem, two sources of virtual measurements are considered when building the graph:



  §.§.§ Dead-reckoning constraints
 

A DR estimate of the vehicle positioning with Gaussian model z_i,i+1∼ (f(x_i, x_i+1), Σ_i) is used to compute the virtual measurements between contiguous vertices, resulting in an odometry chain of vehicle poses.  We will refer to this as a DR constraint.
Hence,  eq. (<ref>) when j= i + 1 becomes

    e_i,j(x_i, x_j) = f(x_i, x_i+1) -  T(x_i, x_j)   with  Ω_i,j = Σ^-1_i




  §.§.§ Loop closure constraints
 

The GICP registration between overlapping submaps i and j is used to add a loop closure (LC) constraint between the corresponding submap frames, such that the eq. (<ref>) for j ≠ i + 1 becomes

    e_i,j(x_i, x_j) = T^GICP_i,j -  T(x_i, x_j)   with  Ω_i,j = O^-1_i.


It shall be mentioned here that the rotational components in equations <ref> and <ref> are parameterized in the solver as quaternions to avoid singularities.

Given that all the virtual measurements follow Gaussian distributions, each edge of the graph becomes a negative log-likelihood factor ϕ_i,j of the form 

    ϕ_i,j = e_i,j^TΩ_i,j e_i,j/2

Hence, a MAP estimate of the vehicle poses x_i,j can be computed through the standard formulation 

    X^MAP = _x∑_k=1^Kϕ_i,j

Where K is the total number of constraints in the graph, including both DR and LC.
An pose graph resulting from this process is shown in Fig. (<ref>), with LC and DR constraints represented with blue and beige arrows respectively.

The general optimization solver Ceres <cit.> is used to solve eq. (<ref>), and the resulting vehicle poses are used to update their corresponding submap measurements, which are then merged into the final global map.














§ EXPERIMENTAL RESULTS


In this section, the performance of the proposed method has been tested on both simulated and real data.
Each dataset presented contained an initial consistency error on the final bathymetric map resulting from navigation drift and spurious sonar pings.
For each case, the algorithm introduced has been instantiated with the parameters corresponding to the vehicles and sensors used in the mission and its efforts to minimize this initial error, compiled in table <ref>.





 §.§ Simulation environment
 

Our SLAM algorithm has been developed and initially tested within the SMARC underwater simulator, an open source simulation environment for AUVs based on Gazebo and the Robot Operative System (ROS).
An AUV with a MBES surveys a target area, shown in Figure <ref>, on two swaths with approximately 30% overlap.
The robot trajectories are corrupted with accumulative white Gaussian noise with mean zero, added between submap frames so as to preserve the positioning within submaps error free. 
The consistency error in the bathymetry map has been computed before and after the application of the SLAM algorithm.
The results for one run are shown in table <ref> for reference.
Both the simulator and the framework code are available online.







 §.§ Real datasets
 

A common characteristic in real industrial bathymetric surveys is that generally they do not present large consistency errors due to the high standards of the equipment used.
However, misalignments in the range of 1-2 meters can be critical when, for instance, assessing the state of underwater infrastructure.
The datasets shown present various degrees of complexity in terms of accumulated navigation error, size of the area covered, resolution and noise of the MBES, percentage of overlap among swaths and saliency of the terrain.
They all contain vehicle positioning, raw MBES returns and sound velocity profile (SVP) data, and they have been collected at three different geographical locations by different platforms.
Their characteristics are presented in <ref>.



  §.§.§ Loop
 

This mission was launched to detect several objects laying on the seabed at a depth rate of 15 meters on average.
Given the small size of the targets, high accuracy on the bathymetric map was a requirement.
Therefore, the vessel with a hull-mounted MBES followed a lawnmower pattern with major overlap between swaths and a big loop towards the end of the trajectory.    
The initial bathymetry map can be seen in Fig. <ref> a).
In terms of the pose graph construction, a lawn mowing pattern results in a high concentration of loop closure constraints with major overlap.
Thus, the resulting graph is able to correct erroneous GICP registrations that may occur on flat areas, relaxing the need to fine tune the GICP parameters, as pointed out on <ref>.
The topology of the area is mostly flat with major features mapped on the top and the loop regions, which is where most of the initial consistency error is detected.
The map of the initial consistency error, computed on the areas with overlap between submaps, is shown in the map in Fig. <ref> b).
Fig. <ref> d) depicts the consistency error map after applying our SLAM algorithm.
It has successfully eliminated the geometric error on the areas with a sharper relief, resulting on a different topology on the final depth map, shown in the map in Fig. <ref>. 




  §.§.§ Pipeline
 

This dataset consists of an inspection over a section of a pipeline at approximately 2500 meters depth.
It was collected with a Surveyor Interceptor ROV, shown in Fig. <ref>.
Industrial inspection is usually carried out acquiring long, parallel swaths over the area of interest with 20-30% overlap.
The drift in the ROV positioning among tracks can be easily appreciated in the misalignment of the pipeline segments across swaths and the artifacts on the hill on the top figure on Fig. <ref>, which is clearly reduced on the SLAM solution, at the bottom.  
Our algorithm has divided each swath into submaps according to the criterion in <ref>.
The correction of the pipeline has been a result of the registration of the submaps containing the hill, which the graph optimization has propagated through the ROV trajectory.







  §.§.§ Ripples
 

This dataset consists of the search of a large target over an area of interest at an average water depth of 30 meters, shown in Fig. <ref>.
Its main characteristics are the absence of crossing tracks and the minimal overlap between parallel swaths, since the aim of this kind of missions is to cover as much area as possible.
It was collected with a MBES mounted on the hull of the Stril Explorer vessel, shown on the right of Fig. <ref>.
Given that the positioning of the vessel is very accurate, most of the consistency error in this dataset is estimated to arise from noise in the sonar returns. 
The raw bathymetry map presents wavy patterns most likely caused by motion on the pitch angle of the vessel.
These patterns are contained within the submaps and therefore our algorithm could not correct them.







§ CONCLUSIONS & FURTHER WORK


MBES-based industrial bathymetric surveys for infrastructure layout or inspection require the highest level of accuracy for safety reasons. 
In this paper, we have presented an algorithm to optimize the self-consistency of the maps produced by this kind of surveys in two steps.
Our system has a component that corrects the latest vehicle pose being added to the map in a filter-like phase by maximizing the self consistency of the map and a component that performs a global optimization over the entire trajectory.  It depends on the DR in regions of low terrain information and on the consistency of the map in areas rich on features.

However, in the current system the performance of the loop closure detection relies on the lawn mowing pattern with partially overlapping swaths that industrial surveys typically follow.
To handle more general cases, accounting for the pose uncertainty in the loop closure detection is key for a more robust solution.
Furthermore, in this work the value of O_i is obtained from an heuristic based on the normalized covariance of the returns on the submap, as in <cit.>.
In future work this will be replaced for a value that better represents the uncertainty of the GICP output.

Finally, both the SLAM framework and the simulation environment have been released and can be found in [https://github.com/smarc-project]. 
The Pipeline dataset has been made publicly available in [https://strands.pdc.kth.se/public/IROS-2019-Bathymetry/].






§ ACKNOWLEDGMENTS

The authors want to thank MMT and the Stril Explorer crew for their assistance on the collection of the data used on this work.
This  work  was  supported  by  Stiftelsen för Strategisk Forskning  
(SSF)  through  the  Swedish  Maritime Robotics Centre (SMaRC) (IRC15-0046).


unsrt


