Next Article in Journal
Taphofacies and Petrofacies Theoretical Marine Models Applied to the Coquina of the Amaral Formation (Lusitanian Basin, Portugal)
Next Article in Special Issue
Review of Ship Behavior Characteristics in Mixed Waterborne Traffic
Previous Article in Journal
Allometric Growth of Sargassum fusiforme (Ochrophyta, Fucales) Organs in the Maturation Period Based on Biomass Analysis of Samples from Gouqi Island
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Collision Avoidance Algorithm for USV Based on Rolling Obstacle Classification and Fuzzy Rules

1
Key Laboratory of High-Performance Ship Technology, Wuhan University of Technology, Ministry of Education, Wuhan 430063, China
2
School of Naval Architecture, Ocean and Energy Power Engineering, Wuhan University of Technology, Wuhan 430063, China
3
Intelligent Transportation Systems Research Center, Wuhan University of Technology, Wuhan 430063, China
4
National Engineering Research Center for Water Transport Safety, Wuhan University of Technology, Wuhan 430063, China
*
Author to whom correspondence should be addressed.
J. Mar. Sci. Eng. 2021, 9(12), 1321; https://doi.org/10.3390/jmse9121321
Submission received: 27 October 2021 / Revised: 11 November 2021 / Accepted: 19 November 2021 / Published: 23 November 2021

Abstract

:
Dynamic collision avoidance between multiple vessels is a task full of challenges for unmanned surface vehicle (USV) movement, which has high requirements on real-time performance and safety. The difficulty of multi-obstacle collision avoidance is that it is hard to formulate the optimal obstacle avoidance strategy when encountering more than one obstacle threat at the same time; a good strategy to avoid one obstacle sometimes leads to threats from other obstacles. This paper presents a dynamic collision avoidance algorithm for USVs based on rolling obstacle classification and fuzzy rules. Firstly, potential collision probabilities between a USV and obstacles are calculated based on the time to the closest point of approach (TCPA). All obstacles are given different priorities based on potential collision probability, and the most urgent and secondary urgent ones will then be dynamically determined. Based on the velocity obstacle algorithm, four possible actions are defined to determine the basic domain in the collision avoidance strategy. After that, the Safety of Avoidance Strategy and Feasibility of Strategy Adjustment are calculated to determine the additional domain based on fuzzy rules. Fuzzy rules are used here to comprehensively consider the situation composed of multiple motion obstacles and the USV. Within the limited range of the basic domain and the additional domain, the optimal collision avoidance parameters of the USV can be calculated by the particle swarm optimization (PSO) algorithm. The PSO algorithm utilizes both the characteristic of pursuance for the population optimal and the characteristic of exploration for the individual optimal to avoid falling into the local optimal solution. Finally, numerical simulations are performed to certify the validity of the proposed method in complex traffic scenarios. The results illustrated that the proposed method could provide efficient collision avoidance actions.

1. Introduction

