Preprint
Article

A Dynamic Programming Approach to Collision Avoidance of Autonomous Ships

Altmetrics

Downloads

113

Views

56

Comments

0

A peer-reviewed article of this preprint also exists.

This version is not peer-reviewed

Submitted:

29 March 2024

Posted:

29 March 2024

You are already at the latest version

Alerts
Abstract
The advancement of autonomous capabilities in maritime navigation has gained significant attention, with a trajectory moving from decision support systems to full autonomy. This push towards autonomy has led to extensive research focusing on collision avoidance, a critical aspect of safe navigation. Among the various possible approaches, Dynamic Programming is a promising tool for optimizing collision avoidance maneuvers. This paper presents a DP formulation for collision avoidance of autonomous vessels. We set up the problem framework, formulate it as a multi-stage decision process, define cost functions and constraints focusing on the actual requirements a marine maneuver must comply with, and propose a solution algorithm leveraging parallel computing. Additionally, we present a greedy approximation to reduce algorithm complexity. Through case studies, we demonstrate the effectiveness of the proposed approach in navigating complex scenarios, contributing to the future of autonomous maritime navigation. Through case studies, we show the efficacy of our approach in navigating complex scenarios.
Keywords: 
Subject: Computer Science and Mathematics  -   Data Structures, Algorithms and Complexity

1. Introduction

The future of navigation points toward increasing the autonomous capabilities of ships [1,2], from decision support systems to fully autonomous navigation. The framework that will guide the future of the maritime world is hinged on the classification released by the International Maritime Organization (IMO) [3], in which four incremental autonomy levels are described for the classification of autonomous ships. The push toward the development of autonomous technologies in the maritime field has created fertile ground for the research community, which has identified numerous scientific gaps in various areas typical of autonomous navigation and marine robotics, such as the development of complex guidance and control algorithms [4,5,6], collaborative control [7,8,9], situational awareness [10], path planning, and collision avoidance.
The problem of collision avoidance is to develop algorithms capable of reacting to the presence of obstacles, fixed or moving in the surrounding environment, and generating trajectories or maneuvers capable of avoiding collision, maintaining an adequate safety distance, and, when applicable, complying with the COLREG [11,12], which set the “rules of the road a ship must follow when interacting with other ships. This requirement is essential in scenarios where autonomous systems interact with human-controlled systems [13]. The scientific literature proposed various approaches to collision avoidance of marine vessels, including A* [14,15], Dijkstra’s algorithm [16,17], visibility graphs [18], rapidly-exploring random trees [19,20,21], and various population-based heuristics [22,23,24,25].
Dynamic Programming (DP) is an effective approach for solving multi-stage optimization problems. From its introduction by Bellman [26,27], DP has been successfully generalized and formulated to describe path planning problems [28]. The requirements of a collision avoidance system are the ability to effectively and efficiently represent obstacles and the surrounding environment and to determine in real-time, with low computational cost, evasive maneuvers that onboard control systems can actuate. These requirements perfectly match the potential of DP, which, in this framework, offers the possibility of a simple and effective problem description, implementation of constraints, and efficient solution schemes capable of exploiting parallelism. Despite the inherent recursive formulation of DP, very efficient solution strategies based on function memoization or tabulation [29] and leveraging parallel computation [30,31,32] have been proposed to optimize the computation efficiency. DP-based algorithms are ideal for scenarios where resources are limited and real-time computation is crucial, such as autonomous vehicles, robotics, and embedded systems, and have found application in a broad range of industrial fields, including railway transportation [33], robotics [34,35], and maritime transport. The maritime literature features various applications of DP, primarily to weather routing problems [36,37,38,39], where the objective is to determine the optimal trajectory across a space-time domain to reach the destination subject to various constraints (e.g., ship motions, sea sickness), by effectively navigating through dynamic weather conditions in compliance with various constraints.
In this article, we introduce a DP formulation of the collision avoidance problem of autonomous vessels. In Section 2, we set up the framework to describe the ship collision avoidance problem; In Section 3, we formulate the optimal path planning problem as a multi-stage decision process with a recursive definition based on Bellman’s equation; in Section 4, we describe the cost function and constraints based on the actual requirements of a collision avoidance maneuver for marine application, taking into account maneuvering limits and regulations to obtain smooth, collision-free, and COLREG compliant maneuvers. In Section 5, we propose a bottom-up solution scheme for the problem, leveraging parallel computing, while in Section 6, we further reduce the algorithm time complexity by proposing a greedy approximation of the DP problem formulated in the previous sections. Eventually, in Section 7, we test and compare the proposed algorithms against case study navigational scenarios to assess the potential of the proposed approach.

2. Collision Avoidance Framework Definition

