Riverine Coverage with an Autonomous Surface Vehicle over Known Environments

08/07/2019 ∙ by Nare Karapetyan, et al. ∙ University of South Carolina University of Puget Sound 0

Environmental monitoring and surveying operations on rivers currently are performed primarily with manually-operated boats. In this domain, autonomous coverage of areas is of vital importance, for improving both the quality and the efficiency of coverage. This paper leverages human expertise in river exploration and data collection strategies to automate and optimize these processes using autonomous surface vehicles(ASVs). In particular, three deterministic algorithms for both partial and complete coverage of a river segment are proposed,providing varying path length, coverage density, and turning patterns. These strategies resulted in increases in accuracy and efficiency compared to human performance.The proposed methods were extensively tested in simulation using maps of real rivers of different shapes and sizes. In addition, to verify their performance in real world operations, the algorithms were deployed successfully on several parts of the Congaree River in South Carolina, USA, resulting in total of more than 35km of coverage trajectories in the field.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 3

page 4

page 6

page 7

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Bathymetric surveys - surveys of the depth of a body of water, are an important tool for understanding hydrogeologic processes, water resource management, and infrastructure maintenance. Since the sensor footprint of a bathymetric sensor is significantly smaller than the width of many rivers, a complete bathymetric survey of a river requires multiple boats or multiple passes. The usual method for performing coverage of a known two-dimensional area, the boustrophedon coverage [1, 2], performs poorly in tight and uneven spaces such as rivers. Fortunately, river surveyors have developed and practiced a variety of coverage techniques that are suitable for rivers. The development of these surveying/coverage strategies was guided by the property to be measured and the available resources. For example, studying sediment transfer in a fast flowing river requires sampling locally across the river. Otherwise, by the time the surveyor returns to the same spot, the sediment will have moved significantly.111As Heraclitus said “Everything changes and nothing remains still  … and … you cannot step twice into the same river.” [5]. On the other hand, sampling trajectories across the river results in an excessive number of turns, which is detrimental to the performance of certain sensors. In this paper, we address the question of how to conduct such coverage/sampling surveys using autonomous robots in order to increase the efficiency and accuracy, reduce cost, and eliminate the risks to human operators. Three methods, each suited to a different scenario, are presented:

  1. Complete coverage, reducing rotations. The ASV performs longitudinal passes, traveling roughly parallel to the river shores. This approach is particularly apt when the survey is being conducted using sensors, such as a side-scan sonar, that are sensitive to turning motions. The method, termed L-Cover, adapts the number of passes depending on the width of the river.

  2. Limited resources surveying. This approach is appropriate when there is a limited budget of time or energy and the length of the river segment to be surveyed needs to be maximized. In this method, termed Z-Cover, the ASV travels along the river in a zigzag pattern, turning away from the shore each time it reaches it. This allows bathymetric data reflecting the full width of the river to be sampled in a single pass.

  3. Localized complete coverage. In rivers with high flow, measurements are required across the river in a short time interval in order to monitor the bottom structure. The ASV is guided in a a lawnmowing pattern in the transverse direction, a pattern similar to one in the Boustrophedon Cellular Decomposition [1]. This strategy, termed TCover, results in frequent rotations of the ASV.

Fig. 1: An autonomous surface vehicle during a coverage experiment on the Congaree River near Columbia, SC, USA.

The proposed complete coverage strategies (LCover and TCover) move along and across the river respectively, ensuring that for a fixed sensor footprint no area remains uncovered. The efficient sampling strategy ensures that the amount of information is maximized, sampling across the river multiple times, while minimizing the distance travelled. We present experiments in which all three planners were deployed on custom ASV [15] designed and fabricated in the authors’ lab222The design of the ASV is publicly available on https://afrl.cse.sc.edu/afrl/resources/JetyakWiki/. Both quantitative assessments of the above algorithms in terms of the properties of the generated paths along with the percentage of the region of interest covered, and qualitative results acquired from field experiments are presented. More than 35km of coverage trajectories were tested to verify the feasibility of the proposed strategies.

In the following section we present a survey of related work. Next, Section III formally defines the problem of riverine coverage with discussions of the proposed methods. Section IV presents both extensive simulated results and field experiments with both quantitative and qualitative analysis. Finally Section V, gives an overview of the proposed methods and remarks on future work.