A USV is an unmanned ship navigating on the water by autonomous or remote control. It can be widely used in maritime search and rescue, military operations, port guarding [1], oil pollution cleaning [2], and other fields in the future. Dynamic collision avoidance is the basic and vital intelligence function a USV for completing all kinds of tasks [3,4,5,6]. A unified autonomous decision-making framework is the key to multi-ship collision avoidance for USVs [7].
A variety of representative methods have been designed to implement dynamic collision avoidance for USVs, including artificial potential field, neural network, and velocity obstacle approaches. The artificial potential field with the characteristics of smoothness and security is widely used in collision avoidance planning. It may sometimes fall into a local optimal solution [8]. Therefore, artificial interference is used to avoid the local optimal solution by some studies, but this will fail on the condition of multiple obstacles [9,10]. Neural networks [11] have also been extensively applied in collision-avoidance planning problems. Neural networks have fast convergence speed and satisfactory adaptability, which improve the running efficiency of the collision avoidance model [12]. The neural network as a black-box optimization process requires sufficient sample data to avoid easily falling into an uncertain state [13]. In addition, all reasoning processes are regarded as numerical calculations, and problems of poor generalization ability and easily falling into local optimum are encountered. Particularly in the case of multi-obstacle dynamic collision avoidance, the feasible space is small and changes in real-time, requiring higher accuracy and real-time performance. Therefore, this method is of limited use in practical maritime navigation. The velocity obstacle (VO) approach was first used for robot path planning in 1998 [14], and then recreated and redeveloped continually, which led to a cooperative form of collision avoidance [15], probabilistic velocity obstacles [16], and crowd simulation [17]. The VO method forms a cone-shaped space on the obstacle, and ensures that the USV will never collide with the obstacles outside the area. The algorithm is so efficient that many studies improve it to implement a rapid collision avoidance response in the case of multiple obstacles [18]. Yoshiaki proposed combining a generated cone obstacle in the speed space of a USV with the collision avoidance rules to estimate the collision risk in different cones [19], and dynamic collision avoidance was then performed in multiple-obstacle environments. The test showed the high success rate of this method. However, the algorithm judges the collision avoidance for all obstacles at each moment and does not consider how to avoid collision when a collision-avoidance zone conflict occurs. In addition, in the simulation by Yoshiaki, the threat of multi-obstacle ships appears in different stages, and it is thus difficult to explain the effect of collision avoidance when multiple obstacles threaten at the same time.
Recently, intelligent collision avoidance systems based on fuzzy control have been developed to deal with multi-obstacle collision avoidance since it is a non-deterministic reasoning problem [20]. Fuzzy control consists of fuzzy classification and fuzzy reasoning. Regarding fuzzy classification [21], the ambiguity of collision avoidance parameters is addressed using an appropriate membership function. In terms of fuzzy reasoning [22], collision avoidance reasoning is realized by using the optimized fuzzy reasoning algorithm or combining it with other algorithms. Given that the fuzzy inference output depends on the parameters set in advance, the fuzzy control quantity currently uses empirical parameters, and its self-adaptability must be improved. Thus, scholars combine fuzzy control with a neural network algorithm to enhance real-time performance and self-learning ability. Pietrzykowski et al. proposed the concept of fuzzy ship domain and applied it to evaluate navigation safety in restricted waters [23]. Perera et al. proposed a collision-avoidance decision system based on fuzzy logic and studied the entire intelligent collision avoidance system on this basis [24,25]. The system can meet the requirements of the Convention on the International Regulations for Preventing Collisions at Sea (COLREGs), but it is only suitable for collision avoidance between two ships. Subsequently, the fuzzy-Bayesian ship intelligent collision avoidance decision/execution model was proposed [26]. The model relies on the parallel multi-decision modules of fuzzy logic and transforms the decision into continuous collision avoidance actions through a Bayesian network model. Brcko proposed a collision avoidance decision-making system based on fuzzy logic and combined it with radar [27]. It is practical in providing intelligent collision avoidance decision-making for a single ship. Si et al. designed a ship collision alarm system for vessel traffic service (VTS) using the fuzzy logic method. They provided rudder recommendations for ships [28], but the system only includes steering recommendations and is unsuitable for multi-ship encounter situations. Furthermore, the fuzzy neural network algorithm is combined with an expert system to realize intelligent collision avoidance. The problem of local convergence is reduced, but the fusion of the algorithm tends to decrease the real-time performance.
Concerning the existing limitations, this research is motivated to develop a unified and efficient strategy for multi-ship collision avoidance. A fuzzy programming method has been proposed that comprehensively considers the emergency of obstacle vessels, the safety of obstacle avoidance strategies, and the feasibility of adjusting strategies. Among them, the latter two items have not been considered in other multi-obstacle collision avoidance. Different from the existing algorithms, only two obstacles with the highest risk are considered at each time step in the process of dynamic collision avoidance. In combination with the VO algorithm and fuzzy theory, avoidance strategies of the two obstacles are optimized to reduce the collision risk of the obstacles. Through this unified strategy and rolling mechanism, all obstacles are gradually considered over time as the USV moves.
The paper is organized as follows. Section 2 introduces the calculation and classification model of obstacle collision risk based on the VO algorithm. In Section 3, the collision avoidance strategy for a single obstacle is introduced and the best avoidance scheme and secondary avoidance scheme are proposed. In Section 4, according to the urgency degree of the most urgent obstacle (MUO) and the secondary urgent obstacle (SUO), the avoidance strategies are obtained through fuzzy reasoning. Then, the strategies are further mapped into the solution space. In Section 5, simulations of trajectory prediction and obstacle avoidance are carried out, and the results are analyzed in detail to verify the algorithm’s effectiveness. In Section 6, the conclusions of the study are elaborated.

2. A Collision-Avoidance Motion Model Based on VO