Despite the Earth’s curvature being relevant when planning long routes, the horizon of a maneuver in a collision avoidance context is usually such that we can approximate the ship’s state space X with an Euclidean plane. At the beginning of the collision avoidance maneuver, the ship is located in x s t a r t . We introduce the orthogonal unit vectors e x and e y to represent the cardinal axes of X: the unit vector  e x is aligned with the ship’s course at the beginning of the collision avoidance maneuver, while e y points towards the ship’s starboard (right) side, so that e z = e x × e y points downwards, as per the standard convention for ship maneuverability. We will refer to any generic position x S as a waypoint. We can represent a generic maneuver or route R as a sequence of consecutive waypoints:
R = x 0 , x 1 , , x N = x i i = 0 N
A sequence of two consecutive waypoints s = ( x , y ) is called route leg. If s i = ( x i 1 , x i ) , and we denote with “⊕” the sequence concatenation operator such that ( x , y ) ( y , z ) = ( x , y , z ) , We can represent the route R as:
R = ( x 0 , x 1 ) ( x 1 , x 2 ) ( x N 1 , x N ) = s 1 s 2 . . . s N
We introduce the notation s = y x to represent the vector connecting the start point of the leg to the endpoint. We can obtain the course change between two consecutive legs s i S i , s j S j , S i , S j ( x , y ) | x , y X , using the function θ : S i × S j [ 0 , π ] defined as follows:
θ ( s i , s j ) = arccos s i · s j | s i | | s j |
Some considerations about the ship’s kinematics are also needed. Firstly, we assume the ship is moving at constant speed u. Such an assumption is reasonable since, in maritime practice, course alterations are preferred to speed reductions due to the long transients a speed alteration takes. In particular, it is common practice to avoid obstacles by altering the ship’s course and trying to keep the speed, or reducing the speed by a limited amount in the first part of the maneuver and then keeping it constant, to and slowly regaining the cruise speed after the collision risk is mitigated. Leveraging the constant speed assumption, we can easily map R to a sequence of time instants T = ( t i ) i = 0 N . The instant t i at which it engages the waypoint x i is given by:
t i = t i 1 + s i u t 0 = 0
Therefore, the instantaneous vessel position x ( t ) at time t = t i + Δ t is given by:
x ( t i + Δ t ) = x i + u s i | s i | Δ t
Moreover, since collision avoidance is about the interaction with obstacles, we need to introduce a notation and some hypotheses to describe them. First, we assume there are T obstacles in the scenario with known kinematics. We denote with a m ( t ) S the instantaneous position of the m t h obstacle. For this study, we will approximate the motion of the obstacles as a straight line, constant speed motion:
a m ( t ) = a m ( t 0 ) + w m t
Where w m represents the speed vector of the m t h obstacle. The proposed formulation could be generalized to any known motion law.

3. Dynamic Programming Formulation

Concerning Figure 1a, let x s t a r t S be the initial position of the ship, the unit vector e x aligned with the ship’s initial course, and e y a unit vector orthogonal to e x and such that e z = e x × e y points downwards. Let δ x and δ y be the dimensions of the region in which the ship can maneuver. We introduce a discretization of the domain by defining X 0 = x s t a r t , and X i X , i { 1 , . . . , N } as follows:
X i = x X | x = x s t a r t + i N δ x e x + j D δ y e y , j { D , D }
Where N , D N , control the fineness of the discretization along e x and e y respectively, and i , j are the indices of the discretization. Figure 1b exemplifies a graphical representation. A route R = ( x i ) i = 0 N is such that x i X i .
We can imagine a route R = s 1 s 2 . . . s N as the result of a sequence of transitions between consecutive route legs s i = ( x i 1 , x i ) S i , where S i = s = ( x , y ) | x X i 1 , y X i . In this framework, optimal route planning can be represented as finding an optimal policy in a multi-stage decision process in which the route legs represent the states. Let J : i = 1 N S i R be an additively separable function expressing the cost of a route, i.e., J is such that there exists a function c : S i 1 × S i R such that:
J s 1 , s 2 , . . . , s i = J s 1 , s 2 , . . . , s i 1 + c ( s i 1 , s i )
Let us denote F ( s i ) : S i R be the route’s cost up to the state s i following an optimal policy. We can leverage the Bellman’s equation to define F recursively:
F ( s i ) = min z S i 1 | t ( z , s i ) c ( z , s i ) + F ( z ) F ( s 1 ) = c ( s 0 , s 1 )
Where s 0 represents the state of the ship before the collision avoidance maneuver begins, and t : S i 1 × S i { T , F } is a function such that t ( s i 1 , s i ) = T if the transition from s i 1 to s i is feasible, F otherwise.
We can analogously define the optimal predecessor function, p : S i S i 1 , returning the optimal predecessor state in S i 1 for the state s i S i :
p ( s i ) = argmin z S i 1 | t ( z , s i ) c ( z , s i ) + F ( z )
Let the recursive function B : S i { ( x k ) k = 0 i | x k S k } have the following form:
B ( s i ) = B ( p ( s i ) ) s i B ( s 1 ) = s 1
Once we know p ( x i ) for all i { 1 , . . . , N } , the optimal solution R can be obtained backtracking the optimal decisions:
R = B s N
where:
s N = argmin s S N F ( s )

