This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Field Testing of a Stochastic Planner for ASV Navigation Using Satellite Images

Philip (Yizhou) Huang
Robotics Institute
Carnegie Mellon University
Pittsburgh, USA
philiphuang@cmu.edu
&Tony (Qiao) Wang
Division of Engineering Science
University of Toronto
Toronto, Canada
tonyivt.wang@mail.utoronto.ca
\ANDFlorian Shkurti
Department of Computer Science
University of Toronto
Toronto, Canada
florian@cs.toronto.edu
&Timothy D. Barfoot
Institute for Aerospace Studies
University of Toronto
Toronto, Canada
tim.barfoot@utoronto.ca
Corresponding author, worked done during Master’s degree at the University of Toronto.
Abstract

We introduce a multi-sensor navigation system for autonomous surface vessels (ASV) intended for water-quality monitoring in freshwater lakes. Our mission planner uses satellite imagery as a prior map, formulating offline a mission-level policy for global navigation of the ASV and enabling autonomous online execution via local perception and local planning modules. A significant challenge is posed by the inconsistencies in traversability estimation between satellite images and real lakes, due to environmental effects such as wind, aquatic vegetation, shallow waters, and fluctuating water levels. Hence, we specifically modelled these traversability uncertainties as stochastic edges in a graph and optimized for a mission-level policy that minimizes the expected total travel distance. To execute the policy, we propose a modern local planner architecture that processes sensor inputs and plans paths to execute the high-level policy under uncertain traversability conditions. Our system was tested on three km-scale missions on a Northern Ontario lake, demonstrating that our GPS-, vision-, and sonar-enabled ASV system can effectively execute the mission-level policy and disambiguate the traversability of stochastic edges. Finally, we provide insights gained from practical field experience and offer several future directions to enhance the overall reliability of ASV navigation systems.

1 Introduction

Autonomous Surface Vessels (ASVs) have seen increasing attention as a technology to monitor rivers, lakes, coasts, and oceans in recent years [121, 171, 126, 160, 109, 118, 102, 161]. A fundamental challenge to the wide adoption of ASVs is the ability to navigate safely and autonomously in uncertain environments, especially for long durations. For example, many existing ASV systems require the user to precompute a waypoint sequence. The robot then visits these target locations on a map and attempts to execute the path online [187, 191]. However, disturbances such as strong winds, waves, unseen obstacles, aquatic plants that may or may not be traversable, and even simply changing visual appearances in a water environment are challenging for ASV navigation (Fig. 1). Many potential failures in robot perception and control systems may also undermine the mission’s overall success. Engineering challenges such as power and computational budget also make it challenging to implement many robot autonomy modules and integrate them with onboard sensors. To ensure the safety of the overall operation, users of the ASV system may also wish to understand its high-level behaviour and any decisions made during the mission.

Our long-term goal is to use an ASV to monitor lake environments and collect water samples for scientists. A requirement for achieving this, and the primary focus of this paper, is to ensure robust global and safe local navigation. To enhance the robustness of the overall system, we identify waterways that are prone to local blockage as stochastic edges and plan mission-level policies offline on our high-level map. Uncertainties that arise during policy execution are handled by the local planner. One planning framework that is suitable for modelling uncertain paths is the Canadian Traveller Problem (CTP) [172], a variant of the shortest-path planning problem for an uncertain road network. The most significant feature in a CTP graph is the stochastic edge, which has a probability of being blocked. The state of any stochastic edge can be disambiguated by visiting the edge. Once the state has been visited and classified as traversable or not, it remains the same. Separating planning into a high-level mission planner and a local online planner offers several advantages. The high-level planner creates a global policy with contingencies that can be adjusted online for any unmapped obstacles. Offline planning improves interpretability and reduces the computational resources required online. This allows the user to easily inspect the planned paths before deploying the robot. With offline planning, more time can be allocated to find the optimal global paths. The local planner can then focus on accurately tracking the global path and adjusting for any unmapped obstacles and environmental uncertainties.

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Refer to caption
(d)
Figure 1: Real-world challenges that motivate the use of stochastic edges in our planning setup.

In our prior work [142], we proposed a navigation framework — the Partial Covering Canadian Traveller Problem (PCCTP) — to solve a mission-planning problem in an uncertain environment. The framework used a stochastic graph derived from coarse satellite images to plan an adaptive policy that visits all reachable target locations. Stochasticity in the graph represents possible events where a water passage between two points is blocked due to changing water levels, strong wind, and other unmapped obstacles. The optimal policy is computed offline with a best-first tree-search algorithm. We evaluated our solution method on 1052 Canadian lakes selected from the CanVec Series Ontario dataset [168] and showed it can reduce the total distance to visit all targets and return. In our past field tests, we found that completing the global mission fully autonomously, even for a 5-node policy, was very challenging. A total of seven manual interventions were required for reasons other than battery replacement in the two old field trials conducted. The failure to detect unmapped local obstacles directly led to collisions. We observed that the previous local planner experienced edge cases where it could not find a valid path around local obstacles while tracking the global plan. In addition, the local navigation system had many intermittent errors that temporarily stopped the robot due to false positives from obstacle detection. These past field experiences highlight the need to improve the previous system and conduct more field tests in new environments.

This article extends our previous work as described by [142] in two ways. First, we made significant improvements to our local planner responsible for tracking the global path and handling any locally occurring uncertainties such as obstacles. Our ASV system estimates the waterline using a learned network and a stereo camera and detects underwater obstacles using a mechanically scanning sonar. We fuse both sensors into an occupancy grid map, facilitating a sampling-based local motion planner to compute a pathway to track the global path while avoiding local obstacles. As in our previous research, we use a timer to distinguish stochastic edges and select appropriate policy branches based on the traversability assessment of the stochastic edges. Secondly, we have validated the overall system on three distinct missions, two of which are new. Our field trials show that our ASV reliably and autonomously executes precomputed policies from the mission planner under varying operating conditions and amid unmapped obstacles, even when the local planner does not perfectly map the local environment or optimally steer the ASV. We have also tested the local planner through an ablation study to identify bottlenecks in localization, mapping, and sensor fusion in the field. Our lessons learned from our field tests are detailed, and we believe this work will serve as a beneficial reference for any future ASV systems developed for environmental monitoring.

Refer to caption
Figure 2: A high-level overview of our navigation framework for water sampling. Given a set of user-selected target locations (red icons), our algorithm identifies stochastic edges from coarse satellite images and plans a mission-level policy for ASV navigation. Aerial views of two stochastic edges from real-world experiments are shown here.

2 Related Works

Autonomous ASV navigation for environmental monitoring requires domain knowledge from multiple fields, such as perception, planning, and overall systems engineering. In this section, we present a brief survey of all these related fields and discuss the relationship to our methods and any remaining challenges.

Satellite Imagery Mapping First, mission planning in robotics often requires a global, high-level map of the operating environment. Remote sensing is a popular technique to build maps and monitor changes in water bodies around the world because of its efficiency [141, 195]. The JRC Global Surface Water dataset [173] maps changes in water coverage from 1984 to 2015 at a 30 m by 30 m resolution, produced using Landsat satellite imagery. Since water has a lower reflectance in the infrared channel, an effective method is to calculate water indices, such as Normalized Difference Water Index (NDWI) [166] or MNDWI [193], from two or more optical bands (e.g., green and near-infrared). However, extracting water data using a threshold in water indices can be nontrivial due to variations introduced by clouds, seasonal changes, and sensor-related issues. To address this, [156] and [127] have developed techniques to select water-extraction thresholds adaptively. Our approach aggregates water indices from historical satellite images to estimate probabilities of water coverage (see Sec. 3.3). Overall, we argue that it is beneficial to build stochastic models of surface water bodies due to their dynamic nature and imperfect knowledge derived from satellite images.

Global Mission Planning The other significant pillar of building an ASV navigation system is mission planning. First formulated in the 1930s, the Travelling Salesman Problem (TSP) [154] studies how to find the shortest path in a graph that visits every node once and returns to the starting node. Modern TSP solvers such as the Google OR-tools [175] can produce high-quality approximate solutions for graphs with about 20 nodes in a fraction of a second. Other variants have also been studied in the optimization community, such as the Travelling Repairman Problem [100] that minimizes the total amount of time each node waits before the repairman arrives, and the Vehicle Routing Problem [190] for multiple vehicles. In many cases, the problem graphs are built from real-world road networks, and the edges are assumed to be always traversable. In CTP [172], however, edges can be blocked with some probability. The goal is to compute a policy that has the shortest expected path to travel from a start node to a single goal node. CTP can also be formulated as a Markov Decision Process [106] and solved optimally with dynamic programming [176] or heuristic search [101]. The robotics community has also studied ways in which the CTP framework can be best used in path planning [125, 136]. Our problem setting, the Partial Covering Canadian Traveller Problem (PCCTP), lies at the intersection of TSP and CTP, where the goal is to visit a partial set of nodes on a graph with stochastic edges. A similar formulation, known as the Covering Canadian Traveller Problem (CCTP) [157], presents a heuristic, online algorithm named Cyclic Routing (CR) to visit every node in a complete nn-node graph with at most n2n-2 stochastic edges. A key distinction between CCTP and our setting is that CCTP assumes all nodes are reachable, whereas, in PCCTP the robot may give up on unreachable nodes located behind an untraversable edge.

In our work, the user specifies the target locations of the planner, and the ASV can visit these predefined locations and collect water samples for off-site analysis. Modern ASVs can also be equipped with scientific instruments, such as the YSI Sonde used in [143], for in situ analysis of a spatial area. In this case, robotics path planning can also consider scientific values in addition to efficiency, traversability, and time constraints. Complete coverage planning first determines all areas that can be traversed and then selects either a set motion primitive [133] or a lawnmower pattern [147] to encompass a surveying region. The survey region can also be decomposed into many distinct, non-overlapping cells, and the visitation order can be optimized with the TSP algorithm [116]. As an alternative, informative path planning adaptively plans the robot’s path and goal based on real-time sensor data to maximize scientific value [103]. A common approach builds a probabilistic model of the environment online with Bayesian models [163, 114] and then identifies the next target location that maximizes the information gain [104, 164]. Informative path planning can also be performed in continuous space with a sampling-based planner, which finds the best path in the sampled tree or roadmap that maximizes information gain subject to a budget constraint [140]. These techniques have also been applied specifically to ASVs [188, 149, 174, 129, 162] and even underwater robots [150, 135] for marine environmental monitoring.

ASV Systems In recent years, more ASV systems and algorithms for making autonomous decisions to monitor environments have been built. [182] classify the autonomy level for ASVs into 10 levels based on control systems, decision-making, and exception handling. Many works consider the mechanical, electrical, and control subsystems of their ASV designs [102, 160, 126]. [143] optimized the ASV design to minimize the interference on sensor readings caused by the propulsion system and hull design. [118] validated the use and accuracy of deploying ASVs for water-quality modelling by comparing the data collected from ASVs with independent sensors, and [179] confirmed that robotic water quality measurements were robust to sensor response time and robot motions. More examples of vertically integrated autonomous water-quality monitoring systems using ASVs are presented by [111], [109], and [105]. The JetYak platform, introduced in [151], is a small and inexpensive ASV built for navigating and surveying in shallow or hazardous environments such as glaciers or unexplored ordnance areas. In [169], the platform has also been retrofitted for large spatial-scale mapping of dissolved carbon dioxide and methane in a marine environment. Also modelled after JetYak, [167] proposed a more modular and flexible ASV design and discussed many valuable lessons learned to build a fleet of ASVs and their field deployments. In contrast, our main contribution is a robust mission-planning framework that is complementary to existing designs of ASV systems.

Local Motion Planning Path planning for navigation and obstacle avoidance is a comprehensive field that has been extensively studied [181]. The primary purpose of the local planner in this project is to successfully identify and follow a safe path that tracks the global path while averting locally detected obstacles in real-time. Sampling-based motion planners such as RRT* [146] and BIT* [132] are favourable, owing to their probabilistically complete nature and proven asymptotic optimality given the right heuristics. Our local motion planner is based on [183], a variant of the sampling-based planner designed to follow a reference path. Using a new edge-cost metric and planning in the curvilinear space, their proposed planner can incrementally update its path to avoid new or moving obstacles without replanning from the beginning while minimizing deviation to the global reference path. Search-based algorithms, such as D* lite [153] and Field D* [124], commonly used in mobile robots and autonomous vehicles, operate on a discretized 2D grid and employ a heuristic to progressively locate a path from the robot’s present location to the intended destination. Subsequently, the optimal solution from the path planning is submitted to a low-level controller tasked with calculating the necessary velocities or thrusts in mobile robotics systems. Parallel to the planning and control framework, other models such as direct tracking with a constrained model-predictive controller [144] and training policies for path tracking through reinforcement learning [184] have emerged as new areas of research in recent years.

Perception Lastly, our navigation framework requires local perception modules to clarify uncertainties in our map and avoid obstacles. Vision-based obstacle detection and waterline segmentation have also received renewed attention in the marine robotics community. Recent contributions have largely focused on detecting or segmenting obstacles from RGB images using neural networks [189, 185, 177, 194, 155]. A substantial amount of research has been dedicated to identifying waterlines [198, 186, 185, 196] since knowing the whereabouts of navigable waterways can often be sufficient for navigation. Several annotated datasets collected in different water environments, such as inland waterways [115] and coastal waters [107, 108] have been published by researchers. Foundational models for image segmentation, such as ‘Segment Anything’ [152], have also gathered increasing attention due to their incredible zero-shot generalization ability and are being used in tracking [159] or remote sensing tasks [112]. Sonar is another popular sensor that measures distance and detects objects on or under water surfaces using sound waves. [138] pioneered the use of a mechanical scanning sonar for ASV obstacle detection and avoidance and demonstrated that obstacles generated from sonar could serve as labels for aerial images [139]. [148] focused on detecting and tracking sea-surface objects and wakes from a forward-looking sonar image. Occupancy-grid mapping, a classic probabilistic technique for mapping the local environment, was used to fuse measurements from sonars and stereo cameras on a mobile ground robot [122]. For our perception pipeline, we combine the latest advances in computer vision, large datasets from the field, and traditional filtering techniques to make the system robust in real-world operating conditions. Despite advances, accurate sensor fusion of above-water stereo cameras and underwater sonar for precise mapping on an ASV remains a formidable research challenge.

3 Global Mission Planner

In this section, we will describe the mathematical formulation of the planning problem and present a detailed breakdown of our algorithm. Most of the content in this section, including the problem formulation and the PCCTP-AO* algorithm, has been introduced in our previous work [142].

3.1 The Problem Formulation

We are interested in planning on a graph representation of a lake where parts of the water are stochastic (i.e., uncertain traversability). Constructing such a graph using all pixels of satellite images is impractical since images are very high-dimensional. Thus, we extend previous works from CTP [172, 157, 136] and distill satellite images into a high-level graph GG where some stochastic edges ee may be untraversable with probability pp. The state of a stochastic edge can be disambiguated only when the robot traverses the edge in question. The robot begins at the starting node ss and is tasked to visit all reachable targets JJ specified by the user (e.g., scientists) before returning to the starting node. If some target nodes are unreachable because some stochastic edges block them from the starting node, the robot may give up on these sampling targets. We call this problem the Partial Covering Canadian Traveller Problem (PCCTP). Fig. 3 is a simplified graph representation of a lake with two stochastic edges. The state of the robot is defined as a collection of the following: a list of target nodes that it has visited, the current node it is at, and its knowledge about the stochastic edges. A policy sets the next node to visit, given the current state of the robot. The objective is to find the optimal policy π\pi^{*} that minimizes the expected cost to cover all reachable targets. In the example problem (Fig. 3), the robot can either disambiguate the left or right stochastic edge to reach the sampling location. Formally, we define the following terms:

Refer to caption
(a) Toy Example Graph
Refer to caption
(b) Aerial View (Graph Hand-Sketched)
Figure 3: A toy example graph shown on the water mask generated from Sentinel-2 satellite images, with the corresponding graph on an aerial view image shown on the right. The planned paths between nodes are simplified for ease of understanding. The number beside each edge of the high-level graph is the path length in km, and the number in brackets is the blocking probability, which is computed using the probability of water coverage in each pixel (represented by its shade of orange) on the path. Note that traversable and ambiguous edges are the state before any action.
  • G=(V,E)G=(V,E) is an undirected graph.

  • c:E0c:E\rightarrow\mathbb{R}_{\geq 0} is the cost function for an edge, which is the length of the shortest waterway between two points.

  • p:E[0,1]p:E\rightarrow[0,1] is the blocking probability function. An edge with 0 blocking probability is deterministic; otherwise, it is stochastic.

  • kk is the number of stochastic edges.

  • sVs\in V is the start and return node.

  • JVJ\subseteq V is the subset of target nodes to visit. There are |J||V||J|\leq|V| goal nodes.

  • I={A,T,U}kI=\{\text{A},\text{T},\text{U}\}^{k} is an information vector that represents the robot’s knowledge of the status of all kk stochastic edges. A, T, and U stand for ambiguous, traversable, and untraversable, respectively.

  • SJS\subseteq J is the subset of target nodes that the robot has visited.

  • aa is the current node the robot is at.

  • x=(a,S,I)x=(a,S,I) is the state of the robot. aa is the current node, SS is the set of visited targets, and II is the current information vector.

  • π\pi^{*} is the optimal policy that minimizes the cost 𝔼wp(w)[ϕ(π)]\mathbb{E}_{w\sim p(w)}\left[\phi\left(\pi\right)\right], where ϕ\phi is cost functional of the policy π\pi and ww is a possible world of stochastic graph, where each stochastic edge is assigned a traversability state.

Refer to caption
Figure 4: The final AO tree after running PCCTP-AO* on the example in Fig. 3. The label inside each node is the current state of the robot. OR nodes are rectangles, and AND nodes are ellipses. Nodes that are part of the final policy are green, extra expanded nodes are yellow, and leaf nodes terminated early are orange. Some orange nodes that are terminated early are left out in this figure for simplicity. This figure is reproduced from Fig. 3 in [142].

3.2 Exactly Solving PCCTP with AO*

We extend the AO* search algorithm [101] used in CTP to find exact solutions to our problem. AO* is a heuristic, best-first search algorithm that iteratively builds an AO tree to explore the state space until the optimal solution is found. In this section, we will first explain how to use an AO tree to represent a PCCTP instance, then break down how to use AO* to construct the AO tree containing the optimal policy.

AO Tree Representation of PCCTP The construction of the AO tree is a mapping of all possible actions the robot can take and all possible disambiguation outcomes at every stochastic edge. Following [101], an AO tree is a rooted tree T=(N,A)T=(N,A) with two types of nodes and arcs. A node nNn\in N is either an OR node or an AND node; hence the node set NN can be partitioned into the set of OR nodes NON_{O} and the set of AND nodes NAN_{A}. Each arc in AA represents either an action or a disambiguation outcome and is not the same as GG’s edges (AEA\neq E). For all nNn\in N, a function c:A0c:A\to\mathbb{R}_{\geq 0} assigns the cost to each arc. Also, for all nNAn\in N_{A}, a function p:A[0,1]p:A\to[0,1] assigns a probability to each arc. A function f:N0f:N\to\mathbb{R}_{\geq 0} is the cost-to-go function if it satisfies the following conditions:

  • if nNAn\in N_{A}, f(n)=nN(n)[p(n,n)×(f(n)+c(n,n))]f(n)=\sum_{n^{\prime}\in N(n)}[p(n,n^{\prime})\times(f(n^{\prime})+c(n,n^{\prime}))],

  • if nNOn\in N_{O}, f(n)=minnN(n)[f(n)+c(n,n)]f(n)=\min_{n^{\prime}\in N(n)}[f(n^{\prime})+c(n,n^{\prime})],

  • if nNn\in N is a leaf node, f(n)=0f(n)=0.

Algorithm 1 The PCCTP-AO* Algorithm
1:Graph G(V,E)G(V,E), cost function cc, heuristic hh, blocking probability pp, target set JJ, kk stochastic nodes, start node ss
2:n.a=sn.a=s, n.S=n.S=\emptyset, n.I={A}kn.I=\{A\}^{k}
3:f(n)=h(n)f(n)=h(n); nn.type = OR; T.T.root = nn
4:while T.T.root.status \neq solved do
5:     n=n= SelectNode(T.T.root)
6:     for nExpand(n,T)n^{\prime}\in\textsc{Expand}(n,T) do
7:         f(n)=h(n)f(n^{\prime})=h(n^{\prime})
8:         if ReachableSet(J,n.I)n.S\textsc{ReachableSet}(J,\;n^{\prime}.I)\subseteq n^{\prime}.S then
9:              n.n^{\prime}.status = solved
10:         end if
11:     end for
12:     Backprop(n,Tn,T)
13:end while
14:if T.T.root.ff == inf then return No Solution
15:end if
16:return TT
17:function Backprop(n,Tn,T) \triangleright Update the cost of the parent of nn recursively until the root. Same as in [136].
18:     while nT.n\neq T.root do
19:         if nn.type == OR then
20:              n=argminnN(n)[f(n)+c(n,n)]n^{*}=\text{argmin}_{n^{\prime}\in N(n)}[f(n^{\prime})+c(n,n^{\prime})]
21:              f(n)=f(n)+c(n,n)f(n)=f(n^{*})+c(n,n^{*})
22:              if n.n^{*}.status == solved then n.n.status = solved
23:              end if
24:         end if
25:         if n.n.type == AND then
26:              f(n)=nN(n)[p(n,n)×(f(n)+c(n,n))]f(n)=\sum_{n^{\prime}\in N(n)}[p(n,n^{\prime})\times(f(n^{\prime})+c(n,n^{\prime}))]
27:              if n.n^{\prime}.status == solved nN(n)\forall n^{\prime}\in N(n) then
28:                  n.n.status = solved
29:              end if
30:         end if
31:         n=n.n=n.parent
32:     end while
33:end function

Now, we can map each node and edge such that the AO tree represents a PCCTP instance. Specifically, each node nn is assigned a label (n.a,n.S,n.I)(n.a,n.S,n.I) that represents the state of the robot. n.an.a is the current node, n.Sn.S is the set of visited targets, and n.In.I is the information vector containing the current knowledge of the stochastic edges. The root node rr is an OR node with the label (s,,AAA)(s,\emptyset,\mathrm{AA...A}), representing the starting state of the robot. An outgoing arc from an OR node nn to its successor nn^{\prime} represents an action, which can be either visiting the remaining targets and returning to the start or going to the endpoint of an ambiguous edge via some target nodes along the way. An AND node corresponds to the disambiguation event of a stochastic edge, so it has two successors describing both possible outcomes. Each succeeding node of an OR node is either an AND node or a leaf node. A leaf node means the robot has visited all reachable target nodes and has returned to the start node. Each arc (n,n)(n,n^{\prime}) is assigned a cost cc, which is the length of travelling from node n.an.a to node n.an^{\prime}.a while visiting the subset of newly visited targets n.Sn.Sn^{\prime}.S\setminus n.S along the way. For all outgoing arcs of an AND node, the function pp assigns the traversability probability for the stochastic edge. The cost of disambiguating that edge is its length.

Once the complete AO tree is constructed, the optimal policy is the collection of nodes and arcs included in the calculation of the cost-to-go from the root of the tree, and the optimal expected cost is f(r)f(r). For example, the optimal action at an OR node nn is the arc (n,n)(n,n^{\prime}) that minimizes the cost-to-go from nn, while the next action at an AND node depends on the disambiguation outcome. However, constructing the full AO tree from scratch is not practical since the space complexity is exponential with respect to the number of stochastic edges. Instead, we use the heuristic-based AO* algorithm, explained below.

Algorithm 2 Algorithm for AO* Expansion
1:function SelectNode(nn) \triangleright Find the most promising subtree recursively until reaching a leaf node.
2:     if N(n)==N(n)== empty then return n
3:     end if
4:     best =argminnN(n)[f(n)+c(n,n)]=\text{argmin}_{n^{\prime}\in N(n)}[f(n^{\prime})+c(n,n^{\prime})]
5:     return SelectNode(best)
6:end function
7:function Expand(nn, TT) \triangleright Find the set of succeeding nodes for node nn and add them to the tree TT.
8:     N(n)N(n) = []
9:     if nn.type == OR then
10:         JR=ReachableSet(J,n.I)J^{R}=\textsc{ReachableSet}(J,n.I)
11:         qq = Queue(); qq.append((n.S,n.a)(n.S,n.a))
12:         cost =Dictionary{(n.S,n.a):0}=\text{Dictionary}\{(n.S,n.a):0\}
13:         while qq is not empty do \triangleright Search all paths that end up at an ambiguous edge
14:              n=q.n=q.pop()
15:              A={ahasAmbiguousEdge(a)aV}A=\{a\mid\textsc{hasAmbiguousEdge}(a)\;\;\forall a\in V\}
16:              for a(JRA)n.Sa^{\prime}\in(J^{R}\cup A)\setminus n.S do
17:                  S=(n.SPath(n.a,a))JRS^{\prime}=(n.S\cup\textsc{Path}(n.a,a^{\prime}))\cap J^{R}
18:                  c=cost[(n.S,n.a)]+c(n.a,a)c^{\prime}=\text{cost}[(n.S,n.a)]+c(n.a,a^{\prime})
19:                  if (S,a)(S^{\prime},a^{\prime}) not in cost or cost[(S,a)]>c[(S^{\prime},a^{\prime})]>c^{\prime} then
20:                       cost[(S,a)]=c[(S^{\prime},a^{\prime})]=c^{\prime} \triangleright Update the best path and best cost
21:                       qq.append((S,a)(S^{\prime},a^{\prime}))
22:                  end if
23:              end for
24:         end while
25:         costf = Dictionary{} \triangleright Find the best route to visit all targets and return to start
26:         for (S,a)(S,a)\in costs do
27:              n=(S,a,n.I)n^{\prime}=(S,a,n.I); N(n)N(n).append(nn^{\prime}) \triangleright Add to set of succeeding nodes
28:              if SJRS\subseteq J^{R} then
29:                  costf[(S,a)][(S,a)] = cost[(S,a)]+c(a,s)[(S,a)]+c(a,s)
30:              end if
31:         end for
32:         Sf,af=argminSf,afcostf[(S,a)]S^{f},a^{f}=\text{argmin}_{S^{f},a^{f}}\text{costf}[(S,a)]
33:         nf=(Sf,s,n.I)n^{f}=(S^{f},s,n.I); N(n)N(n).append(nfn^{f}) \triangleright Add to set of succeeding nodes
34:     end if
35:     if n.n.type == AND then
36:         for eambiguousEdge(n.a)e\in\textsc{ambiguousEdge}(n.a) do \triangleright Expand the disambiguation of ambiguous edges
37:              nT.I=n^{T}.I= Unblock(nT.I,en^{T}.I,e); N(n)N(n).append(nTn^{T})
38:              nU.I=n^{U}.I= Block(nU.I,en^{U}.I,e); N(n)N(n).append(nUn^{U})
39:         end for
40:     end if
41:     return N(n)N(n)
42:end function

PCCTP-AO* Algorithm Our PCCTP-AO* algorithm (Algorithm 1 and 2) is largely based on the AO* algorithm [110, 165]. AO* utilizes an admissible heuristic h:N0h:N\to\mathbb{R}_{\geq 0} that underestimates the cost-to-go ff to build the AO tree incrementally from the root node until the optimal policy is found. The algorithm expands the most promising node in the current AO tree based on a heuristic and backpropagates its parent’s cost recursively to the root. This expansion-backpropagation process is repeated until the AO tree includes the optimal policy.

One key difference between AO* and PCCTP-AO* is that the reachability of a target node may depend on the traversability of a set of critical stochastic edges connecting the target to the root. If a target jJj\in J is disconnected from the current node aa when all the stochastic edges from a particular set are blocked, then this set of edges is critical. For example, the two stochastic edges in the top-right graph of Fig. 3 are critical because target node 1 would be unreachable if both edges were blocked. Thus, a simple heuristic that assumes all ambiguous edges are traversable may overestimate the cost-to-go if skipping unreachable targets reduces the overall cost.

Alternatively, we can construct the following relaxed problem to calculate the heuristic. If a stochastic edge is not critical to any target, we still assume it is traversable. Otherwise, we remove the potentially unreachable target for the robot and instead disambiguate one of the critical edges of the removed target. The heuristic is the cost of the best plan that covers all definitively reachable targets and disambiguates one of the critical stochastic edges. For example, consider computing the heuristic at starting node 0 in Fig. 5. The goal is to visit both nodes 1 and 2 if they are reachable. Node 1 is always reachable; hence we assume it is traversable in the relaxed problem. Node 2 may be unreachable, so we remove the stochastic edge (4, 2) and ask the boat to visit Node 4 instead in the relaxed problem. This heuristic is always admissible because the path to disambiguate a critical edge is always a subset of the eventual policy. We can compute this by constructing an equivalent generalized travelling salesman problem [170] and solve it with any optimal TSP solver.

Fig. 4 shows the result of applying PCCTP-AO* to the example problem in Fig. 3. The returned policy (coloured in green nodes) tries to disambiguate the closer stochastic edge (2,3)(2,3) to reach target node 1. Note that the AO* algorithm stops expanding as soon as the lower bound of the cost of the right branch exceeds that of the left branch. This guarantees the left branch has a lower cost and, thus, is optimal.

Refer to caption
Figure 5: Example of how we relax the original problem graph to calculate the heuristic h(n)h(n). At a high level, we construct a relaxed problem by removing all stochastic edges and unreachable nodes from the original graph. Then, the heuristic of the original problem is the cost of the relaxed problem and is always admissible.

3.3 Estimating Stochastic Graphs From Satellite Imagery

We will now explain our procedure to estimate the high-level stochastic graph from satellite images.

Water Masking Our first step is to build a water mask of a water area across a specific period (e.g., 30 days). We use the Sentinel-2 Level 2A dataset [120], which has provided multispectral images at 10 m by 10 m resolution since 2017. Each geographical location is revisited every five days by a satellite. We then select all satellite images in the target spatiotemporal window and filter out the cloudy images using the provided cloud masks. For each image, we calculate the Normalized Difference Water Index (NDWI) [166] for every pixel using green and near-infrared bands. However, the distribution of NDWI values varies significantly across different images over time. Thus, we separate water from land in each image and aggregate the indices over time. We then fit a bimodal Gaussian Mixture Model on the histogram of NDWIs to separate water pixels from non-water ones for each image. We average all water masks over time to calculate the probabilistic water mask at the target spatiotemporal window. Each pixel on the final mask represents the probability of water coverage on this 10 m by 10 m area. If the probability of water for a pixel is greater than 90%, we treat it as a deterministic water pixel. We then classify pixels with a probability lower than 90% but greater than 50% as stochastic water pixels. Finally, we identify the boundary of all deterministic water pixels. Fig. 7 shows an overview of these steps.

Refer to caption
(a) Example of Pinch Points
Refer to caption
(b) Example of a Windy Edge
Figure 6: Satellite images illustrating two types of stochastic edges. Water pixels are marked in blue, with their estimated boundaries in black. The left image demonstrates several pinch points, highlighted in orange, that represent potential paths connecting water pixels from two distinct water bodies that are otherwise far or disconnected. The image on the right visually describes the concept of a windy edge. Any water pixel at least 200 metres from the boundary falls within the yellow windy area. If an edge crosses the windy area, then it is classified as a windy edge.
Refer to caption
Figure 7: Overview of the water-masking process for deriving water probabilities from satellite imagery. The procedure begins with historical Sentinel-2 satellite images displayed on the left. Water pixels are individually identified in each image by first calculating the NDWI water index and then using a bimodal Gaussian Mixture Model for classification. The results of each classification are averaged to determine the probabilities of water, which are depicted on the right. Pixels with reduced water probabilities are coloured more yellow.

Stochastic Edge Detection: Pinch Points We can now identify those stochastic water paths (i.e., narrow straits, pinch points [125]) that are useful for navigation. A pinch point (e.g. Fig. 6(a)) is a sequence of stochastic water pixels connecting two parts of topologically far (or distinct) but metrically close water areas. Essentially, this edge is a shortcut connecting two points on the water boundary that are otherwise far away or disconnected. To find all such edges, we iterate over all boundary pixels, test each shortest stochastic water path to nearby boundary pixels, and include those stochastic paths that are shortcuts. The blocking probability of a stochastic edge is one minus the minimum water probability along the path. Since this process will produce many similar stochastic edges around the same narrow passage, we run DBSCAN [123] and only choose the shortest stochastic edge within each cluster.

Stochastic Edge Detection: Windy Edges The second type of stochastic edges are those with strong wind. In practice, when an ASV travels on a path far away from the shore, there is a higher chance of running into a strong headwind or wave, making the path difficult to traverse. Hence, we define a water pixel to be a windy area if it is at least 200m away from any points of the water boundary. An edge is then treated as a windy edge if it crosses the windy area at some point and we assign a small probability for the event where the wind blocks the edge. An example of a windy area and an associated windy edge is shown in Fig. 6(b).

Path Generation The next step is to construct the geo-tagged path and calculate all edge costs in the high-level graph. The nodes in the high-level graph are composed of all sampling targets, endpoints of stochastic edges, and the starting node. We run A* [137] on the deterministic water pixels to calculate the shortest path between every pair of nodes except for the stochastic edges found in the previous step. Since the path generated by A* connects neighbouring pixels, we smooth them by randomized shortcutting [134]. Then, we can discard any unnecessary stochastic edges if they do not reduce the distance between a pair of nodes. For every stochastic edge, we loop over all pairs of nodes and check if setting the edge traversable would reduce the distance between the pair of nodes. Finally, we check if each deterministic edge is a windy edge and obtain the high-level graph used in PCCTP.