Ii Related Work

Substantial work has been done on the design and operation of autonomous surface vehicles (ASVs) in rivers. One team of researchers has shown that it is both possible and desirable to design and operate autonomous surface vehicles for the purpose of performing bathymetric surveys [3]. Significant progress has also been made on the problem of navigating a river with an ASV [23]. Additionally, another team has determined a technique for exploring and mapping a river using an unmanned aerial vehicle [7]. Though, to the best of our knowledge, there is no existing research on automated vehicles zig-zagging their way through rivers, the basic principle has been applied using an underwater autonomous vehicle [26]

. The vehicle used repeated 135 degree turns to map an upwelling front underwater, covering 200 square kilometers over the course of five days without human intervention. Estimating the meanders of a river has also been studied by Qin and Shell 

[18], and the proposed estimator can be used for online path selection.

The problem approached in this paper is essentially a variant of the well-studied coverage problem [4]. Of particular relevance are two works dealing with the coverage of rivers using drifters: vehicles that do not have sufficient power to travel against the current [11, 10] and another work dealing with coverage path planning for a group of energy-constrained robots [22]. One notable work breaks from the tendency to emphasize complete coverage, instead attempting to conserve time and fuel by focusing coverage on regions of interest [13]. This allowed them to create a map of a coral reef area with half the distance travelled and power used than a lawnmower-style complete coverage algorithm would have required. Another paper, in which lawnmover-style coverage is applied to a Dubins vehicle, reformulates the problem as a variant of the Traveling Salesman Problem in order to obtain an optimal solution [12].

Though the above selective coverage work phrases the problem in terms of coverage, it bears kinship with the literature for informative motion planning, that is, the problem of planning a path using limited resources in order to maximize the amount of information gained. Unfortunately informative motion planning problems are usually NP-hard optimization problems. The formulation of these problems require the definition of an information metric that can be associated with the locations or path. Since the information metric cannot be known a priori for a real-world scenario, approximations are done using methods such as Gaussian Processes. This means that informative motion planning can be applied to practical problems, such as mapping wireless signal strength on a lake [6], understanding salinity at a river confluence, or investigating algal blooms [21] and sampling areas with high chlorophyll [14]. Despite the success of these projects, qualitative considerations involved in the formulation of our problem mean that reformulating it as an informative motion planning problem would not necessarily produce data with the desired qualities, and it would be difficult to devise an information metric that obtains the desired result.

In this work, we address the autonomous coverage problem for river surveying to automate common surveying techniques used by surveyors, thus increasing the efficiency of the coverage. We formulate the riverine coverage problem as a geometric problem and use the resulting patterns to justify the use of each approach in different real world scenarios. In the following section, the problem is formally defined and the different approaches are described.

Iii Proposed Methods

Our objective in this paper is to automate different approaches used by river surveyors and develop more efficient planning for each of them. We consider an ASV that was deployed with a variety of depth sensors to survey the riverbed. The ASV moves within a known environment, described by an occupancy grid map , derived from Google satellite imagery. Values of 0 indicate the portion of the river we intend to cover, while 1 indicates locations outside that region of interest, which we treat as obstacles. From a given starting point , we can implicitly infer the general direction of coverage.

In this section, we describe algorithms executing three types of coverage patterns in such contexts:

  • Section III-A presents a pattern, termed L-cover, which moves in passes parallel to the shore. This pattern is particularly suitable for use with a side-scanning sonar.

  • Section III-B describes a pattern, termed Z-cover, which ‘bounces’ between the river shores. This approach is used for performing river surveying with a single pass which is suitable for long term deployments.

  • Section III-C proposes a T-cover pattern, where passes made across the river, perpendicular to the shore.

These three methods differ in the length of the paths they generate, in the density of the coverage pattern, and in the number of turns needed to execute those patterns.

Iii-a Longitudinal Coverage (L-Cover)