Figure 1 shows the collision-avoidance motion model based on the VO method. Symbol U and O represent a USV and an obstacle. The domain of the obstacle is denoted as D , which depicts the safety range of the obstacle in the form of a circle with radius d 1 . D is a water area kept around the obstacle and cannot be invaded by other ships or objects. The velocity vectors of them are defined as v R and v O , respectively, and their relative velocity is defined as Δ v , i.e., Δ v = v R v 0 . U T 1 and U T 2 represent two tangents from the USV U to the obstacle O domain. Due east and due north of the USV U are referenced as the x-axis and y-axis. In this local coordinate system, several angles between U T , U O and Δ v have been defined and calculated by Equation (1), where T denotes T 1 or T 2 .
{ μ = ( U T 2 , U O ) γ = ( Δ v , U O )
where the operator ( a , b ) denotes the angle where vector a rotates to vector b through the minor arc side. This angle can be positive or negative, depending on whether the rotation is in the counterclockwise or clockwise direction. a and b represent variables here. For example, U T 2 is a and U O is b in Figure 1. The operator ( a , b ) denotes a positive angle between vector a and vector b .
The risk of collision between the USV and obstacle can be determined by the time to close point of approaching (TCPA) and the distance of close point of approaching (DCPA) [19]. Both two parameters are dynamically calculated to evaluate the potential collision probability at different times. Equation (2) lists the piecewise function of calculating the potential collision probability f e m [29].
f e m = { 1 0 < T C P A t 1   t 2 T C P A t 2 t 1 t 1 < T C P A < t 2   0 t 2 T C P A   t 1 = { d 1 2 D C P A 2 Δ v   D C P A d 1 0   D C P A > d 1 t 2 = { d 2 2 D C P A 2 Δ v D C P A d 2 0 D C P A > d 2
{ T C P A = | U O | cos ( | γ | ) | Δ v | D C P A = | U O | sin | γ |
where t 1 and t 2 are parameters related to collision avoidance probability from the aspect of time. | U O | is the distance between the USV and obstacle. d 1 is the secure encounter distance which equals to the domain radius of the obstacle in this article, and d 2 is the distance between the USV and obstacle when the USV must perform obstacle avoidance. If the USV starts to avoid obstacles after the distance is less than d 2 , even if there is no collision, it will form an emergency situation. In this article, d 2 = 2 d 1 . d 1 and d 2 can be seen in Figure 1. The emergency situation will occur when the DCPA is less than d 2 .
According to the collision-risk degree in Equation (2), obstacles can be classified into several categories, as shown in Table 1. For the USV, the concept of an identification zone is set to distinguish the obstacle type, which is the circular area in Figure 2. The identification zone is the collision detection area for the USV in this research, and its radius can be determined by the Automatic Identification System (AIS) [30] or radar. A ship outside the identification zone of the USV is defined as an irrelevant obstacle invisible to the USV, such as B6 and B7 in Figure 2. If a ship is inside the identification zone of the USV but poses no threat to the USV, it will be considered as a nonthreatening obstacle. The major objects of collision-avoidance for the USV are the ships inside the identification zone that satisfy Equation (4) and pose a threat to the USV. In this study, only two obstacles with the highest and second-highest collision risk are the primary concerns of collision-avoidance for the USV, denoted as the most urgent obstacle and secondary urgent obstacle.
a b s ( γ ) μ

3. Collision Avoidance against Single Obstacle

When collision avoidance is performed for a single obstacle, it means the angle γ should be adjusted to satisfy a b s ( γ ) μ . As shown in Figure 1, the value of angle γ is related to the velocity vectors of the USV and obstacle and their angles with respect to the x-axis. Geometric relationships of these parameters in the local coordinate system can be explicitly defined as in Equation (5). Then, angle γ and its derivative can be derived as an arctan function and a linear function of these parameters, as noted in Equation (6), respectively.
{ v 0 sin ( α β ) = Δ v sin φ   v R v 0 cos ( α β ) = Δ v cos φ v R 2 + v 0 2 2 v R v 0 cos ( α β ) v R sin ( β α ) = Δ v sin η   v 0 v R cos ( β α ) = Δ v cos η = Δ v 2
γ = tan 1 v R sin ( α θ ) v 0 sin ( β θ ) v R cos ( α θ ) v 0 cos ( β θ ) d γ = sin φ Δ v d v R + v R cos φ Δ v d α + sin η Δ v d v o + v o cos η Δ v d β
In view of the dynamic character of ship movement, angle γ should always meet the collision avoidance condition | γ + d γ | μ at each time, as noted in Equation (7) and Equation (8).
{ Δ γ μ γ , i f   γ 0 Δ γ μ γ , i f   γ < 0
or
{ Δ γ μ γ , i f   γ 0 Δ γ μ γ , i f   γ < 0
Assuming that the motion state of the obstacle is unchanged, an effective measure is to adjust the velocity v R and the course α of the USV for collision avoidance. By analyzing Equations (7) and (8), it can be obtained that the former only requires the relative velocity vector Δ v to avoid the minor arc of obstacle domain D, but the latter chooses the major arc for avoiding. It is obvious that Equation (7) is better. d γ in Equation (6) is changed to Δ r and is substituted into Equations (7) and (8), respectively, in order to obtain the best collision avoidance (BCA) and secondary collision avoidance (SCA) as shown in Equations (9) and (10). For single obstacle avoiding, the USV needs to obtain the optimal solutions to parameters d v R and d α at each moment.
Best Collision Avoidance:
BCA | A : { sin φ Δ v x 1 + v R cos φ Δ v x 2 + sin η Δ v d v 0 + v 0 cos η Δ v d β μ γ   i f   γ 0 sin φ Δ v x 1 + v R cos φ Δ v x 2 + sin η Δ v d v 0 + v 0 cos η Δ v d β μ γ   i f   γ < 0
Secondary Collision Avoidance:
SCA | A : { sin φ Δ v x 1 + v R cos φ Δ v x 2 + sin η Δ v d v 0 + v 0 cos η Δ v d β μ γ   i f   γ 0 sin φ Δ v x 1 + v R cos φ Δ v x 2 + sin η Δ v d v 0 + v 0 cos η Δ v d β μ γ   i f   γ < 0
where two variables x 1 and x 2 denote collision avoidance parameter d v R and d α , and |A represents a collision avoidance scheme of USV for the obstacle.
Goal   Function : { x 1 , x 2 | min f ( x 1 , x 2 ) = w 1 x 1 + w 2 x 2 } s . t .   : ( x 1 , x 2 ) BCA | A
In this study, the particle swarm optimization (PSO) algorithm is adopted to train and obtain the optimal values of collision avoidance parameters. The goal function is defined as a weighted linear function, as shown in Equation (11), where w 1 and w 2 are weights of d v R and d α . The goal function aims to minimize the change in the velocity and course of the USV by adjusting the weights and the priority of changing speed and course. The solution ( x 1 , x 2 ) , which corresponds to the optimal Δ v R and d α ( d v R and d α in discrete version), could enable the USV to successfully avoid the circular domain of obstacle ( d 1 ). It is worth noting that the course should not be restricted and can be selected randomly in the range of [ π , π ] . The reason is that collision can only be avoided by drastically altering the course of the USV while the USV is dangerously close to the obstacle. If d α is defined strictly, Equation (11) may not have a solution.
In some cases, the USV may be incapable of obtaining the optimal solutions to avoid the circular obstacle domain due to the limitations of its manipulating capability. Therefore, the collision-avoidance motion of the USV is also affected by the limit values of its speed, acceleration, and angular acceleration that are denoted as v ¯ R α ¯ and ω ¯ , respectively. In the optimization process, if the expected solutions of collision avoidance parameters exceed the upper limit of operational capabilities of the USV, they should be revised based on the limit values of its speed, acceleration, and angular acceleration. Equations (12) and (13) have listed different calibration methods on the condition that the expected collision avoidance parameters exceed their extreme values.
Δ v R = v R | v R | m i n ( v ¯ R v R , α ¯ ) Δ α = { m i n ( ω ¯ , m a x ( 0 , ( μ γ ) Δ v + Δ v 0 sin η v 0 Δ β cos η Δ v R sin φ v R cos φ ) )   i f   γ 0 m a x ( ω ¯ , m i n ( 0 , ( μ γ ) Δ v + Δ v 0 sin η v 0 Δ β cos η Δ v R sin φ v R cos φ ) )   i f   γ < 0 ,   w h e n   Δ v R > α ¯   o r   v R + Δ v R > v ¯ R
Δ α = Δ α | Δ α | ω ¯ Δ v R = { m i n ( α ¯ , m a x ( 0 , ( μ γ ) Δ v + Δ v 0 sin η v 0 Δ β cos η Δ v R cos φ sin φ ) )   i f   γ 0 m i n ( α ¯ , m a x ( 0 , ( μ γ ) Δ v + Δ v 0 sin η v 0 Δ β cos η Δ v R cos φ sin φ ) )   i f   γ < 0 ,   w h e n   Δ α > ω ¯
The process of using the PSO algorithm to solve the collision avoidance against a single obstacle is as follows:
Step 1. Initialize the particles swarm.
Step 2. Judge if the particle satisfies the avoidance condition in Equation (9). If the condition is satisfied, calculate the fitness value by Equation (11). If it is not satisfied, the fitness value of this particle is set to infinity.
Step 3. All particles update the position and velocity of their two dimensions toward the best particle in the swarm.
Step 4. Check if the terminal condition is fulfilled. If it is fulfilled, output the two dimensions, Δ v R and Δ α , of the best particle. Then proceed to Step5. If not, then go back to Step 2.
Step 5. Check if Δ v R and Δ α exceed the α ¯ and ω ¯ . If they do, follow Equations (12) and (13), and achieve the avoidance strategy Δ v R and Δ α at the local cycle by compromising to the motion capacity of the USV. If no, Δ v R and Δ α are the avoidance parameters.

4. Collision Avoidance against Multiple Obstacles

4.1. Four Obstacle Avoidance Schemes

In the context of maritime traffic analysis, the concept of “ship domain” is proposed to evaluate near ship collision scenarios, which characterizes the safety range of a ship. Combined with the identification zone defined in Section 2, only the most urgent obstacle (MUO) and secondary urgent obstacle (SUO) are viewed as the collision avoidance objects when multiple threatening obstacles exit in the identification zone of the USV.
Based on the definitions of BCA and SCA above, there are four obstacle avoidance schemes, namely BCA|MUO, BCA|SUO, SCA|MUO, and SCA|SUO. Each obstacle avoidance scheme will determine a domain of the optimization target in Equation (11). Then, four domains can be obtained and combined to form three safe navigable areas for the USV to avoid two obstacles, as shown in Figure 3. In the figure, the BCA for obstacle I is to enter collision avoidance area ① and the SCA is to enter area ②. The BCA for obstacle II is to enter area ③ and the SCA is to enter area ②. The goal of multi-obstacle collision avoidance therefore refers to determining the optimal solution ( Δ v R , Δ α ) in the definition domain called Basic Domain, as expressed in Equation (14).
S . t .   ( x 1 , x 2 ) B C A | MUO   B C A | SUO   S C A | MUO   S C A | SUO

4.2. Multi-Obstacle Collision Avoidance Strategy

The determination of a multi-obstacle collision avoidance strategy should take account of two basic demands, which are safety of avoidance strategy (SAS) and feasibility of strategy adjustment (FSA).
SAS is an indicator of afterward evaluation, which indicates the safe state of the USV after the collision avoidance parameter ( Δ v R , Δ α ) is performed. In the case of multi-ship interference where the ship does not necessarily comply with COLREGs, the avoidance action used by the USV may not be suitable for all obstacles. It is necessary to evaluate the safety of the USV after performing a collision avoidance operation. As shown in Figure 4, USV speed ( v R ) is firstly adjusted to v R for obstacle I avoidance and the resultant velocity correspondingly changes from Δ v 1 to Δ v 1 , which satisfies the BCA for obstacle I. However, the resultant velocity of the USV and obstacle II Δ v 2 is in the collision range, which means the BCA for obstacle I poses a threat to obstacle II. The safe state of this obstacle avoidance strategy is therefore unsatisfactory. As a result, this research proposes two adjustment ways to ensure the safety of the avoidance strategy.
Definition 1.
AS1 (adjustment strategy 1): ( Δ v R , Δ α ) satisfies a b s ( γ | MUO > μ ) where γ | MUO = R ( RO , Δ v | MUO ) , and Δ v | MUO = v R + Δ v R v o | MUO , which means USV avoids the MUO after its movement adjustment.
Definition 2.
AS2 (adjustment strategy 2): ( Δ v R ˜ , Δ α ˜ ) satisfies a b s ( γ ¯ | SUO > μ ) where γ | SUO = R ( RO , Δ v | MUO ) , and Δ v | SUO = v R + Δ v R v o | SUO , which means USV avoids the SUO after its movement adjustment.
FSA acts as an indicator of pre-evaluation, which indicates whether a USV has an adequate response time to adjust collision avoidance parameters ( Δ v R , Δ α ) before the collision, on condition of its acceleration and steering limitations. There are two conditions defined to ensure the appropriate adjustment time by changing speed and course.
Definition 3.
ST1 (strategy time 1): ( Δ v R , Δ α ) must satisfy T C P A | MUO > m a x ( Δ v R Δ v R ˜ , Δ α Δ α ˜ ) | MUO , which means USV will not collide with MUO before adjusting to the required velocity vector.
Definition 4.
ST2 (strategy time 2): ( Δ v R , Δ α ) must satisfy T C P A | SUO > m a x ( Δ v R Δ v R ˜ , Δ α Δ α ˜ ) | SUO , which means USV will not collide with SUO before adjusting to the required velocity vector.
In this research, fuzzy rules based on multi-obstacle collision avoidance strategy is proposed to avoid MUO and SUO for the USV. The TCPA of MUO and SUO, denoted as TCPA|MUO and TCPA|SUO, respectively, can be represented by three fuzzy linguistic variables: “Emergency (EG)”, “Easy (EZ)”, and “Far (FA)”. The membership function of fuzzy linguistic variables for urgency degree of collision avoidance is defined as trapezoidal functions shown in Figure 5. Four important time parameters, including T n e a r , T f a r , T m i d , and T s a f , are defined for the selection of three membership functions, which can be calculated by Equation (15). The collision avoidance priority level of MUO and SUO can be then determined by fuzzy reasoning rules in Table 2. The inputs of fuzzy reasoning rules are the urgency degree of fuzzy linguistic variables for MUO and the SUO, and the output is the fuzzy subset of the avoidance priority level. The fuzzy subset indicates the following collision avoidance intention.
OT: Equal avoiding priority to both MUO and SUO.
SO: Avoiding both MUO and SUO but giving priority to MUO.
SN: Avoiding MUO only.
T n e a r = d 1 2 D C P A 2 Δ v   ,   T f a r = d 2 2 D C P A 2 Δ v ,   T m i d = T n e a r + T f a r 2 ,   T s a f = 3 T f a r T n e a r 2
Table 3 lists the relationships of collision avoidance demands (SAS and FAS) and avoidance priority levels. SAS and FAS can be jointly viewed as the Additional Domain for collision avoidance. Combined with the Basic Domain in Equation (14), the solution domain can be determined, and the optimization goal can be then represented as Equation (16). The equation is used to obtain the optimal Δ v R and Δ α .
{ x 1 , x 2 | m i n f ( x 1 , x 2 ) = w 1 x 1 + w 2 x 2 } S . t .   ( x 1 , x 2 ) B A P | MUO   B A P | SUO   S A P | MUO   S A P | SUO ( x 1 , x 2 ) A S 1   A S 2   or   A S 1   or   S T 1   S T 2   or   S T 1
Proof. 
The convergence proof of the above algorithm is as follows:
(1) The two-dimensional particles in the PSO, x 1 and x 2 , are optimization objectives, respectively Δ v R and Δ α which to be solved in Equation (16). According to Equations (14) and (16), the definition domain is three parts of the continuous region marked with ①, ② and ③, as shown in Figure 3. As long as U O > d 2 (in Figure 1) is satisfied, the continuous region certainly exists, and the definition domain inevitably is a nonempty set.
(2) The initial global optimal value in the PSO algorithm is + i n f i n i t e . According to Equation (16), as long as any element is found in the nonempty set of the definition domain in the iterative process of PSO, the global optimization will replace the original + i n f i n i t e and obtain the optimized x 1 and x 2 .
(3) In each cycle, any optimal solution obtained by the PSO algorithm may be changed to the limit values of the USV according to Equations (12) and (13) due to the limitations of its manipulating capability. This means a pair of executable parameters for the USV is definitely obtained in each cycle, regardless of the astringency of PSO.
(4) According to the Table 1, MUO and SUO are not fixed on a specific obstacle. They will roll and transfer according to the situation, and the definition domain will change, but they are always nonempty sets. □
In conclusion, the algorithm has convergence.
The process of using fuzzy rules to the formulate collision avoidance strategy is as follows:
Step 1. Confirm the MUO and SUO based on Equations (1)–(4).
Step 2. Calculate fuzzy variables based on Figure 5.
Step 3. Determine the fuzzy reasoning according to Table 2.
Step 4. Obtain the solution domain according to fuzzy reasoning, as shown in Equation (16).
Step 5. Calculate the optimal solution in the domain with the PSO algorithm.

4.3. The Calculation Process of Collision Avoidance

Based on the strategy above, the calculation process of multi-obstacle collision avoidance can be divided into three steps, including obstacle emergency degree calculation, obstacle classification, and optimal collision avoidance parameters’ calculation.
Figure 6 lists the workflow of collision avoidance calculation. In a calculation period, the emergency degree for all ships around the USV will be firstly estimated. When a ship is located in the identification zone of the USV and poses a threat to the USV, it will be viewed as the TO for the USV. All TOs are ordered and classified based on their emergency degrees. Only two of the most urgent obstacles, MUO and SUO, will be determined and selected for collision avoidance in this period.
After that, fuzzy linguistic variables based on the TCPA are firstly calculated for these two obstacles with the membership function in Figure 5. Combining the variables of two obstacles; then, the avoidance priority level can be determined based on Table 2. Meanwhile, two collision avoidance demands (SAS and FAS) are calculated based on the dynamic performance of the USV in the condition of avoidance priority level. With these conditions, both the basic domain and the additional domain of collision avoidance parameter can be determined using Equations (1)–(10). The PSO algorithm is further applied to estimate the optimal solution in the domain.
In general, the calculation process of collision avoidance is dynamic. The MUO and SUO will be continuously reselected in each calculation period as the USV moves. The emergency degree of the MUO and SUO in a previous period may gradually decrease while their avoidance priority in the collision avoidance operation becomes lower in the next period. The new MUO and SUO may be other obstacles that were not considered in the previous calculation period, while the threats they pose to the USV continue to increase in the following period. As a result, all obstacles will be logically considered for collision avoidance step by step in the scenario of multi-obstacle collision avoidance. In this way, computational efficiency and performance are greatly increased.
Rules: The termination rules in the above calculation process are as follows:
Rule1. The termination rules of the whole algorithm simulation or test process are:
(1) The USV arrives within 50 m of the goal, and there is no risk of collision with the obstacles.
(2) The USV fails to avoid collision and collides with any obstacle, i.e., the USV enters the collision circle of the obstacle (U in D).
Rule2. The termination rules in the PSO algorithm are:
(1) The global optimal solution of the particle swarm is continuously stable for five cycles.
(2) If (1) is not satisfied, the maximum number of iterations is 100.

5. Simulation Experiment and Analysis

To verify the approach, a 3D simulation environment based on Unity for USV collision avoidance is built by integration of Visual Studio and MATLAB. In all simulation experiments, the calculation period for the USV is set to 5 s. The dynamic performances of USV are, v ¯ R = 6   m / s , α ¯ = 0.6   m / s 2 , ω ¯ = 3   d e g / s 2 . These parameters come from the maneuvering simulation and experiment, which are in still water without considering the influence of environmental factors such as waves. The USV can perform collision avoidance only based on the pre-existing motion of obstacles and can be unaware of continuous movement of obstacles.
In the simulation environment, a local coordinate system centered at the USV is firstly set up. In the system, the USV is represented by a black circle with an initial position (0, 0) and an eastward velocity. Four ships around the USV are set to potential obstacles for collision avoidance. SHIP1 is represented by a green pentacle and located at (−20, −100) with velocity to the east by south. SHIP2 is represented by a blue-green hexagon and is located at (1350, 380), whose velocity points to the west. SHIP3 is represented by a magenta triangle with the initial position (1200, −250) and velocity to the west by north. SHIP4 is enclosed by blue square locates at the position (730, −700) with velocity to the east by north.
Assuming that the USV has finished global path planning in advance, the sub-global goal of the USV is to move to the position (1300, 0). Figure 7 shows the movement track of the USV and four ships within 140 s. During this time, multiple ships have interacted with the USV simultaneously and have been viewed as normal TO, MUO, or SUO, alternately. The USV has adopted continuous collision avoidance strategies to reach its target position successfully.
Figure 8 reflects the movement relationship of the USV and ships in the 140th second. The light-colored areas enclosing the USV and traffic ships indicate their domains, i.e., a cyan area for the USV’s domain. At this moment, all four ships are located within the identification zone of the USV and no IOs exist. SHIP3 moving away from the USV poses no threat to the USV and can be viewed as an IO. The other three ships are in danger of collision. According to the order of their emergency degree, SHIP1, SHIP4, and SHIP2 are MUO, SUO, and NO respectively. Based on the proposed method, only SHIP1 and SHIP4 should be considered for collision avoidance in this calculation period.
Figure 9 shows the variation curves of obstacle classification of four ships in all calculation periods. It can be seen that the collision risk degree of each ship varies with the course of the USV. The obstacle type of each ship alternately changes among the five types. A general trend is that the collision risk of the ships around the USV may increase first and then decrease while the USV constantly changes its parameters. The obstacle type for each ship will be temporally classified and redetermined in the next period. Obstacles with higher collision risk may gradually decrease from MUO to SUO, and then to NO or IO, i.e., SHIP1 and SHIP3. The irrelevant or nonthreatening ship may change to TO and then into MUO. In a word, all ships are considered for collision avoidance step by step, and the global emergency degree constantly decreases even if there is still a MUO or SUO for the USV.
Figure 10 shows the variation curves of course and velocity of the USV in all calculation periods. It can be seen that both speed and course are constantly adjusted for collision avoidance. However, the range of parameter adjustment is limited by the performance of the USV. The slopes of both two curves have upper limit values, indicating a ¯ and ω ¯ play a leading role in variation rate limitation. The speed curve also has an upper limit value, indicating v ¯ R limits the variation range. Such continuous and constrained motion curves are not only coincided with the actual movement of the USV, but are also convenient to control and track.

6. Conclusions

This study proposes a dynamic collision avoidance algorithm based on rolling obstacle classification and fuzzy rules to solve the two main problems, i.e., the low efficiency and easy failure of collision avoidance. Different from the existing multi-obstacle collision avoidance algorithms, the proposed algorithm comprehensively considers the emergency of obstacle ships, the safety of obstacle avoidance strategy, and the feasibility of adjusting strategy. In the process of dynamic collision avoidance, only two obstacles with the highest risk are considered in each time step, and the avoidance strategies of the two obstacles are optimized to reduce the collision risk of obstacles. Through the rolling mechanism of the algorithm, all obstacles will be gradually considered along with the USV’s moves. Simulation results indicate that the proposed algorithm is valid and efficient for the USV. In further research, avoidance strategies for more complex scenarios will be discussed, i.e., the USV is encircled and crashed by multiple obstacles purposefully.

Author Contributions

Data curation, X.S.; funding acquisition, L.S.; methodology, L.S.; software, H.S.; visualization, K.X.; writing—original draft, L.S. and L.H.; writing—review & editing, L.H. 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, Grant No. 51809203, Grant No. 41801375.

Acknowledgments

The work was supported by the grant from the National Natural Science Foundation of China (Grant No. 51809203, Grant No. 41801375).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Chen, J.H.; Zheng, T.X.; Garg, A.; Xu, L.; Li, S.F.; Fei, Y.J. Alternative maritime power application as a green port strategy: Barriers in China. J. Clean. Prod. 2019, 213, 825–837. [Google Scholar] [CrossRef]
  2. Chen, J.H.; Zhang, W.P.; Wan, Z.; Li, S.F.; Huang, T.C.; Fei, Y.J. Oil spills from global tankers: Status review and future governance. J. Clean. Prod. 2019, 227, 20–32. [Google Scholar] [CrossRef]
  3. Li, W.F.; Ma, W.Y. Simulation on Vessel Intelligent Collision Avoidance Based on Artificial Fish Swarm Algorithm. Pol. Marit. Res. 2016, 23, 138–143. [Google Scholar] [CrossRef] [Green Version]
  4. Qu, H.; Xing, K.; Alexander, T. An improved genetic algorithm with coevolutionary strategy for global path planning of multiple mobile robots. Neurocomputing 2013, 120, 509–517. [Google Scholar] [CrossRef]
  5. Borkowski, P.; Pietrzykowski, Z.; Magaj, J. The Algorithm of Determining an Anti-Collision Manoeuvre Trajectory Based on the Interpolation of Ship’s State Vector. Sensors 2021, 21, 5332. [Google Scholar] [CrossRef] [PubMed]
  6. Huang, Y.; Chen, L.; Chen, P.; Negenborn, R.R.; van Gelder, P.H.A.J.M. Ship Collision Avoidance Methods: State-of-the-art. Saf. Sci. 2020, 121, 451–473. [Google Scholar] [CrossRef]
  7. Asl, A.N.; Menhaj, M.B.; Sajedin, A. Control of leader follower formation and path planning of mobile robots using asexual reproduction optimization (ARO). Appl. Soft Comput. 2014, 14 Pt C, 563–576. [Google Scholar]
  8. Khatib, O. Real-time obstacle avoidance for manipulators and mobile robots. Int. J. Robot. Res. 1986, 5, 90–98. [Google Scholar] [CrossRef]
  9. Wang, J.; Wu, X.; Xu, Z. Potential-based obstacle avoidance in formation control. J. Control. Theory Appl. 2008, 6, 311–316. [Google Scholar] [CrossRef]
  10. Yang, Y.; Wang, S.X.; Wu, Z.L.; Wang, Y.H. Motion planning for multi-HUG formation in an environment with obstacles. Ocean Eng. 2011, 38, 2262–2269. [Google Scholar] [CrossRef]
  11. Liu, Y.H.; Shi, C.J. A fuzzy-neural inference network for ship collision avoidance. In Proceedings of the IEEE Third International Conference on Machine Learning and Cybernetics, Guangzhou, China, 18–21 August 2005; pp. 4754–4759. [Google Scholar]
  12. Gao, M.; Shi, G.Y. Ship-Collision Avoidance Decision-Making Learning of Unmanned Surface Vehicles with Automatic Identification System Data Based on Encoder—Decoder Automatic-Response Neural Networks. J. Mar. Sci. Eng. 2020, 8, 754. [Google Scholar] [CrossRef]
  13. Ayala, H.V.H.; Habineza, D.; Rakotondrabe, M.; dos Santos Coelho, L. Nonlinear black-box system identification through coevolutionary algorithms and radial basis function artificial neural networks. Appl. Soft Comput. 2019, 87, 105990. [Google Scholar] [CrossRef]
  14. Fiorini, P.; Shiller, Z. Motion planning in dynamic environments using velocity obstacles. Int. J. Robot. Res. 1998, 17, 760–772. [Google Scholar] [CrossRef]
  15. Berg, V.D.J.; Lin, M.; Manocha, D. Reciprocal velocity obstacles for real-time multi-agent navigation. In Proceedings of the 2008 International Conference on Robotics and Automation, Pasadena, CA, USA, 19–23 May 2008; 1928–1935. [Google Scholar]
  16. Kluge, B.; Parssler, E. Reflective navigation: Individual behaviors and group behaviors. In Proceedings of the IEEE International Conference on Robotics & Automation, New Orleans, LA, USA, 26 April–1 May 2004; Volume 4, pp. 4172–4177. [Google Scholar]
  17. Berg, V.D.J.; Patil, S.; Sewall, J.; Manocha, D.; Lin, M. Interactive navigation of multiple agents in crowded environments. In Proceedings of the 2008 symposium on Interactive 3D Graphics and Games, Redwood City, California, USA, 15–17 February 2008; pp. 139–147. [Google Scholar]
  18. 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]
  19. Kuwata, Y.; Wolf, M.T.; Zarzhitsky, D.; Huntsberger, T.L. Safe maritime autonomous navigation with COLREGS, using velocity obstacles. IEEE J. Ocean. Eng. 2014, 39, 110–119. [Google Scholar] [CrossRef]
  20. Mou, J.M.; Li, M.X.; Hu, W.X.; Zhang, X.H.; Gong, S.; Chen, P.F.; He, Y.X. Mechanism of dynamic automatic collision avoidance and the optimal route in multi-ship encounter situations. J. Mar. Sci. Technol. 2021, 26, 141–158. [Google Scholar]
  21. Valdes-Vela, M.; Toledo-Moreo, R.; Terroso-Saenz, F.; Zamora-Izquierdo, M.A. An application of a fuzzy classifier extracted from data for collision avoidance support in road vehicles. Eng. Appl. Artif. Intell. 2013, 26, 173–183. [Google Scholar] [CrossRef]
  22. Qin, L.; Shen, Y. Research on Safety Classification for Vehicle Anti-collision Data by Improved Interval Fuzzy Reasoning. In Proceedings of the 2021 3rd International Conference on Robotics and Computer Vision (ICRCV), Beijing, China, 6–8 August 2021; pp. 82–85. [Google Scholar]
  23. Pietrzykowski, Z.; Uriasz, J. The Ship Domain-A Criterion of Navigational Safety Assessment in an Open Sea Area. J. Navig. 2009, 62, 93–108. [Google Scholar] [CrossRef]
  24. Perera, L.P.; Carvalho, J.P.; Soares, C.G. Autonomous Guidance and Navigation based on COLREGs Rules and Regulations of Collision Avoidance. In Proceedings of the International Workshop “Advanced Ship Design for Pollution Prevention”, Split, Croatia, 23–24 November 2009; pp. 205–216. [Google Scholar]
  25. Perera, L.P.; Carvalho, J.P.; Guedes, S.C. Fuzzy Logic Based Derision Making System for Collision Avoidance of Ocean Navigation under Critical Collision Conditions. J. Mar. Sci. Technol. 2011, 16, 84–99. [Google Scholar] [CrossRef]
  26. Perera, L.P.; Carvalho, J.P.; Guedes, S.C. Intelligent Ocean Navigation and Fuzzy-Bayesian Decision/Action Formulation. IEEE J. Ocean. Eng. 2012, 37, 204–219. [Google Scholar] [CrossRef]
  27. Brcko, T.; Svetak, J. Fuzzy Reasoning as a Base for Collision Avoidance Decision Support System. Promet Traffic Transp. 2013, 25, 555–564. [Google Scholar] [CrossRef] [Green Version]
  28. Kao, S.L.; Lee, K.T.; Chang, K.Y.; Ko, M.D. A fuzzy logic method for collision avoidance in vessel traffic service. J. Navig. 2007, 60, 17–31. [Google Scholar] [CrossRef]
  29. Tang, C.; Xu, Z.; Liu, Z.; Liu, J. Research on Collision Probability Model Based on Ship Domain. In Proceedings of the Second International Conference on Transportation Information & Safety, Wuhan University of Technology, Wuhan, China, 28–30 June 2013; pp. 2307–2313. [Google Scholar]
  30. Huang, L.; Wen, Y.; Zhang, Y.; Zhou, C.; Zhang, F.; Yang, T. Dynamic calculation of ship exhaust emissions based on real-time AIS data. Transp. Res. Part D Transp. Environ. 2020, 80, 102277. [Google Scholar] [CrossRef]
Figure 1. USV and velocity obstacle.
Figure 1. USV and velocity obstacle.
Jmse 09 01321 g001
Figure 2. Classification of obstacles.
Figure 2. Classification of obstacles.
Jmse 09 01321 g002
Figure 3. Three collision avoidance areas for MUO and SUO.
Figure 3. Three collision avoidance areas for MUO and SUO.
Jmse 09 01321 g003
Figure 4. Unreasonable situation after collision avoidance parameter adjustment.
Figure 4. Unreasonable situation after collision avoidance parameter adjustment.
Jmse 09 01321 g004
Figure 5. Membership function of the fuzzy linguistic variable for urgency degree.
Figure 5. Membership function of the fuzzy linguistic variable for urgency degree.
Jmse 09 01321 g005
Figure 6. Flowchart of the multi-obstacle collision avoidance algorithm.
Figure 6. Flowchart of the multi-obstacle collision avoidance algorithm.
Jmse 09 01321 g006
Figure 7. The movement track of USV and four obstacles.
Figure 7. The movement track of USV and four obstacles.
Jmse 09 01321 g007
Figure 8. Motion relationship between the USV and traffic ships in the 140th second.
Figure 8. Motion relationship between the USV and traffic ships in the 140th second.
Jmse 09 01321 g008
Figure 9. Alternation of obstacle types of ships as USV moves.
Figure 9. Alternation of obstacle types of ships as USV moves.
Jmse 09 01321 g009
Figure 10. Variation curves of course and speed of the USV.
Figure 10. Variation curves of course and speed of the USV.
Jmse 09 01321 g010
Table 1. The classification definition of obstacles.
Table 1. The classification definition of obstacles.
NameAbbreviationDefinitionExample
Irrelevant ObstacleIOShip outside the identification zone of the USV that is invisible to the USVB6, B7
Nonthreatening ObstacleNOShip in the identification zone of the USV that does not satisfy Equation (4) and does not pose a threat to the USVB4, B5
Threatening ObstacleTOShip in the identification zone of the USV that satisfies Equation (4) and poses a threat to the USVB1, B2, B3
Most Urgent ObstacleMUOShip with the highest risk of collision fem among TOs B1
Secondary Urgent ObstacleSUOShip with the second highest risk of collision fem among TOsB2
Table 2. Fuzzy reasoning rules.
Table 2. Fuzzy reasoning rules.
TCPA|MUO
EGEZFA
TCPA|SUOEGSO————
EZSOSN——
FAOTOTSN
Table 3. Relationships of collision avoidance demands and avoidance priority level.
Table 3. Relationships of collision avoidance demands and avoidance priority level.
Priority LevelOTSOSN
SASAS1∩AS2AS1AS1
FAS-ST1∩ST2ST1
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Song, L.; Shi, X.; Sun, H.; Xu, K.; Huang, L. Collision Avoidance Algorithm for USV Based on Rolling Obstacle Classification and Fuzzy Rules. J. Mar. Sci. Eng. 2021, 9, 1321. https://doi.org/10.3390/jmse9121321

AMA Style

Song L, Shi X, Sun H, Xu K, Huang L. Collision Avoidance Algorithm for USV Based on Rolling Obstacle Classification and Fuzzy Rules. Journal of Marine Science and Engineering. 2021; 9(12):1321. https://doi.org/10.3390/jmse9121321

Chicago/Turabian Style

Song, Lifei, Xiaoqian Shi, Hao Sun, Kaikai Xu, and Liang Huang. 2021. "Collision Avoidance Algorithm for USV Based on Rolling Obstacle Classification and Fuzzy Rules" Journal of Marine Science and Engineering 9, no. 12: 1321. https://doi.org/10.3390/jmse9121321

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop