Applied Sciences
Applied Sciences
Applied Sciences
sciences
Article
An Improved A-Star Algorithm Considering Water
Current, Traffic Separation and Berthing for Vessel
Path Planning
Chenguang Liu 1 , Qingzhou Mao 2, * , Xiumin Chu 3 and Shuo Xie 3
1 State Key Laboratory of Information Engineering in Surveying, Mapping and Remote Sensing,
Wuhan University, Wuhan 430079, China; cgliu@whu.edu.cn
2 School of Remote Sensing and Information Engineering, Wuhan University, Wuhan 430079, China
3 National Engineering Research Center for Water Transport Safety, Wuhan University of Technology,
Wuhan 430063, China; chuxm@whut.edu.cn (X.C.); xieshuo@whut.edu.cn (S.X.)
* Correspondence: qzhmao@whu.edu.cn
Abstract: A traditional A-Star (A*) algorithm generates an optimal path by minimizing the path cost.
For a vessel, factors of path length, obstacle collision risk, traffic separation rule and manoeuvrability
restriction should be all taken into account for path planning. Meanwhile, the water current also
plays an important role in voyaging and berthing for vessels. In consideration of these defects of the
traditional A-Star algorithm when it is used for vessel path planning, an improved A-Star algorithm
has been proposed. To be specific, the risk models of obstacles (bridge pier, moored or anchored
ship, port, shore, etc.) considering currents, traffic separation, berthing, manoeuvrability restriction
have been built firstly. Then, the normal path generation and the berthing path generation with the
proposed improved A-Star algorithm have been represented, respectively. Moreover, the problem of
combining the normal path and the berthing path has been also solved. To verify the effectiveness of
the proposed A-Star path planning methods, four cases have been studied in simulation and real
scenarios. The results of experiments show that the proposed A-Star path planning methods can deal
with the problems denoted in this article well, and realize the trade-off between the path length and
the navigation safety.
1. Introduction
The autonomous surface vessel (ASV) technologies have grown rapidly and obtained more
attention than ever both in military and commercial applications [1]. Among them, path planning
in complex navigation area is one of most difficult and challenging topics that need to be developed.
The aim of path planning is to find the optimal navigation path from the start location to the destination
location [2]. Generally, path planning can be divided to two classes, i.e., global path planning and
local path planning (real-time) [3]. A global path planner usually calculates paths off-line in static
environments with stationary obstacles. In contrast, a local path planner usually calculates paths
on-line in dynamic environments with moving obstacles. For the global planning, path length,
risk factor, dynamic constraint, etc. should be considered at the same time. Specifically, current effect
and navigation rules should also be included during the path planning for a vessel. In this article,
we try to propose a global path planning method to satisfy the requirements of safety and efficiency
for autonomous surface vessel. For a vessel, especially an autonomous surface vessel, factors of the
path length, the obstacle collision risk, the traffic separation rule and the manoeuvrability restriction
should be all taken into account when a path is planned for navigation. To solve these problems, a lot
of studies for vessel path planning have been conducted. For instance, Szlapczynsk reported a ship
route finding method with turn penalties and collision avoidance [4]; Kim et al. put forward a grid
map-based path planning method with the kinematic constraint of the vessels [5]; Lyu et al. proposed a
path-guided hybrid artificial potential field (PGHAPF) method to generate adaptive, collision-free and
International Regulations for Preventing Collisions at Sea (COLREGS)-constrained paths in restricted
waters [6,7]. However, the majority of path planning methods did not consider the current effect,
berthing requirements and traffic separation rule together much. In recent years, Ma et al. proposed a
dynamic augmented multi-objective particle swarm optimization (PSO) algorithm to obtain a path
considering the path length, smoothness, economical efficiency and safety for unmanned surface
vehicles [8]. Though this algorithm can get good performance of path planning, the PSO based method
usually has the possibility of trapping in a local optima and the berthing requirements were not taken
into account. For the berthing problem during path planning, Lee et al. proposed an EEA* algorithm
considering hydrodynamic effects, angular constraint and head angle confinement at the goal point [9].
The head angle confinement could be a good attempt to solve the berthing problem, which, however,
cannot guarantee the availability of the berthing path accord to the instructions of berthing in [10].
To obey the traffic separation rule for path planning, on the basis of the research of [4], Szlapczynski
proposed an improved Evolutionary Algorithms (EA) method considering the Traffic Separation
Schemes (TSS) [11]. We think that these attempts for solving the vessel path planning problems are
beneficial. However, the demands of the vessel path planning proposed in this article have not been
all satisfied, e.g., the risk of an obstacle in the upstream of current should be higher than that in the
downstream of current, a berthing path should be generated considering the current effects, and the
traffic separation rule should be modelled as a risk of path planning.
Grid map-based global path planning algorithms have been applied frequently and widely
because their advantages in computation time and avoidance of local optimum [12]. A Dijkstra path
planning algorithm based on grid map was first proposed in [13], which is to find the shortest paths
between nodes in a graph. Dijkstra algorithm creates an open list and a closed list to denote the next
alternative nodes and the selected nodes, respectively. A node in the open list will be transferred to the
closed list when the distance from the start node is less than the best path so far [14]. In consideration
of low search efficiency of Dijkstra path planning algorithm, an improved algorithm extended from
Dijkstra algorithm, i.e., A-Star (A*) algorithm, was introduced by [15]. In contrast to the Dijkstra
algorithm, A-Star algorithm transfers a node in the open list to the closed list by introducing the
node potential that is the underestimate of the remaining distance to the destination node. A-Star
algorithm has higher efficiency mainly because the node potential gives the direction to the destination
node. A-Star algorithm forms the backbone of vehicle navigation systems, which has been used
for robots, road vehicles, unmanned aerial vehicles, humans, etc. [2,14,16–18]. A traditional A-Star
path planning algorithm generates an optimal path only by minimizing the path length in a grid
map. Improvements for the A-Star algorithm have been done all the time. Bell proposed a Hyperstar
algorithm based on A-Star approach for risk averse vehicle navigation [14]. Pochmara et al. improved
the A-Star to decrease the computer calculation cost [19]. Fernandes et al. presented an enhanced A-Star
algorithm capable of generating smooth and feasible paths considering orientation restrictions [2].
These improvements for the A-Star algorithm have solved several specific problems and widen the
application areas. However, for the path planning of vessels, the A-Star and the A-Star based methods
still need to be improved to generate safer and more efficient paths.
This study presents an improved A-Star based global path planning method to satisfy the
requirements of the economy (path length), the obstacle avoidance, the traffic separation rule,
the berthing and the manoeuvrability restriction considering the water current effects at the same
time. The remainder of this article is organized as follows. Risks of the obstacles, the traffic separation,
the berthing, manoeuvrability restriction are modelled in Section 2. In Section 3, an improved A-Star
path planning algorithm considering risk models is proposed. In Section 4, four simulation case studies
are carried out to verify the performance of the proposed methods for the normal path planning,
Appl. Sci. 2019, 9, 1057 3 of 17
berthing path planning and combined path planning, respectively. In the Section 5, the conclusions
and future directions are presented.
2. Risk Modelling
During path planning, to find a shortest waterway is not the ultimate goal for a vessel because the
safety of the vessel usually obtains more attention than the operation efficiency. However, existing path
planning algorithms usually ignored the impact on the vessel safety when a vessel voyages nearby
obstacles, such as bridge pier, shore, other vessels, port, etc., when the water current speed is large
enough to be considered, when the traffic separation has been carried out, or when a vessel is for
berthing. Hence, it is necessary to build relevant risk models to denote the impacts of these factors.
In this section, we propose the four risk models designed for the obstacles, traffic separation, berthing
and manoeuvrability, respectively.
12 obstacle
11 start node
10 destination node
9 navigable node
8 path generated by
7 traditional A-Star
6
5
4
3
2
1
1 2 3 4 5 6 7 8 9 10 11 12
Figure 1. The grid map and path generated by the traditional A-Star.
The obstacles for vessel can be divided into 5 types, namely, bridge pier, shore, vessel, port, and
others. Different types of obstacles have different risks for vessel navigation. The risk degree ro [m, n]
of navigable node N [m] nearby obstacle node O [n] is defined as follows:
e− d cm vm
ro [m, n] = + , (1)
a d
where d stands for the Euclidean distance from an navigable node N [m] to the obstacle node O [n]. a
stands for the risk coefficient for different types of obstacles. In this article, a is assigned as 5, 5, 3, 4, 3
for bridge pier, shore, vessel, port, and others. vm stands for the current velocity. cm stands for the
direction coefficient, which is as follows:
(
− cos φc − φg , cos φc − φg < 0
cm = , (2)
0, cos φc − φg ≥ 0
where, φc ∈ [0, 2π ) is the current direction toward the true North; φg ∈ [0, 2π ) is the node direction
−−−−−−→
relative to obstacle node O [n] toward the true North, i.e., the direction of vector N [m] O [n] toward
the true North.
Appl. Sci. 2019, 9, 1057 4 of 17
A grid map considering the obstacle with current is represented in Figure 2. In Figure 2, the
number in a navigable node denotes the risk degree, and the direction and length of an arrow denote
the current direction and velocity, respectively. A navigable node N [m] could have k risk degree values
if there exist k obstacle nodes nearby N [m] according to Equation (1). In this case, the maximum one
will be selected as the final risk degree. Therefore, the final risk degree of node N [m], ro [m], is defined
as follows:
In Figure 2, the path is generated by the traditional A-Star algorithm, which chooses an optimal
path node without considering the risk degree of the path node.
12
N
11 12 12 8 7 8 12 8 9
10 12 4 13 12 9 moored or anchored ship
9 12 5 13 12 6 9 9 9 9 shore
8 12 12 7 13 12 4 3 3 3 3 bridge pier
port
7 4 9 7 14 12 4 1 1 1 1
other obstacles
6 2 5 7 4 9 12 8 3 1 1 1 0
start node
5 1 2 2 2 3 4 4 4 4 4 3 1 destination node
4 2 5 7 4 4 8 12 12 12 12 8 3 navigable node
3 3 8 7 4 13 12 4 path generated by
2 7 7 7 7 8 12 12 12 12 8 7 traditional A-Star
1 current
1 2 3 4 5 6 7 8 9 10 11 12
12
N
11 12 12 8 7 8 12 8 9
10 12 4 13 12 9 moored or anchored ship
9 12 5 13 12 6 9 9 9 9 shore
bridge pier
8 12 12 7 13 12 4 3 3 3 3
port
7 4 9 7 14 12 4 1 1 1 1 other obstacles
6 2 5 7 4 9 12 8 3 1 1 1 0 start node
destination node
5 1 2 2 2 3 4 4 4 4 4 3 1 navigable node
4 2 5 7 4 4 8 12 12 12 12 8 3 path generated by
3 3 8 7 4 13 12 4 traditional A-Star
current
2 7 7 7 7 8 12 12 12 12 8 7 navigation direction
1 boundary line
1 2 3 4 5 6 7 8 9 10 11 12
12
11 12 12 8 7 8 12 8 9
N moored or anchored ship
10 12 4 13 12 9 shore
9 12 5 13 12 6 9 9 9 9 bridge pier
8 12 12 7 13 12 4 3 3 3 3 port
7 4 9 7 14 12 4 1 1 1 1 other obstacles
6 2 5 7 4 9 12 8 3 1 1 1 0 start node
5 1 2 2 2 3 4 4 4 4 4 3 1 destination node
4 2 5 7 4 4 8 12 12 12 12 8 3 navigable node
3 3 8 7 4 13 12 4 normal path
2 7 7 7 7 8 12 12 12 12 8 7 berthing path
1 current
1 2 3 4 5 6 7 8 9 10 11 12
The generated path with a berthing destination node consists of the normal path Pn and the
berthing path Pb . The berth path Pb should consider the current effect. In contrast to the normal A-Star
algorithm, the berthing path has no specific destination node with the berth node as the start node.
Therefore, how to generate a berth path without a destination node is a key point to deal with.
The berthing risk of a navigable node N [m], rbe [m], is modelled as follows:
c
rbe [m] = [1 + cos (φn − φr )] , (5)
sm
where rbe [m] ≥ 0, and c > 0 is a constant coefficient. sm = 0, 1, ..., Nbe is the sequence number of node
N [m] from the berth node, in which Nbe is the node number of the berthing path. φn and φr are defined
in Equation (4). The specific procedure to generate the berthing path will be described in Section 3.2.2.
Pi-1
l
Pi
θ
O Ri
Pi+1
θ ∈ [0, π ) is the included angle between line Pi−1 Pi and line Pi Pi+1 . l is the shorter length between
the length of Pi−1 Pi and the length of Pi Pi+1 . A circle is built through node Pi−1 , which is tangent to
line Pi−1 Pi and line Pi Pi+1 . Then the radius of the circle, Ri , is obtained:
θ
Ri = l tan . (6)
2
If the minimum turning radius of the vessel R0 is greater than Ri , it means that the continuous nodes
Pi−1 , Pi , Pi+1 is not available for this vessel, and vice versa. Hence, a risk model for manoeuvrability
restriction is defined as follows:
b 1 + R i , R0 > R i
rm [m] = R0 , (7)
0, R ≤ R
0 i
3: Select the open node N [i ] from the openlist whose value of evaluation function f ( N [i ]) is
smallest.
4: if N [i ] = N [dest] then
5: return “path is found”.
6: else
7: Mark N [i ] as closelist.
8: if Successor Ni [ j] of node N [i ] does not belong to closelist or obstacle node then
9: Mark Ni [ j] as openlist and calculate f ( Ni [ j]).
10: if Ni [ j] belongs to openlist and f ( Ni [ j]) is smaller than f ( Nm [ j]) when N [m] was marked
as closelist then
11: f ( N [ j]) = f ( Ni [ j]) and set parent node of N [ j] as N [i ].
12: end if
13: end if
14: end if
15: end while
16: return “path is not found”.
f ( N [i ]) = g ( N [i ]) + h ( N [i ]) , (8)
where g ( N [i ]) is the cost of the path from N [start] to N [i ], and h ( N [i ]) is a heuristic function that
estimates the cost of the cheapest path from N [i ] to N [dest]. h ( N [i ]) can be Euclidean distance
(Manhattan distance or Chebyshev distance) from N [i ] to N [dest], or other functions denoting the
cost from N [i ] to N [dest] as in [9]. Please note that in contrast to the A-Star algorithm, the Dijkstra
algorithm has no heuristic function that can accelerate the rate of finding an optimal path . The
Euclidean distance is selected as h ( N [i ]) in this article.
where gn ( N [i ]) is the newly defined cost of the path from N [start] to N [i ]. τn > 0 is a constant
coefficient. g ( N [i ]) is defined as:
p −1
g ( N [i ]) = ∑ d (k) , (10)
k =1
where p ≥ 1 is the node amount from N [i ] to N [start], i.e., N [i ], N [i ] .parent, N [i ] .parent.parent, ...,
N [start], in which N.parent represents the parent node of N.
d (k ) is the Euclidean distance between kth node to (k + 1)th node, where k stands for the node
sequence from the start node. To be specific, assuming that the coordinates of kth node is ( xk , yk ), then
d (k) is as follows:
q
d ( k ) = ( x k − x k +1 )2 + ( y k − y k +1 )2 . (11)
where ro [i ], rs [i ] and rm [i ] are defined in Equations (3), (4) and (7), respectively. Please note that rs = 0
if traffic separation rule is not carried out in certain waterway.
A new evaluation function f n ( N [i ]) is defined as:
f n ( N [i ]) = gn ( N [i ]) + β n hn ( N [i ]) , (13)
r
2 2
hn ( N [i ]) = x N [i] − x N [dest] + y N [i] − y N [dest] . (14)
Appl. Sci. 2019, 9, 1057 8 of 17
The proposed A-Star algorithm of the normal path generation is presented as Algorithm 2.
Algorithm 2 Normal path generation with the improved A-Star algorithm (N [start] → N [dest])
1: Mark N [start] as openlist.
2: if the destination node is not the berthing one then
3: if traffic separation rule is not carried out then
4: rs = 0 at any time.
5: end if
6: while openlist 6= ∅ do
7: Select the open node N [i ] whose value of evaluation function f n ( N [i ]) is smallest.
8: if N [i ] = N [dest] then
9: return “path Pn is found”.
10: else
11: Mark N [i ] as closelist.
12: if Successor Ni [ j] of node N [i ] does not belong to closelist or obstacle node then
13: Mark Ni [ j] as openlist.
14: Calculate ro [ j], rs [ j] and rm [ j] by (3), (4) and (7), respectively. Then, rn ( Ni [ j]) = ro [ j] +
r s [ j ] + r m [ j ].
15: if Ni [ j] belongs to openlist and f n ( Ni [ j]) is smaller than f n ( Nm [ j]) when N [m] was
marked as closelist then
16: f n ( N [ j]) = f n ( Ni [ j]) and N [ j] .parent = N [i ].
17: end if
18: end if
19: end if
20: end while
21: return “path Pn is not found”.
22: end if
f b ( N [i ]) = gb ( N [i ]) + β b hb ( N [i ]) , (15)
where β b > 0 is a constant coefficient. hb ( N [i ]) = 0 at any time since the destination node is not
known before the berthing path generation finishes. gb ( N [i ]) is as follows:
gb ( N [i ]) = g ( N [i ]) + τb rb ( N [i ]) , (16)
rb ( N [i ]) = ro [i ] + rbe [i ] + rm [i ] . (17)
Please note that the traffic separation rule is not considered for the berthing path generation, i.e.,
rs = 0 at any time, because a vessel in the berthing process always finds the path that is against the
current ignoring the traffic separation rule temporarily.
Appl. Sci. 2019, 9, 1057 9 of 17
f b ( N [i ]) = ro [i ] + rbe [i ] + rm [i ] . (18)
Please note that τb = 1 and β b = 1 are both eliminated in (18) since g ( N [i ]) and hb ( N [i ]) are
constant to 0.
7: The turn of N [ne] → N [berth] → N [b1] is too sharp to track by the vessel.
8: Try to find a node from eight neighbourhood of Nberth except node N [b1] and node N [ne] that
will be added to Pb . The coordinates of N [berth] is denoted as x N [berth] , y N [berth] .
9: count = 0.
10: for i = −1 : 1 do
11: for j = −1 : 1 do
12: A candidate node N [c] x N [berth] + i, y N [berth] + j is selected to be verified.
13: if N [c] 6= N [berth] and N [c] 6= N [b1] and N [c] is not an obstacle node and N [c] is not
beyond the boundary of the grid map. then
14: Calculate rm1 [c] of N [berth] → N [c] → N [b1] and rm1 [berth] of N [ne] → N [berth] →
N [c] by (7).
15: Calculate rm2 [c] of N [c] → N [berth] → N [b1] and rm2 [berth] of N [ne] → N [c] →
N [berth] by (7).
16: if rm1(2) [c] == 0 and rm1(2) [berth] == 0 then
17: Add N [c] x N [berth] + i, y N [berth] + j to addnodelist.
18: Calculate the danger risk r add [c] = rm1(2) [c] + ro1(2) [c], where ro1(2) [c] is calculated by
(3).
19: f add [c] = 1(2) and add f add [c] to f laglist.
20: count = count + 1.
21: end if
22: end if
23: end for
24: end for
25: if count > 0 then
26: Obtain the danger risk list r add [cn ] = rm [cn ] + ro [cn ] for node list N [cn ] (n = 1, 2, ..., count).
27: Select the node with the smallest value of r add from r add [cn ] (n = 1, 2, ..., count), i.e., N [cmin ],
and set N [ add] = N [cmin ].
28: if f add [cmin ] == 1 then
29: Change Pb to Pb0 = { N [berth] , N [ add] , N [b1] , ...} and Pc = Pn + Pb0 .
30: else
31: Change Pn to Pn0 = { N [n1] , ..., N [ add] , N [berth]} and Pc = Pn0 + Pb .
32: end if
33: return “added node is found. “
34: else
35: return “added node cannot be found. “
36: end if
37: end if
Appl. Sci. 2019, 9, 1057 11 of 17
12
N
11 12 12 8 7 8 12 8 9
10 12 4 13 12 9 sharp turn
9 12 5 13 12 6 9 9 9 9
moored or anchored ship
8 12 12 7 13 12 4 3 3 3 3 shore
7 4 9 7 14 12 4 1 1 1 1 bridge pier
6 2 5 7 4 9 12 8 3 1 1 1 0 port
5 1 2 2 2 3 4 4 4 4 4 3 1 other obstacles
start node
4 2 5 7 4 4 8 12 12 12 12 8 3
destination node
3 3 8 7 4 13 12 4
navigable node
2 7 7 7 7 8 12 12 12 12 8 7 normal path
1 berthing path
current
1 2 3 4 5 6 7 8 9 10 11 12
12 added node
moored or anchored ship 11 12 12 8 7 8 12 8 9 N
shore 10 12 4 13 12 9 10
bridge pier 9 12 5 13 12 6 9 9 9 9
port 8 12 12 7 13 12 4 3 3 3 3
other obstacles 9 9 9 9
7 4 9 7 14 12 4 1 1 1 1 N[b1] N[add]
start node 6 2 5 7 4 9 12 8 3 1 1 1 0
destination node 5 1 2 2 2 3 4 4 4 4 4 3 1 8 3 3 3
N[ne] N[berth]
navigable node 4 2 5 7 4 4 8 12 12 12 12 8 3 ln
normal path 3 3 8 7 4 13 12 4 7 1 1 1
berthing path 2 7 7 7 7 8 12 12 12 12 8 7
current 1 6
1 2 3 4 5 6 7 8 9 10 11 12 10 11 12
4. Case Study
To verify the effectiveness of the proposed improved A-Star path planning method, simulation
experiments are conducted in this section. Firstly, a normal path is generated by the proposed A-Star
algorithm in consideration of obstacle, traffic separation and manoeuvrability risk, and the performance
of path planning is compared between the proposed A-Star method and traditional A-Star method.
Then, the berthing path planning is realized by the proposed A-Star algorithm, and the berthing path
is evaluated. The combination of the normal path and the berthing path is conducted by the proposed
A-Star algorithm and the performance of the combined path is compared with the uncombined path.
Finally, the proposed improved A-Star method is used to generate the path in a real scenario in
Yangtze waterway.
4.1.1. Setup
To model the obstacle risk, related model parameters need to be determined. It is known that the
current velocity near the shore is smaller than one far away from the shore. Hence, vm (m/s) at node
N [m] is set as: (
0.4ds , ds ≤ 4ln
vm = , (19)
2, ds > 4ln
where ds (m) is the vertical distance from node N [m] to the nearest shore node. Other parameters are
shown in Table 1. The vessel starts from the start node N [start] (3, 3) to the destination node (32, 21).
Appl. Sci. 2019, 9, 1057 12 of 17
Parameters Value
node range of x axis [1, 38]
node range of y axis [1, 25]
grid length ln 30 m
minimum radius of vessel R0 27 m
α 100
τ 0.2
β 0.5
4.1.2. Results
The normal path generation performance with a traditional A-Star algorithm and an improved
A-Star algorithm for vessels is shown in Figure 8. From Figure 8, it can be seen that the traditional
A-Star algorithm generates the optimal path only by taking the shortest path length as the standard.
On the contrary, the improved A-Star algorithm considers the path length, obstacle risk, the traffic
separation rule and manoeuvrability restriction simultaneously. Specifically, the path length of the
traditional A-Star algorithm and the improved A-Star algorithm is 34.0 and 38.1, respectively. Generally,
the improved A-Star algorithm will generate a longer path than the traditional A-Star algorithm.
The sum of path node obstacle risk for the traditional A-Star algorithm and the improved A-Star
algorithm is 150 and 22, respectively. The path generated by the traditional A-Star algorithm has much
higher risk to collide with obstacles. For instance, the vessel is too close to the bridge piers and other
vessels, which could increase the collision risks enormously in Figure 8.
The path generated by the improved A-Star algorithm has taken into account the traffic separation
rule, which decreases the risk of collision with other navigating vessels. Moreover, the manoeuvrability
risk is also considered in the improved A-Star algorithm to avoid the vessel failing to track the
generated path.
In summary, the improved A-Star algorithm can improve the navigating safety with slightly
increasing the path length.
Figure 8. Normal path generation with a traditional A-Star algorithm and an improved A-Star
algorithm for vessels (The definition of the graphic symbols in this figure is the same as the definition
in Figure 7).
Appl. Sci. 2019, 9, 1057 13 of 17
4.2.1. Setup
As previously mentioned, a vessel should berth into the current when the vessel needs to anchor
or berth at a port. In this case, the vessel starts from the node of N [start] (6, 3) to the port whose node
is N [dest] (32, 21). The node number of berthing path Pb is set to 6. The other parameters are the same
as Table 1. The performance of the berthing path planning is presented as Figure 9.
4.2.2. Results
In Figure 9, the path generated by the A-Star algorithm without considering the berthing path
is hard to berth to the port because the vessel cannot be manipulated well if the current direction
is consistent with the vessel sailing direction. When the berthing procedure is taken into account,
the berthing path Pb and the berthing node N [berth] are obtained firstly according to Algorithm 3,
specifically, the coordinates of N [berth] are (37, 18). Then, the normal path Pn can be generated with
the destination node N [dest] = N [berth]. Finally, Pn and Pb are combined to become the complete
path Pc .
normal path considering berthing berthing path considering berthing path not considering berthing
25
24 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 9 9 7
N
23 2 2 2 2 2 2 2 3 8 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 9 9 3
22 0 0 0 0 0 0 1 2 5 7 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 10 9 3
21 0 0 0 0 0 0 0 1 2 2 2 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 3 6 9 9 9 9 9 6 2
20 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 2 3 4 4 4 4 4 4 3 1 0 1 1 3 3 3 3 3 3 2 1
19 0 0 0 0 0 0 1 1 2 2 2 1 0 0 0 1 2 4 9 12 12 12 12 12 12 8 3 1 0 0 1 1 1 1 1 1 1 0
18 0 0 0 0 0 0 1 2 5 7 4 2 0 0 0 1 2 5 14 12 4 1 0 0 0 0 0 0 0 0 0 0
17 0 0 0 0 0 0 1 3 9 7 2 0 0 1 1 2 4 9 12 12 12 12 12 12 8 3 1 0 0 0 0 0 0 0 0 0 0
16 0 0 0 0 0 0 1 3 9 7 2 0 1 2 3 4 3 3 4 4 4 4 4 4 3 1 0 0 0 0 0 0 0 0 0 0 0
15 0 0 0 0 0 0 1 2 5 7 4 2 1 2 4 9 12 8 3 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
14 0 0 0 0 0 0 1 1 2 2 2 1 1 2 5 14 12 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 0 0 0 0 0 0 0 0 1 0 0 0 1 2 5 14 12 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 0 1 1 2 2 2 1 1 2 5 14 12 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 1 2 5 7 4 2 1 2 5 14 12 4 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0
10 0 0 0 0 0 0 1 3 9 7 2 1 2 5 14 12 4 1 0 0 0 0 0 0 1 2 3 4 4 4 4 4 3 1 0 0
9 0 0 0 0 0 0 1 3 9 7 2 1 2 5 14 12 4 1 0 0 1 1 1 1 2 4 9 12 12 12 12 12 8 3 1 0
8 0 0 0 0 0 0 1 2 5 7 4 2 1 2 4 9 12 8 3 1 0 1 2 3 4 3 2 5 14 12 4 1 0
7 0 0 0 0 0 0 1 1 2 2 2 1 0 1 2 3 4 3 1 0 1 2 4 9 12 8 3 4 9 12 12 12 12 12 8 3 1 0
6 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 1 2 4 9 14 12 4 2 3 4 4 4 4 4 3 1 0 0
5 0 0 0 0 0 0 0 1 2 2 2 1 0 0 0 0 0 0 0 1 4 8 13 12 8 3 1 1 1 1 1 1 1 1 0 0 0
4 0 0 0 0 0 0 1 2 5 7 4 2 0 0 0 0 0 0 0 2 5 13 12 8 3 1 0 0 0 0 0 0 0 0 0 0 0
3 2 2 2 2 2 2 2 3 8 7 2 2 2 2 2 2 2 2 2 3 8 12 8 3 2 2 2 2 2 2 2 2 2 2 2 2 2
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
Figure 9. Berthing path generation with an improved A-Star algorithm considering berthing and an
A-Star algorithm not considering berthing for vessels (The definition of the graphic symbols in this
figure is the same as the definition in Figure 7).
4.3.1. Setup
When combining normal path Pn and berthing path Pb , a sharp turn could encounter in the
combination node, which will result in that the vessel cannot track the path because of the restriction
of vessel’s manoeuvrability. In this case, the vessel needs to berth in an anchorage from node (10.11)
to node (17, 13). The parameters are the same as Table 1 except the node range of x axis changes to
28. The comparison of path planning with considering smoothing the path or without considering
smoothing the path is presented in Figure 10.
Appl. Sci. 2019, 9, 1057 14 of 17
4.3.2. Results
As shown in Figure 10, a sharp turn appears when smoothing the path is not considered. The
sharp turn is eliminated when the smoothing strategy denoted by Algorithm 4 is applied. When the
number of candidates for the added node are more than one, a candidate node with the least risk r add
defined in Algorithm 4 is selected.
Figure 10. Combined path generated by an improved A-Star algorithm considering or not considering
smoothing (The definition of the graphic symbols in this figure is the same as the definition in Figure 7).
A-Star algorithm is shown Figure 12. The path in Figure 12 can be set as a safety path that can be
followed by a vessel.
current
current
beacon vessel
beacon vessel
Figure 11. The path planned by the proposed A-Star algorithm in Wuhan waterway of Yangtze river.
Smoothed Path
Start Point
Destination Point
current
current
beacon vessel
beacon vessel
Figure 12. The smoothed path planned by the proposed A-Star algorithm in Wuhan waterway of
Yangtze river.
berthing, manoeuvrability restriction have been built. Then, the procedure of the normal path
generation and the berthing path generation with the proposed A-Star algorithm have been depicted,
respectively. Moreover, the problem of combining the normal path and the berthing path has been
also solved. Four cases have been studied to verify the effectiveness of the proposed A-Star algorithm.
The simulation and real experiment results show that the proposed A-Star path planning methods
can avoid the high risk of obstacle collision, obey the separation rule and meet the requirements of
berthing for vessels. In a word, the proposed algorithms can realize the trade-off between the path
length and the navigation safety.
In future work, wind and water depth can be also considered during vessel path following,
because wind will affect the ship navigation safety and economical efficiency, and shallow water will
increase the vessel stranding risk.
Author Contributions: Conceptualization, C.L. and Q.M.; Methodology, C.L.; Software, C.L.; Validation, C.L and
S.X.; Writing-Original Draft Preparation, C.L.; Writing-Review and Editing, C.L., Q.M. and X.C.; Visualization,
X.C. and S.X.; Funding Acquisition, C.L, Q.M. and X.C.
Funding: This research is supported by the China Postdoctoral Science Foundation (2018M632923), the Wuhan
Science and Technology Project (2017010201010132), and the Fundamental Research Funds for the Central
Universities (2042017KF0235).
Conflicts of Interest: The authors declare no conflict of interest.
References
1. Wuthishuwong, C.; Traechtler, A.; Bruns, T. Safe trajectory planning for autonomous intersection
management by using vehicle to infrastructure communication. EURASIP J. Wirel. Commun. Networking
2015, 2015, 33. [CrossRef]
2. Fernandes, E.; Costa, P.; Lima, J.; Veiga, G. Towards an orientation enhanced Astar algorithm for robotic
navigation. In Proceedings of the 2015 IEEE International Conference on Industrial Technology (ICIT),
Seville, Spain, 18 June 2015; pp. 3320–3325.
3. Raja, P.; Pugazhenthi, S. Optimal path planning of mobile robots: A review. Int. J. Phys. Sci. 2012,
7, 1314–1320. [CrossRef]
4. Szlapczynski, R. A new method of ship routing on raster grids, with turn penalties and collision avoidance.
J. Navig. 2005, 59, 27–42. [CrossRef]
5. Kim, H.; Park, B.; Myung, H. Curvature path planning with high resolution graph for unmanned surface
vehicle. In Proceedings of the Robot Intelligence Technology and Applications (RiTA); Springer: Gwangju, Korea,
2013; pp. 147–154.
6. Lyu, H.; Yin, Y. Fast path planning for autonomous ships in restricted waters. Appl. Sci. 2018, 8, 2592.
[CrossRef]
7. Lyu, H.; Yin, Y. COLREGS-constrained real-time path planning for autonomous ships using modified
artificial potential fields. J. Navig. 2018, 1–21. [CrossRef]
8. Ma, Y.; Hu, M.; Yan, X. Multi-objective path planning for unmanned surface vehicle with currents effects.
ISA Trans. 2018, 75, 137–156. [CrossRef] [PubMed]
9. Lee, T.; Kim, H.; Chung, H.; Bang, Y.; Myung, H. Energy efficient path planning for a marine surface vehicle
considering heading angle. Ocean Eng. 2015, 107, 118–131. [CrossRef]
10. Murdoch, E. A Master’s Guide to Berthing; The Standard; Witherby & Company: Witherby, UK, 2004.
11. Rafal, S. Evolutionary Sets of Safe Ship Trajectories Within Traffic Separation Schemes. J. Navig. 2013,
66, 65–81.
12. Kim, H.; Kim, D.; Shin, J.U.; Kim, H.; Myung, H. Angular rate-constrained path planning algorithm for
unmanned surface vehicles. Ocean Eng. 2014, 84, 37–44. [CrossRef]
13. Dijkstra, E.W. A note on two problems in connexion with graphs. Numer. Math. 1959, 1, 269–271. [CrossRef]
14. Bell, M.G.H. Hyperstar: A multi-path Astar algorithm for risk averse vehicle navigation. Transp. Res. Part
B Methodol. 2009, 43, 97–107. [CrossRef]
15. Hart, P.E.; Nilsson, N.J.; Raphael, B. A formal basis for the heuristic determination of minimum cost paths.
IEEE Trans. Syst. Sci. Cybern. 1968, 4, 100–107. [CrossRef]
Appl. Sci. 2019, 9, 1057 17 of 17
16. Rahman, S.M.M.; Al-Arif, A.H.M.; Ferdous, I.; Nizami, M.S.H. Path planning for robotic boats in a rescue
system. Int. J. Comput. Appl. 2012, 45, 50–57.
17. Sathyaraj, B.M.; Jain, L.C.; Finn, A.; Drake, S. Multiple UAVs path planning algorithms: A comparative
study. Fuzzy Optim. Decis. Mak. 2008, 7, 257–267. [CrossRef]
18. Yao, J.; Lin, C.; Xie, X.; Wang, A.J.A.; Hung, C.C. Path planning for virtual human motion using improved
A* star algorithm. In Proceedings of the Seventh International Conference on Information Technology: New
Generations (ITNG), Las Vegas, NV, USA, 1 July 2010; pp. 1154–1158.
19. Pochmara, J.; Grygiel, W.; Koppa, R.; Kaminski, K. Mobile robot platform for real-time search algorithms.
In Proceedings of the 20th International Conference on Mixed Design of Integrated Circuits and Systems,
Gdynia, Poland, 10 October 2013; pp. 615–620.
c 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).