Abstract
For the dynamic collision avoidance problem of an unmanned surface vehicle (USV), a dynamic collision avoidance control method based on an improved cuckoo search algorithm is proposed. The collision avoidance model for a USV and obstacles is established on the basis of the principle of the velocity obstacle method. Simultaneously, the Convention on the International Regulations for Preventing Collisions at Sea (COLREGS) is incorporated in the collision avoidance process. For the improvement of the cuckoo algorithm, the adaptive variable step-size factor is designed to realize the adaptive adjustment of flight step-size, and a mutation and crossover strategy is introduced to enhance the population diversity and improve the global optimization ability. The improved cuckoo search algorithm is applied to the collision avoidance model to obtain an optimal collision avoidance strategy. According to the collision avoidance strategy, the desired evasion trajectory is obtained, and the tracking controller based on PID is used for the Lanxin USV. The experimental results show the feasibility and effectiveness of the proposed collision avoidance method, which provides a solution for the autonomous dynamic collision avoidance of USVs.
1. Introduction
An unmanned surface vehicle (USV) is an autonomous surface vehicle capable of conducting port patrols and performing special maritime tasks, and has been intensively researched by various countries in recent years [1,2]. A USV is required to perform autonomous avoidance of obstacles on the sea during its maritime tasks, so autonomous collision avoidance control technology has been one of the key technologies for USV research [3].
Recently, some researchers have performed more research on the technology of USV collision avoidance. A motion collision avoidance algorithm for a USV in a dynamic and complex environment has been proposed, which is realized based on the velocity obstacle method and combined with the rules of collision avoidance at sea, so as to complete the autonomous collision avoidance of the USV [4]. In [5], the angular velocity and linear velocity of a USV in the collision avoidance process are calculated, and the angular velocity buffer model is introduced, so as to ensure stable output and realize the avoidance of local static obstacles. A layered collision avoidance method is designed in [6]. The velocity obstacle method and the improved artificial potential field method are used to solve the collision avoidance problem for a USV under normal and emergency conditions, respectively. Xiong et al. [7] present elite group-based evolutionary algorithms based on the simulated annealing algorithm and particle swarm optimization for path planning using multiple USVs. Sun et al. [8] use the fast marching method combined with a model predictive control algorithm to design an autonomous navigation control system. Ref. [9] proposes a fast collision avoidance method based on velocity resolution to realize a fast response for a USV in an unknown complex marine environment. For the path navigation method of a USV, a chaotic and sharing-learning particle swarm optimization algorithm is developed to solve the extended traveling salesman problem and the nonlinear multi-objective model in [10]. These collision avoidance algorithms for USVs include the velocity obstacle method [11], field theory [12,13,14,15], the finite state machine [16], A star [17,18], the LROABRA (local reactive obstacle avoidance based on region analysis) method [15], the VFH+ method [15], the fast marching method [19], and so on. Most of the above literature focuses on the generation of a collision avoidance strategy, but there is not much research on the combination of a collision avoidance strategy and a controller.
In the research for USV collision avoidance strategies, the optimization algorithm is often used to obtain the optimal collision avoidance strategy [20,21]. Song et al. introduced a two-level collision avoidance algorithm and improved the calculation efficiency and accuracy through the particle swarm optimization (PSO) algorithm [6]. For this solution space of the collision avoidance strategy, the objective function is solved by the PSO algorithm in [22]. Guo et al. designed an extended chaos and shared learning PSO (CSPSO) algorithm to solve the traveling salesman problem (TSP) and nonlinear multi-objective model in a collision avoidance algorithm [10]. Xia et al. proposed a modified quantum PSO (MQPSO) method to obtain the optimal velocity variation of a USV to avoid collision and reduce energy consumption [23]. Lazarowska proposed a path-planning method in a dynamic environment based on ant colony optimization (ACO) [24]. Subsequently, the method was applied in a ship control system [25]. Wang et al. proposed an improved ACO algorithm to solve the problem of insufficient search ability in a collision avoidance planning algorithm for a USV [26]. The improved pseudo-random proportion rule was used to select the ant state transition, and the wolf colony allocation principle and the maximum minimum ant system were used to update the global pheromone to avoid the search falling into the local optimum. In optimization algorithms, the cuckoo search (CS) algorithm is one of the well-known evolutionary strategies in global optimization [27,28]. In [29], based on the CS algorithm, the path-planning problem of a mobile robot in a dynamic environment was solved, and the autonomous movement of a robot in different environments was realized. Mohanty [30] presents the implementation of the smart cuckoo search algorithm with a fitness function to generate a collision-free optimal route for the mobile robots. In this paper, the cuckoo search algorithm is applied to USV dynamic collision avoidance, and the autonomous collision avoidance problem for a USV is further studied.
The paper proposes a dynamic collision avoidance control method based on an improved CS algorithm for a USV. Due to the different aspect ratios of the obstacles encountered in the voyage process of the USV, circular and elliptical obstacles are used to represent the obstacles, and collision avoidance models for circular and elliptical obstacles are established based on the principle of the velocity obstacle [31]. The International Regulations for Preventing Collisions at Sea (COLREGS) are integrated into the collision avoidance process. In view of the shortcomings of the cuckoo search algorithm, such as slow convergence speed and low optimization accuracy, the adaptive adjustment of its step size control factor and the introduction of a mutation and crossover strategy are adopted to improve the algorithm, so as to enhance its optimization ability. It can obtain the optimal solution easily and reliably when the improved CS algorithm is applied to the collision avoidance problem.
To verify the rationality of the method proposed in this paper, the Lanxin USV of Dalian Maritime University was used as the research object, and a virtual scenery simulation platform was built to conduct dynamic collision avoidance simulation experiments. The experimental results verify the feasibility and effectiveness of the collision avoidance control method based on the improved cuckoo search algorithm. This paper is organized as follows. Section 2 describes the problem. The establishment of the collision avoidance model and dynamic collision avoidance based on the improved CS algorithm are described in Section 3 and Section 4. Section 5 designs a collision avoidance tracking controller based on a collision avoidance strategy. Section 6 provides the simulation to illustrate the proposed method. Finally, Section 7 concludes this paper.
2. Problem Description
2.1. Collision Avoidance of Lanxin USV
The Lanxin USV is a multi-functional intelligent unmanned vessel experimental platform with full autonomous and semi-autonomous control, which was independently developed by Dalian Maritime University [32,33], as shown in Figure 1.
Figure 1.
The Lanxin USV at sea.
The Lanxin USV is 7.02 m in length with a 2.6 m beam, with a payload of 1000 kg, a maximum speed of 35 kn and a maximum endurance of 180 n mile. Its main engine is a 260 hp propeller. During the autonomous voyage process of the Lanxin USV, a variety of shipborne sensing detection equipment can be used to establish a complex marine environment model in the voyage area through environmental information fusion. By obtaining the position, velocity and contours of dynamic and static obstacles, the decision-making information can be provided for the autonomous collision avoidance control of the USV.
2.2. Cuckoo Search Algorithm
Cuckoo search (CS) is a heuristic swarm intelligence search algorithm proposed by British scholars Yang and Deb in 2009 by studying cuckoo oviposition behavior [34]. Cuckoos breed by laying eggs in other birds’ nests. At the same time, birds occupying nests will have countermeasures. Therefore, in order to improve the survival rate of its eggs, the cuckoo needs to find the nest with the best location, which can evolve into the process of finding the optimal solution.
Compared with other swarm intelligence search algorithms, the CS algorithm has significant comprehensive advantages and has been widely used in many fields due to its few adjusting parameters, insensitive convergence speed to parameter changes, difficulty in falling into local optimization and easy coupling with other algorithms [35]. However, the convergence speed and optimization ability of the CS algorithm in the search process still needs to be improved. This paper improves the CS algorithm to enhance its convergence speed and accuracy in order to make it more suitable for engineering applications.
3. Collision Avoidance Model
3.1. Circular Collision Avoidance Model
In the process of collision avoidance, to facilitate the calculation, it is necessary to expand the obstacles and establish the motion collision avoidance model of the USV and obstacles in the coordinate system [36,37], as shown in Figure 2. The velocity of the USV is and represents an obstacle with velocity . The relative velocity between the USV and the obstacle is . is the course of the USV, is the movement direction angle of the obstacle, and is the angle between the course of the USV and the direction angle . The relative position vector between the USV and obstacle is with the direction angle , is the angle between the direction and the direction . The collision risk area is determined according to and the tangent line from the USV to the obstacle circle. The angle of the collision risk area is . All angles in Figure 2 are positive in the anticlockwise direction.
Figure 2.
Circular collision avoidance model.
When the direction of relative velocity is within , it is considered that the USV will collide with the obstacles if it continues to sail. At this time, it is important to adjust the course and velocity of the USV in order to increase the value of , so as to make the USV escape from the collision domain. In the collision avoidance process of the USV, is decomposed into pointing to the obstacle and perpendicular to . causes the USV to drive to the obstacle; causes the USV to escape from the collision domain. From Figure 2, it can be obtained that
and
In Equation (1), and are the components of and in the direction pointing to the obstacle, respectively. and are the components of and in the direction perpendicular to the direction pointing to the obstacle.
By deriving , we can obtain
with .
Assuming that the moving state of the obstacle remains stable, the change in its velocity and course in instantaneous time can be ignored, so that and are equal to 0, and
In Figure 2, , and have the following relationship as
It can be seen from (11) that can be changed by adjusting the velocity variation and course variation of the USV. In order to ensure that the relative velocity direction is outside the collision domain , the value of should satisfy
3.2. Ellipse Collision Avoidance Model
When the USV encounters obstacles with a large aspect ratio, the obstacles can be represented as ellipses, which is more in line with their contour characteristics, the redundant expansion area can be reduced, and the available sailing route can be increased. As shown in Figure 3, the motion collision avoidance model is the same as that of the circular collision avoidance model. In order to obtain the collision domain of the ellipse model, the tangent vectors between the ellipse model and the USV are calculated, so as to obtain the collision domain and .
Figure 3.
Ellipse obstacle avoidance model.
To facilitate the calculation of tangent vectors, an elliptical coordinate system is established with the center point of the obstacle as the origin , and with parallel to the velocity direction of the obstacle vessel. The coordinates of the USV are transformed from the global coordinate system to the elliptic coordinate system [38], as shown in Figure 4.
Figure 4.
Tangents of ellipse obstacle.
In Figure 4, and are the two tangent points of the obstacle relative to the USV in the global coordinate system. and are the two tangent points in the elliptic coordinate system. The position of the USV is converted from the global coordinate system to the elliptic coordinate system using
where and represent the positions of the USV in the elliptic coordinate system and global coordinate system respectively, is the position of the obstacle in the global coordinate system, and is the transformation matrix as
The standard elliptic equation and tangent equation are
where the a and b are the lengths of the semiminor axis and semimajor axis of the ellipse, respectively. The tangent point coordinate of the ellipse obstacle relative to the USV in the elliptic coordinate system can be obtained by (15), and it can be transformed into the global coordinate system by
The tangent vector can be obtained by the tangent point, and and can be obtained from the tangent vectors of the USV to the elliptical obstacle. Therefore, when the USV escapes from the collision domain, the following equation should be satisfied:
The USV will detect whether there are obstacles entering its safety range in real time. When the obstacles enter the safe range, the USV and its relative velocity direction are in the collision domain, and the USV needs to start to take evasive action. According to and , the evasion trajectory can be obtained and used as the desired trajectory to make the USV avoid obstacles.
3.3. Constraints of Collision Avoidance Process
When the USV is sailing in the sea, it is usually necessary to follow certain rules to avoid the collision risk between the USV and obstacles. In the International Regulations for Preventing Collisions at Sea (COLREGs) formulated by the International Maritime Organization (IMO), the rules for avoiding collisions are given in the case of head-on, crossing and overtaking. Figure 5 is the schematic diagram of the three encounter situations.
Figure 5.
Rule diagram of collision avoidance. (a) Overtaking situation; (b) Head-on situation; (c) Crossing situation on the starboard side of USV; (d) Crossing situation on the port side of USV.
In Figure 5, the USV sails from the starting point to the terminal point, and the blue vessel is the obstacle vessel encountered, in which the vessel shape with a solid edge represents the current position of the obstacle vessel, and the vessel shape with a dashed edge represents the position of the obstacle vessel at the last moment, from which the sailing trend of the obstacle vessel can be seen. The course of the USV is the sailing direction, and the course difference between the USV and the obstacle vessel starts from the USV course. The rules are described as follows:
- (a)
- Overtaking situation: when the course difference between the USV and the obstacle vessel is within [0, 45] and [315, 360], if the velocity of the USV is higher than that of the encountering vessel, then the USV turns left to pass the obstacle vessel.
- (b)
- Head-on situation: if the course difference is within [165, 195], the USV turns right to avoid the obstacle vessel.
- (c)
- Crossing situation: if the course difference is within [45, 165], the obstacle vessel crosses on the starboard side of the USV, then the USV turns right; if the course difference is within [195, 315], the obstacle vessel crosses on the port side of the USV, then the USV turns left.
4. The Dynamic Collision Avoidance Algorithm for the USV
4.1. Cuckoo Search Algorithm
In the cuckoo search algorithm, population updating is used to find the optimal nest location for oviposition behavior. There are two methods to generate new solutions: one is to update the nest position based on Levy flight; the another is to randomly search for a new location after the host bird abandons the nest after finding foreign eggs based on a certain probability [39].
In the cuckoo search (CS) algorithm, after the initial position is generated randomly, the current generation of a bird’s nest position is updated through Levy flight, and its formula is as follows:
where is the i-nest in the t-generation population, is the optimal nest location in the population, and is the step-size control factor, which is determined by the scale of the problem to be solved. follows the Levy probability distribution . Next, some of the nest positions are eliminated according to the discovery probability , and a new location is generated by using the preferred random walk method with
where r is a random number evenly distributed between [0, 1], and and are two different random positions from the population.
4.2. Improved Cuckoo Search Algorithm
4.2.1. Adaptive Step-Size
In the CS algorithm, due to the strong randomness of Levy flight and the control factor of control flight step-size being a fixed value, it is easy to fly over the optimal solution in the optimization process and affect the convergence performance of the algorithm [40]. In this paper, through the analysis of the update strategy, the adaptive step-size adjustment mode is adopted by
where and are the maximum and minimum of the step size, can be used to adjust the decreasing rate, and t and T are the current iteration number and the total iteration number, respectively. Through (20), the flight step-size is larger in the early stage of iteration, which can fully search the solution space and determine the area where the optimal solution is located as soon as possible. With the increase in the iteration number, gradually decreases, and local exploration can be carried out to improve the search accuracy and speed up the convergence.
4.2.2. Mutation and Crossover Operation
In the process of updating the CS algorithm, the diversity of individuals will be reduced and the global search ability will be poor. At this time, it is easy to fall into the local optimum and affect the convergence performance of the algorithm. Therefore, mutation and crossover operations are introduced in this paper. By randomly selecting three nests in the current nest population, the individual differences are used to generate a new intermediate nest position, and then the intermediate nest is crossed with the target nest to be replaced with a certain probability. The dimension variables are combined to generate a new nest position. The variation equation is as follows:
where the subscripts , and are three random numbers randomly selected within the population, which are not equal to each other and not equal to the i value of the current operator, and K is the scaling factor, which is between [0, 1]. The intermediate position is generated by three randomly selected bird’s nests, so that and current target position are crossed according to the crossing probability to generate a new bird’s nest individual . The crossover operation equation is as follows:
where is the random number between [0, 1], is the crossover probability, is the random index value in [1, D] and D is the dimension number. The better dimension variables of two individuals can be retained in a new individual by cross-recombination between the intermediate individual and the target individual, so that the updated nest location is better.
By introducing mutation and crossover strategies, the algorithm can use the large differences between individuals to generate bird’s nest individuals with strong diversity in the early stage of iteration, so as to avoid falling into the local optimal situation, and strengthen the global search ability. In the process of convergence to the global optimum, these strategies enhance the local search ability.
4.2.3. Steps of the Improved Algorithm
The steps of the improved cuckoo search (ICS) algorithm are as follows:
- Step 1: The number T of iterations, population number N and discovery probability , scaling factor K and crossover probability are set and the positions of N nests are initialized randomly at the same time;
- Step 2: The population is updated using (18) with the adaptive step strategy, the individuals before and after updating are compared and the better solution is selected for retention;
- Step 3: According to the discovery probability , some nests are eliminated, and the same number of new nests are generated by random walk according to (19);
- Step 5: The position of the optimal solution in the population is selected, and whether the algorithm satisfies the termination condition is detected. If it is satisfied, the optimal solution will be output. If not, it will jump to Step 2.
4.3. Fitness Function Based on Collision Avoidance Model
Based on the collision avoidance model, the fitness function of the CS algorithm can be determined. According to (12), the USV can escape from the collision domain by changing course and velocity, so its fitness function can be expressed as
where represents the sum of course variation and velocity variation in the optimization process, and the variation constraint conditions are shown in
In the process of collision avoidance, under the condition that the USV can escape from the collision domain and meet the constraints of the collision avoidance rules, the USV sails in pursuit of a smaller attitude change and smooth motion, then the change in course and velocity should be as small as possible when seeking a collision avoidance strategy. In other words, the smaller value of fitness in the optimization process indicates the better position of the individual. The weight coefficients and are used to give priority to the adjustment of and . If the value of makes the value of larger when adjusting the velocity, the course should be adjusted first. If makes larger when adjusting the course, the velocity should be adjusted first. Since it is more effective to adjust the course for collision avoidance, the adjustment of the course will be given priority in this paper.
4.4. Parameter Selection of Improved Algorithm
Considering that the CS algorithm needs to find the optimal solutions of and , the search space dimension is set to 2. The parameters of the ICS algorithm proposed in this paper include population number N, crossover probability , scaling factor K and detection probability . The detection probability of the CS algorithm is generally 0.25 [34]. The population number N has a direct impact on the diversity of the nest position. If N is small, the algorithm converges quickly, but the probability of the algorithm falling into local optimization will also increase. Conversely, if N is set too large, the diversity of the nest position will increase, but it will increase the amount of calculation and reduce the convergence speed. For the crossover probability , it also has a great impact on the diversity of the population. When its value is large, it is easy to guarantee the diversity of the population, and the algorithm can easily find the optimal solution. Conversely, the change in the nest position is less, which is conducive to the stable search of the algorithm, but it is possible to fall into local optimization. The scaling factor K reflects the influence on the nest position offset. A larger K makes the nest position offset larger, which is convenient for the algorithm to find the potential solution in a large range. Conversely, the convergence speed can be improved, but this also makes the algorithm easily fall into local optimization. According to the above description, the N, and K need to be properly selected according to the solution problem.
5. Collision Avoidance Trajectory Tracking Control
5.1. Structure of Collision Avoidance Controller
Figure 6 illustrates the principle of the collision avoidance controller, which combines the collision avoidance algorithm with the tracking controller. The sensor collects the environment and USV status information and then transmits it to the collision avoidance algorithm. The evasion trajectory is generated by the collision avoidance algorithm and used as the tracking trajectory of the tracking controller. Finally, the collision avoidance control of the USV is realized.
Figure 6.
The collision avoidance controller.
It is difficult for the tracking controller to accurately track the desired trajectory in the control cycle, so the collision avoidance algorithm needs to re-plan the trajectory according to the USV state and environmental information, as shown in Figure 7. As can be seen from Figure 7, the USV starts to sail from the point of A and plans the evasion trajectory of . However, due to the tracking error of the tracking controller, it only reaches the B position; that is, the actual trajectory is . The evasion trajectory is planned again to compensate for the tracking error. The red solid line is the actual trajectory.
Figure 7.
The actual and desired trajectories for collision avoidance.
5.2. USV Model
The USV model is described as follows [41,42]:
where denotes the surge displacement, sway displacement and yaw angle. denotes the velocities of surge, sway and yaw directions. The control inputs are surge force and yaw moment . and are the vessel inertia coefficients and damping coefficients.
5.3. Tracking Controller Design
The position tracking error is
The derivation of time t on both sides of (26) can be obtained
with
For u and v, the virtual control laws and with are
where and . When ,, then
When , , (29) is updated to
Consider the following candidate Lyapunov function as
Deriving from (31) we can obtain
The PID controller is introduced as the tracking controller, and its control law is as follows
where , and the proportional coefficient, integral coefficient and differential coefficient of the PID controller are , and respectively.
6. Simulation of Dynamic Collision Avoidance Algorithm
On a computer with a CPU of 2.93 HZ, Matlab 2014a was used for algorithm simulation to test the feasibility of the designed autonomous collision avoidance control algorithm based on the improved CS algorithm.
6.1. Simulation Verification of Improved CS Algorithm
In order to verify the effectiveness of the improved CS (ICS) algorithm, four sets of test functions were used to test the convergence speed and optimization accuracy of the algorithm. Among them, the function is a unimodal function used to verify the convergence speed of the algorithm; , and are multimodal functions with many local extremum points, which are used to verify the optimization accuracy of the algorithm. The ICS algorithm was compared with the standard CS algorithm and particle swarm optimization (PSO). Parameters were set as follows: population number N = 30, search space dimension was 2, = 0.2, K = 0.55 was in the improved CS algorithm, detection probability = 0.25 was in the CS algorithm, was in the PSO algorithm and inertia weight w decreased linearly from 0.9 to 0.4 [43]. Test functions are shown in Table 1.
Table 1.
Test functions.
To verify the algorithm by numerical simulation, the test functions were used. Their fitness curve and simulation results are shown in Figure 8 and Table 2.
Figure 8.
Fitness curves of test functions. (a) Sphere function; (b) Ackle function; (c) Girewank function; (d) Schaffer function.
Table 2.
Simulation results of test functions.
Through the verification of test functions and the results in Figure 8 and Table 2, it can be seen that the ICS algorithm improves the convergence speed and accuracy by adjusting the flight step-size adaptively. Mutation and crossover operations were introduced to avoid the population falling into local optima and enhance the ability of global optimization. Compared with the standard CS and PSO algorithms, the ICS algorithm performs better in convergence speed, accuracy and global optimization ability, and can meet the calculation requirements of the collision avoidance strategy when applied to USV dynamic collision avoidance.
6.2. Simulation Verification for Collision Avoidance
In order to verify the collision avoidance ability of the USV in a multi-obstacle scene, the real electronic chart in Figure 9 was taken as the simulation scene. Table 3 shows the motion information of the USV and obstacles, with the coordinate unit m and velocity unit kn. The numerical simulation was carried out on the Lanxin USV of Dalian Maritime University, for which principal parameters can be found in [33]. The initial conditions of the USV were = {0 m, 280 m, 0 rad, 0 m/s, 0 m/s, 0 rad/s}. The control parameters were selected as , , and .
Figure 9.
Chart scene.
Table 3.
Data for multiple dynamic obstacle avoidance.
The collision avoidance simulation for the USV in a multi-obstacle scene is shown in Figure 10, in which the blue trajectory is the collision avoidance route of the USV, and the other trajectories are those of dynamic obstacles.
Figure 10.
Multiple dynamic obstacle avoidance. (a) Encounter obstacle 1; (b) Encounter obstacle 2; (c) Encounter obstacle 3; (d) Encounter obstacle 4; (e) Leave obstacle 4; (f) Achieve the goal.
In Figure 10, the USV detects whether there is an obstacle at any time during its voyage. In Figure 10a, the USV detects that it meets obstacle 1 and completes the obstacle avoidance by maintaining course −39. In Figure 10b, the USV detects the crossing obstacle 2, and the USV turns to the course 31 to complete the obstacle avoidance with a velocity of 6 m/s and a single calculation time of 0.078 s. In Figure 10c, crossing obstacle 3 is detected, the USV turns to the course 16.49, and the velocity is 7 m/s to complete the obstacle avoidance with a single calculation time of 0.076 s. In Figure 10d, the USV crosses with obstacle 4, and the USV turns to the course 84.61 to complete the collision avoidance for obstacle 4 with a single calculation time of 0.077 s. The collision avoidance behavior in the above process follows the collision avoidance rules. In Figure 10e,f, after the USV completes the collision avoidance for obstacle 4, it adjusts the course and velocity and sails to the target point.
Figure 11a shows the input of the controller. Under the control inputs, the final control output of the USV is shown in Figure 11b. It can be seen that the controller can better follow the velocity and course guidance instructions output with the collision avoidance algorithm.
Figure 11.
Input and output results for the controller. (a) The input of the controller; (b) The final control output of USV.
According to the expected course and velocity calculated by the collision avoidance algorithm, the USV will adjust to the expected motion attitude according to its own motion performance constraints, and calculate the expected attitude change at the next moment in real time according to the adjusted motion state parameters and position information, so as to realize real-time collision avoidance. From the above simulation, it can be seen that the collision avoidance algorithm designed in this paper can make the USV complete the obstacle avoidance safely and quickly.
7. Conclusions
Aiming at the autonomous dynamic collision avoidance problem for a USV, a collision avoidance control method based on an improved CS algorithm was proposed. Firstly, according to the different aspect ratios of obstacle contours, these are represented by circle and ellipse collision avoidance models. In the process of collision avoidance, the constraints of collision avoidance rules are integrated to ensure the safety of the USV during a voyage. Secondly, the CS algorithm was improved by using the adaptive step-size control factor, so as to dynamically adjust the flight step-size and improve the search ability; by introducing a mutation and crossover strategy, the diversity of the population and local optimization ability were strengthened. The improved CS algorithm, standard CS algorithm and PSO algorithm were simulated and verified. By comparison, the improved CS algorithm shows great improvement in the convergence speed and optimization accuracy, and it can quickly solve the collision avoidance strategy in the process of collision avoidance. Through experiments for electronic chart scene simulation, it was verified that the algorithm designed can make the USV complete autonomous dynamic collision avoidance safely and quickly in multi-dynamic obstacle scenes, which provides a feasible and effective engineering application method for autonomous dynamic collision avoidance of a USV. In future research, it will be necessary to further combine the relevant contents of COLREGs with a collision avoidance controller to ensure the sailing safety of the USV.
Author Contributions
Conceptualization, Y.F.; methodology, X.S.; software, X.S.; validation, X.S.; formal analysis, Y.F.; resources, G.W.; data curation, X.S.; writing—original draft preparation, X.S.; writing—review and editing, X.S.; visualization, D.M.; supervision, G.W.; project administration, G.W.; funding acquisition, Y.F. All authors have read and agreed to the published version of the manuscript.
Funding
This research was funded by the National Natural Science Foundation of China under Grant 51609033, the Natural Science Foundation of Liaoning Province of China under Grant Number 20180520005, the Key Development Guidance Program of Liaoning Province of China under Grant Number 2019JH8/10100100, the Soft Science Research Program of Dalian City of China under Grant Number 2019J11CY014 and the Fundamental Research Funds for the Central Universities under Grant numbers 3132019005 and 3132019311.
Institutional Review Board Statement
Not applicable.
Informed Consent Statement
Not applicable.
Data Availability Statement
Not applicable.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Liu, Z.; Zhang, Y.; Yu, X.; Yuan, C. Unmanned surface vehicles: An overview of developments and challenges. Annu. Rev. Control 2016, 41, 71–93. [Google Scholar] [CrossRef] [Scilit]
- Felski, A.; Zwolak, K. The Ocean-Going Autonomous Ship-Challenges and Threats. J. Mar. Sci. Eng. 2020, 8, 41. [Google Scholar] [CrossRef] [Scilit]
- Zhou, C.H.; Gu, S.D.; Wen, Y.Q.; Du, Z.; Xiao, C.S.; Huang, L.; Zhu, M. The review unmanned surface vehicle path planning: Based on multi-modality constraint. Ocean. Eng. 2020, 200, 107043. [Google Scholar] [CrossRef] [Scilit]
- Kuwata, Y.; Wolf, M.T.; Zarzhitsky, D.; Huntsberger, T.L. Safe Maritime Autonomous Navigation With COLREGS, Using Velocity Obstacles. IEEE J. Ocean. Eng. 2013, 39, 110–119. [Google Scholar] [CrossRef] [Scilit]
- Tang, P.; Zhang, R.; Liu, D.; Huang, L.; Liu, G.; Deng, T. Local reactive obstacle avoidance approach for high-speed unmanned surface vehicle. Ocean Eng. 2015, 106, 128–140. [Google Scholar] [CrossRef] [Scilit]
- Song, A.L.; Su, B.Y.; Dong, C.Z.; Shen, D.W.; Xiang, E.Z.; Mao, F.P. A two-level dynamic obstacle avoidance algorithm for unmanned surface vehicles. Ocean Eng. 2018, 170, 351–360. [Google Scholar] [CrossRef] [Scilit]
- Xiong, C.K.; Lu, D.; Zeng, Z.; Lian, L.; Yu, C.Y. Path Planning of Multiple Unmanned Marine Vehicles for Adaptive Ocean Sampling Using Elite Group-Based Evolutionary Algorithms. J. Intell. Robot. Syst. 2020, 99, 875–889. [Google Scholar] [CrossRef] [Scilit]
- Sun, X.; Wang, G.; Fan, Y.; Mu, D.; Qiu, B. A Formation Autonomous Navigation System for Unmanned Surface Vehicles With Distributed Control Strategy. IEEE Trans. Intell. Transp. Syst. 2020, 22, 2834–2845. [Google Scholar] [CrossRef] [Scilit]
- Sun, X.J.; Wang, G.F.; Fan, Y.S.; Mu, D.D.; Qiu, B.B. Fast Collision Avoidance Method Based on Velocity Resolution for Unmanned Surface Vehicle. In Proceedings of the 2019 31st Chinese Control and Decision Conference (CCDC 2019), Nanchang, China, 3–5 June 2019; pp. 4822–4827. [Google Scholar]
- Guo, X.H.; Ji, M.J.; Zhao, Z.W.; Wen, D.S.; Zhang, W.D. Global path planning and multi-objective path control for unmanned surface vehicle based on modified particle swarm optimization (PSO) algorithm. Ocean. Eng. 2020, 216, 107693. [Google Scholar] [CrossRef] [Scilit]
- Xia, G.Q.; Han, Z.W.; Zhao, B.; Wang, X.W. Unmanned Surface Vehicle Collision Avoidance Trajectory Planning in an Uncertain Environment. IEEE Access 2020, 8, 207844–207857. [Google Scholar] [CrossRef] [Scilit]
- Li, Y.; Zheng, J. Real-time collision avoidance planning for unmanned surface vessels based on field theory. ISA Trans. 2020, 106, 233–242. [Google Scholar] [CrossRef] [Scilit]
- Xu, X.L.; Pan, W.; Huang, Y.B.; Zhang, W.D. Dynamic Collision Avoidance Algorithm for Unmanned Surface Vehicles via Layered Artificial Potential Field with Collision Cone. J. Navig. 2020, 73, 1306–1325. [Google Scholar] [CrossRef] [Scilit]
- Chen, Y.L.; Bai, G.Q.; Zhan, Y.; Hu, X.Y.; Liu, J. Path Planning and Obstacle Avoiding of the USV Based on Improved ACO-APF Hybrid Algorithm With Adaptive Early-Warning. IEEE Access 2021, 9, 40728–40742. [Google Scholar] [CrossRef] [Scilit]
- Guardeno, R.; Lopez, M.J.; Sanchez, J.; Consegliere, A. AutoTuning Environment for Static Obstacle Avoidance Methods Applied to USVs. J. Mar. Sci. Eng. 2020, 8, 300. [Google Scholar] [CrossRef] [Scilit]
- Wang, D.; Zhang, J.; Jin, J.C.; Mao, X.P. Local Collision Avoidance Algorithm for a Unmanned Surface Vehicle Based on Steering Maneuver Considering COLREGs. IEEE Access 2021, 9, 49233–49248. [Google Scholar] [CrossRef] [Scilit]
- Liang, C.L.; Zhang, X.K.; Watanabe, Y.; Deng, Y.J. Autonomous Collision Avoidance of Unmanned Surface Vehicles Based on Improved A Star And Minimum Course Alteration Algorithms. Appl. Ocean. Res. 2021, 113, 102755. [Google Scholar] [CrossRef] [Scilit]
- Sang, H.Q.; You, Y.S.; Sun, X.J.; Zhou, Y.; Liu, F. The hybrid path planning algorithm based on improved A* and artificial potential field for unmanned surface vehicle formations. Ocean. Eng. 2021, 223, 108709. [Google Scholar] [CrossRef] [Scilit]
- Tan, G.G.; Zou, J.; Zhuang, J.Y.; Wan, L.; Sun, H.B.; Sun, Z.Y. Fast marching square method based intelligent navigation of the unmanned surface vehicle swarm in restricted waters. Appl. Ocean. Res. 2020, 95, 102018. [Google Scholar] [CrossRef] [Scilit]
- Polvara, R.; Sharma, S.; Wan, J.; Manning, A.; Sutton, R. Obstacle Avoidance Approaches for Autonomous Navigation of Unmanned Surface Vehicles. J. Navig. 2018, 71, 241–256. [Google Scholar] [CrossRef] [Scilit]
- Woo, J.; Kim, N. Collision avoidance for an unmanned surface vehicle using deep reinforcement learning. Ocean. Eng. 2020, 199, 107001. [Google Scholar] [CrossRef] [Scilit]
- Song, L.F.; Chen, H.J.; Xiong, W.H.; Dong, Z.P.; Mao, P.X.; Xiang, Z.Q.; Hu, K. Method of Emergency Collision Avoidance for Unmanned Surface Vehicle (usv) Based on Motion Ability Database. Pol. Marit. Res. 2019, 26, 55–67. [Google Scholar] [CrossRef] [Scilit]
- Xia, G.Q.; Han, Z.W.; Zhao, B.; Wang, X.W. Local Path Planning for Unmanned Surface Vehicle Collision Avoidance Based on Modified Quantum Particle Swarm Optimization. Complexity 2020, 2020, 3095426. [Google Scholar] [CrossRef] [Scilit]
- Lazarowska, A. Ship’s Trajectory Planning for Collision Avoidance at Sea Based on Ant Colony Optimisation. J. Navig. 2015, 68, 291–307. [Google Scholar] [CrossRef] [Scilit]
- Lazarowska, A. Swarm Intelligence Approach to Safe Ship Control. Pol. Marit. Res. 2015, 22, 34–40. [Google Scholar] [CrossRef] [Scilit]
- Wang, H.J.; Guo, F.; Yao, H.F.; He, S.S.; Xu, X. Collision Avoidance Planning Method of USV Based on Improved Ant Colony Optimization Algorithm. IEEE Access 2019, 7, 52964–52975. [Google Scholar] [CrossRef] [Scilit]
- Rakhshani, H.; Rahati, A. Snap-drift cuckoo search: A novel cuckoo search optimization algorithm. Appl. Soft Comput. 2017, 52, 771–794. [Google Scholar] [CrossRef] [Scilit]
- Yang, X.S.; Deb, S. Cuckoo search: Recent advances and applications. Neural Comput. Appl. 2014, 24, 169–174. [Google Scholar] [CrossRef] [Scilit]
- Hosseininejad, S.; Dadkhah, C. Mobile robot path planning in dynamic environment based on cuckoo optimization algorithm. Int. J. Adv. Robot. Syst. 2019, 16, 172988141983957. [Google Scholar] [CrossRef] [Scilit]
- Mohanty, P.K. An intelligent navigational strategy for mobile robots in uncertain environments using smart cuckoo search algorithm. J. Ambient. Intell. Humaniz. Comput. 2020, 11, 6387–6402. [Google Scholar] [CrossRef] [Scilit]
- Chen, P.; Huang, Y.; Mou, J.; van Gelder, P. Ship collision candidate detection method: A velocity obstacle approach. Ocean. Eng. 2018, 170, 186–198. [Google Scholar] [CrossRef] [Scilit]
- Fan, Y.S.; Mu, D.D.; Zhang, X.K.; Wang, G.F.; Guo, C. Course keeping Control Based on Integrated Nonlinear Feedback for a USV with Pod-like Propulsion. J. Navig. 2018, 71, 878–898. [Google Scholar] [CrossRef] [Scilit]
- Sun, X.J.; Wang, G.F.; Fan, Y.S. Model Identification and Trajectory Tracking Control for Vector Propulsion Unmanned Surface Vehicles. Electronics 2020, 9, 22. [Google Scholar] [CrossRef] [Scilit]
- Yang, X.S.; Deb, S. Cuckoo Search via Levey Flights. In Proceedings of the 2009 World Congress on Nature & Biologically Inspired Computing (NABIC 2009), Coimbatore, India, 9–11 December 2009. [Google Scholar]
- Zhang, M.Q.; Wang, H.; Cui, Z.H.; Chen, J.J. Hybrid multi-objective cuckoo search with dynamical local search. Memetic Comput. 2018, 10, 199–208. [Google Scholar] [CrossRef] [Scilit]
- Liu, H.D.; Liu, Q.; Sun, R. Deterministic Vessel Automatic Collision Avoidance Strategy Evaluation Modeling. Intell. Autom. Soft Comput. 2019, 25, 789–804. [Google Scholar] [CrossRef] [Scilit]
- Zhou, K.; Chen, J.H.; Liu, X. Optimal Collision-Avoidance Manoeuvres to Minimise Bunker Consumption under the Two-Ship Crossing Situation. J. Navig. 2018, 71, 151–168. [Google Scholar] [CrossRef] [Scilit]
- Szlapczynski, R.; Szlapczynska, J. An analysis of domain-based ship collision risk parameters. Ocean. Eng. 2016, 126, 47–56. [Google Scholar] [CrossRef] [Scilit]
- Ong, P.; Zainuddin, Z. Optimizing wavelet neural networks using modified cuckoo search for multi-step ahead chaotic time series prediction. Appl. Soft Comput. 2019, 80, 374–386. [Google Scholar] [CrossRef] [Scilit]
- Ljouad, T.; Amine, A.; Rziza, M. A hybrid mobile object tracker based on the modified Cuckoo Search algorithm and the Kalman Filter. Pattern Recognit. 2014, 47, 3597–3613. [Google Scholar] [CrossRef] [Scilit]
- Dong, W.; Guo, Y. Global time-varying stabilization of underactuated surface vessel. IEEE Trans. Autom. Control 2005, 50, 859–864. [Google Scholar] [CrossRef] [Scilit]
- Fossen, T.I. Handbook of Marine Craft Hydrodynamics and Motion Control; John Wiley & Sons: New York, NY, USA, 2011. [Google Scholar]
- Shi, Y. A Modified Particle Swarm Optimizer. In Proceedings of the IEEE World Congress on Computational Intelligence (Cat. No. 98TH8360), Anchorage, AK, USA, 4–9 May 1998. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 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 (https://creativecommons.org/licenses/by/4.0/).