Our first approach L-Cover performs coverage in a boustrophedon pattern, with passes parallel to the edges of the river. The goal of the algorithm is to split the river into subregions that can be covered with the same number of passes. The algorithm takes as input the map of the river , the starting point and a parameter describing the desired spacing between the passes; see Algorithm 1. First, we identify the downriver direction (the red line in Figure 3) and compute an ordered list, denoted , of contour points of the shore (Line 2-3). Next, the algorithm sequentially traverses the contour with a step size connecting opposite edges with straight line segments, denoted . w is the distance between each pair of segments and . Then, the river is split into clusters of subregions based on the width of the river, denoted by , and the desired spacing (Lines 4-11). Any small clusters are merged with the nearest neighbor cluster that has similar width (Lines 13-15). Finally, parallel passes are generated for each resulting cluster (Line 17). The resulting path is a list of all sequential passes from each cluster (Line 19). Examples of the results of the algorithm, with different values of , are presented in Figure Figure 2.

Input: binary map of river , starting point 
            spacing parameter
Output: a path

1:
2:
3:
4:while the end of the river is not reached do
5:     
6:     if  then
7:         insert in to
8:     else
9:         save cluster  in 
10:         
11:     end if
12:end while
13:for each  do
14:     Merge  with closest neighbor within tolerance
15:end for
16:for each  do
17:     
18:     append to
19:end for
20:return
Algorithm 1 L-Cover
Fig. 2: An example of trajectories and clusters generated by L-Cover approach on a small section of Congaree river with different coverage density values (alternating colors mark different clusters).

Iii-B ZigZag Coverage (Z-Cover)

Z-Cover partial coverage approach, is based on a zigzag pattern which aims to cover a substantial portion of the environment in a single pass along the river. The core idea of the proposed algorithm is to build a coverage path that gathers information along and across the river simultaneously. By ensuring that consecutive triangles have approximately equal areas, we ensure that the ratio of the covered areas across the river area approximately same.

Algorithm 2 outlines the approach. It takes as input the map of the river and the starting point . Just as in the L-Cover algorithm, the vectors of directional contours are acquired (Line 2-3). Then, each time the algorithm searches for a next point, it does so by drawing lines from the current location towards the opposite shore. An acceptable next point is searched for among the intersections of the opposite shore with possible lines (blue lines in Figure 3) that form , degree angle relative to the direction downriver. If one of these points forms a triangle with the previous two points on the path, with area within tolerance of the area of the previously selected triangle (the triangle with green edges in Figure 3), it will be selected. If no such point exists within intersections, the tolerance will be increased and the algorithm will do the same search again (Lines 13-15). The tolerance is predefined and can be tuned if necessary.

Input: binary map of river , starting point
Output: a path

1:
2:
3:
4:while the end of the river is not reached do
5:     for each  do
6:         
7:         
8:         
9:         if  then
10:              append  to 
11:         end if
12:         break
13:         if  and  is empty then
14:              ++
15:              
16:         end if
17:     end for
18:     
19:end while
20:return
Algorithm 2 Z-Cover
Fig. 3: LABEL: A sketch of triangle selection procedure. LABEL: A section from the result of the Equal Triangle algorithm applied on Congaree river.

Iii-C Transversal Coverage (T-Cover)

Finally, we consider T-Cover, which performs a continuous lawnmower motion pattern perpendicular to the shores of the river. The algorithm uses the same information as L-Cover, namely the map , the start location , and the coverage spacing . After acquiring directional contours, it generates passes, perpendicular to the shores, spaced by distance from each other. This is similar to covering a single cell of the Boustrophedon Cellular Decomposition, albeit the direction of the coverage varies with the river’s meanders. This approach is utilized when the quantities measured change rapidly over time and the transverse profile of the river bed is required.

Iv Experiments

The performance of the proposed coverage strategies was first tested extensively on different size and shape river maps. Then, some of the generated paths were deployed both in simulation using the Stage simulator[24] and in the field to perform large scale river surveying that covered in total distance. In the latter case, the developed algorithms were deployed on the AFRL Jetyaks [15]. The ASVs are equipped with a PixHawk controller that performs GPS-based waypoint navigation, a Raspberry Pi computer that runs the Robot Operating System (ROS) framework [19] recording sensor data and GPS coordinates. In addition, different types of acoustic range finding sensors were used during deployments.

Iv-a Performance Analysis

The proposed methods were tested on a set of real maps with up to long segments of river. Because Z-cover is a partial coverage method it has been compared against a fixed-angle approach used for manual surveying operations [26]. With the latter, boat always navigates to the opposite shore by making a fixed-angle turn relative to the near shore. The qualitative results in Figure 4

demonstrate the motivation behind the Equal Triangle Heuristic approach for improving this operation. When automated, the fixed degree method resulted in severe overshooting and thus loss of coverage area. Meanwhile, the Equal Triangle approach ensures more even coverage.

The primary metrics considered to evaluate performance of the coverage tasks are:

  • Covered Area (), expressed as a percentage of the total area of the region of interest. For all algorithms we assume that the travel path has a width proportional to the spacing value .

  • Return Path (), defined as the percentage of the distance traveled to return back to the starting location after coverage was completed over the total travel distance. This metric is especially important for large scale operations, as returning to the initial location might be time and energy consuming.

The coverage will be efficient if it will maximize covered area while minimizing the return path length. It is worth noting that in the classical coverage path planning problem, the robot has to return to the starting position and there are areas (deadends) where the robot enters covering and then has to traverse back resulting into double coverage. Earlier work [25] address this problem utilizing the Chinese Postman Problem formulation. During riverine coverage, there is only a single segment which is covered and at the end the ASV has a single return trip to the starting point, as such we do not use the total distance travelled metric as it is not informative.

Z-Cover (Fixed-angle Heuristic) Z-Cover (Equal Triangles) L-Cover T-cover
Return Path () 43.3 41.4 8.9 16.17
Area Covered 29.39% 31.05% 92.65% 91.42
TABLE I: The Average results of Z-Cover, L-Cover and T-Cover approaches from simulation.

In summary:

  1. Even though T-Cover and L-Cover approaches show similar performance on completeness, when accounting for the need for a return trip, the T-Cover method is clearly outperformed by the L-Cover methods in terms of efficiency of the coverage path.

  2. The quantitative results validate the qualitative observation for differences between the Z-Cover algorithm and fixed-angle approach discussed above; see Table I. The Equal Triangles Method produces paths with slightly higher coverage rate.

  3. T-Cover method introduces more turns in the path compared to the L-Cover. When using a side scan sonar for bathymetric mapping this can cause loss of data.

Fig. 4: Contrasting two Z-Cover methods: 45 degree heuristic zig zag method (left) with the equal triangles coverage (right) described in this paper. [Note: this excerpt is 5% of the original map]

Iv-B Field trials

The main objective of the field trials is to ensure that the ASVs are able to collect adequate data when following the trajectories generated by the proposed algorithms. We deployed an ASV to execute both the L-Cover and the Z-Cover algorithms on a 0.25 area of the Congaree River, that had an average width of . For these experiments the ASV was equipped with three different Sonar sensors (see Section IV-C). Note that in this work we are assuming that the footprint of the bathymetric sensor (when sidescan sonars are used) is constant and can be calculated based on the average depth of the area/river.

The depth measurements gathered from both experiments were used to produce a bathymetric map of the covered area utilizing a Gaussian Process (GP) mapping technique [20]. To evaluate the performance of both algorithms for depth map generation the uncertainty map was produced based on the root-mean-square error (RMSE). The results showed that even the operation time is longer for the L-Cover algorithm but the data collected ultrasonic range sensor is resulting in more accurate depth map. The depth map produced by data collected using L-Cover, T-Cover and Z-Cover patterns are presented in Figure 5.

Fig. 5: The depth map (in meters) of covered region and uncertainty map of selected method for that region expressed by RMSE LABEL:, LABEL: L-Cover, LABEL:,LABEL: Z-Cover, LABEL:,LABEL: T-Cover

The boat’s trajectories in Figures 66 are closely aligned to the ideal mission plan in Figures 66, with small deviations caused by GPS error and environmental forces (wind, current). The effect of those forces have been studied in our previous work [16] and are not the subject of this work. In addition the execution of L-Cover on the smaller region from different region of Congaree river with 0.1 area is presented in Figures 6, 6. The resulting time and distance traveled during each experiment with actual coverage distance are presented in Table II. And finally a qualitative difference was observed when backscatter images of the riverbed were produced for both autonomous and manual coverage Figure 7. It is worth noting that the manual operation trajectory is not complete compared to the path of L-Cover; see Figure 7(d). The time of operation in both cases was similar (close to hr) during which the autonomous operation covered a region twice the area of the manual coverage; compare Figure 7(a,c) and Figure 7

(b,d). Moreover, the mosaicing is both complete and cleaner because of fewer overlapping tracks and odd orientations to the lines.

Fig. 6: Riverine Coverage on Congaree River, SC, USA. The blue paths are the ideal paths produced by the algorithms while the yellow one is boat’s GPS track LABEL:,LABEL: Z-Cover. LABEL:,LABEL: T-Cover. LABEL:, LABEL: L-Cover on 2.15km long river segment. LABEL:, LABEL: L-Cover on 0.8 km long river segment.
Fig. 7: Backscatter image of riverbed, Congaree River. Top row shows the bathymetric map compiled from the Ping DSP data collected. Bottom row show the same bathymetric map with the ASV’s path superimposed. LABEL:,LABEL: autonomously performing L-Cover coverage LABEL:,LABEL: manually controlled.
Fig. 8: Bathymetric data collected at the Congaree River, SC, USA. LABEL: CruzPro depth pinger data integrated using a GP model. LABEL: 3DSSDX450 side scan sonar.

Iv-C Riverbed Mapping

Different acoustic sensors have been deployed over the course of the field trials in order to evaluate their performance and to consider the effect of different coverage motions to the quality of the collected data. More specifically, a CruzPro DSP Active Depth, Temperature single ping SONAR Transducer was used for the majority of the experiments; see Figure 8. As only a single data point is collected at the time, the coverage is sparse and an integration strategy needs to be utilized as discussed above. The second sensor used was the Humminbird helix 5 chirp SI GPS G2 imaging sonar. Being a low cost, proprietary sensor, all the collected data has to be postprocessed. Finally, a long range 3DSSDX450 side scan transducer from Ping DSP[17] was deployed a limited number of times. As can be seen in Figure 8, rotations and repeated scans do not match very well due to the sensitivity to orientation error. Acoustic data processing is beyond the scope of this paper.

Algorithm ZCover TCover LCover
Time traveled m hr m hr m
Total Distance 5.2km 10km 13.02km
Coverage Distance 3km 7.3km 11.02km
TABLE II: Coverage time and distance results from field deployments.

V Conclusions

This paper presented three strategies that perform partial and complete coverage used in different surveying scenarios. The Z-Cover algorithm shows improvements over the fixed-angle based approach used in practice by scientists for manual surveying. Both complete coverage algorithms perform boustrophedon coverage. L-Cover performs coverage parallel to the shores of the river and takes into account the width of the river for generating the passes, while T-Cover performs coverage perpendicular to the shores of the river.

The performance of the algorithms is validated on a large number of river maps with different size and shape of contours. In addition, the algorithms were tested in simulation and in the real world. The field trials were performed on 0.25 and 0.1 regions of the Congaree River.

Taking into account the challenges encountered during field deployments, obstacle avoidance strategies must be implemented for both underwater and above water obstacles. A practical consideration is to deploy upstream, thus, in case of a failure the ASV will drift back towards the deployment site. The natural extension of this work is distributing the coverage task between multiple robots [8, 9]. Another aspect that we are interested in is planning the coverage path taking into account general knowledge about river flow based on the meanders [18]. With this the river flow speed will be utilized to improve coverage time and energy consumption. In particular, after modeling the current in the river [16], path planning will associate different cost values depending on the direction of travel with respect to the direction and strength of the current.

References

  • [1] E. U. Acar, H. Choset, A. A. Rizzi, P. N. Atkar, and D. Hull (2002) Morse Decompositions for Coverage Tasks. ijrr. Cited by: item 3, §I.
  • [2] E. U. Acar and H. Choset (2002) Sensor-based Coverage of Unknown Environments: Incremental Construction of Morse Decompositions. ijrr. Cited by: §I.
  • [3] H. Ferreira, C. Almeida, A. Martins, J. Almeida, N. Dias, A. Dias, and E. Silva (2009) Autonomous bathymetry for risk assessment with ROAZ robotic surface vehicle. In MTS/IEEE Oceans-Europe, Cited by: §II.
  • [4] E. Galceran and M. Carreras (2013) A survey on coverage path planning for robotics. Robotics and Autonomous systems. Cited by: §II.
  • [5] Heraclitus of Ephesus (535 BC – 475 BC) As quoted by plato in cratylus. 402a. Cited by: footnote 1.
  • [6] G. A. Hollinger and G. S. Sukhatme (2013) Sampling-based Motion Planning for Robotic Information Gathering. In RSS, Cited by: §II.
  • [7] S. Jain, S. Nuske, A. Chambers, L. Yoder, H. Cover, L. Chamberlain, S. Scherer, and S. Singh (2015) Autonomous river exploration. In Field and Service Robotics, Cited by: §II.
  • [8] N. Karapetyan, K. Benson, C. McKinney, P. Taslakian, and I. Rekleitis (2017) Efficient multi-robot coverage of a known environment. In iros, Cited by: §V.
  • [9] N. Karapetyan, J. Moulton, J. S. Lewis, A. Quattrini Li, J. M. O’Kane, and I. M. Rekleitis (2018) Multi-robot dubins coverage with autonomous surface vehicles. In icra, Cited by: §V.
  • [10] A. Kwok and S. Martínez (2010) A coverage algorithm for drifters in a river environment. In Proc. ACC, Cited by: §II.
  • [11] A. Kwok and S. Martínez (2010) Deployment of drifters in a piecewise-constant flow environment. In Proc. CDC, Cited by: §II.
  • [12] J. Lewis, W. Edwards, K. Benson, I. Rekleitis, and J. O’Kane (2017) Semi-boustrophedon coverage with a dubins vehicle. In iros, Cited by: §II.
  • [13] S. Manjanna, N. Kakodkar, M. Meghjani, and G. Dudek (2016) Efficient terrain driven coral coverage using Gaussian Processes for mosaic synthesis. In Computer and Robot Vision (CRV), Cited by: §II.
  • [14] S. Manjanna, A. Quattrini Li, R. N. Smith, I. Rekleitis, and G. Dudek (2018) Heterogeneous Multirobot System for Exploration and Strategic Water Sampling. In icra, Cited by: §II.
  • [15] J. Moulton, N. Karapetyan, S. Bukhsbaum, C. McKinney, S. Malebary, G. Sophocleous, A. Q. Li, and I. Rekleitis (2018) An autonomous surface vehicle for long term operations. In MTS/IEEE OCEANS, Cited by: §I, §IV.
  • [16] J. Moulton, N. Karapetyan, A. Q. Li, and I. Rekleitis (2018) External force field modeling for autonomous surface vehicles. arXiv preprint arXiv:1809.02958. Cited by: §IV-B, §V.
  • [17] Ping DSP Inc.. Note: http://www.pingdsp.com/3DSS-DX-450[Accessed: 2018-05-11] Cited by: §IV-C.
  • [18] K. Qin and D. A. Shell (2017) Robots going round the bend—a comparative study of estimators for anticipating river meanders. In icra, Cited by: §II, §V.
  • [19] M. Quigley, K. Conley, B. P. Gerkey, J. Faust, T. Foote, J. Leibs, R. Wheeler, and A. Y. Ng (2009) ROS: an open-source Robot Operating System. In ICRA Workshop on Open Source Software, Cited by: §IV.
  • [20] C. Rasmussen and C. Williams (2006)

    Gaussian processes for machine learning

    .
    MIT Press. Cited by: §IV-B.
  • [21] A. Singh, A. Krause, C. Guestrin, and W. J. Kaiser (2009) Efficient informative sensing using multiple robots. JAIR. Cited by: §II.
  • [22] A. Sipahioglu, G. Kirlik, O. Parlaktuna, and A. Yazici (2010) Energy constrained multi-robot sensor-based coverage path planning using capacitated arc routing approach. RAS. Cited by: §II.
  • [23] F. D. Snyder, D. D. Morris, P. H. Haley, R. T. Collins, and A. M. Okerholm (2004) Autonomous river navigation. In Mobile robots XVII, Cited by: §II.
  • [24] R. Vaughan (2008) Massively multi-robot simulation in stage. Swarm intelligence. Cited by: §IV.
  • [25] A. Xu, C. Viriyasuthee, and I. Rekleitis (2014) Efficient complete coverage of a known arbitrary environment with applications to aerial operations. auro. External Links: ISSN 0929-5593 Cited by: §IV-A.
  • [26] Y. Zhang, J. G. Bellingham, J. P. Ryan, B. Kieft, and M. J. Stanway (2013) Two-dimensional mapping and tracking of a coastal upwelling front by an autonomous underwater vehicle. In MTS/IEEE Oceans, Cited by: §II, §IV-A.