In summary, we estimate water probabilities from historical satellite images with adaptive NDWI indexing and build a stochastic graph connecting all sampling locations and pinch points. The resulting compact graph representing a PCCTP instance can be solved optimally with an AO* heuristic search.

4 Simulations

In this chapter, we will verify the efficacy of our PCCTP planning framework in a large-scale simulation of mission planning on real lakes. The testing dataset and simulation results from this section can be reproduced from our previous work in [142].

4.1 Testing Dataset

We evaluate our mission-planning framework on Canadian lakes selected from the CanVec Series Ontario dataset [168]. Published by Natural Resources Canada, this dataset contains geospatial data of over 1.1 million water bodies in Ontario. Considering a practical mission length, lakes are filtered such that their bounding boxes are 1-10 km by 1-10 km. Then, water masks of the resulting 5190 lakes are generated using Sentinel-2 imagery across 30 days in June 2018-2022 [120]. We then detect any pinch points on the water masks and randomly sample five different sets of target nodes on each lake, each with a different number of targets. The starting locations are sampled near the shore to mimic real deployment conditions.

Furthermore, we generate high-level graphs and windy edges from the water mask. Graphs with no stochastic edges are removed as well as any instances with more than ten stochastic edges due to long run times. Ultimately, we evaluate our algorithm on 2217 graph instances, which come from 1052 unique lakes.

Refer to caption
(a) Average expected regret of PCCTP and baselines
Refer to caption
(b) Average offline runtime of PCCTP
Figure 8: Results of PCCTP and baselines in simulation. In (a), the performance of PCCTP is compared against three baselines. Our proposed method achieves the lowest average expected regret and outperforms the next-best baseline by 1.8km in the extreme case. Note that the stochastic edges include both windy edges and pinch points. In (b), only the CPU execution time for PCCTP is shown, since all baselines are online methods.

4.2 Baseline Planning Algorithms

The simplest baseline is an online greedy algorithm that always goes to the nearest unvisited target node assuming all ambiguous edges are traversable. For a graph with kk stochastic edges, we simulate all 2k2^{k} possible worlds, each with a different traversability permutation, and evaluate our greedy actor on each one. The greedy actor recomputes a plan at every step and queries the simulator if it encounters a stochastic edge to disambiguate it. Also, it checks the reachability of every target node upon discovering an untraversable edge and gives up on any unreachable targets.

A more sophisticated baseline is the optimistic TSP algorithm. Instead of always going to the nearest target node, it computes the optimal tour to visit all remaining targets assuming all ambiguous edges are traversable. Similar to the greedy actor, TSP recomputes a tour at every step and may change its plan after encountering an untraversable edge. The expected cost is computed via a weighted sum on all 2k2^{k} possible worlds. In contrast to PCCTP, both baselines require onboard computation to update their optimistic plans, whereas PCCTP precomputes a single optimal policy that is executed online.

Lastly, we modify the CR algorithm, originally a method for CCTP [157], to solve PCCTP. CR precomputes a cyclic sequence to visit all target nodes using the Christofides algorithm [117] and tries to visit all target nodes in multiple cycles while disambiguating stochastic edges. If a target node turns out to be unreachable, we allow CR to skip this node in its traversal sequence.

4.3 Results

Fig. 8(a) compares our algorithm against all baselines. To measure the performance across various graphs of different sizes, we use the average expected regret over all graphs. The expected regret of a policy π\pi for one graph GG is defined as

𝔼w[Regret(π)]=w[p(w)(ϕ(π,w)ϕ(πp,w))],\mathbb{E}_{w}[\text{Regret}(\pi)]=\sum_{w}[p(w)(\phi(\pi,w)-\phi(\pi^{p},w))],\

where πp\pi^{p} is a privileged planner with knowledge of the states of all stochastic edges, ϕ\phi is the cost functional, and ww is a possible state of (the stochastic edges of) the graph. The cost ϕ(πp,w)\phi(\pi^{p},w), calculated using a TSP solver for each state, serves as a lower bound to the costs incurred by the policy ϕ(π,w)\phi(\pi,w). A low expected regret indicates that the policy π\pi will find efficient paths to visit all target locations and disambiguate the stochastic edges without prior knowledge of their states.

PCCTP precomputes the optimal policy in about 50 seconds on average in our evaluation, and there is no additional cost online. Compared to the strongest baseline (TSP), our algorithm saves the robot about 1%(50m) of travel distance on average and 15%(1.8km) in the extreme case. Although the advantage is not statistically significant on average, our planner still offers advantages in many specific scenarios and edge cases, such as those with high blocking probabilities or long stochastic edges. The performance of PCCTP may be further enhanced if the estimated blocking probabilities of the stochastic edges are refined based on historical data.

We also find that the performance gap between our algorithms and baselines becomes more significant with more windy edges. In fact, if the only type of stochastic edges in our graph is pinch points (i.e., the number of windy edges is 0), the performance gap is almost negligible between PCCTP and the optimistic TSP baseline. The main reason is that most pinch points only reduce the total trip distance by hundreds of meters on a possible state of the graph. Pinch points are most likely to be found either on the edges of a lake or as the only water link connecting two water bodies. In the first case, these pinch points are unlikely to be a big shortcut. As for the latter case, if the pinch point is the only path connecting the starting location to a target node, disambiguating this edge has to be part of the policy. On the other hand, windy edges passing through the centre of a lake are often longer, and the gap between the optimal and suboptimal policy is much more significant.

Computational Complexity The worst-case complexity of our optimal search algorithm is O(|J|!×k!×2k)O(|J|!\times k!\times 2^{k}), which depends on number of stochastic edges kk and number of target nodes |J||J|. The complexity is exponential in nature because there are 2k2^{k} possible states of the stochastic edges, and all possible orders to visit all nodes and disambiguate stochastic edges need to be enumerated without a good heuristic in the worst case.

In practice, however, our implementation performs efficiently on standard laptop CPUs. The median runtime of our algorithm, implemented in Python, is less than one second, and 99% of the instances run under 3 minutes. Nonetheless, approximately 0.5% of instances with eight nodes and 4.2% with ten nodes require more than five minutes to process. We believe the runtime can be considerably improved by rewriting in a more efficient language, such as C++. More importantly, we argue that this one-time cost can occur offline before deploying the robot into a water-sampling mission. Although the worst-case runtime of the AO* algorithm can increase exponentially as the graph increases in size, the number of target locations in each graph cannot grow infinitely for real-world water-sampling missions. Hence, the runtime of PCCTP is not a concern for practical applications.

5 Autonomous Navigation System

This section will explain our local navigation framework in detail and how the robot can execute the mission-level policy and safely follow its planned trajectory.

5.1 Stochastic Edge Disambigutaion

One crucial aspect required for fully autonomous policy execution is the capacity to disambiguate stochastic edges. Our approach is to build a robust autonomy framework (Fig. 9) that relies less on lower-level components such as perception and local planning to execute a policy successfully. In more general terms, the mission planner precomputes the navigation policies from satellite images given user-designated sampling locations. During a mission, the robot will try to follow the global path published by the policy. Sensor inputs from a stereo camera and sonar scans are processed and filtered via a local occupancy-grid mapper. The local planner then tries to find a path in the local frame that tracks the global plan and avoids any obstacles detected close to the future path of the robot. When the robot is disambiguating a stochastic edge, the policy executor will independently decide the edge’s traversability based on the GPS location of the robot and a timer. A stochastic edge is deemed traversable if the robot reaches the endpoint of the prescribed path of this edge within the established time limit. If it fails to do so, the edge is deemed untraversable. There is no explicit traversability check on an ambiguous stochastic edge, such as a classifier or a local map. The timer allows us to address complications we cannot directly sense, such as heavy prevailing winds or issues with the local planner. Following this, the executor branches into different policy cases depending on the outcome of the disambiguation.

We made significant improvements to our local navigation framework compared to our previous work in [142]. Similar to before, the traversability assessment uses a timer and GPS locations to classify an edge’s traversability without directly relying on the result of obstacle detections or local mapping. Instead, we made design decision changes to the local planning architecture and improvements to individual modules. Below, we will explain all the important components and highlight any changes we made.

Refer to caption
Figure 9: The autonomy modules of our navigation system. Global mission planners are coloured in green, sensors inputs are labelled in blue, localization and local mapping nodes are shaded in orange while planning and control nodes are in purple. We have also specifically indicated the modules where we made significant improvements over our previous work [142].

5.2 Terrain Assessment with Stereo Camera

An experienced human paddler or navigator can easily estimate the traversability of a lake by visually distinguishing water from untraversable terrains, obstacles, or any dynamic objects. In our previous work in [142], the video stream collected from the stereo camera is processed geometrically by estimating the water surface from point clouds and clustering point clouds above the water surface as obstacles. This process was prone to stereo-matching errors due to sun glares and calm water surfaces, and could not detect any obstacles on the water surface such as a shallow rock. To address these shortcomings, we use semantic information from RGB video streams and neural stereo disparity maps to estimate traversable waters in front of the robot and identify obstacles. We learn a water segmentation network and bundle it with a temporal filter to estimate the waterline in image space and remove outliers. The estimated waterline is then projected to 3D using the disparity map and used to update the occupancy grid. We provide more details in the following sections.

5.2.1 Water Segmentation Network

Refer to caption
(a)
Refer to caption
(b)
Figure 10: Examples of challenging conditions for semantic segmentation and disparity mapping.

The most important factor in training a robust neural network for water segmentation is a large and diverse dataset. The characteristics of water’s appearance exhibit considerable variation contingent on factors such as wind, reflections, and ambient brightness, as demonstrated in Fig. 10. Yet, the stereo camera falters in difficult lighting conditions due to the lack of dynamic range, culminating in inadequately exposed images and the emergence of artifacts such as shadows, lens flare, and noises.

Our image dataset is collected from previous field tests in Nine Mile Lake and a stormwater management pond at the University of Toronto. However, manual annotation of thousands of images is impractical due to its labour and time intensity. Thus, since semantic segmentation is a well-explored research area, we used a pre-trained SAM (Segment Anything Model) to automate the process of creating ground-truth labels [152]. SAM will try to segment everything beyond just water, outputting numerous masks of different irrelevant items. While it is not yet capable of classifying labelled regions, because water normally occupies the lower half of the frame and is commonly characterized by substantial area and continuity, we can apply a heuristic that heavily favours these features, scoring regions to distinguish water mask mwaterm_{\rm water} from other masks with very high accuracy:

mwater=maxi[A(mi)d(mi)+1],m_{\rm water}=\max_{i}\left[\frac{A(m_{i})}{d(m_{i})+1}\right],

where mim_{i} denotes the mask of class ii from SAM, AA computes the total number of pixels a mask occupies, and dd represents the vertical distance, in pixels, of the masked area’s centroid from the image’s bottom. Then, false positives within the identified mask will be filtered out. With manual checking, we found that this simple approach successfully labelled the entirety of our dataset without failure. An example of this process is shown in Fig. 11. Finally, we have a binary mask ready to be fed into training.

Refer to caption
Figure 11: The steps in the automatic process of generating ground-truth labels. Each distinct colour overlay represents a different object as segmented by SAM. The red region is the final ground-truth water mask after filtering SAM masks, which is used for training our own water segmentation network.
Refer to caption
Figure 12: Example of CutMix augmented training data. A second image with a random exposure multiplier is randomly resized and placed on top of the original image. The red region highlights the pixels that are labelled as water.

Another important technique to improve the quality of neural networks is data augmentation. Our limited training set cannot match all the possible lighting and environmental conditions that the ASV may encounter in future missions. However, we would like the trained network to be robust against issues such as bad exposure and reflections, which significantly affect segmentation performance. To this end, we use colour-jittering and CutMix [197] during training and we find that they greatly enhance out-of-distribution performance, yielding superior generalization in challenging weather conditions as in Fig. 10. Essentially, regions of one training image are cut and overlaid onto another, as demonstrated in Fig. 12 to encourage the model to learn more diverse and challenging features while also expanding our limited dataset.

Refer to caption
(a)
Refer to caption
(b)
Figure 13: Example images and their predicted water mask from our test set. To better assess model capabilities, we hand-picked a diverse set of challenging scenarios, such as reflections, bad exposure, strong glares, aquatic plants, shallow areas, and windy water surfaces. Despite these challenges, our trained water segmentation network reliably produces high-quality water masks.

Our model architecture and pre-trained weights are adopted from the eWaSR maritime obstacle detection network based on the ResNet-18 backbone [189]. Our training dataset contains 4,000 images while our testing split contains 200 images. Images in the training set are sampled uniformly from video recordings of past experiments, while the images of the test set are held out from challenging scenarios that we manually identify. Figure 13(a) displays some examples from the test set. In addition, 10 more labels are generated randomly using CutMix during training for every original labelled image.

Inspired by the semantic segmentation community [158, 107], we use Intersection over Union (IOU, also known as the Jaccard Index) for water pixels as a metric to evaluate the performance of the trained segmentation network. Let ntpn_{tp} be the number of water pixels with the correct predictions, npn_{p} be the total number of pixels classified as water by the neural network, and ngn_{g} be the total number of pixels labelled as water. The IOU can then be calculated as ntp/(ng+npntp)n_{tp}/(n_{g}+n_{p}-n_{tp}). After training, we achieve an average IOU of 0.992 on the 200-image hold-out test set. The results of the predicted water masks after training are shown in Figure. 13(b), and our lightweight yet powerful neural network consistently produces binary masks that accurately and consistently segment water.

5.2.2 Waterline Estimation and Tracking

There are several issues associated with the direct use of raw segmentation masks produced by a neural network. Firstly, the 2D, per-pixel water labels are not inherently suited for determining traversability in front of the robot. Secondly, depth estimations derived from the stereo camera can be severely distorted due to unfavourable conditions such as sun glare or tranquil water reflections. In [142], the geometry-based approach to estimating water planes from point clouds derived from depth images was highly sensitive to noise and required substantial manual adjustments. Lastly, both neural segmentation masks and depth maps can exhibit noise and inconsistency over successive timestamps. These issues necessitate avoiding the direct combination of segmentation masks with depth maps to ascertain the existence of a 3D water surface. Instead, we filter the segmentation masks both spatially and temporally to approximate a waterline in 2D image space, then project this line into 3D space. This projected line then forms the basis for traversability estimates in 3D based on stereo data.

Refer to caption
Figure 14: The stereo-based waterline estimation pipeline. A waterline in the 2D image is estimated and tracked using the water segmentation masks. The 2D waterline is mapped to the depth image generated by the ZED SDK and reprojected into the 3D camera frame based on the depth of waterline pixels and camera intrinsics. The final red points in top view represent the 3D projection of the estimated waterline and separate the traversable water in front of the robot from the impassable area.

We approximate the 2D waterline as a vector comprising nn elements, where nn represents the image’s width. Each element serves to indicate the waterline’s position for that column. The fundamental premise here is that each column contains a clear division between water and everything else – such as the sky, trees, people, shoreline buildings, and other dynamic obstacles. Thus, we can presume that only the pixels below the waterline are navigable, while those above are impassable. This model works well because water surfaces are typically horizontal when viewed from the first-person perspective of the ASV. Therefore, for the purpose of evaluating the robot’s forward navigation, we can safely disregard any water pixels higher than the defined waterline in the image space. The position of the waterline on every column is identified by scanning upwards from the column’s bottom until a non-water region is detected using a small moving window. If ss is the window size, the separation point is the first pixel from the bottom such that the next ss pixels above are all non-water. Usually, the window size is five.

Our filtering process consists of two stages: spatial filtering based on RANSAC [128] and employing a Kalman filter subsequently for temporal tracking of the waterline. We design the spatial filtering step to smooth the waterline and remove spatial outliers; to this end, we employ nearest-neighbour interpolation to fit the random samples in each iteration. RANSAC uses the squared loss function to compare the interpolated waterline and the raw waterline. Then, we apply a linear Kalman filter with outlier rejection to track each individual element (column) of the waterline temporally. The Kalman filter uses RANSAC-filtered waterline as observations and maintains an estimated waterline as the state. Both the state transition matrix and the observation matrix are identities. We use a chi-squared test to discard outliers, which compares the normalized innovation squared to a predetermined threshold. Using both filters, we can eliminate noises in the segmentation mask and mitigate any temporal oscillation or abrupt changes in the predicted water segmentation masks. In practice, we find that the quality of filtering is not very sensitive to the parameters of the RANSAC and the Kalman filter.

At the end of the filtering process, we have a smoothed 2D waterline with one pixel per column that separates navigable water from everything else. We project this line back to the camera’s 3D frame. As shown in Fig. 14, we use the depth coordinate of each waterline pixel and calculate their 3D positions with the intrinsics of the stereo camera. In the end, the 3D waterline separates the traversable water in front of our ASV from any obstacles originally above the 2D waterline. If the 2D waterline is at the horizon (i.e., it separates water and the sky), the projected 3D waterline will be very far away or close to infinity, meaning that all fields of view in front of the robot are traversable water.

Refer to caption
(a) Sonar Scan Bird’s Eye View. Detections are red.
Refer to caption
(b) A Single Sonar Scan and its detection
Figure 15: A sonar scan and obstacle detection result. The scan is taken from the same scene and timestamp as in Fig. 14, and the sonar successfully detected the shoreline visible from the bird’s eye view on the left. Each sonar scan is processed individually by detecting the first local maxima above a peak threshold on the smoothed data. Consecutive sonar scans are used to filter out noise in the detected obstacles.

5.3 Obstacle Detection with Sonar

Sonar is commonly used as a sensor in maritime applications for both ships and submarines. A specific type, the Blue Robotics Ping360 mechanical scanning sonar, serves as our primary sensing module underwater. It is mounted underwater and operates by emitting an acoustic beam within a forward-facing fan-shaped cone. This beam has a consistent width (1°) and height (20°). The sonar then records the echoes reflected by objects, with the reflection strength relating directly to the target’s density. By measuring the return time and factoring in the speed of sound in water, the range of these echoes can be determined. The sonar’s transducer can also be rotated to control the horizontal angle of the acoustic beam. Configured to scan a 120° fan-shaped cone ahead of the boat, the sonar can complete these scans up to a range of 20m in approximately 3.5 seconds. Additionally, we also have a Ping1D Sonar Echosounder from Blue Robotics that measures water depth. The echosounder is mounted underwater and is bottom-facing. Each sonar scan yields a one-dimensional vector that corresponds to the reflection’s intensity along the preset range. If an obstacle impedes the path of the acoustic beam, it prevents the beam from passing beyond the obstruction, leading to an acoustic shadow. This phenomenon facilitates obstacle detection via sonar scanning.

Fig. 15(a) illustrates a typical sonar scan cycle that detects obstacles. A single sonar scan’s raw and processed data with the resulting detected obstacle are shown in Fig. 15(b). The process begins with the removal of noisy reflections within a close range (<<2.5m) before smoothing the scan using a moving-average filter. Following this, all local maxima above a specific peak threshold (50) are detected. An obstacle is identified at the first local maxima, where the average intensity post-peak falls below the shadow threshold (5). These thresholds are tuned by hand on data collected from previous field tests in Nine Mile Lake and the stormwater management pond at the University of Toronto.

A post-processing filter removes detections that do not persist across a minimum of nn scans (with n=2n=2 in our configuration). This is accomplished by calculating the cosine similarity between the current intensity vector and its predecessor. If an obstacle is consistently detected nn times, and the cosine similarity across these successive intensity vectors exceeds 0.9, along with spatial proximity, this detected obstacle point is included. In other words, any detections occurring in isolation, either spatially or temporally, are excluded. In our previous work [142], sonar was only used for data collection purposes and not for local planning or navigation. Using scanning sonar, we can significantly improve our ability to detect shallow or underwater obstacles even if sonar operates at a much lower frequency than the stereo camera.

5.4 Sensor Fusion with Local Occupancy Grid

Refer to caption
Figure 16: Example of sensor fusion with occupancy map before an extruding rock. Yellow line is the waterline estimated by stereo camera, red dots indicate underwater obstacles detected by the scanning sonar, and white dots mean that the sonar did not detect an obstacle at that angle. The rock was successfully detected in the final occupancy grid despite being missed by the stereo camera.

Upon receiving detections from the sonar scans and the stereo camera, they are fused into a coherent local representation to facilitate local path planning and robot control. We utilize the classic occupancy map [122] for our local mapping representation. Unlike a 2D naive cost map used in our previous work [142], an occupancy grid maintains a local map in a principled fashion and naturally filters and smoothes sensor measurements temporally and spatially. The traversability of each cell is determined by naively summing the separately maintained log-odds ratios for sonar and camera. Our occupancy grid is 40m x 40m, with a cell resolution of 0.5m x 0.5m, its centre moving in sync with the robot’s odometry updates. Waterline points, as detected by the stereo camera, are ray-traced in 3D back to the robot, thus lowering the occupied probability of cells within the ray-tracing range. Cells containing or adjacent to waterline points have their occupied probabilities increased. However, points exceeding a set maximum range do not affect occupied probabilities beyond the maximum range due to the decreasing reliability of depth measurements with increasing range. The protocol for updating the log-odds ratios for sonar is similar. Each sonar scan is ray-traced to clear the occupancy grid and marks any cells containing or close to the obstacles. The log-odds ratios of existing cells are decayed with incoming measurement updates, enhancing the map’s adaptability to noisy localizations, false positives, and dynamic obstacles. Finally, we apply a median filter to the occupancy grid to smooth out and remove outliers.

A limitation of this system is that the scanning sonar and the stereo camera observe different sections of the environment. The sonar may detect underwater obstacles invisible to the camera and vice versa for surface-level objects. Fig. 16 provides an example where a shallow rock in the front-right of the ASV is detected by the sonar but missed by the stereo camera. Without ample ground-truth data on the marine environment, reconciling discrepancies between these sensors proves challenging. Traversability estimation, especially in shallow water, is also complicated due to the potential presence of underwater flora (e.g. Fig. 1(c)) or terrain. As a solution, we opt for the simplest fusion method: directly summing the log-odds ratio in each cell. Additionally, we adjust the occupancy grid dilation based on the echosounder’s water depth measurements, increasing the dilation radius when the ASV is in shallower water. The workflow of this strategy is shown in Fig. 16. While this strategy may only present a coarse traversability estimate, it still reliably detects the shoreline despite possible undetected smaller obstacles such as lily pads or weeds. The dilation adjustment employed in shallow water allows the ASV to navigate safely, avoiding prevalent aquatic plants near the shore.

5.5 Local Path Tracking and Control

Refer to caption
Figure 17: Example of the planner replanning around an obstacle and avoiding it. Blue line is the global plan (see Sec. 3.3 for details). Green is the current local plan planned using the local occupancy grid and tries to stay close to the global plan as much as possible (see Sec. 5.5). Red is the robot’s actual trajectory estimated by the GPS. The actual trajectory of the robot is jagged due to both noisy GPS signals, wind, and decaying occupancy map.

Local path tracking is essential to ensure that the robot adheres to the global mission plan while navigating around obstacles on the local map. The desired controller should run in real-time and work well in obstacle-rich environments. The generated local paths must also be easy for the robot to follow. In our previous work, the robot’s velocities were directly controlled using the Dynamic Window Approach (DWA) [130] to avoid local obstacles. However, DWA only samples a single-step velocity and may fail in cluttered environments with obstacles or cul-de-sacs. Direct tracking of the global path with model predictive control (MPC) is another popular option [145, 119], but solving the optimization problem can be costly because the obstacle avoidance constraint is nonconvex in general. In this paper, we use an alternative strategy that uses a separate path planner to find a collision-free path that connects to the global path and then tracks the collision-free path with an MPC. We employ a modified version of Lateral BIT*, as proposed by [183], to serve as both our local planner and controller. Our approach provides a stronger guarantee as BIT* is probabilistically complete and asymptotically optimal.

This optimal sampling-based planner, set within the VT&R [131] framework, follows an arbitrary global path while veering minimally around obstacles. Lateral BIT* builds upon BIT* [132] by implementing a weighted Euclidean edge metric in the curvilinear planning domain, with collision checks performed against the occupancy grid in the original Euclidean space. Samples are pre-seeded along the whole global path in the curvilinear coordinates before random sampling in a fixed-size sampling window around the robot. The planner operates backward from a singular goal node to the current robot location without selecting any intermediate waypoints. Lateral BIT* is also an anytime planner and can be adapted for dynamic replanning. Once an initial solution is found, an MPC tracking controller can track the solution path. The MPC optimizes the velocity commands in a short horizon to minimize the deviation from the planner solution while enforcing robot kinematic models and acceleration constraints. Adopted from [183], the MPC solves the following least-squares problem:

argmin𝐓,𝐮J(𝐓,𝐮)=k=1Kln(𝐓ref,k𝐓k1)T𝐐kln(𝐓ref,k𝐓k1)+𝐮kT𝐑k𝐮k\underset{\mathbf{T},\mathbf{u}}{\text{argmin}}J(\mathbf{T},\mathbf{u})=\sum_{k=1}^{K}\ln(\mathbf{T}_{\text{ref},k}\mathbf{T}_{k}^{-1})^{\vee^{T}}\mathbf{Q}_{k}\ln(\mathbf{T}_{\text{ref},k}\mathbf{T}_{k}^{-1})^{\vee}+\mathbf{u}_{k}^{T}\mathbf{R}_{k}\mathbf{u}_{k}

s.t.

𝐓k+1=exp((𝐏T𝐮k)h)𝐓k,k=1,2,K\mathbf{T}_{k+1}=\exp\left((\mathbf{P}^{T}\mathbf{u}_{k})^{\wedge}h\right)\mathbf{T}_{k},k=1,2,...K
𝐮min,k𝐮k𝐮max,k,k=1,2,K\mathbf{u}_{\text{min},k}\leq\mathbf{u}_{k}\leq\mathbf{u}_{\text{max},k},k=1,2,...K

where 𝐓SE(3)\mathbf{T}\in SE(3) are poses and 𝐮=[vω]T\mathbf{u}=[v\;\omega]^{T} are velocities. The objective function minimizes the pose error between the reference trajectory 𝐓ref,k\mathbf{T}_{\text{ref},k} and the predicted trajectory 𝐓k\mathbf{T}_{k} while keeping the control effort 𝐮k\mathbf{u}_{k} minimum. The two constraints are the generalized kinematic constraint and actuation limits. We tune the cost matrices 𝐐\mathbf{Q} and 𝐑\mathbf{R} to balance the cost between different degrees of freedom. We refer readers to Sec. V of [183] for more details.

If a newly detected obstacle obstructs the current best solution path, the planner will truncate its planning tree from the obstacle to the robot, triggering a replan or rewire from the truncated tree to the robot’s location. Because the resolution of the satellite map is low (10m/cell), our global path could be blocked by large rocks and terrains, especially the pinch points. Hence, we adjust the maximum width and length of the sampling window and tune the parameters balancing lateral deviation and the path length. If there are no viable paths locally within the sampling window and the planner cannot find a solution after 1 second, the controller will stop the ASV and stabilize it at its current location.

In practice, we cannot directly control the ASV’s linear velocity due to the primary source of translational velocity estimates, GPS data, is noisy and unreliable. Consequently, we map the linear velocity commands to motor thrusts through a linear relationship and close the control loop using the MPC tracking controller. Fig. 17 illustrates an example from the field test where our robot detected obstacles and effectively replanned its trajectory. In the middle image, the lateral BIT* planner finds a smooth path around the obstacle while deviating minimally from the global path. The estimated robot path on the right appears jagged due to significant GPS noise (up to 1m), wind and current influences, and the occupancy grid’s time decay, causing the ASV’s heading to oscillate and repeatedly rediscover the same obstacle. However, the robot successfully bypasses the obstacle without requiring manual intervention. This highlights the robustness and adaptability of our architecture in dynamic, noisy, and unpredictable environments.

6 Real World Experiments

6.1 Robot

Our ASV platform, as depicted in Fig. 18, consists of a modified Clearpath Heron ASV equipped with a GPS, IMU, Zed2i stereo camera, Ping360 scanning sonar, and a Ping1d Sonar Echosounder Altimeter. The stereo camera is positioned in a forward-facing configuration and has a maximum depth range of 35 m. The Ping360 sonar is configured to perform a 20 m by 125° cone scan in front of the robot every 3.5 seconds, achieving a resolution of 1.8°. All computational tasks are handled by an Nvidia Jetson AGX Xavier and the onboard Intel Atom (E3950 @ 1.60GHz) PC on the Heron. The Jetson, stereo camera, and Ping360 sonar are powered by a lithium-ion jump-starter battery with an 88 WH capacity. To maintain the Jetson’s power input at 19V, a voltage regulator is employed, allowing the Jetson to operate in its 30W mode. Additionally, a 417.6-Wh NiMH battery pack supplies power to the motors and other electronics. The batteries can support autonomous operations for approximately two hours. A schematic of the electrical system is presented in Fig. 18(c). The additional payloads carried by the ASV have a combined mass of roughly 9 kg. Although water samplers have not been integrated into our system, they can be easily fitted in the future. The maximum speed of our ASV is approximately 1.2 m/s. Additionally, we have a remote controller available for manual mode operation, which can be utilized for safety purposes if needed.

Refer to caption
(a) Top View
Refer to caption
(b) Bottom View
Refer to caption
(c) Electrical Diagram
Figure 18: Our Clearpath Heron ASV for monitoring water quality during a field test. The ASV is equipped with various sensors including GPS, IMU, underwater scanning sonar, sonar altimeter, and a stereo camera. It also contains an Nvidia Jetson and an Atom PC for processing the data from these sensors. The locations where the sonars are mounted are depicted in (b), while the power and communication setups are illustrated in (c).

6.2 System Implementation Details

Our system’s computational load is divided into offline and online processes (Figure 9). Prior to the mission, we precompute the high-level graph and optimal policy, which are loaded onto the onboard PC. The online tasks are distributed between two onboard computers: the Atom PC and the Jetson. An Ethernet switch connects these computers, the sonar, and Heron’s WiFi Radio. The GPS and IMU are connected to the Atom PC via USB, while the echo-sounder sonar and the stereo camera are connected to the Jetson via USB. The switch allows remote SSH access and data transfer between the Atom and the Jetson. We use the ROS framework [178] to implement our autonomy modules in C++ and Python. To synchronize time between the Jetson and the Atom PC, we employ Chrony for network time protocol setup. The Atom PC acts as the ROS master, responsible for vehicle interface, localization, updating the occupancy grids, running the local planner, and MPC controller. The Jetson handles resource-intensive tasks such as depth map processing, semantic segmentation, sonar obstacle detection, and data logging. Additionally, a ROS node hosting a web visualization page is served on the Atom PC. We also provide a Rviz visualizer to display the occupancy grid and outputs of the local planner and MPC. During the mission, the web server publishes the robot’s locations and policy execution states in real-time on a web page served on the local network, using pre-downloaded satellite maps. The web visualization and Rviz can be accessed in the field from a laptop connected to Heron’s WiFi. The policy executor publishes the global plan to the local planner and starts a timer when navigating a stochastic edge, but importantly does not incur any additional compute cost for planning. We periodically save the status of policy execution online, enabling easy policy reloading in case of a battery change during testing.

We tune the update rates and resolutions of our sensing, perception, and planning modules based on the computational capacities of our Heron and Jetson systems. Specifically, we aim to maintain a sustainable compute load within the thermal and power limits. We avoid pushing our CPUs and GPUs to their absolute limits because doing so can lead to system unreliability and sudden frame rate drops in the field.

Therefore, we set the ZED stereo camera and the neural depth pipeline to publish at 5Hz with a resolution of 640 x 480. The semantic segmentation network, optimized using Nvidia’s TensorRT framework, runs with a latency of less than 50ms. Sonar obstacle detection operates at 20Hz, synchronized with the arrival rate of new sonar scans. The occupancy grid map, with a resolution of 0.5m per cell, updates at 10Hz. The lateral BIT* local planner runs asynchronously in a separate thread, sampling 400 points initially and 150 points in each subsequent batch. The maximum dimensions of the sampling window are 40m in length and 30m in width. The MPC retrieves the planned path and calculates the desired velocity at 10Hz, using a step size of 0.1s and a 40-step lookahead horizon.

6.3 Testing Site

Our planning algorithm was evaluated at Nine Mile Lake in McDougall, Ontario, Canada. Detailed test sites and the three executed missions can be found in Fig. 19. The Lower Lake Mission in Fig. 19(a) repeats the field test from our prior work [142], involving a 3.7 km mission with five sampling points, three of which are only reachable after navigating a stochastic edge. The stochastic edge at the bottom-left compels the ASV to manoeuvre through a thin opening amid substantial rocks not discernible in the Sentinel-2 satellite images. Besides repeating the old experiment from our prior work, we added two additional missions in the lake’s upper areas. Also, to assess our local mapping and planning stack’s capabilities, an ablation mission was executed to see if the robot could safely navigate the stochastic edge at the bottom-left of the Lower Lake Mission. The policy in Upper Lake Mission (Short) was directly generated from the Fig. 3 water mask. In fact, the high-level graph in Fig. 3 and policy in Fig. 4 is a simplified toy version of our testing policy in the Upper Lake Mission (Short). The expected length of the policy is 1.0km long. We observed that our NovAtel GPS receiver’s reliability was impaired by large trees on the left stochastic edge in Fig. 19(b). On the right stochastic edges of the same subfigure, shallow regions, lily pads, and weeds were numerous. Lastly, we extended this short mission to include three additional sampling sites and another stochastic edge at the lake’s farthest point. The expected length of this Upper Lake Mission (Long) in Fig. 19(c) is approximately 3.3 km Despite having only 5 nodes, the Upper Lake Mission (Long) is still significant due to the complexity introduced by stochastic edges, resulting in 54 contingencies and a policy tree depth of 12. This demonstrates that even small-scale missions require our proposed approach to generate a robust global policy, and the local planner must effectively manage large uncertainties in traversability to execute the mission safely.

Refer to caption
(a) Lower Lake Mission
Refer to caption
(b) Upper Lake Mission (Short)
Refer to caption
(c) Upper Lake Mission (Long)
Figure 19: Representative examples of global plans and trajectories traversed during field experiments. All stochastic edges are labelled in colour. Green line means the stochastic edge is found traversable, red means untraversable, and yellow means the edge was not explored and remained ambiguous. A battery change in (a) and a manual intervention due to large GPS noises in (c) are also labelled.

6.4 Results of Mission Planner

The aim of our field experiments is to test if our autonomy stack can successfully execute a global mission policy correctly and fully autonomously, without any manual interventions. Results are summarized in Table 1 and we provide the overview and analysis of our results below.

Table 1: Summary of the results of our tests for different policies, including any interventions due to algorithmic failure (excluding battery changes). The first two rows show the results of the Lower Lake Mission from our previous work.
Mission Sensors Used Node Visited # of Interventions Appeared In
Lower Lake Mission Camera Only 4/5 3 [142]
Lower Lake Mission Camera Only 3/5 3 [142]
Lower Lake Mission Sonar + Camera 4/5 1 This Work
Lower Lake Mission Camera Only 4/5 0 This Work
Upper Lake Mission (Short) Sonar + Camera 1/1 0 This Work
Upper Lake Mission (Short) Sonar + Camera 1/1 0 This Work
Upper Lake Mission (Short) (Left Edge Blocked) Sonar + Camera 1/1 0 This Work
Upper Lake Mission (Short) (Left Edge Blocked) Sonar + Camera 0/1 0 This Work
Upper Lake Mission (Long) Sonar + Camera 5/5 1 This Work

Lower Lake Mission We undertook the lower lake mission twice - first, using both sonar and camera and second, using only the camera. The ASV successfully reached 4/5 targeted locations during both trials, with the exception of the bottom-left location. This was due to the ASV’s inability to autonomously navigate through large rocks within the designated time frame. When contrasted with prior experiments noted in [142], our trials showed marked improvement, with only a single manual intervention required due to algorithmic failure during the first run, and none during the second. The intervention was necessitated by the ASV’s collision with a tree trunk (the one in Fig. 1(b)) it failed to identify, resulting in manual manoeuvring to remove the obstruction. In both trials, the policy executor deemed the bottom-left stochastic edge untraversable because the local planner did not find a path through large rocks within the time limit. The ASV was then safely directed back to the last sampling location and starting location. Moreover, these trials demonstrated a significant improvement in the stability of our navigational autonomy compared to the same field test conducted last year. These can be attributed to several factors. First, the inclusion of a new semantic segmentation network for the stereo camera allowed the ASV to navigate confidently even in conditions of high sunlight glare or calm water. This was in contrast to the geometric approach in our previous work, which resulted in both numerous false positives and missing obstacles. Second, sonar detection capabilities facilitated the identification and avoidance of underwater rocks by the local planner. We were also able to fuse both sonar and stereo camera inputs with a local occupancy grid map. Third, through the incorporation of a Model Predictive Control (MPC) tracking controller, the reliance on GPS velocity estimates was removed. Lastly, the decision to use an 88Wh battery on the ASV markedly improved the Jetson’s battery life, thereby negating the need for battery changes during each mission. In Table 2, we show that the Jetson and onboard PC are very power-hungry during one of the testing trials. A microcontroller inside our ASV measures the power of the onboard PC, and we use the jetson-stats tool to log the power of the Jetson. Although the measurement is anecdotal and the exact power consumption can depend on other factors, such as the state of the battery and operating temperatures, the 88WH battery powering the Jetson can certainly last through a two-hour-long experiment.

Table 2: Average usage and power consumption of our computing devices during a Lower Lake Mission.
Device Heron CPU Jetson CPU Jetson GPU
Usage(%) 75.2 61.6 89.3
Power(W) 9.2 19.3 (Combined)

Upper Lake Mission (Short) We performed four successful tests of this new policy on the upper lake to determine if our robot could execute different policy branches and navigate both sides of the central island, which were visibly passable based on aerial observations. The expected length is 1.0km. The success criteria were defined as either safely traversing the stochastic edges on either side within the assigned time limit or safely returning to the starting point without collisions. Initially, we executed the policy twice without modifications. As depicted in Fig. 19(b), the policy guided the ASV to navigate and return along the left stochastic edge, which had a lower expected cost than the right edge. For the subsequent two trials, we deliberately triggered an early timeout to block the left edge in the policy, forcing the ASV to navigate the right edge.

Throughout the four trials, the ASV executed the mission-level policy fully autonomously, except for a battery change. Navigating the left side was straightforward despite occasional GPS signal disruptions. On the right side, the ASV successfully reached the target area once. However, in the second attempt, it travelled too slowly in a shallow area with many aquatic plants (see Fig. 1(c)) and eventually reached the time limit, rendering the right stochastic edge untraversable. Despite this, the ASV safely returned to the starting node. Importantly, we considered a trial a success despite the ASV not reaching the designated target if the overall policy was executed autonomously. No collisions occurred during any trial.

Upper Lake Mission (Long) We expanded the previous policy to a more extensive mission, covering a larger area of Nine Mile Lake’s upper parts with the same starting point as the shorter mission. The expected length is significantly longer at 3.3km. First, the boat navigated the stochastic edges on the island’s left side to reach the sample point, and it returned using the same path. Despite this, significantly deteriorated GPS signals were observed at the edge’s end, preventing the mission-level policy executor from detecting the completion of the edge traversal due to GPS solution noise. Consequently, a manual restart of the policy executor was necessary. Thereafter, the ASV proceeded upward to the next sample point before making a left turn to go through a shortcut pinch point, visiting two more sample points. Following a brief stop for battery replacement, the ASV completed the remaining mission.

In evaluation, our local perception pipeline performed commendably in this area despite having never previously collected data here. In particular, the synergy of sonar obstacle detection and the stereo camera’s semantic waterline estimation showed high reliability in close-range shoreline and obstacle detection with very minimal false positives. Along with the previous four trials for the shorter mission, we demonstrate that our autonomous navigation architecture is effective not only in familiar environments but also in previously unseen conditions.

Refer to caption
(a) Autonomous attempt (forward)
Refer to caption
(b) Manual attempt (forward)
Refer to caption
(c) Autonomous attempt (back)
Refer to caption
(d) Aerial view (hand-sketched path from global plan)
Figure 20: Comparison of the global plan, manual traversal, and autonomous navigation through the stochastic edge. The global plan, calculated from coarse satellite images, is blocked by a rock. In (b), the ASV was able to pass the narrow opening under manual teleoperation. However, the ASV was unable to identify the opening in the local occupancy grid in autonomous mode (see. Fig. 21), so it searched for an opening in place until the time limit and returned to the start.
Refer to caption
(a) Occupancy Grid Map (ASV Start from South)
Refer to caption
(b) Aerial View of the Scene in (a)
Refer to caption
(c) Occupancy Grid Map (ASV Start from North)
Refer to caption
(d) Aerial View of the Scene in (c)
Figure 21: Comparison between the robot’s occupancy grid maps and aerial image. Yellow dots are waterline estimated in 3D. Red dots are obstacles detected by sonar. Boat symbols are added to (b) and (d) for context. The global plan (blue line) is blocked by rocks, so the ASV needs to detour through the narrow opening. However, the passage is blocked on the occupancy grid due to our inaccurate detection, localization, and excessive dilation.

6.5 Isolated Testing of Local Planner

A main contribution of our current work is the new perception and local planner modules that can safely disambiguate stochastic edges and navigate safely and autonomously in obstacle and terrain-rich waterways without high-resolution prior maps. To verify this, we tested the local planner on a stochastic edge ten times with the exact same parameter, five times each in either direction. Success was demonstrated by either reaching the stochastic edge’s other endpoint within a set time frame or returning to the starting point upon timeout of the policy executor. Without intervention, the ASV accomplished this 70% of the time. However, in three instances, it collided with or became trapped by obstacles, such as rocks and a tree trunk.

The global path extracted from the Sentinel-2 Image was interrupted by a large rock, with only two narrow openings between the rocks, manually traversable, as demonstrated in Fig. 20 (b). One of the narrow openings is visible from the aerial view in Fig. 20 (d). Our ASV can detect these rocks; however, the over-aggressive dilation parameter obstructs the local planner from charting a path through the central passageway (see Fig. 21). There is another wider opening on top of the visible narrow opening, but it is over 30m away from the nearest point on the global path and thus exceeds the maximum corridor width of our local planner’s curvilinear space.

Relying exclusively on GPS/IMU for location and a local occupancy grid centred around the ASV poses considerable challenges in this terrain, due to imprecision in localizing obstacles relative to the robot and issues controlling tight turns and precise path tracking, escalating the collision risk in confined spaces. In order to mitigate noise and path plan conservatively, occupancy values were decayed over time, and substantial dilation was applied around occupied cells. As such, the ASV would not construct and finetune a consistent local map, but would instead overlook previously encountered obstacles. Consequently, the local planner oscillates between two temporarily obstacle-free paths in the occupancy grid, while the ASV stops and unsuccessfully searches for a traversable path locally until the timer limit is reached, as shown in Fig. 20 (a) and Fig. 20 (c).

Another key reason for the low quality of the occupancy grid is the difficulty of fusing sonar and stereo camera measurements, especially at longer ranges. Since sensor fusion occurs solely within the occupancy map, both sensors need to detect an obstacle simultaneously at the same location in the map for accurate fusion. This can be challenging due to a variety of reasons. For instance, depth measurements produced by the stereo camera tend to be noisier over a larger range. Our camera is not capable of detecting underwater obstacles detected by sonar. Additionally, our system lacks effective uncertainty measures for updating sonar and stereo observations within the occupancy map, especially when the two sources provide conflicting data. For example, the ASV simply did not detect the tree trunk. Thus, our sensor fusion mechanism proves effective only over shorter ranges where the sonar and camera are more likely to align. If it is possible to extend the range of our perception modules, the ASV could formulate more optimized navigation paths, preventing collisions with obstacles such as rocks.

7 Lessons Learned

In this section, we outline insights garnered from our field tests, emphasizing successful design aspects related to field-tested ASV navigation systems and suggesting potential improvements for future iterations.

Timer Primarily, we found that using a timer to disambiguate stochastic edges was simple, robust, and practical. Integration of a timer within our ROS-based system was easy and could accommodate unexpected hindrances such as strong winds, making stochastic edges difficult to traverse. This allowed for uninterrupted policy execution even when the local planner failed to identify viable paths through a traversable stochastic edge. Essentially, the inclusion of a timer fostered independence between the execution of our mission-level policy and the selection of local planners, enabling the ASV to conduct water sampling missions irrespective of local planner errors.

Localization A critical limitation of our system lies in the absence of precise GPS localization. Our system necessitates a seamless integration of local mapping with broader satellite maps to facilitate accurate navigation in complex scenarios, such as those illustrated in Fig. 20. A GPS alternative, such as SLAM, would introduce redundancy, bolstering navigation robustness when GPS signals become compromised due to obstructions, interferences, or adverse weather conditions. Furthermore, minimizing localization noise could enhance speed and steering control, enabling the ASV to operate more swiftly and smoothly.

Occupancy Grid As demonstrated in the previous section, our occupancy grid map also struggles with sensor fusion - particularly over long ranges where sonar and stereo camera measurements can contradict. These inconsistencies necessitated the introduction of a time-decay factor and significant dilation around obstacles. As a result, we observed a ‘drunken sailor’ phenomenon, wherein the ASV constantly navigates within a confined space without any real progress. We think that semantic SLAM integration with the stereo camera could ameliorate local occupancy map issues. If SLAM can provide a locally consistent and metrically accurate map of higher quality, the decay factor in the occupancy grid becomes unnecessary and the planner will not oscillate. While SLAM is impractical in open water due to the absence of stationary features near the robot, it becomes viable in densely obstacle-populated scenes such as pinch points or shorelines. Localizing the robot against semantic-based local features could lead to more accurate localization and, furthermore, improve obstacle-relative pose estimation and traversability assessment. As we can store and grow the map as the robot explores unknown areas, the planner can also work with a static occupancy grid and avoid any oscillation. Furthermore, we also recommend better exploration strategies to build local maps and search for traversable paths rather than fixing the planning domain size around the precomputed global path from inaccurate satellite images.

As the map can be expanded when the robot explores unknown areas, the planner can work with a fixed occupancy grid to avoid oscillation. Additionally, more effective local map building and traversable path searching strategies might provide better solutions than confining the planning domain size around inaccurate satellite images’ precomputed global path.

Evasive Manoeuvres Our system currently lacks evasive manoeuvres. Despite collisions with obstacles, the robot could feasibly retreat and navigate back to unobstructed waters. However, our local planner often fails to detect forward obstacles, continuing to chart a forward path after collisions. Both the stereo camera and sonar have minimum range limitations, resulting in undetected proximate obstacles. We could introduce the timer mechanism to prompt evasive manoeuvres. For instance, if the ASV remains stationary despite forward movement instructions from the planner and controller, it should back up and reset its local planner to circumnavigate the same area. While the ASV may struggle to self-extricate from a beach or shallow rock without human assistance, evasive manoeuvres could facilitate the avoidance of obstacles such as tree trunks or aquatic plants.

Sonar The incorporation of sonar in our system entails both advantages and drawbacks. Positively, it enabled the detection and circumvention of underwater obstacles, beyond the stereo camera’s capabilities. Conversely, the sonar’s slow scanning rate (3 seconds per scan) restricts it from being the solitary onboard perception sensor. Additionally, our heuristic-based obstacle detection method fails to recognize minor obstacles, such as lilypads or weeds. While the sonar effectively gauges obstacle distances from the ASV, it cannot determine the depth of underwater obstacles since it scans horizontally. This depth ambiguity complicates traversability estimation, which relies on exact water and underwater obstacle depth knowledge. Moreover, merging sonar with the stereo camera proves challenging due to their observing different world sections.

System Integration While designing autonomy algorithms with general marine navigation in mind, we recognize that the integration process was tailored to our particular ASV platform and test scenarios. The primary objective of system tuning is to optimize performance metrics such as speed, accuracy, tracking error, and reliability within the bounds of certain constraints, including latency, computational usage, and sensor capabilities. For each autonomy module, we identify key parameters that significantly impact performance. For instance, in the occupancy grid map, grid resolution, smoothing and dilation models, and measurement weights are crucial. Obstacle detection with sonar is governed by the peak threshold and the size of the smoothing window. The runtime of the Lateral BIT* planner is affected by the batch size and sampling window size. The controller’s tracking performance depends on the controller cost terms and lookahead horizon. Notably, the accuracy of stereo waterline estimation is not very sensitive to the smoothing parameters but is primarily dependent on the quality and volume of the training data.

Initially, we manually tuned these parameters using previously collected datasets or in simulation to establish a baseline. Subsequently, we deploy all autonomy algorithms on the real robot, testing each component individually again. Here, we utilize ROS software tools such as Rviz and the dynamic reconfigure package to evaluate each module’s performance and adjust. Often, it is necessary to reduce the update rate and resolution of the algorithms to prevent performance degradation due to latency or computational constraints. We continuously record and assess our ASV’s performance under varying conditions, refining them as needed before conducting field experiments with a fixed set of parameters.

Our autonomy algorithms demonstrated commendable field performance, but many potential improvements from a system engineering standpoint still remain. An immediate goal is enhancing our software’s efficiency to decrease computational load and power consumption on both the Atom PC and the Jetson. For instance, running semantic SLAM alongside the existing stack would require additional power and considerable software optimization to avoid straining our computers further. Aside from optimizing power use, improvements to efficiency, reliability, and usability could be advantageous, particularly for nontechnical users. Our Rviz and web interface user displays contain critical monitoring and debugging information but demand extensive navigation system familiarity. Our data logging pipeline consumes substantial storage space (about 1GB/min), imposing both storage and time cost burdens for copying and analysis. Booting up the GPS in the field was another challenge due to prolonged wait times for adequate satellite acquisition for autonomous navigation. In terms of future hardware, vegetation-proof boat hulls and propellers should be considered given the increased drag and potential damage to the propeller blades from aquatic plant interference. Furthermore, electronic connectors capable of withstanding transportation-induced vibrations and cables that shield connections from interference would enhance overall system robustness.

PCCTP Formulation Currently, we have found PCCTP to be a robust framework for enabling longer-term autonomous environmental monitoring tasks. Our policy is designed to be resilient against environmental uncertainties, ensuring that the robot can complete its mission both safely and efficiently. In the Nine Mile Lake experiments, the ASV detected many obstacles that were missing or not clearly mapped in the satellite imagery. This demonstrates the importance of using a global mission policy when deploying autonomous robots in unfamiliar and remote marine environments, where unforeseen obstacles absent in the satellite images can halt the execution of a single task plan. By characterizing only pinch points and windy edges as stochastic edges, the problem becomes tractable to solve optimally, effectively capturing the uncertainties visible across different satellite images. In field tests, we found that edges assumed to be “traversable” were indeed always traversable. Furthermore, we could manually inspect and verify all possible global paths in the policy before field deployment since we found the optimal policy offline. This approach made it easy to understand the ASV’s high-level objective during our field test, particularly when radio communication with the robot became unreliable.

However, we have identified several potential enhancements to our problem formulation after concluding our field tests. First, the high-level policy could still result in a deadlock if a “traversable edge” becomes untraversable due to unexpected factors. This did not occur in our testing, but one way to mitigate this is to add a small blocking probability to these edges, However, the scalability of the algorithm may need to be improved to efficiently plan for additional stochastic edges. Second, the blocking probabilities of stochastic edges may be correlated in a real environment. For example, wind and water levels can simultaneously affect the traversability of all stochastic edges, and the same aquatic plants may proliferate across nearby stochastic edges. These factors could be modelled by using a joint distribution with covariance for the probabilities of all stochastic edges, or by using a Bayesian model with latent variables to represent common environmental factors. Third, power is often a significant constraint for fully autonomous execution, requiring the robot to return to the base for charging periodically. In PCCTP, we can address this by imposing a distance limit on the planner, ensuring that the robot must return to the start or designated charging locations. Lastly, PCCTP is a one-shot planning algorithm and does not replan online for new robot tasks. An interesting extension for PCCTP would be for lifelong water monitoring missions, where target locations can be added online, and the robot can replan its policy with its next targets as a new starting location. In this setting, the traversability estimates may also be updated online during the lifelong execution.

In addition to these changes to the formulation, we envision ways to expand the PCCTP to incorporate scientific heuristics. A straightforward extension could involve using multispectral satellite bands, such as MODIS [192], to analyze water quality in the target area and automatically select target locations. If the robot is equipped with an online-capable water quality sensor like the YSI sonde, further opportunities arise. For instance, with a predefined set of target locations or scanning patterns, the ASV could optimize its policy to maximize both information gain and expected cost under uncertain traversability conditions. Our problem formulation would then need to be extended to a multi-objective framework, employing either a weighted sum of objectives or Pareto-based approaches [113, 180]. If the ASV is tasked with repeatedly patrolling the same area, an online approach might be more suitable, allowing the robot to continually update its model of traversability and the scientific value of the target area. However, efficiently solving these optimization problems remains a challenge.

Field Logistics Our field logistics proved successful largely due to employing a motorboat, facilitating rapid transportation of the robot, personnel, and supplies to remote testing locations on the lake. During trials, staying in close proximity to the robot or flying a drone for tracking was straightforward using a motorboat. In case of forgotten crucial equipment, swift return trips to the base camp for recovery were possible. Our field tests, spanning three days, were completed as planned, despite limited time and battery life.

8 Conclusions

For a robot to be effective in real-world environments, it must adapt to variations and uncertainties stemming from natural or human factors, despite potential mismatches between the real world and the planning model. Therefore, a robust mission planning framework for long-term autonomy should possess several key qualities: resilience to allow continuous operation without failure, adaptability to incorporate uncertainties specific to the task and environment, and efficiency in meeting critical performance metrics such as time, throughput, and energy cost.

With these criteria in mind, we have proposed a framework for planning mission-level autonomous navigation policies offline using satellite images. Our mission planner treats the uncertainty in these images as stochastic edges and formulates a solution to the Partial Covering Canadian Traveller Problem (PCCTP) on a high-level graph. We introduce PCCTP-AO*, an optimal, informed-search-based method capable of finding a policy with the minimum expected cost. Tested on thousands of simulated graphs derived from real Canadian lakes, our approach demonstrates significant reductions in travel distance—ranging from 1% (50m) to 15% (1.8km).

We then developed a GPS-, vision-, and sonar-enabled ASV navigation system to execute these preplanned policies. We proposed a conceptually simple yet robust timer-based approach to disambiguate stochastic edges. Local mapping modules integrate a neurally estimated waterline from the stereo camera with underwater obstacles detected by sonar, while the local motion planner ensures obstacle avoidance in adherence to the precomputed global path. Our ASV navigation system has successfully executed three different km-scale missions a total of seven times in environments with unmapped obstacles, requiring only two interventions in total. Additionally, we achieved a 70% success rate in an isolated test of our local planner.

Our findings highlight that while the system performs robustly, traversability assessment and localization continue to be bottlenecks for local mapping and motion planning. We hope that the lessons learned from this development process will foster future advances in long-term autonomy algorithms and ASV environmental monitoring systems.

Acknowledgments

We would like to acknowledge the Natural Sciences and Engineering Research Council of Canada (NSERC) for supporting this research.

References

  • [1] Foto Afrati et al. “The Complexity of the Travelling Repairman Problem” In RAIRO-Theoretical Informatics and Applications-Informatique Théorique et Applications 20.1, 1986, pp. 79–87
  • [2] Vural Aksakalli, O Furkan Sahin and Ibrahim Ari “An AO* Based Exact Algorithm for the Canadian Traveler Problem” In INFORMS Journal on Computing 28.1 INFORMS, 2016, pp. 96–111
  • [3] Yee-Teng Ang et al. “An Autonomous Sailboat for Environment Monitoring” In 2022 Thirteenth International Conference on Ubiquitous and Future Networks (ICUFN), 2022, pp. 242–246
  • [4] Shi Bai, Jinkun Wang, Fanfei Chen and Brendan Englot “Information-theoretic Exploration with Bayesian Optimization” In 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) IEEE, 2016, pp. 1816–1822
  • [5] Shi Bai et al. “Information-Driven Path Planning” In Current Robotics Reports 2.2 Springer, 2021, pp. 177–188
  • [6] Jose Balbuena et al. “Design and Implementation of an USV for Large Bodies of Fresh Waters at the Highlands of Peru” In OCEANS 2017 - Anchorage IEEE, 2017, pp. 1–8
  • [7] Richard Bellman “A Markovian Decision Process” In Journal of Mathematics and Mechanics JSTOR, 1957, pp. 679–684
  • [8] Borja Bovcon, Jon Muhovič, Janez Perš and Matej Kristan “The MaSTr1325 Dataset for Training Deep USV Obstacle Detection Models” In 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2019 IEEE
  • [9] Borja Bovcon et al. “MODS – A USV-Oriented Object Detection and Obstacle Segmentation Benchmark”, 2021 arXiv:2105.02359 [cs.CV]
  • [10] Huiru Cao et al. “Intelligent Wide-Area Water Quality Monitoring and Analysis System Exploiting Unmanned Surface Vehicles and Ensemble Learning” In Water 12.3 Multidisciplinary Digital Publishing Institute, 2020, pp. 681
  • [11] C L Chang and J R Slagle “An Admissible and Optimal Algorithm for Searching AND/OR Graphs” In Artif. Intell. 2.2, 1971, pp. 117–128
  • [12] Hsing-Cheng Chang et al. “Autonomous Water Quality Monitoring and Water Surface Cleaning for Unmanned Surface Vehicle” In Sensors 21.4, 2021
  • [13] Keyan Chen et al. “RSPrompter: Learning to Prompt for Remote Sensing Instance Segmentation based on Visual Foundation Model”, 2023 arXiv:2306.16269 [cs.CV]
  • [14] W Chen and L Liu “Pareto Monte Carlo Tree Search for Multi-objective Informative Planning” In arXiv preprint arXiv:2111.01825 arxiv.org, 2021
  • [15] Weizhe Chen, Roni Khardon and Lantao Liu “AK: Attentive Kernel for Information Gathering” In Proceedings of Robotics: Science and Systems, 2022 DOI: 10.15607/RSS.2022.XVIII.047
  • [16] Yuwei Cheng, Mengxin Jiang, Jiannan Zhu and Yimin Liu “Are We Ready for Unmanned Surface Vehicles in Inland Waterways? The USVInland Multisensor Dataset and Benchmark” In IEEE Robotics and Automation Letters 6.2, 2021, pp. 3964–3970
  • [17] Howie Choset “Coverage for Robotics – A Survey of Recent Results” In Ann. Math. Artif. Intell. 31.1, 2001, pp. 113–126
  • [18] Nicos Christofides “Worst-Case Analysis of a New Heuristic for the Travelling Salesman Problem” In Operations Research Forum 3, 1976
  • [19] Padmanava Dash et al. “Evaluation of Water Quality Data Collected using a Novel Autonomous Surface Vessel” In OCEANS 2021: San Diego – Porto, 2021, pp. 1–10
  • [20] Zhengzheng Dong et al. “Real-time Motion Planning Based on MPC With Obstacle Constraint Convexification For Autonomous Ground Vehicles” In 2020 3rd International Conference on Unmanned Systems (ICUS), 2020, pp. 1035–1041 DOI: 10.1109/ICUS50048.2020.9274881
  • [21] M. Drusch et al. “Sentinel-2: ESA’s Optical High-Resolution Mission for GMES Operational Services” The Sentinel Missions - New Opportunities for Science In Remote Sensing of Environment 120, 2012, pp. 25–36 DOI: https://doi.org/10.1016/j.rse.2011.11.026
  • [22] Matthew Dunbabin and Lino Marques “Robots for Environmental Monitoring: Significant Advancements and Applications” In IEEE Robot. Autom. Mag. 19.1, 2012, pp. 24–39
  • [23] Alberto Elfes “Using Occupancy Grids for Mobile Robot Perception and Navigation” In Computer 22.6 IEEE, 1989, pp. 46–57
  • [24] Martin Ester, Hans-Peter Kriegel, Jörg Sander and Xiaowei Xu “A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise” In Proceedings of the Second International Conference on Knowledge Discovery and Data Mining, KDD’96 Portland, Oregon: AAAI Press, 1996, pp. 226–231
  • [25] Dave Ferguson and Anthony Stentz “Field D*: An Interpolation-Based Path Planner and Replanner” In Robotics Research: Results of the 12th International Symposium ISRR, 2007, pp. 239–253 Springer
  • [26] Dave Ferguson, Anthony Stentz and Sebastian Thrun “Planning with Pinch Points”, 2004
  • [27] Gabriele Ferri et al. “The HydroNet ASV, a Small-Sized Autonomous Catamaran for Real-Time Monitoring of Water Quality: From Design to Missions at Sea” In IEEE J. Oceanic Eng. 40.3, 2015, pp. 710–726
  • [28] Gudina L Feyisa, Henrik Meilby, Rasmus Fensholt and Simon R Proud “Automated Water Extraction Index: A New Technique for Surface Water Mapping Using Landsat Imagery” In Remote Sens. Environ. 140, 2014, pp. 23–35
  • [29] Martin A. Fischler and Robert C. Bolles “Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography” In Commun. ACM 24.6 New York, NY, USA: Association for Computing Machinery, 1981, pp. 381–395 DOI: 10.1145/358669.358692
  • [30] Genevieve Flaspohler, Nicholas Roy and Yogesh Girdhar “Near-optimal Irrevocable Sample Selection for Periodic Data Streams with Applications to Marine Robotics” In 2018 IEEE International Conference on Robotics and Automation (ICRA) IEEE, 2018, pp. 5691–5698
  • [31] Dieter Fox, Wolfram Burgard and Sebastian Thrun “The Dynamic Window Approach to Collision Avoidance” In IEEE Robotics & Automation Magazine 4.1 IEEE, 1997, pp. 23–33
  • [32] Paul Furgale and Timothy D. Barfoot “Visual Teach and Repeat for Long-Range Rover Autonomy” In Journal of Field Robotics 27.5, 2010, pp. 534–560 DOI: https://doi.org/10.1002/rob.20342
  • [33] Jonathan D. Gammell, Siddhartha S. Srinivasa and Timothy D. Barfoot “Batch Informed Trees (BIT*): Sampling-based Optimal Planning via the Heuristically Guided Search of Implicit Random Geometric Graphs” In 2015 IEEE International Conference on Robotics and Automation (ICRA) IEEE, 2015 DOI: 10.1109/icra.2015.7139620
  • [34] Marie-Ève Garneau et al. “Short‐term Displacement of Planktothrix Rubescens (Cyanobacteria) in a Pre‐alpine Lake Observed using an Autonomous Sampling Platform” In Limnol. Oceanogr. 58.5 Wiley, 2013, pp. 1892–1906
  • [35] Roland Geraerts and Mark H Overmars “Creating High-quality Paths for Motion Planning” In Int. J. Rob. Res. 26.8 SAGE Publications Ltd STM, 2007, pp. 845–863
  • [36] Yogesh Girdhar, Philippe Giguère and Gregory Dudek “Autonomous Adaptive Exploration using Realtime Online Spatiotemporal Topic Modeling” In Int. J. Rob. Res. 33.4 SAGE Publications Ltd STM, 2014, pp. 645–657
  • [37] Hengwei Guo and Timothy D Barfoot “The Robust Canadian Traveler Problem Applied to Robot Routing” In 2019 International Conference on Robotics and Automation (ICRA), 2019, pp. 5523–5529
  • [38] Peter E Hart, Nils J Nilsson and Bertram Raphael “A Formal Basis for the Heuristic Determination of Minimum Cost Paths” In IEEE transactions on Systems Science and Cybernetics 4.2 IEEE, 1968, pp. 100–107
  • [39] Hordur K Heidarsson and Gaurav S Sukhatme “Obstacle Detection and Avoidance for an Autonomous Surface Vehicle using a Profiling Sonar” In 2011 IEEE International Conference on Robotics and Automation, 2011, pp. 731–736
  • [40] Hordur K Heidarsson and Gaurav S Sukhatme “Obstacle Detection from Overhead Imagery using Self-Supervised Learning for Autonomous Surface Vehicles” In 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2011, pp. 3160–3165
  • [41] Geoffrey A Hollinger and Gaurav S Sukhatme “Sampling-based Robotic Information Gathering Algorithms” In Int. J. Rob. Res. 33.9 SAGE Publications Ltd STM, 2014, pp. 1271–1287
  • [42] Chang Huang, Yun Chen, Shiqiang Zhang and Jianping Wu “Detecting, Extracting, and Monitoring Surface Water From Space Using Optical Sensors: A Review” In Rev. Geophys. 56.2 American Geophysical Union (AGU), 2018, pp. 333–360
  • [43] Yizhou Huang, Hamza Dugmag, Timothy D. Barfoot and Florian Shkurti “Stochastic Planning for ASV Navigation Using Satellite Images” In 2023 IEEE International Conference on Robotics and Automation (ICRA) IEEE, 2023 DOI: 10.1109/icra48891.2023.10160894
  • [44] Mingi Jeong et al. “Catabot: Autonomous Surface Vehicle with an Optimized Design for Environmental Monitoring” In Global Oceans 2020: Singapore – U.S. Gulf Coast IEEE, 2020, pp. 1–9
  • [45] Jie Ji, Amir Khajepour, Wael William Melek and Yanjun Huang “Path Planning and Tracking for Vehicle Collision Avoidance Based on Model Predictive Control with Multiconstraints” In IEEE Transactions on Vehicular Technology 66.2 IEEE, 2016, pp. 952–964
  • [46] Jie Ji, Amir Khajepour, Wael William Melek and Yanjun Huang “Path Planning and Tracking for Vehicle Collision Avoidance Based on Model Predictive Control With Multiconstraints” In IEEE Transactions on Vehicular Technology 66.2, 2017, pp. 952–964 DOI: 10.1109/TVT.2016.2555853
  • [47] Sertac Karaman and Emilio Frazzoli “Sampling-Based Algorithms for Optimal Motion Planning” In The international journal of robotics research 30.7 Sage Publications Sage UK: London, England, 2011, pp. 846–894
  • [48] Nare Karapetyan et al. “Multi-robot Dubins Coverage with Autonomous Surface Vehicles” In 2018 IEEE International Conference on Robotics and Automation (ICRA) IEEE, 2018, pp. 2373–2379
  • [49] Imen Karoui, Isabelle Quidu and Michel Legris “Automatic Sea-Surface Obstacle Detection and Tracking in Forward-Looking Sonar Image Sequences” In IEEE Trans. Geosci. Remote Sens. 53.8 ieeexplore.ieee.org, 2015, pp. 4661–4669
  • [50] Micaela Jara Ten Kathen, Isabel Jurado Flores and Daniel Gutiérrez Reina “An Informative Path Planner for a Swarm of ASVs Based on an Enhanced PSO with Gaussian Surrogate Model Components Intended for Water Monitoring Applications” In Electronics 10.13 Multidisciplinary Digital Publishing Institute, 2021, pp. 1605
  • [51] Stephanie Kemna et al. “Multi-Robot Coordination through Dynamic Voronoi Partitioning for Informative Adaptive Sampling in Communication-Constrained Environments” In 2017 IEEE International Conference on Robotics and Automation (ICRA) IEEE, 2017, pp. 2124–2130
  • [52] Peter Kimball et al. “The WHOI Jetyak: An Autonomous Surface Vehicle for Oceanographic Research in Shallow or Dangerous Waters” In 2014 IEEE/OES Autonomous Underwater Vehicles (AUV) IEEE, 2014, pp. 1–7
  • [53] Alexander Kirillov et al. “Segment Anything” In arXiv:2304.02643, 2023
  • [54] Sven Koenig and Maxim Likhachev “D* Lite” In Eighteenth national conference on Artificial intelligence, 2002, pp. 476–483
  • [55] Gilbert Laporte “The Traveling Salesman Problem: An Overview of Exact and Approximate Algorithms” In European Journal of Operational Research 59, 1992, pp. 231–247
  • [56] Sung-Jun Lee et al. “Image-Based Ship Detection and Classification for Unmanned Surface Vehicle using Real-Time Object Detection Neural Networks” In The 28th International Ocean and Polar Engineering Conference, 2018
  • [57] Junli Li and Yongwei Sheng “An Automated Scheme for Glacial Lake Dynamics Mapping using Landsat Imagery and Digital Elevation Models: a Case Study in the Himalayas” In Int. J. Remote Sens. 33.16 Taylor & Francis, 2012, pp. 5194–5213
  • [58] Chung-Shou Liao and Yamming Huang “The Covering Canadian Traveller Problem” In Theoretical Computer Science 530, 2014, pp. 80–88 DOI: https://doi.org/10.1016/j.tcs.2014.02.026
  • [59] Jonathan Long, Evan Shelhamer and Trevor Darrell “Fully Convolutional Networks for Semantic Segmentation” In Proceedings of the IEEE conference on computer vision and pattern recognition, 2015, pp. 3431–3440
  • [60] Alaa Maalouf et al. “Follow Anything: Open-set detection, tracking, and following in real-time” In arXiv preprint arXiv:2308.05737, 2023
  • [61] Dario Madeo, Alessandro Pozzebon, Chiara Mocenni and Duccio Bertoni “A Low-Cost Unmanned Surface Vehicle for Pervasive Water Quality Monitoring” In IEEE Trans. Instrum. Meas. 69.4, 2020, pp. 1433–1444
  • [62] Somaiyeh MahmoudZadeh et al. “Uninterrupted Path Planning System for Multi-USV Sampling Mission in a Cluttered Ocean Environment” In Ocean Eng. 254, 2022, pp. 111328
  • [63] Sandeep Manjanna and Gregory Dudek “Data-driven Selective Sampling for Marine Vehicles using Multi-Scale Paths” In 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) IEEE, 2017, pp. 6111–6117
  • [64] Roman Marchant and Fabio Ramos “Bayesian Optimisation for Intelligent Environmental Monitoring” In 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems IEEE, 2012, pp. 2242–2249
  • [65] Roman Marchant and Fabio Ramos “Bayesian Optimisation for Informative Continuous Path Planning” In 2014 IEEE International Conference on Robotics and Automation (ICRA) IEEE, 2014, pp. 6136–6143
  • [66] Alberto Martelli and Ugo Montanari “Optimizing Decision Trees Through Heuristically Guided Search” In Commun. ACM 21, 1978, pp. 1025–1039
  • [67] Stuart K. McFeeters “The Use of the Normalized Difference Water Index (NDWI) in the Delineation of Open Water Features” In International Journal of Remote Sensing 17, 1996, pp. 1425–1432
  • [68] Jason Moulton et al. “An Autonomous Surface Vehicle for Long Term Operations” In OCEANS 2018 MTS/IEEE Charleston IEEE, 2018, pp. 1–10
  • [69] Natural Resources Canada “Lakes, Rivers and Glaciers in Canada - CanVec Series - Hydrographic Features”, 2019
  • [70] David P Nicholson et al. “Rapid Mapping of Dissolved Methane and Carbon Dioxide in Coastal Ecosystems Using the ChemYak Autonomous Surface Vehicle” In Environ. Sci. Technol. 52.22, 2018, pp. 13314–13324
  • [71] Charles E Noon and James C Bean “An Efficient Transformation of the Generalized Traveling Salesman Problem” In INFOR Inf. Syst. Oper. Res. 31.1 Taylor & Francis, 1993, pp. 39–44
  • [72] Angelo Odetti et al. “SWAMP, an Autonomous Surface Vehicle Expressly Designed for Extremely Shallow Waters” In Ocean Eng. 216, 2020, pp. 108205
  • [73] Christos H Papadimitriou and Mihalis Yannakakis “Shortest Paths Without a Map” In Theoretical Computer Science 84.1 Elsevier, 1991, pp. 127–150
  • [74] Jean-François Pekel, Andrew Cottam, Noel Gorelick and Alan S Belward “High-Resolution Mapping of Global Surface Water and its Long-Term Changes” In Nature 540.7633, 2016, pp. 418–422
  • [75] Federico Peralta, Daniel Gutierrez Reina and Sergio Toral “Water Quality Online Modeling using Multi-objective and Multi-agent Bayesian Optimization with Region Partitioning” In Mechatronics 91, 2023, pp. 102953
  • [76] Laurent Perron and Vincent Furnon “OR-Tools”, 2023 Google URL: https://developers.google.com/optimization/
  • [77] G H Polychronopoulos “Stochastic Shortest Path Problems with Recourse” In Networks
  • [78] Dalei Qiao et al. “Automated Full Scene Parsing for Marine ASVs using Monocular Vision” In J. Intell. Rob. Syst. 104.2 Springer ScienceBusiness Media LLC, 2022
  • [79] Morgan Quigley et al. “ROS: an Open-Source Robot Operating System” In ICRA workshop on open source software 3.3.2, 2009, pp. 5 Kobe, Japan
  • [80] Monika Roznere et al. “Towards a Reliable Heterogeneous Robotic Water Quality Monitoring System: An Experimental Analysis” In Experimental Robotics Springer International Publishing, 2021, pp. 139–150
  • [81] Oren Salzman et al. “Heuristic-search Approaches for the Multi-objective Shortest-path Problem: Progress and Research Opportunities” In Proceedings of the Thirty-Second International Joint Conference on Artificial Intelligence, IJCAI ’23 Article 757, 2023, pp. 6759–6768
  • [82] Jose Ricardo Sanchez-Ibanez, Carlos J Perez-del-Pulgar and Alfonso García-Cerezo “Path Planning for Autonomous Mobile Robots: A Review” In Sensors 21.23 MDPI, 2021, pp. 7898
  • [83] Matteo Schiaretti, Linying Chen and Rudy R Negenborn “Survey on Autonomous Surface Vessels: Part I - A New Detailed Definition of Autonomy Levels” In Computational Logistics Springer International Publishing, 2017, pp. 219–233
  • [84] Jordy Sehn, Jack Collier and Timothy D. Barfoot “Off the Beaten Track: Laterally Weighted Motion Planning for Local Obstacle Avoidance”, 2023 arXiv:2309.09334 [cs.RO]
  • [85] Yunxiao Shan et al. “A Reinforcement Learning-Based Adaptive Path Tracking Approach for Autonomous Driving” In IEEE Transactions on Vehicular Technology 69, 2020, pp. 10581–10595
  • [86] L Steccanella, D D Bloisi, A Castellini and A Farinelli “Waterline and Obstacle Detection in Images from Low-Cost Autonomous Boats for Environmental Monitoring” In Rob. Auton. Syst. 124, 2020, pp. 103346
  • [87] Lorenzo Steccanella, Domenico Bloisi, Jason Blum and Alessandro Farinelli “Deep Learning Waterline Detection for Low-Cost Autonomous Boats” In Intelligent Autonomous Systems 15 Springer International Publishing, 2019, pp. 613–625
  • [88] Xinhua Tang et al. “Practical Design and Implementation of an Autonomous Surface Vessel Prototype: Navigation and Control” In International Journal of Advanced Robotic Systems 17.3 SAGE Publications Sage UK: London, England, 2020, pp. 1729881420919949
  • [89] Micaela Jara Ten Kathen, Federico Peralta Samaniego, Isabel Jurado Flores and Daniel Gutiérrez Reina “AquaHet-PSO: An Informative Path Planner for a Fleet of Autonomous Surface Vehicles With Heterogeneous Sensing Capabilities Based on Multi-Objective PSO” In IEEE Access 11 IEEE, 2023, pp. 110943–110966
  • [90] Matija Teršek, Lojze Žust and Matej Kristan “eWaSR – an embedded-compute-ready maritime obstacle detection network”, 2023 arXiv:2304.11249 [cs.CV]
  • [91] Paolo Toth and Daniele Vigo “The Vehicle Routing Problem” Society for IndustrialApplied Mathematics, 2002 DOI: 10.1137/1.9780898718515
  • [92] Josip Vasilj, Ivo Stančić, Tamara Grujić and Josip Musić “Design, Development and Testing of the Modular Unmanned Surface Vehicle Platform for Marine Waste Detection” In Journal of Multimedia Information System 4.4 Korea Multimedia Society, 2017, pp. 195–204 URL: https://doi.org/10.9717/JMIS.2017.4.4.195
  • [93] Min Wu, Wei Zhang, Xuejun Wang and Dinggui Luo “Application of MODIS Satellite Data in Monitoring Water Quality Parameters of Chaohu Lake in China” In Environ. Monit. Assess. 148.1-4, 2009, pp. 255–264
  • [94] Hanqiu Xu “Modification of Normalised Difference Water Index (NDWI) to Enhance Open Water Features in Remotely Sensed Imagery” In Int. J. Remote Sens. 27.14 Taylor & Francis, 2006, pp. 3025–3033
  • [95] Jie Yang, Yinghao Li, Qingnian Zhang and Yongmei Ren “Surface Vehicle Detection and Tracking with Deep Learning and Appearance Feature” In 2019 5th International Conference on Control, Automation and Robotics (ICCAR), 2019, pp. 276–280
  • [96] Xiucheng Yang et al. “Mapping of Urban Surface Water Bodies from Sentinel-2 MSI Imagery at 10 m Resolution via NDWI-Based Image Sharpening” In Remote Sensing 9.6 Multidisciplinary Digital Publishing Institute, 2017, pp. 596
  • [97] Yuheng Yin, Yangang Guo, Liwei Deng and Borong Chai “Improved PSPNet-based Water Shoreline Detection in Complex Inland River Scenarios” In Complex & Intelligent Systems, 2022
  • [98] Sangdoo Yun et al. “CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features”, 2019 arXiv:1905.04899 [cs.CV]
  • [99] Rundong Zhou et al. “Collision-Free Waterway Segmentation for Inland Unmanned Surface Vehicles” In IEEE Trans. Instrum. Meas. 71, 2022, pp. 1–16

References

  • [100] Foto Afrati et al. “The Complexity of the Travelling Repairman Problem” In RAIRO-Theoretical Informatics and Applications-Informatique Théorique et Applications 20.1, 1986, pp. 79–87
  • [101] Vural Aksakalli, O Furkan Sahin and Ibrahim Ari “An AO* Based Exact Algorithm for the Canadian Traveler Problem” In INFORMS Journal on Computing 28.1 INFORMS, 2016, pp. 96–111
  • [102] Yee-Teng Ang et al. “An Autonomous Sailboat for Environment Monitoring” In 2022 Thirteenth International Conference on Ubiquitous and Future Networks (ICUFN), 2022, pp. 242–246
  • [103] Shi Bai et al. “Information-Driven Path Planning” In Current Robotics Reports 2.2 Springer, 2021, pp. 177–188
  • [104] Shi Bai, Jinkun Wang, Fanfei Chen and Brendan Englot “Information-theoretic Exploration with Bayesian Optimization” In 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) IEEE, 2016, pp. 1816–1822
  • [105] Jose Balbuena et al. “Design and Implementation of an USV for Large Bodies of Fresh Waters at the Highlands of Peru” In OCEANS 2017 - Anchorage IEEE, 2017, pp. 1–8
  • [106] Richard Bellman “A Markovian Decision Process” In Journal of Mathematics and Mechanics JSTOR, 1957, pp. 679–684
  • [107] Borja Bovcon, Jon Muhovič, Janez Perš and Matej Kristan “The MaSTr1325 Dataset for Training Deep USV Obstacle Detection Models” In 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2019 IEEE
  • [108] Borja Bovcon et al. “MODS – A USV-Oriented Object Detection and Obstacle Segmentation Benchmark”, 2021 arXiv:2105.02359 [cs.CV]
  • [109] Huiru Cao et al. “Intelligent Wide-Area Water Quality Monitoring and Analysis System Exploiting Unmanned Surface Vehicles and Ensemble Learning” In Water 12.3 Multidisciplinary Digital Publishing Institute, 2020, pp. 681
  • [110] C L Chang and J R Slagle “An Admissible and Optimal Algorithm for Searching AND/OR Graphs” In Artif. Intell. 2.2, 1971, pp. 117–128
  • [111] Hsing-Cheng Chang et al. “Autonomous Water Quality Monitoring and Water Surface Cleaning for Unmanned Surface Vehicle” In Sensors 21.4, 2021
  • [112] Keyan Chen et al. “RSPrompter: Learning to Prompt for Remote Sensing Instance Segmentation based on Visual Foundation Model”, 2023 arXiv:2306.16269 [cs.CV]
  • [113] W Chen and L Liu “Pareto Monte Carlo Tree Search for Multi-objective Informative Planning” In arXiv preprint arXiv:2111.01825 arxiv.org, 2021
  • [114] Weizhe Chen, Roni Khardon and Lantao Liu “AK: Attentive Kernel for Information Gathering” In Proceedings of Robotics: Science and Systems, 2022 DOI: 10.15607/RSS.2022.XVIII.047
  • [115] Yuwei Cheng, Mengxin Jiang, Jiannan Zhu and Yimin Liu “Are We Ready for Unmanned Surface Vehicles in Inland Waterways? The USVInland Multisensor Dataset and Benchmark” In IEEE Robotics and Automation Letters 6.2, 2021, pp. 3964–3970
  • [116] Howie Choset “Coverage for Robotics – A Survey of Recent Results” In Ann. Math. Artif. Intell. 31.1, 2001, pp. 113–126
  • [117] Nicos Christofides “Worst-Case Analysis of a New Heuristic for the Travelling Salesman Problem” In Operations Research Forum 3, 1976
  • [118] Padmanava Dash et al. “Evaluation of Water Quality Data Collected using a Novel Autonomous Surface Vessel” In OCEANS 2021: San Diego – Porto, 2021, pp. 1–10
  • [119] Zhengzheng Dong et al. “Real-time Motion Planning Based on MPC With Obstacle Constraint Convexification For Autonomous Ground Vehicles” In 2020 3rd International Conference on Unmanned Systems (ICUS), 2020, pp. 1035–1041 DOI: 10.1109/ICUS50048.2020.9274881
  • [120] M. Drusch et al. “Sentinel-2: ESA’s Optical High-Resolution Mission for GMES Operational Services” The Sentinel Missions - New Opportunities for Science In Remote Sensing of Environment 120, 2012, pp. 25–36 DOI: https://doi.org/10.1016/j.rse.2011.11.026
  • [121] Matthew Dunbabin and Lino Marques “Robots for Environmental Monitoring: Significant Advancements and Applications” In IEEE Robot. Autom. Mag. 19.1, 2012, pp. 24–39
  • [122] Alberto Elfes “Using Occupancy Grids for Mobile Robot Perception and Navigation” In Computer 22.6 IEEE, 1989, pp. 46–57
  • [123] Martin Ester, Hans-Peter Kriegel, Jörg Sander and Xiaowei Xu “A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise” In Proceedings of the Second International Conference on Knowledge Discovery and Data Mining, KDD’96 Portland, Oregon: AAAI Press, 1996, pp. 226–231
  • [124] Dave Ferguson and Anthony Stentz “Field D*: An Interpolation-Based Path Planner and Replanner” In Robotics Research: Results of the 12th International Symposium ISRR, 2007, pp. 239–253 Springer
  • [125] Dave Ferguson, Anthony Stentz and Sebastian Thrun “Planning with Pinch Points”, 2004
  • [126] Gabriele Ferri et al. “The HydroNet ASV, a Small-Sized Autonomous Catamaran for Real-Time Monitoring of Water Quality: From Design to Missions at Sea” In IEEE J. Oceanic Eng. 40.3, 2015, pp. 710–726
  • [127] Gudina L Feyisa, Henrik Meilby, Rasmus Fensholt and Simon R Proud “Automated Water Extraction Index: A New Technique for Surface Water Mapping Using Landsat Imagery” In Remote Sens. Environ. 140, 2014, pp. 23–35
  • [128] Martin A. Fischler and Robert C. Bolles “Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography” In Commun. ACM 24.6 New York, NY, USA: Association for Computing Machinery, 1981, pp. 381–395 DOI: 10.1145/358669.358692
  • [129] Genevieve Flaspohler, Nicholas Roy and Yogesh Girdhar “Near-optimal Irrevocable Sample Selection for Periodic Data Streams with Applications to Marine Robotics” In 2018 IEEE International Conference on Robotics and Automation (ICRA) IEEE, 2018, pp. 5691–5698
  • [130] Dieter Fox, Wolfram Burgard and Sebastian Thrun “The Dynamic Window Approach to Collision Avoidance” In IEEE Robotics & Automation Magazine 4.1 IEEE, 1997, pp. 23–33
  • [131] Paul Furgale and Timothy D. Barfoot “Visual Teach and Repeat for Long-Range Rover Autonomy” In Journal of Field Robotics 27.5, 2010, pp. 534–560 DOI: https://doi.org/10.1002/rob.20342
  • [132] Jonathan D. Gammell, Siddhartha S. Srinivasa and Timothy D. Barfoot “Batch Informed Trees (BIT*): Sampling-based Optimal Planning via the Heuristically Guided Search of Implicit Random Geometric Graphs” In 2015 IEEE International Conference on Robotics and Automation (ICRA) IEEE, 2015 DOI: 10.1109/icra.2015.7139620
  • [133] Marie-Ève Garneau et al. “Short‐term Displacement of Planktothrix Rubescens (Cyanobacteria) in a Pre‐alpine Lake Observed using an Autonomous Sampling Platform” In Limnol. Oceanogr. 58.5 Wiley, 2013, pp. 1892–1906
  • [134] Roland Geraerts and Mark H Overmars “Creating High-quality Paths for Motion Planning” In Int. J. Rob. Res. 26.8 SAGE Publications Ltd STM, 2007, pp. 845–863
  • [135] Yogesh Girdhar, Philippe Giguère and Gregory Dudek “Autonomous Adaptive Exploration using Realtime Online Spatiotemporal Topic Modeling” In Int. J. Rob. Res. 33.4 SAGE Publications Ltd STM, 2014, pp. 645–657
  • [136] Hengwei Guo and Timothy D Barfoot “The Robust Canadian Traveler Problem Applied to Robot Routing” In 2019 International Conference on Robotics and Automation (ICRA), 2019, pp. 5523–5529
  • [137] Peter E Hart, Nils J Nilsson and Bertram Raphael “A Formal Basis for the Heuristic Determination of Minimum Cost Paths” In IEEE transactions on Systems Science and Cybernetics 4.2 IEEE, 1968, pp. 100–107
  • [138] Hordur K Heidarsson and Gaurav S Sukhatme “Obstacle Detection and Avoidance for an Autonomous Surface Vehicle using a Profiling Sonar” In 2011 IEEE International Conference on Robotics and Automation, 2011, pp. 731–736
  • [139] Hordur K Heidarsson and Gaurav S Sukhatme “Obstacle Detection from Overhead Imagery using Self-Supervised Learning for Autonomous Surface Vehicles” In 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2011, pp. 3160–3165
  • [140] Geoffrey A Hollinger and Gaurav S Sukhatme “Sampling-based Robotic Information Gathering Algorithms” In Int. J. Rob. Res. 33.9 SAGE Publications Ltd STM, 2014, pp. 1271–1287
  • [141] Chang Huang, Yun Chen, Shiqiang Zhang and Jianping Wu “Detecting, Extracting, and Monitoring Surface Water From Space Using Optical Sensors: A Review” In Rev. Geophys. 56.2 American Geophysical Union (AGU), 2018, pp. 333–360
  • [142] Yizhou Huang, Hamza Dugmag, Timothy D. Barfoot and Florian Shkurti “Stochastic Planning for ASV Navigation Using Satellite Images” In 2023 IEEE International Conference on Robotics and Automation (ICRA) IEEE, 2023 DOI: 10.1109/icra48891.2023.10160894
  • [143] Mingi Jeong et al. “Catabot: Autonomous Surface Vehicle with an Optimized Design for Environmental Monitoring” In Global Oceans 2020: Singapore – U.S. Gulf Coast IEEE, 2020, pp. 1–9
  • [144] Jie Ji, Amir Khajepour, Wael William Melek and Yanjun Huang “Path Planning and Tracking for Vehicle Collision Avoidance Based on Model Predictive Control with Multiconstraints” In IEEE Transactions on Vehicular Technology 66.2 IEEE, 2016, pp. 952–964
  • [145] Jie Ji, Amir Khajepour, Wael William Melek and Yanjun Huang “Path Planning and Tracking for Vehicle Collision Avoidance Based on Model Predictive Control With Multiconstraints” In IEEE Transactions on Vehicular Technology 66.2, 2017, pp. 952–964 DOI: 10.1109/TVT.2016.2555853
  • [146] Sertac Karaman and Emilio Frazzoli “Sampling-Based Algorithms for Optimal Motion Planning” In The international journal of robotics research 30.7 Sage Publications Sage UK: London, England, 2011, pp. 846–894
  • [147] Nare Karapetyan et al. “Multi-robot Dubins Coverage with Autonomous Surface Vehicles” In 2018 IEEE International Conference on Robotics and Automation (ICRA) IEEE, 2018, pp. 2373–2379
  • [148] Imen Karoui, Isabelle Quidu and Michel Legris “Automatic Sea-Surface Obstacle Detection and Tracking in Forward-Looking Sonar Image Sequences” In IEEE Trans. Geosci. Remote Sens. 53.8 ieeexplore.ieee.org, 2015, pp. 4661–4669
  • [149] Micaela Jara Ten Kathen, Isabel Jurado Flores and Daniel Gutiérrez Reina “An Informative Path Planner for a Swarm of ASVs Based on an Enhanced PSO with Gaussian Surrogate Model Components Intended for Water Monitoring Applications” In Electronics 10.13 Multidisciplinary Digital Publishing Institute, 2021, pp. 1605
  • [150] Stephanie Kemna et al. “Multi-Robot Coordination through Dynamic Voronoi Partitioning for Informative Adaptive Sampling in Communication-Constrained Environments” In 2017 IEEE International Conference on Robotics and Automation (ICRA) IEEE, 2017, pp. 2124–2130
  • [151] Peter Kimball et al. “The WHOI Jetyak: An Autonomous Surface Vehicle for Oceanographic Research in Shallow or Dangerous Waters” In 2014 IEEE/OES Autonomous Underwater Vehicles (AUV) IEEE, 2014, pp. 1–7
  • [152] Alexander Kirillov et al. “Segment Anything” In arXiv:2304.02643, 2023
  • [153] Sven Koenig and Maxim Likhachev “D* Lite” In Eighteenth national conference on Artificial intelligence, 2002, pp. 476–483
  • [154] Gilbert Laporte “The Traveling Salesman Problem: An Overview of Exact and Approximate Algorithms” In European Journal of Operational Research 59, 1992, pp. 231–247
  • [155] Sung-Jun Lee et al. “Image-Based Ship Detection and Classification for Unmanned Surface Vehicle using Real-Time Object Detection Neural Networks” In The 28th International Ocean and Polar Engineering Conference, 2018
  • [156] Junli Li and Yongwei Sheng “An Automated Scheme for Glacial Lake Dynamics Mapping using Landsat Imagery and Digital Elevation Models: a Case Study in the Himalayas” In Int. J. Remote Sens. 33.16 Taylor & Francis, 2012, pp. 5194–5213
  • [157] Chung-Shou Liao and Yamming Huang “The Covering Canadian Traveller Problem” In Theoretical Computer Science 530, 2014, pp. 80–88 DOI: https://doi.org/10.1016/j.tcs.2014.02.026
  • [158] Jonathan Long, Evan Shelhamer and Trevor Darrell “Fully Convolutional Networks for Semantic Segmentation” In Proceedings of the IEEE conference on computer vision and pattern recognition, 2015, pp. 3431–3440
  • [159] Alaa Maalouf et al. “Follow Anything: Open-set detection, tracking, and following in real-time” In arXiv preprint arXiv:2308.05737, 2023
  • [160] Dario Madeo, Alessandro Pozzebon, Chiara Mocenni and Duccio Bertoni “A Low-Cost Unmanned Surface Vehicle for Pervasive Water Quality Monitoring” In IEEE Trans. Instrum. Meas. 69.4, 2020, pp. 1433–1444
  • [161] Somaiyeh MahmoudZadeh et al. “Uninterrupted Path Planning System for Multi-USV Sampling Mission in a Cluttered Ocean Environment” In Ocean Eng. 254, 2022, pp. 111328
  • [162] Sandeep Manjanna and Gregory Dudek “Data-driven Selective Sampling for Marine Vehicles using Multi-Scale Paths” In 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) IEEE, 2017, pp. 6111–6117
  • [163] Roman Marchant and Fabio Ramos “Bayesian Optimisation for Intelligent Environmental Monitoring” In 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems IEEE, 2012, pp. 2242–2249
  • [164] Roman Marchant and Fabio Ramos “Bayesian Optimisation for Informative Continuous Path Planning” In 2014 IEEE International Conference on Robotics and Automation (ICRA) IEEE, 2014, pp. 6136–6143
  • [165] Alberto Martelli and Ugo Montanari “Optimizing Decision Trees Through Heuristically Guided Search” In Commun. ACM 21, 1978, pp. 1025–1039
  • [166] Stuart K. McFeeters “The Use of the Normalized Difference Water Index (NDWI) in the Delineation of Open Water Features” In International Journal of Remote Sensing 17, 1996, pp. 1425–1432
  • [167] Jason Moulton et al. “An Autonomous Surface Vehicle for Long Term Operations” In OCEANS 2018 MTS/IEEE Charleston IEEE, 2018, pp. 1–10
  • [168] Natural Resources Canada “Lakes, Rivers and Glaciers in Canada - CanVec Series - Hydrographic Features”, 2019
  • [169] David P Nicholson et al. “Rapid Mapping of Dissolved Methane and Carbon Dioxide in Coastal Ecosystems Using the ChemYak Autonomous Surface Vehicle” In Environ. Sci. Technol. 52.22, 2018, pp. 13314–13324
  • [170] Charles E Noon and James C Bean “An Efficient Transformation of the Generalized Traveling Salesman Problem” In INFOR Inf. Syst. Oper. Res. 31.1 Taylor & Francis, 1993, pp. 39–44
  • [171] Angelo Odetti et al. “SWAMP, an Autonomous Surface Vehicle Expressly Designed for Extremely Shallow Waters” In Ocean Eng. 216, 2020, pp. 108205
  • [172] Christos H Papadimitriou and Mihalis Yannakakis “Shortest Paths Without a Map” In Theoretical Computer Science 84.1 Elsevier, 1991, pp. 127–150
  • [173] Jean-François Pekel, Andrew Cottam, Noel Gorelick and Alan S Belward “High-Resolution Mapping of Global Surface Water and its Long-Term Changes” In Nature 540.7633, 2016, pp. 418–422
  • [174] Federico Peralta, Daniel Gutierrez Reina and Sergio Toral “Water Quality Online Modeling using Multi-objective and Multi-agent Bayesian Optimization with Region Partitioning” In Mechatronics 91, 2023, pp. 102953
  • [175] Laurent Perron and Vincent Furnon “OR-Tools”, 2023 Google URL: https://developers.google.com/optimization/
  • [176] G H Polychronopoulos “Stochastic Shortest Path Problems with Recourse” In Networks
  • [177] Dalei Qiao et al. “Automated Full Scene Parsing for Marine ASVs using Monocular Vision” In J. Intell. Rob. Syst. 104.2 Springer ScienceBusiness Media LLC, 2022
  • [178] Morgan Quigley et al. “ROS: an Open-Source Robot Operating System” In ICRA workshop on open source software 3.3.2, 2009, pp. 5 Kobe, Japan
  • [179] Monika Roznere et al. “Towards a Reliable Heterogeneous Robotic Water Quality Monitoring System: An Experimental Analysis” In Experimental Robotics Springer International Publishing, 2021, pp. 139–150
  • [180] Oren Salzman et al. “Heuristic-search Approaches for the Multi-objective Shortest-path Problem: Progress and Research Opportunities” In Proceedings of the Thirty-Second International Joint Conference on Artificial Intelligence, IJCAI ’23 Article 757, 2023, pp. 6759–6768
  • [181] Jose Ricardo Sanchez-Ibanez, Carlos J Perez-del-Pulgar and Alfonso García-Cerezo “Path Planning for Autonomous Mobile Robots: A Review” In Sensors 21.23 MDPI, 2021, pp. 7898
  • [182] Matteo Schiaretti, Linying Chen and Rudy R Negenborn “Survey on Autonomous Surface Vessels: Part I - A New Detailed Definition of Autonomy Levels” In Computational Logistics Springer International Publishing, 2017, pp. 219–233
  • [183] Jordy Sehn, Jack Collier and Timothy D. Barfoot “Off the Beaten Track: Laterally Weighted Motion Planning for Local Obstacle Avoidance”, 2023 arXiv:2309.09334 [cs.RO]
  • [184] Yunxiao Shan et al. “A Reinforcement Learning-Based Adaptive Path Tracking Approach for Autonomous Driving” In IEEE Transactions on Vehicular Technology 69, 2020, pp. 10581–10595
  • [185] L Steccanella, D D Bloisi, A Castellini and A Farinelli “Waterline and Obstacle Detection in Images from Low-Cost Autonomous Boats for Environmental Monitoring” In Rob. Auton. Syst. 124, 2020, pp. 103346
  • [186] Lorenzo Steccanella, Domenico Bloisi, Jason Blum and Alessandro Farinelli “Deep Learning Waterline Detection for Low-Cost Autonomous Boats” In Intelligent Autonomous Systems 15 Springer International Publishing, 2019, pp. 613–625
  • [187] Xinhua Tang et al. “Practical Design and Implementation of an Autonomous Surface Vessel Prototype: Navigation and Control” In International Journal of Advanced Robotic Systems 17.3 SAGE Publications Sage UK: London, England, 2020, pp. 1729881420919949
  • [188] Micaela Jara Ten Kathen, Federico Peralta Samaniego, Isabel Jurado Flores and Daniel Gutiérrez Reina “AquaHet-PSO: An Informative Path Planner for a Fleet of Autonomous Surface Vehicles With Heterogeneous Sensing Capabilities Based on Multi-Objective PSO” In IEEE Access 11 IEEE, 2023, pp. 110943–110966
  • [189] Matija Teršek, Lojze Žust and Matej Kristan “eWaSR – an embedded-compute-ready maritime obstacle detection network”, 2023 arXiv:2304.11249 [cs.CV]
  • [190] Paolo Toth and Daniele Vigo “The Vehicle Routing Problem” Society for IndustrialApplied Mathematics, 2002 DOI: 10.1137/1.9780898718515
  • [191] Josip Vasilj, Ivo Stančić, Tamara Grujić and Josip Musić “Design, Development and Testing of the Modular Unmanned Surface Vehicle Platform for Marine Waste Detection” In Journal of Multimedia Information System 4.4 Korea Multimedia Society, 2017, pp. 195–204 URL: https://doi.org/10.9717/JMIS.2017.4.4.195
  • [192] Min Wu, Wei Zhang, Xuejun Wang and Dinggui Luo “Application of MODIS Satellite Data in Monitoring Water Quality Parameters of Chaohu Lake in China” In Environ. Monit. Assess. 148.1-4, 2009, pp. 255–264
  • [193] Hanqiu Xu “Modification of Normalised Difference Water Index (NDWI) to Enhance Open Water Features in Remotely Sensed Imagery” In Int. J. Remote Sens. 27.14 Taylor & Francis, 2006, pp. 3025–3033
  • [194] Jie Yang, Yinghao Li, Qingnian Zhang and Yongmei Ren “Surface Vehicle Detection and Tracking with Deep Learning and Appearance Feature” In 2019 5th International Conference on Control, Automation and Robotics (ICCAR), 2019, pp. 276–280
  • [195] Xiucheng Yang et al. “Mapping of Urban Surface Water Bodies from Sentinel-2 MSI Imagery at 10 m Resolution via NDWI-Based Image Sharpening” In Remote Sensing 9.6 Multidisciplinary Digital Publishing Institute, 2017, pp. 596
  • [196] Yuheng Yin, Yangang Guo, Liwei Deng and Borong Chai “Improved PSPNet-based Water Shoreline Detection in Complex Inland River Scenarios” In Complex & Intelligent Systems, 2022
  • [197] Sangdoo Yun et al. “CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features”, 2019 arXiv:1905.04899 [cs.CV]
  • [198] Rundong Zhou et al. “Collision-Free Waterway Segmentation for Inland Unmanned Surface Vehicles” In IEEE Trans. Instrum. Meas. 71, 2022, pp. 1–16