4. Constraints and Cost Function

The constraints are needed to formulate the function t : S i 1 × S i { T , F } , identifying whether a transition is feasible. For the transition to be feasible, the next leg must begin at the end of the previous. Moreover, each transition must be such that the final result, i.e., the route, is compatible with the ship’s maneuvering capabilities, respects the COLREG, and is collision-safe. Therefore, the function t takes the following form:
t ( s i 1 , s i ) = t l i n k ( s i 1 , s i ) t θ ( s i 1 , s i ) t C O L R E G ( s i ) t c o l l i s i o n ( s i )
In particular, t l i n k ensures the two route legs can be connected; the course change constraint function t θ ensures the course changes along the path are compatible with ship maneuvering capabilities and good seamanship, the COLREG constraint function t C O L R E G implements a set of rules to ensure the COLREG compliance of the own ship’s kinematics relative the other vessels’, and the collision avoidance constraint function t c o l l i s i o n aims to guarantee an appropriate distance from the obstacles to avoid collisions safely.

4.1. Route Leg Connection

The feasibility of the transition from s i 1 S i 1 to s i S i is expressed by the function t l i n k : S i 1 × S i { T , F } . The transition is possible if the end point of the first leg is the start point of the second:
t l i n k ( s i 1 = ( · , x ) , s i = ( y , · ) ) = ( x = ? y )
Where the symbol “·” is a placeholder for any point in the proper domain, and the operator “ = ? ” returning values in { T , F } is such that A = ? B returns T if A = B , F otherwise.

4.2. Course Change Constraint

We need to define a minimum and maximum threshold value for the ship’s course changes, denoted as θ min and θ max , respectively. The introduction of θ max is motivated by the ship’s maneuvering capabilities and the performance of the motion control system: during a course change, the ship goes off the predefined track by a certain distance which is related to the magnitude of the course change. A large course change will push the ship too much off track, increasing the risk of collision. The reason to θ min can be found in COLREG Rule 8(b), which requires that “Any alteration in course and/or speed to avoid collision must, if the circumstances of the case permit, be large enough to be readily apparent to another vessel observing visually or by radar; a succession of small alterations in course and/or speed must be avoided.”. We thus want to ensure that we either have course changes large enough to be apparent to an observer but not as large that the control and steering system cannot actuate them or no course change between legs. Thus, we can define t θ : S i 1 × S i { T , F } :
t θ ( s i 1 , s i ) = θ min θ ( s i 1 , s i ) θ max θ ( s i 1 , s i ) = ? 0

4.3. COLREG Compliance Constraint

COLREG is an international convention regulating several aspects of navigation, including visibility, navigation lights, and the behaviors that each ship must have in encounter situations. This last part is a set of “rules of the road” each ship has to follow when encountering other ships. The COLREG-compliant behavior can be identified by analyzing the kinematics of the ships engaging the scenario and relying on a set of if-then-else rules to assess which behavior each ship has to keep relative to the others. This action is usually called COLREG classification. Various approaches and algorithms for COLREG classification have been proposed in literature [40,41].
For this study, we will suppose we are able to determine the COLREG-compliant behavior β i the own ship must keep relative to the i t h dynamic obstacle in the scenario, and that β i C B , where C B is the enumeration of all the possible behaviors:
C B = S O , G W , H O , A A
In particular, we describe the possible behaviors hereinafter:
  • S O (Stand On): COLREG requires the target ship to maneuver to avoid a collision, so the own ship must keep its course and speed: in this case, we will neglect the presence of the target ship;
  • G W (Give Way): The own ship must maneuver to avoid collision with the target ship, letting the latter pass ahead;
  • H O (Head On): The own ship and the target ship are sailing on parallel and opposite routes, and the own ship must avoid the collision by turning to starboard;
  • A A (Any Action): The own ship must take any appropriate action to avoid collision; this behavior is adopted in emergencies, such as when the target ship is expected to maneuver to avoid the collision but does not seem to initiate the evasive maneuver.
These behaviors are ensured in the solution by imposing constraints on the leg in which the own ship and the target ship cross each other’s route.
Let us assume that the ship and the target a cross in leg s i = ( x i 1 , x i ) , i.e., for t [ t i 1 , t i ] , and let us denote with x c the intersection point. If β = G W , COLREG requires the target ship to engage x c before the own ship; thus, we need to impose that if the own ship engages x c during leg s i , it does after the target has:
t G W ( s i = ( x i 1 , x i ) ) = = ( x c { x ( t ) S | t [ t i 1 , t i ] } ) x c x i 1 u x c a ( t i 1 ) | w | > 0
If β = H O , the correct behavior is ensured by imposing that the computed path keeps the target ship on the port side of the own ship. The latter is ensured by the constraint below:
t H O ( s i ) = ( t [ t i 1 , t i ] : ( a m ( t ) x ( t ) ) × s i · e z > 0 )
Eventually, the COLREG constraint function takes the following form:
t C O L R E G ( s i ) = m { 1 , . . . , T } : ( β m = ? G W t G W ( s i ) ) ( β m = ? H O t H O ( s i ) ) ( β m { A A , S O } )

4.4. Collision Avoidance Constraint

The obstacle avoidance constraint aims to guarantee that the evasive maneuver is collision-safe. We introduce the concepts of safety distance d s a f e t y and the Closest Point of Approach, C P A . The d s a f e t y represents the distance the own ship must keep from all obstacles during an evasive maneuver to ensure safety with enough margin to account for ship dimensions and uncertainties related to the environment, control, and measurement systems. The C P A is the minimum distance between the center points of the own ship x ( t ) and an obstacle, whose position over time is denoted by a m ( t ) , for t [ t 0 , t N ] . In particular, we define the C P A m ( s i ) : S i R as follows:
C P A m ( s i ) = min t [ t i 1 , t i ] a m ( t ) x ( t )
Thus, if there are T N obstacles, the function t c o l l i s i o n : S i { T , F } checks whether a transition is collision-safe:
t c o l l i s i o n ( s i ) = m 1 , , T | β m S O : C P A m ( s i ) d s a f e t y

4.5. Cost Function

The definition of the cost function plays an essential role because it directly influences the geometric characteristics of the optimal path. Various approaches can be used; the proposed approach seeks the minimum control energy maneuver. In the context of this paper, control energy is related to the amplitude of the maneuvers needed to follow a path. In other words, a path with high control energy requires the ship to perform large course changes over time. To this end, we can define the transition cost c as follows:
c ( s i 1 , s i ) = θ 2 ( s i 1 , s i )

5. Solution Scheme

This section presents a bottom-up solution scheme for the problem proposed in Section 3 based on a tabulation approach. We can divide the algorithm into two phases: the tabulation phase and the backtracking phase.
Algorithm 1 illustrates the tabulation phase. We sequentially generate the feasible states at each stage by leveraging Equation 7, while keeping track of the values of the partial optimum F and the backward link to the optimal predecessor p into proper data structures. If c and t run in constant time, the time complexity of Algorithm 1 is O ( N D 3 ) . Notice that the inner for-loop at line 6 of Algorithm 1 can be run in parallel since the loop does not mutate shared data.
Algorithm 1: Bottom-up solution scheme
  • S 1 =
  • for  j [ D , . . . , D ] :
  • s j = ( x s t a r t , x s t a r t + 1 N δ x e x + j D δ y e y
  • S 1 = S 1 { s j }
  • F ( s j ) = c ( ( x s t a r t e x , x s t a r t ) , s j )
  • p ( s j ) = N o n e
  •  
  • for  i [ 2 , , N ] :
  • S i =
  • parallel for  j [ D , , D ] :
  •    x j = x s t a r t + i N δ x e x + j D δ y e y
  •   for  k [ D , , D ] :
  •     x k = x s t a r t + i 1 N δ x e x + k D δ y e y
  •     s j = ( x k , x j )
  •     T = { z S i 1 | t ( z , s j ) }
  •    if  T :
  •      S i = S i { s j }
  •      F ( s j ) = min z T c ( z , s i ) + F ( z )
  •      p ( z j ) = argmin z T c ( z , x i ) + F ( z )
The backtracking phase, described in Algorithm 2, reconstructs the optimal solution based on the previously tabulated backlinks returned by the best predecessor function p.
Algorithm 2: Backtracking of the optimal solution
  • R = ( )
  • s = min z S N F ( z )
  • while  s N o n e :
  •    R = s R
  •    s = p ( s )
  • return R
The approach described in Algorithms 1 and  2 can be implemented leveraging a tree structure, where, for each stage i and for each state j, each node n i , j stores the state segment s j = ( x , y ) S i , the optimal cost F ( s j ) , and a back-link to its optimal predecessor (e.g., a pointer to its optimal predecessor node). Firstly, we create and complete the nodes of the tree according to Algorithm 1. Figure 2 shows the tree structure after Algorithm 1 is completed: each node contains the state, s j , the optimal cost F, and points to its optimal predecessor. Secondly, we backtrack the optimal solution by selecting the node with the minimum value of F at the last stage and following the chain of backlinks, pushing the last element of s j to the front of a list until we reach the initial state, where we push the starting point to complete the list of waypoints to be returned.
Concerning Algorithm 1, we can estimate the number of stages at each state as ( 2 D + 1 ) 2 , i.e., the total number of transitions to be evaluated at each stage is ( 2 D + 1 ) 4 . Since the only transitions to be evaluated are those whose initial state ends in the starting point of the final state, a proper implementation allows accessing them directly in constant time; thus, the number of evaluated transitions can be reduced to ( 2 D + 1 ) 3 in constant time, leading to a time complexity of O ( N D 3 ) for the overall process if the cost and constraints have constant time complexity.

6. Greedy Approximation

From Equation 14, we can notice that only part of the conditions for transition feasibility depend on the state s i 1 , as the transition cost c defined in Equation 23 does. In this section, we propose a greedy approximate dynamic programming (GADP) scheme that makes greedy decisions to reduce the number of evaluated transitions. The proposed scheme loses the capacity to find the globally optimal policy, yet it allows for reducing the time complexity of the algorithm. The basic idea is to reformulate the route R = ( x 0 , x 1 , . . . , x N ) as a sequence of transitions between consecutive states x i X i , i { 0 , 1 , . . . , N } . In other words, we use the waypoints to represent the ship’s state rather than representing it with a leg connecting two consecutive waypoints. The greedy minimum cost at stage i is expressed by the function F g : X i R , while the greedy optimal predecessor is represented by the function p g : X i X i 1 :
F g ( x i ) = min z S i 1 | t g ( z , x i ) c g ( z , x i ) + F g ( z )
p g ( x i ) = argmin z S i 1 | t g ( z , x i ) c g ( z , x i ) + F g ( z )
Where t g : X i i × X i { T , F } and c g : X i i × X i R greedily compute the result based on p g : X i X i 1 :
t g ( x , y ) = t ( ( p g ( x ) , x ) , ( x , y ) )
c g ( x , y ) = c ( ( p g ( x ) , x ) , ( x , y ) )
Algorithm 3 shows the proposed approach. Since a whole cycle over [ D , . . . D ] disappears in the solution scheme, we now evaluate only ( 2 D + 1 ) 2 transition at each stage, and the time complexity required to run the algorithm drops from O ( N D 3 ) to O ( N D 2 ) .
Algorithm 3: Approximate dynamic programming bottom-up solution scheme
  • S 0 = { x s t a r t }
  • F ( x s t a r t ) = 0
  • p ( x s t a r t ) = N o n e
  • for  i [ 1 , , N ] :
  • S i =
  • parallel for  j [ D , , D ] :
  •    x j = x s t a r t + i N δ x e x + j D δ y e y
  •    T = { z S i 1 | t g ( z , x j ) }
  •   if  T :
  •     S i = S i { x j }
  •     F g ( x i ) = min z T c g ( z , x i ) + F g ( z )
  •     p g ( x i ) = argmin z T c g ( z , x i ) + F g ( z )
The backtracking phase works similarly to the previous case.

7. Case Study

An implementation of the two proposed algorithms has been developed for testing and comparison purposes, and some test case scenarios have been designed to compare and evaluate the algorithms’ application in autonomous navigation contexts. The algorithms have been implemented in Rust language, relying on the Rayon library for parallelization. All scenarios take place in a square domain D = [ 0 , 10 ] × [ 0 , 10 ] nautical miles, in which the own ship starts from point ( 0 , 0 ) with heading 0 to reach the opposite side of the domain, i.e., any point ( 10 , y ) D .
  • Scenario 1, shown in Figure 3a, has two barriers placed at x = 5 and x = 9 nautical miles respectively, ranging in [ 5 , 2 . 5 ] and [ 2 . 5 , 5 ] . These obstacles force the own ship to maneuver between the barriers.
  • Scenario 2, shown in Figure 3b, features two sailboat vessels, the first starting in ( 8 . 0 , 4 . 5 ) with a speed of 5 . 0 knots, and a heading of 270 c i r c , the second positioned at ( 4 , 2 ) , with speed 6 knots and heading 90 c i r c . For both target vessels, the COLREG imposes a "give-way" behavior.
  • Scenario 3, shown in Figure 3c, features a double "head-on" with two target vessels starting from ( 9 , 1 ) and ( 10 , 0 ) and heading 180 c i r c and speeds of 9 and 8 knots, respectively. In addition, two fixed side barriers form a channel parallel to the x axis and 8 nautical miles wide.
To comply with the COLREG, the own ship must make only visible heading alterations, with a minimum angle of 15 c i r c , while a maximum of 60 c i r c turn is accepted. The algorithms perform the path optimization on a discrete computation grid defined as per Equation 7, where N = 10 and D = 20 .
Figure 4 shows the solutions found by the two algorithms in the three proposed test scenarios. In scenarios 1 and 2 (Figure 4a,b), DP and GADP propose dissimilar trajectories; in particular, the GADP solution features more delayed direction changes. In scenario number 3 (Figure 4c), on the contrary, the solution computed by the two approaches is the same, i.e., the greedy optimum computed by GADP corresponds to the global optimum of the DP.
Eventually, Figure 5a,b present the value of the cost function and the computation time required to determine the solution, respectively. We can note that, at the price of a higher cost function value, the solutions determined by the GADP algorithm require less computation time.
Figure 3. Application case scenarios. Scenario 1 (3a) includes fixed obstacles only; Scenario 2 (3b) features two sailboats (in red), both requiring “give-way” behavior to the own ship (blue); Scenario 3(3b) features two head-on ships (magenta) in a narrow channel.
Figure 3. Application case scenarios. Scenario 1 (3a) includes fixed obstacles only; Scenario 2 (3b) features two sailboats (in red), both requiring “give-way” behavior to the own ship (blue); Scenario 3(3b) features two head-on ships (magenta) in a narrow channel.
Preprints 102589 g003
Figure 4. Application case scenarios solved using DP (blue) and GADP (red).
Figure 4. Application case scenarios solved using DP (blue) and GADP (red).
Preprints 102589 g004
Figure 5. Cost function value (Figure 5a) and computation time (Figure 5b) comparison of the two presented algorithms.
Figure 5. Cost function value (Figure 5a) and computation time (Figure 5b) comparison of the two presented algorithms.
Preprints 102589 g005

8. Conclusions

This paper described a dynamic programming scheme for calculating evasive maneuvers of autonomous ships. We showed how the collision-free route calculation for a ship can be described by leveraging Bellman’s equation, and we described appropriate constraints to obtain a collision-safe route with features compatible with the maneuvering capabilities of a ship and compliant with collision regulations. We also proposed a greedy approximate dynamic programming (GADP) scheme that allows, using a greedy approach, to reduce the number of transitions to be evaluated for each step, consequently reducing the algorithm’s time complexity. Finally, we compared the proposed algorithms on three scenarios relevant to autonomous navigation.

Funding

This research was partially funded by European Union’s Horizon Europe under the call HORIZON-CL5-2022-D6-01 (Safe, Resilient Transport and Smart Mobility services for passengers and goods), grant number 101077026, project name SafeNav. However, the views and opinions expressed are those of the author(s) only and do not necessarily reflect those of the European Union or Executive Agency (CINEA). Neither the European Union nor the granting authority can be held responsible.

Abbreviations

The following abbreviations are used in this manuscript:
DP Dynamic Programming
COLREG Convention on the International Regulations for Preventing Collisions at Sea
CPA Closes Point of Approach
GADP Greedy Approximate Dynamic Programming
IMO International Maritime Organization

References

  1. Martelli, M.; Virdis, A.; Gotta, A.; Cassarà, P.; Di Summa, M. An outlook on the future marine traffic management system for autonomous ships. IEEE Access 2021, 9, 157316–157328. [CrossRef]
  2. Tran, H.A.; Johansen, T.A.; Negenborn, R.R. Collision avoidance of autonomous ships in inland waterways–A survey and open research problems. In Proceedings of the Journal of Physics: Conference Series. IOP Publishing, 2023, Vol. 2618, p. 012004.
  3. IMO, M. Outcome of the Regulatory Scoping Exercise for the Use of Maritime Autonomous Surface Ships (MASS), 2021.
  4. Alessandri, A.; Donnarumma, S.; Luria, G.; Martelli, M.; Vignolo, S.; Chiti, R.; Sebastiani, L. Dynamic positioning system of a vessel with conventional propulsion configuration: Modeling and simulation. Maritime Technology and Engineering, Proceedings of the MARTECH 2014.
  5. Alessandri, A.; Donnarumma, S.; Vignolo, S.; Figari, M.; Martelli, M.; Chiti, R.; Sebastiani, L. System control design of autopilot and speed pilot for a patrol vessel by using LMIs. Towards green marine technology and transport 2015, pp. 577–583.
  6. Singh, Y.; Bibuli, M.; Zereik, E.; Sharma, S.; Khan, A.; Sutton, R. A novel double layered hybrid multi-robot framework for guidance and navigation of unmanned surface vehicles in a practical maritime environment. Journal of Marine science and Engineering 2020, 8, 624. [CrossRef]
  7. Bruzzone, G.; Bibuli, M.; Caccia, M.; Zereik, E. Cooperative robotic maneuvers for emergency ship towing operations. In Proceedings of the 2013 MTS/IEEE OCEANS-Bergen. IEEE, 2013, pp. 1–7.
  8. Chen, L.; Huang, Y.; Zheng, H.; Hopman, H.; Negenborn, R. Cooperative multi-vessel systems in urban waterway networks. IEEE Transactions on Intelligent Transportation Systems 2019, 21, 3294–3307. [CrossRef]
  9. Chen, L.; Haseltalab, A.; Garofano, V.; Negenborn, R.R. Eco-VTF: Fuel-efficient vessel train formations for all-electric autonomous ships. In Proceedings of the 2019 18th European Control Conference (ECC). IEEE, 2019, pp. 2543–2550.
  10. Faggioni, N.; Ponzini, F.; Martelli, M. Multi-obstacle detection and tracking algorithms for the marine environment based on unsupervised learning. Ocean Engineering 2022, 266, 113034. [CrossRef]
  11. Organization, I.M. Convention on the International Regulations for Preventing Collisions at Sea, 1972.
  12. Burmeister, H.C.; Constapel, M. Autonomous collision avoidance at sea: A survey. Frontiers in Robotics and AI 2021, 8, 739013. [CrossRef]
  13. Zaccone, R.; Martelli, M. Interaction between COLREG-compliant collision avoidance systems in a multiple MASS scenario. In Proceedings of the Journal of Physics: Conference Series. IOP Publishing, 2023, Vol. 2618, p. 012006.
  14. Singh, Y.; Sharma, S.; Sutton, R.; Hatton, D.; Khan, A. A constrained A* approach towards optimal path planning for an unmanned surface vehicle in a maritime environment containing dynamic obstacles and ocean currents. Ocean Engineering 2018, 169, 187–201. [CrossRef]
  15. Seo, C.; Noh, Y.; Abebe, M.; Kang, Y.J.; Park, S.; Kwon, C. Ship collision avoidance route planning using CRI-based A* algorithm. International Journal of Naval Architecture and Ocean Engineering 2023, 15, 100551. [CrossRef]
  16. Singh, Y.; Sharma, S.; Sutton, R.; Hatton, D.; Khan, A. Feasibility study of a constrained Dijkstra approach for optimal path planning of an unmanned surface vehicle in a dynamic maritime environment. In Proceedings of the 2018 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC). IEEE, 2018, pp. 117–122.
  17. Singh, Y.; Sharma, S.; Sutton, R.; Hatton, D. Towards use of Dijkstra algorithm for optimal navigation of an unmanned surface vehicle in a real-time marine environment with results from artificial potential field 2018.
  18. D’Amato, E.; Nardi, V.A.; Notaro, I.; Scordamaglia, V. A Visibility Graph approach for path planning and real-time collision avoidance on maritime unmanned systems. In Proceedings of the 2021 International Workshop on Metrology for the Sea; Learning to Measure Sea Health Parameters (MetroSea). IEEE, 2021, pp. 400–405.
  19. Chiang, H.T.L.; Tapia, L. COLREG-RRT: An RRT-based COLREGS-compliant motion planner for surface vehicle navigation. IEEE Robotics and Automation Letters 2018, 3, 2024–2031. [CrossRef]
  20. Zaccone, R.; Martelli, M. A collision avoidance algorithm for ship guidance applications. Journal of Marine Engineering & Technology 2020, 19, 62–75.
  21. Enevoldsen, T.T.; Reinartz, C.; Galeazzi, R. COLREGs-Informed RRT* for collision avoidance of marine crafts. In Proceedings of the 2021 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2021, pp. 8083–8089.
  22. Ito, M.; Zhnng, F.; Yoshida, N. Collision avoidance control of ship with genetic algorithm. In Proceedings of the Proceedings of the 1999 IEEE International Conference on Control Applications (Cat. No. 99CH36328). IEEE, 1999, Vol. 2, pp. 1791–1796.
  23. Kang, Y.T.; Chen, W.J.; Zhu, D.Q.; Wang, J.H.; Xie, Q.M. Collision avoidance path planning for ships by particle swarm optimization. Journal of Marine Science and Technology 2018, 26, 3.
  24. Ning, J.; Chen, H.; Li, T.; Li, W.; Li, C. COLREGs-Compliant unmanned surface vehicles collision avoidance based on multi-objective genetic algorithm. Ieee Access 2020, 8, 190367–190377. [CrossRef]
  25. Gao, P.; Zhou, L.; Zhao, X.; Shao, B. Research on ship collision avoidance path planning based on modified potential field ant colony algorithm. Ocean & Coastal Management 2023, 235, 106482.
  26. Bellman, R. The theory of dynamic programming. Bulletin of the American Mathematical Society 1954, 60, 503–515. [CrossRef]
  27. Bellman, R. Dynamic programming. Science 1966, 153, 34–37. [CrossRef]
  28. Jones, M.; Peet, M.M. A generalization of Bellman’s equation with application to path planning, obstacle avoidance and invariant set estimation. Automatica 2021, 127, 109510. [CrossRef]
  29. Ayyappan, B.; Gopalan, S. A Performance and Power Characterization study of Memoization and Tabulation methods in Graph Neural Networks by assessing Dynamic Programming Workloads. In Proceedings of the 2022 6th International Conference on Information Technology, Information Systems and Electrical Engineering (ICITISEE). IEEE, 2022, pp. 1–6.
  30. Rytter, W. On efficient parallel computations for some dynamic programming problems. Theoretical Computer Science 1988, 59, 297–307. [CrossRef]
  31. González, D.; Almeida, F.; Roda, J.; Rodriguez, C. From the theory to the tools: parallel dynamic programming. Concurrency: practice and experience 2000, 12, 21–34. [CrossRef]
  32. Guo, Q.; Li, Z.; Song, W.; Fu, W. Parallel computing based dynamic programming algorithm of track-before-detect. Symmetry 2018, 11, 29. [CrossRef]
  33. Mazzarello, M.; Ottaviani, E. A traffic management system for real-time traffic optimisation in railways. Transportation Research Part B: Methodological 2007, 41, 246–274. [CrossRef]
  34. Shin, K.; McKay, N. A dynamic programming approach to trajectory planning of robotic manipulators. IEEE Transactions on Automatic Control 1986, 31, 491–500. [CrossRef]
  35. Li, X.; Wang, L.; An, Y.; Huang, Q.L.; Cui, Y.H.; Hu, H.S. Dynamic path planning of mobile robots using adaptive dynamic programming. Expert Systems with Applications 2024, 235, 121112. [CrossRef]
  36. Zaccone, R.; Ottaviani, E.; Figari, M.; Altosole, M. Ship voyage optimization for safe and energy-efficient navigation: A dynamic programming approach. Ocean engineering 2018, 153, 215–224. [CrossRef]
  37. Zaccone, R.; Figari, M.; Martelli, M. An optimization tool for ship route planning in real weather scenarios. In Proceedings of the ISOPE International Ocean and Polar Engineering Conference. ISOPE, 2018, pp. ISOPE–I.
  38. Zhengping, T.; Chao, J.; Xiaohai, W. Design of ship route through waterway based on dynamic programming. In Proceedings of the Journal of Physics: Conference Series. IOP Publishing, 2021, Vol. 1906, p. 012001.
  39. Choi, G.H.; Lee, W.; Kim, T.w. Voyage optimization using dynamic programming with initial quadtree based route. Journal of Computational Design and Engineering 2023, p. qwad055.
  40. Zaccone, R.; Martelli, M.; Figari, M. A colreg-compliant ship collision avoidance algorithm. In Proceedings of the 2019 18th European Control Conference (ECC). IEEE, 2019, pp. 2530–2535.
  41. Martelli, M.; Žuškin, S.; Zaccone, R.; Rudan, I. A COLREGs-compliant decision support tool to prevent collisions at sea. TransNav: International Journal on Marine Navigation and Safety of Sea Transportation 2023, 17. [CrossRef]

