1. Introduction
With the rapid development of the global economy, according to the survey of the Baltic and International Maritime Council/International Chamber Shipping (BIMCO/ICS), the maritime industry has accounted for 80% of the world’s trade and transportation [
1]. Thus, the safety and efficiency of maritime transportation are of paramount importance. Current issues of maritime transportation include: (1) about 75–96% marine vessel accidents being caused by humans; (2) a severe shortage of seafarers and management personnel; (3) more than 80% of shipping costs being from fuel and labor [
2]. Autonomous navigation is vital to mitigate the above issues for ships in that it can be more vigilant than humans at avoiding accidents by perceptions from heterogeneous sensors such as a camera, laser scanner, and mmWave radar [
3]. Ship autonomy not only saves human labor costs but also utilizes intelligent path planning methods to achieve optimized fuel consumptions.
Realizing autonomous ships requires localization and path planning. Currently, the global positioning system (GPS) and compass have been commonly available to provide reliable location services. In contrast, path planning for ships still poses several challenges. Existing works mainly focus on the path planning for lightweight surface vessels, which are agile and applicable to harbor patrol, marine resource exploration, etc. [
4]. Ships, however, exhibit high inertia and thus a significant delay in motion control. When encountering sudden situations, e.g., encountering a large iceberg, its dynamic nature prevents agile avoidance [
5]. In addition to the “shortest path”, dynamical feasibility is crucial for ship path planning [
6].
Existing ship path planners are typically optimal path searching methods based on A* and its modifications [
7]. Although they provide optimal paths in a given map [
8], the optimality is limited in ideal maps including the occupancy grid map, Voronoivisibility roadmap [
9], risk contour map [
10], etc. Their path searching is conducted by discretized heading directions without considering the ships’ dynamical constraints, making the planned path dynamically infeasible. More recent works [
11,
12] have taken the dynamical constraints into consideration. However, their iterative methods have high computational complexities, failing to plan in real time to avoid expected sudden risks. Researchers also proposed hybrid approaches that fuse the artificial potential field (APF) algorithm with velocity odometry and path optimization [
13,
14,
15] to achieve realtime obstacle avoidance in complex maritime environments. However, the APF causes oscillations when searching for paths through narrow areas, causing frequent turning and increasing fuel consumptions and navigation risks. In addition to optimizationbased methods, researchers incorporate reinforcement learning into path planning [
16,
17]. However, learningbased methods suffer from a tradeoff between generality and accuracy. Their stochastic results cannot guarantee the safety and efficiency of ship navigation. In summary, none of the existing path planning methods meet the safety and efficiency needs when considering ship dynamics.
This paper presents ESP, a combinatorial optimized path planning approach that generates a safe, smooth, and dynamically feasible trajectory while minimizing the shipping cost. Realizing such an elegant approach poses several challenges: (1) to quantify the turning cost in optimal and dynamically feasible path searching; (2) to minimize the shipping cost in terms of fuel by formulating a minimumsnap problem, which is nontrivial in combining the dynamic model of ships; (3) to cope with sudden risks, e.g., avoid expected obstacles or enemy vessels, which requires replanning a smooth, safe, feasible and optimized path in real time.
To address the above challenges, ESP consists of three components. First, we propose Aturning, a path searching algorithm that quantifies the turning cost in order to obtain the optimal path with fewer turns. Then, we formulate the minimumsnap optimization problem subject to the dynamic constraints of ships to achieve the minimum shipping cost in terms of fuel. Finally, we propose a realtime path replanning algorithm using quasiuniform cubic Bspline, achieving millisecondlevel path replanning to cope with sudden risks.
In summary, the contributions of this paper include: (1) quantifying the turning cost and incorporating it into an optimal global path search through a modified A* algorithm; (2) formulating a minimumsnap optimization problem to generate a smooth trajectory that consumes the least fuel and satisfies the ship’s dynamic constraints; (3) enabling realtime obstacle avoidance for ships through a Bsplinebased local trajectory replanner.
ESP is evaluated in a datadriven simulator implemented by MATLAB and our developed geographic information system (GIS). The simulation results demonstrate the effectiveness of ESP in generating a safe, smooth, and feasible path with minimal turns and fuel consumption. Moreover, ESP enables a quick reaction for ships to smoothly avoid unexpected obstacles by path replanning in less than 48 ms.
The rest of this paper is organized as follows.
Section 2 reviews related works. Then, we elaborate on the design of ESP in
Section 3. The performance evaluation in
Section 4 demonstrates the effectiveness of ESP.
Section 5 concludes this paper.
2. Related Works
Path planning can be divided into two steps: path searching and path optimization. Path searching involves searching for an obstaclefree path from the start to the end. Path optimization involves optimizing the searched path to meet users’ specific objectives, e.g., the shortest sailing distance, minimum fuel consumption, and minimum shipping cost.
Path searching has been wellstudied for decades. It can be categorized by graphsearchbased and randomsamplingbased path searching approaches. Graphsearchbased path planning methods follow a set of steps to generate unique navigation paths. The classic algorithm, Dijkstra, expands a large number of irrelevant nodes during searching, which greatly slows down the searching process. In order to improve the searching efficiency, A*family algorithms have been proposed. They make the searching process more purposeful to the destination by introducing heuristic functions [
18,
19,
20]. These heuristic functions treat vessels as a mass point with unlimited turning and sailing speeds. Their results may have largeangle steers between consecutive path segments. However, to the best of our knowledge, the maximum speed of a ship (displacement > 320 t) is 15 knots, the maximum acceleration is 1, and the turning radius is three times the ship length. Simply considering the ship as a mass point leads to infeasible path planning, making the above heuristic solutions impractical. In addition, Yu et al. [
21] proposed an A* algorithm with velocity variation and global optimization (A*VVGO), which achieves the purpose of obstacle avoidance by changing the speed of the ship, and combines the artificial potential field method to ensure the smoothness of the path. Sang et al. [
22] proposed a hybrid algorithm of an artificial potential field based on A* and local programming, which is often combined with many algorithms, such as the genetic algorithm (GA) [
23], Fuzzy artificial potential field (FAPF) [
24], etc. These hybrid algorithms contain various advantages. However, these methods do not consider vehicles’ dynamic constraints. Tracking the paths cannot guarantee safety and smoothness. Moreover, graphsearchbased methods cannot work efficiently in large environments due to the searching space being exponential to the size of the occupancy grid maps.
To address the searching efficiency problem with respect to the occupancy grid maps, randomsamplingbased algorithms have been proposed to incrementally build maps by sampling. They can work in the planning of the ocean. Zhang et al. [
25] proposed the adaptive hybrid dynamic step size and target attractive force–RRT (AHDSTAF–RRT), imposing the dynamic constraints of unmanned surface vehicles (USVs) to allow USVs to navigate complex aquatic environments. Webb et al. [
26] proposed Kinodynamic RRT*, achieving asymptotically optimal motion planning for robots. However, these approaches suffer from slow convergence and inflexible settings of step size. Thus, Strub et al. [
27] designed a heuristic function in the exploitation of random sampling with the aim that the new samples would be more likely to be closer to the destination. Xu et al. [
28] proposed a simplified mapbased regional sampling RRT* (SMRS–RRT*) algorithm to achieve path planning in complex environments. Dong et al. [
29] proposed a path planning method based on improved RRT*–Smart, which optimizes the node sampling method by sampling in the polar coordinate system with the origin of USV, improves the search efficiency, and ensures that the navigation path follows the International Regulation for Preventing Collision at Sea. This design does not only improve the convergence speed but also improves the quality of the solution. Nevertheless, randomsamplingbased methods cannot provide optimal solutions. Their results are not unique. The searched path usually contains many sharp turns, which is especially evident in open water.
Based on the path searching from graphsearchbased and randomsamplingbased methods, researchers tried to generate smooth trajectories. A strawman option is to use interpolation. Liang et al. [
30] interpolated the trajectory with the Dobbins curve to ensure the smoothness and reduce the number of sharp turns, but the trajectory curvature was discontinuous. To solve this problem, Candeloro et al. [
31] used the Fermat spiral to connect the straight line segment with the curved segment, generating the trajectory with a continuous curvature. Wang et al. [
32] used Bspline interpolation to construct smooth trajectories with sparse waypoints. It, however, does not impose the vehicle’s dynamic constraints, making trajectories infeasible to be executed. To generate dynamic feasible trajectories, controlspace sampling approaches [
5,
6,
33] are simple and effective. However, such approaches lack purpose, so their sampling process could take too much time and fail to plan paths in real time. MahmoudZadeh et al. [
34] combined a novel Bspline data frame and the particle swarm optimization (PSO) algorithm to establish a continuous route planning system to achieve route planning for USV ocean sampling missions. Zheng et al. [
35] proposed a ship collision avoidance decision method based on improved cultural particle swarm to achieve the steering collision avoidance of a ship, but without considering the speed constraint of the ship.
3. Methods
3.1. Problem Formulation
The obstacles considered in this paper are the static obstacles in the chart and the unexpected static obstacles that appear within the detection range of the ship’s radar during the actual navigation of the ship. One primary objective of our path planning is to be collisionfree. Additionally, we optimize two more objectives: best stability and minimum fuel consumption. The specific objective function and constraints are given in the following subsections.
3.2. Kinematic Model
The previous studies often ignored the influence of marine environments on the ship’s motion state for the ease of modeling. In order to make the planned path fit the actual sailing situation, this paper establishes the kinematics model of ships considering the ocean current.
Figure 1 illustrates the kinematic model of a ship.
${O}_{e}{X}_{e}{Y}_{e}$ denotes the world frame, which refers to the coordinate system with respect to the earth. The earth’s gravity points to the positive direction of the zaxis. The x–y–z axes follow the righthand rule. The origin of the world frame
${O}_{e}$ is the geometrical center’s initial position, the positive direction of the
${O}_{e}{X}_{e}$ axis points to east, and the positive direction of
${O}_{e}{Y}_{e}$ points to north.
${O}_{b}{X}_{b}{Y}_{b}$ denotes the local frame, which refers to the ship’s body frame,
${O}_{b}$ is used as the center of gravity of the ship, the positive direction of the
${O}_{b}{X}_{b}$ axis points to the bow, and the positive direction of the
${O}_{b}{Y}_{b}$ axis points to the port side.
Ψ denotes the yaw angle,
$u$ the surge velocity,
$v$ the sway velocity, and δ the rudder angle. According to Newton’s second law, considering surge, sway, and yaw, the force at the center of gravity of the ship is
where
${X}_{e}$ denotes the force along the xaxis,
${Y}_{e}$ the force along the yaxis,
$x,y$ the position of the ship’s center of gravity in the world frame,
m the mass of the ship,
${N}_{r}$ the force along the zaxis,
$\ddot{\Psi}$ the angular acceleration, and
${I}_{Z}$ the moment of inertia around the zaxis. As shown in Equation (2), it depends on the volume of the ship
$V$ and the mass density
${\rho}_{m}$. With the yaw
$\Psi $, we express the transformation between the world frame and the local frame as
Then, the forces on the surge and sway directions can be expressed as
where
$r$ denotes the yaw rate, and
$\dot{u}$ and
$\dot{v}$ denote the acceleration on the surge and sway directions, respectively. From Equations (3) and (4), we obtain the kinematic model as follows.
3.3. Dynamic Model
This paper uses the firstorder K–T model to represent the hydrodynamic model of the ship, assuming that the port and starboard sides of the ship are symmetrical and the ship mass is uniformly distributed. The hydrodynamic equation can be expressed as:
where
$\mathit{v}={\left[u,\text{}v,\text{}r\right]}^{T}$,
where
$\mathit{M}$ denotes the inertial mass matrix,
$\mathit{C}$ the Coriolis centripetal force matrix, and
$\mathit{D}$ the drag coefficient matrix.
${X}_{u}$ and
${Y}_{v}$ denote the derivatives for the hydrodynamic,
${X}_{\dot{u}}=\frac{\partial X}{\partial \dot{u}}$,
${Y}_{\dot{v}}=\frac{\partial Y}{\partial \dot{v}}$, and
${N}_{\dot{r}}=\frac{\partial N}{\partial \dot{r}}$.
${\mathit{\tau}}_{\mathit{E}}$ denotes the force imposed by the environment and
${\mathit{\tau}}_{\mathit{r}}$ denotes the thrust of the propeller.
3.4. Ocean Circulation Model
Affected by the environment such as sea wind and ocean currents, a ship easily deviates from its course or even capsizes during sailing, resulting in property damage and even casualties. Therefore, we consider the influence of ocean currents on the ship’s motion state when planning its path.
Ocean currents are formed when seawater flows in a certain direction at a regular, relatively steady speed. It is a largescale, aperiodic form of seawater movement. According to the characteristics of its location and time, ocean currents can be divided into uniform currents, nonuniform currents, steady currents, and unsteady currents. In offshore or seabed areas with irregular topography, the model of ocean currents is more complicated. To simplify the modeling, we assume that ocean currents are constant and uniform. Let
${V}_{c}$ denote the ocean current speed and
${\Psi}_{c}$ the direction of the current. Then, the velocity of the ocean currents can be expressed as
Affected by ocean currents, the actual velocity of the ship is different from its velocity in still water. At this time ${\mathit{v}}_{\mathit{r}}=\mathit{v}{\mathit{v}}_{\mathit{c}}$, where ${\mathit{v}}_{\mathit{r}}$ is the velocity of the ship relative to the ocean current.
3.5. Optimization Objectives
When a ship sails along a trajectory, the collisionfree cost function is
where
$Dis\left(Obstacle\left({p}_{i}\right)\right)$ denotes the minimum distance from a waypoint
${p}_{i}$ to the obstacles, which can be obtained by the Euclidean signed distance field (ESDF) [
36]. The distance will be negative if a waypoint is within an obstacle.
The smoothness is determined by the sum of snaps along the trajectory. The smoothness cost can be defined as
where
${p}^{\left(4\right)}\left(t\right)$ denotes the fourthorder derivative, i.e., jerk, at time
t.
The fuel consumption depends on the sailing speed. We use the exponential distribution model proposed in [
37] as follows to describe the relationship between fuel consumption and speed.
where
$V=\sqrt{{v}^{2}+{u}^{2}}$. Thus, we define the cost function of fuel consumption as
where
${t}_{i}$ denotes the time duration between waypoint
${p}_{i}$ and
${p}_{i+1}$ and
$FCP{H}_{i}$ the fuel consumption per hour between waypoint
${p}_{i}$ and
${p}_{i+1}$.
Combining the collisionfree cost, the smoothness cost, and the fuel consumption cost, we obtain the overall optimization objective function
subject to
where
${u}_{max}$,
${v}_{max}$, and
${r}_{max}$ are the maximum surge velocity, the maximum sway velocity, and the maximum yaw rate, respectively.
3.6. Occupancy Grid Map Construction
In order to apply the environmental information provided by the electronic chart for path planning, it is necessary to process the chart into a binary occupancy grid map as shown in
Figure 2. In this process, we first set an appropriate binarization threshold that converts an RGB image into a binary image. Such a threshold [
38] is vital to constructing an accurate grid map that ensures the feasibility of path planning. If the threshold is inappropriate, as shown in
Figure 2c, then a shoal is identified as a passable area, greatly increasing the navigation risk. Second, the grid size determines the resolution of path planning. Too large a grid cannot capture the subtle details of environments, e.g., small obstacles, resulting in unsafe path searching. On the other hand, too small a grid greatly increases the search space, reducing the computation speed.
Considering the maneuverability of a ship, this paper chooses the minimum turning radius as the criterion to measure the grid size. The ship’s minimum turning radius can be measured through the ship’s maneuverability experiment. The turning radius depends on the sailing speed and water flow velocity. According to [
39], in our simulation, we set the minimum turning radius of the ship as three times the length of the ship. Finally, we map the geographic chart represented in terms of longitude and latitude to the grid map using the following equation:
where
$lo{n}_{\left(i,j\right)}$ and
$la{t}_{\left(i,j\right)}$ denote the longitude and latitude of position
$\left(i,j\right)$.
$tlLon$ and
$tlLat$ denote the longitude and latitude at the topleft corner of the selected area.
$brLon$ and
$brLat$ denote the longitude and latitude at the bottomright corner of the selected area.
$w$ and
$h$ denote the width and height of the electronic chart.
In our simulated forward exploration, we use eight discretized directions in the grid map to search for paths as shown in
Figure 3.
3.7. Quantification of Turning Cost
The A* algorithm uses Equation (18) as the evaluation function to obtain a path with the shortest distance.
where
$f\left({N}_{i}\right)$ denotes the estimated cost from the starting point to the target point,
$g\left({N}_{i}\right)$ the actual cost from the initial node to node
${N}_{i}$, and
$h\left({N}_{i}\right)$ the estimated cost of the best path from node
${N}_{i}$ to the target node.
However, in path searching for ships, the turning is much more difficult than for cars or aerial vehicles. Thus, we have to add the cost of turning in order to better evaluate the path. Here we use the diagonal distance to compute the turning cost as shown in
Figure 4.
The yaw
${\varphi}_{i}$ between waypoint
${p}_{i}$ and
${p}_{i+1}$ can be computed as follows.
where
${p}_{i}\left(x\right),{p}_{i}\left(y\right)$ denote the coordinates of waypoint
${p}_{i}$,
${p}_{i+1}\left(x\right)$,
${p}_{i+1}\left(y\right)$ the coordinates of waypoint
${p}_{i+1}$,
${p}_{i1}\left(x\right)$,
${p}_{i1}\left(y\right)$ the coordinates of waypoint
${p}_{i1}$. Preventing collisions is still of the highest priority in path planning. Thus, it is not reasonable to simply pursue the minimum turning cost in planning. We add a penalty to the turning cost:
where
$\varphi $ is the penalty threshold of the yaw and
$\epsilon $ the penalty coefficient. Empirically, we set
$\varphi ={30}^{\circ}$ and
$\epsilon =0.8$.
$\mathsf{\Delta}{\varphi}_{i}$ is computed as follows.
Finally, the new evaluation function of our path searching algorithm is defined as:
The improved A* algorithm is shown in Algorithm 1.
Algorithm 1. Improved A* algorithm 
Input: Start node X_{start}, end node X_{end} 1: OPEN_list:= X_{start}, where f(X_{start}) = h(X_{start}) 2: CLOSE_list:={ } 3: while OPEN_list is not empty do 4: current node X_{n}:= the node in the OPEN_list with the lowest f(X) 5: if X_{n} = X_{end} break 6: Remove X_{n} from OPEN_list and add it to CLOSE_list 7: for each adjacent node, X_{i} of X_{n} do 8: if f(X_{i}) = 0  X_{i} ∈ CLOSE_list continue 9: if X_{i} ∉ OPEN_list 10: add X_{i} into OPEN_list 11: the parent node of X_{i}=, X_{i > parent} = X_{n} 12: calculate f(X_{i}), g(X_{i}), h(X_{i}) and c(X_{i}) 13: if X_{i} ∈ OPEN_list 14: calculate f(X_{i}) via (25) 15: Resort and keep OPEN_list sorted by f value 16: X_{p} = X_{end} 17: Path_list:= X_{p} 18: while X_{p} ≠ X_{start} do 19: X_{p} = X_{p.parent} 20: Path_list = {Path_list, X_{p}} Return: Path_list

3.8. Global Trajectory Optimization
The previous path searching gives us a discrete path with the minimum cost. However, the path does not consider the dynamic feasibility with respect to time, velocity, and acceleration. This part requires a further step to optimize the searched path into a smooth trajectory. The trajectory can be defined as a order polynomial.
where
${p}_{0},{p}_{1},\dots ,{p}_{n}$ are the coefficients of this trajectory. We denote
$P={\left[{p}_{0},{p}_{1},\dots ,{p}_{n}\right]}^{T}$, and then Equation (23) can be rewritten as
Then, Equation (14) can be expressed as
However, the polynomial expression cannot explicitly control the shape of the trajectory. To gain better control, we choose the Bezier curve using Bernstein polynomials. The
kth segment of the trajectory can be expressed as
where
${b}_{n}^{k}\left(t\right)=\left(\begin{array}{c}n\\ k\end{array}\right)\xb7{t}^{i}\xb7{\left(1t\right)}^{ni}$,
$\mathrm{t}\text{}\in $ [0,1]
${c}_{k}^{i}$ denotes the control point of the
kth segment of the Bezier curve.
Since the trajectory must pass through the first and last control points, it can satisfy the positional constraints of the initial and final states. In addition, based on the hodograph of the Bezier curve, we impose constraints on the velocity and acceleration of the trajectory, ensuring the multiorder continuity of the trajectory.
3.9. RealTime Obstacle Avoidance
In a static chart, a ship can navigate safely along the aforementioned global trajectory. However, the marine environment is complex and changeable. Ships need to deal with unexpected risks when sailing, e.g., avoiding islands and reefs. As shown in
Figure 5, if the ship maintains the planned global trajectory, it will collide with a temporary obstacle. To address this issue, we perform local path planning based on the Bspline curve. The advantage of the Bspline trajectory is that it can change the curve locally by adjusting few control points, while any control point of a Bezier curve will change the shape of the whole trajectory. Moreover, it guarantees that the locally replanned trajectory still satisfies the ship’s kinematic and dynamic constraints. This not only achieves the goal of realtime obstacle avoidance, but also satisfies all optimization objectives.
A Bspline can be expressed as
where
${P}_{i}$ denotes the
$i$th control point and
${N}_{i,p}\left(u\right)$ is the Bspline basis function of degree
$p$.
$u=\left[{u}_{0},{u}_{1},\dots ,{u}_{\mathrm{m}}\right]$ is the knot vector. Typically, a threedegree Bspline can ensure the smoothness of accelerations. Thus, we have
Figure 6 illustrates the collision avoidance algorithm. In this figure,
${P}_{0}=\left[{x}_{0},{y}_{0}\right]$ and
${P}_{3}=\left[{x}_{3},{y}_{3}\right]$ are the start and the end of the local planning. The gray area
$ABCD$ represents an obstacle.
${\Psi}_{i}$ denotes the yaw at position
${P}_{i}$.
${d}_{i}$ denotes the distance between
${P}_{i1}$ and
${P}_{i}$. The geometrical relationship among these positions can be expressed as
First, based on random sampling [
40] and collision detection [
41], we obtain
${d}_{1},\text{}{d}_{3}$ and
${\Psi}_{2}$(
${\Psi}_{0}=0$), and then use the geometric relations in Equations (34) and (35) to solve for the position of
${P}_{1}=\left[{x}_{1},{y}_{1}\right]$ and
$\text{}{P}_{2}=\left[{x}_{2},{y}_{2}\right]$. At last, the locally replanned Bspline can be generated by the control points
${P}_{0}$,
${P}_{1}$,
${P}_{2}$, and
${P}_{3}$.
4. Simulation and Results
We conduct the evaluation of ESP by implementing a datadriven simulator in MATLAB. All simulation experiments are run on a quadcore 2.40 GHz Intel i51135G7 processor and 16 GB RAM. We input the data from the database of our developed GIS. The data include image and vector maps, longitude and latitude coordinates, and ship route information. During the simulation, we use environmental data such as shoals and whirlpools that are not currently marked in the GIS database to evaluate the effectiveness of ESP. The simulated settings are listed in
Table 1. Specifically, the ship length is 30 m, the maximum turning radius is 3 times the ship length. The maximum velocity is 7.7 m/s. The maximum acceleration and jerk are 1
$\mathrm{m}/{\mathrm{s}}^{2}$ and 10
$\mathrm{m}/{\mathrm{s}}^{3}$ [
42], respectively.
We simulate ESP in two scenes using the GCJ02 coordinate system. In both scenes, the velocities and accelerations at the start and the end are 0. The simulated occupancy grid map is of size 50 × 50. We compare the path searching results of ESP with the A* algorithm as shown in
Figure 7. The results show that ESP effectively reduces the number of turning points and the planned path is safe.
Figure 8 shows the performance of RRT. Due to the randomness of RRT, the planned paths have many unnecessary turning points, which is detrimental to the safe navigation of ships.
Figure 9 shows the result of RRT*. RRT* needs to rewire parents to find asymptotically optimal paths. The result will be close to the optimal solution with more iterations.
Figure 10 shows the optimized trajectory of our proposed ESP. It can be seen that the optimized trajectory (the green curve in
Figure 10a) meets the requirements of safety, feasibility, and smoothness.
Table 2 shows the numeric comparison in Scene 1 among ESP, A* [
12], RRT [
43] and RRT* [
44] in terms of computation time, number of turns, and fuel consumption. It can be seen that due to the need to measure the turning cost of the path, the searching time of ESP is 0.105 s longer than that of the A* algorithm, and the algorithm’s operating efficiency is reduced by 36.71%. Nevertheless, it is still 1.771 s shorter than that of the RRT algorithm, and 6.021 s shorter than that of the RRT* algorithm. The efficiency of the algorithm is improved by 4.35 times and 15.42 times, respectively. In addition, the number of turns of ESP is obviously less than that of the A* algorithm, which reduces the number of largeangle steers to 8 and improves the safety of ship navigation. The fuel consumption of ESP is 164.6008
$\mathrm{kg}$ less than that of the A* algorithm, 387.1543
$\mathrm{kg}$ less than that of the RRT algorithm, and 24.3311
$\mathrm{kg}$ less than that of the RRT* algorithm.
To evaluate the smoothness,
Figure 11 shows the generated positions, velocities, accelerations, and jerks. All these curves are continuous and satisfy the ship’s dynamic constraints.
To highlight the effectiveness of ESP,
Figure 12 compares the result of ESP with that which did not consider the ship’s dynamic constraints. The blue line denotes the searched path. The green line shows that Bezier curve without considering the dynamic constraints. The red line is the optimized trajectory from ESP.
From the enlarged part, we can see that there are knots in the result without considering the dynamic constraints, making sailing control very difficult. In contrast, ESP generates a smooth and continuous trajectory with the lowest number of turns, which is safer.
Figure 13 and
Figure 14 show the collision avoidance in Scene 1 and 2. In Scene 1, ESP generates a feasible and smooth local trajectory (the orange line) that avoids the unexpected circular obstacle. In Scene 2, the original planned trajectory is very close to the shoal, increasing the risk of the ship running aground. The local replanned trajectory effectively solves the problem. In both scenarios, the goal of safely avoiding temporarily appearing static obstacles is achieved.
The computation times of the local replanning in both scenes are listed in
Table 3. Over 1000 trials, the best calculation time is 48
$\mathrm{ms}$, and the maximum computation time is 265
$\mathrm{ms}$. The mean computation time is 192
$\mathrm{ms}$ in Scene 1 and 194
$\mathrm{ms}$ in Scene 2, ensuring realtime processing.
Avoiding multiple obstacles requires multiple iterations of the above process, and the response time will be multiplied by the number of iterations.
5. Conclusions
This paper proposes a GISdatadriven method for the efficient and safe path planning of autonomous ships in maritime transportation, which makes up for the shortcomings of existing methods that ignore the motion dynamic limitations of ships in order to achieve the shortest path, leading to sudden changes in the planned route and thus lacking practical applicability. To this end, we propose ESP, a new path planner that provides comfortable sailing while saving fuel. The key intuition of our proposal is to reduce the expensive turning in path searching. The expensiveness comes from the inertia exhibited by the huge weight of the ship. To realize the above intuitive idea, we design three components for ESP. First, we quantify the ship’s turning cost based on its kinematic and dynamic model and develop a modified A* path search algorithm. Second, we formulate an optimization problem subject to dynamic ship constraints and environment constraints to produce a safe and smooth trajectory that consumes minimal fuel. Finally, we use the Bspline representation to perform realtime local replanning, enabling autonomous ships to quickly respond to unexpected risks while maintaining the previous optimization objectives. The datadriven experiments demonstrate the effectiveness of ESP. However, we currently only consider the effect of ocean currents on the dynamic ship model. In future, we will consider the influence of other environmental factors, e.g., sea wind, to build a more robust model for autonomous ships. The avoidance of dynamic obstacles and the realtime avoidance of multiple static obstacles will also be investigated on this basis.