Short Biography of Authors

Preprints 102589 i001 Raphael Zaccone received his MSc in naval architecture and marine engineering in 2013 from the University of Genoa. Subsequently, he received his PhD in 2017 with research on ship optimal weather routing, then continued his research in autonomous navigation and collision avoidance as a Post Doc. He joined the Department of Naval, Electrical, Electronic, and Telecommunications Engineering at the University of Genoa in 2019 as a Research Fellow and, from 2021, Assistant Professor. His research activities cover various areas of ship digitization and are mainly focused on developing and applying motion planning and collision avoidance algorithms for enhanced navigation, decision support, and autonomous marine vehicles. He has authored more than 35 scientific publications in international journals and conferences.
Figure 1. A representation of the domain of the collision avoidance problem (1a), and an example discretization of the domain, with N = 4 and D = 2 1b.
Figure 1. A representation of the domain of the collision avoidance problem (1a), and an example discretization of the domain, with N = 4 and D = 2 1b.
Preprints 102589 g001
Figure 2. Tabular representation of the partial solutions in a tree structure. For each stage i and for each state j, each node n i , j stores the state s j S i , the optimal cost F ( s j ) , and a back-link to its optimal predecessor.
Figure 2. Tabular representation of the partial solutions in a tree structure. For each stage i and for each state j, each node n i , j stores the state s j S i , the optimal cost F ( s j ) , and a back-link to its optimal predecessor.
Preprints 102589 g002
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.
Prerpints.org logo

Preprints.org is a free preprint server supported by MDPI in Basel, Switzerland.

Subscribe

© 2024 MDPI (Basel, Switzerland) unless otherwise stated