**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–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

**Citation:** 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

Academic Editor: Michele Viviani

Received: 27 October 2021 Accepted: 19 November 2021 Published: 23 November 2021

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 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/).

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 collisionavoidance 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<sup>R</sup>* and *vO*, respectively, and their relative velocity is defined as ∆*v*, i.e., → ∆*v* = → *v<sup>R</sup>* − → *v*0. *UT*<sup>1</sup> and *UT*<sup>2</sup> 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 *UT*, *UO* and ∆*v* have been defined and calculated by Equation (1), where *T* denotes *T*<sup>1</sup> or *T*2.

$$\begin{cases} \quad \mu = \angle(\text{UT}\_2, \text{UO})\\ \quad \gamma = \sphericalangle(\Delta v, \text{UO}) \end{cases} \tag{1}$$

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, *UT*<sup>2</sup> is *a* and *UO* 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 *fem* [29].

**Figure 1.** USV and velocity obstacle. **Figure 1.** USV and velocity obstacle.

$$f\_{\rm env} = \begin{cases} 1 & 0 < \text{TCP} \le t\_1 \\ \frac{t\_2 - \text{TCP}}{t\_2 - t\_1} & t\_1 < \text{TCP} < t\_2 \\ 0 & t\_2 \le \text{TCP} \end{cases}$$

$$t\_1 = \begin{cases} \frac{\sqrt{d\_1^2 - DCPA^2}}{\Delta v} & \text{DCPA} \le d\_1 \\ 0 & \text{DCPA} > d\_1 \end{cases} \tag{2}$$

$$t\_2 = \begin{cases} \frac{\sqrt{d\_2^2 - DCPA^2}}{\Delta v} & \text{DCPA} \le d\_2 \\ 0 & \text{DCPA} > d\_2 \end{cases}$$

$$\begin{cases} \text{TCP} = \frac{|\text{LUO}| \cos(|\gamma|)}{|\Delta v|} \\ \text{DCPA} = |\text{LOO}| \sin|\gamma| \end{cases} \tag{3}$$

(2)

(3)

is the

can be

.

<sup>2</sup> = { √<sup>2</sup> − <sup>2</sup> Δ ≤ <sup>2</sup> 0 > <sup>2</sup> { = || cos(||) |Δ| where *t*<sup>1</sup> and *t*<sup>2</sup> are parameters related to collision avoidance probability from the aspect of time. |*UO*| is the distance between the USV and obstacle. *d*<sup>1</sup> is the secure encounter distance which equals to the domain radius of the obstacle in this article, and *d*<sup>2</sup> 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*<sup>2</sup> = 2*d*1. *d*<sup>1</sup> and *d*<sup>2</sup> can be seen in Figure 1. The emergency situation will occur when the *DCPA* is less than *d*2.

2

 = || sin|| where <sup>1</sup> and <sup>2</sup> are parameters related to collision avoidance probability from the aspect of time. || is the distance between the USV and obstacle. <sup>1</sup> is the secure encounter distance which equals to the domain radius of the obstacle in this article, and <sup>2</sup> 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 <sup>2</sup> , even if there is no collision, it will form an emergency situation. In this article, <sup>2</sup> = 2<sup>1</sup> . <sup>1</sup> and <sup>2</sup> seen in Figure 1. The emergency situation will occur when the *DCPA* is less than <sup>2</sup> 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

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

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 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. () ≤ (4)

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.

*J. Mar. Sci. Eng.* **2021**, *9*, x FOR PEER REVIEW 5 of 16

$$abs(\gamma) \le \mu \tag{4}$$

B1, B2, B3

(5)


**Table 1.** The classification definition of obstacles. **Name Abbreviation Definition Example**

**Figure 2.** Classification of obstacles. **Figure 2.** Classification of obstacles.

respectively.

#### **3. Collision Avoidance against Single Obstacle 3. Collision Avoidance against Single Obstacle**

When collision avoidance is performed for a single obstacle, it means the angle should be adjusted to satisfy () ≥ . 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 When collision avoidance is performed for a single obstacle, it means the angle *γ* should be adjusted to satisfy *abs*(*γ*) ≥ *µ*. 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

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),

sin( − ) = −Δ sin

<sup>2</sup> − 2<sup>0</sup>

 sin( − ) = Δ sin <sup>0</sup> − cos( − ) = Δ cos

cos( − ) = Δ cos

cos( − )

= Δ 2

{ 

  0

− <sup>0</sup>

<sup>2</sup> + <sup>0</sup>

derived as an arctan function and a linear function of these parameters, as noted in Equation (6), respectively.

$$\begin{cases} \begin{aligned} v\_0 \sin(\alpha - \beta) &= -\Delta v \sin \varphi \\ v\_R - v\_0 \cos(\alpha - \beta) &= \Delta v \cos \varphi \\ v\_R^2 + v\_0^2 - 2v\_R v\_0 \cos(\alpha - \beta) &= \Delta v^2 \\ v\_R \sin(\beta - \alpha) &= \Delta v \sin \eta \\ v\_0 - v\_R \cos(\beta - \alpha) &= \Delta v \cos \eta \end{aligned} \tag{5}$$

$$\begin{aligned} \gamma &= \tan^{-1} \frac{v\_R \sin(\alpha - \theta) - v\_0 \sin(\beta - \theta)}{v\_R \cos(\alpha - \theta) - v\_0 \cos(\beta - \theta)} \\ d\gamma &= \frac{\sin \varrho}{\Delta v} dv\_R + \frac{v\_R \cos \varrho}{\Delta v} d\alpha + \frac{-\sin \eta}{\Delta v} dv\_o + \frac{v\_o \cos \eta}{\Delta v} d\beta \end{aligned} \tag{6}$$

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).

(

$$\begin{cases} \quad \Delta \gamma \ge \mu - \gamma\_{\prime} & \text{if } \gamma \ge 0 \\\ \Delta \gamma \le -\mu - \gamma\_{\prime} & \text{if } \gamma < 0 \end{cases} \tag{7}$$

or

$$\begin{aligned} \Delta \gamma &\le -\mu - \gamma\_{\prime} \quad \text{if } \gamma \ge 0\\ \Delta \gamma &\ge \mu - \gamma\_{\prime} \quad \text{if } \gamma < 0 \end{aligned} \tag{8}$$

Assuming that the motion state of the obstacle is unchanged, an effective measure is to adjust the velocity *v<sup>R</sup>* 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 *dv<sup>R</sup>* and *dα* at each moment.

Best Collision Avoidance:

$$\text{BCA}|\_{\mathcal{A}}: \begin{cases} \frac{\sin \varrho}{\Delta \upsilon} \mathbf{x}\_1 + \frac{v\_R \cos \varrho}{\Delta \upsilon} \mathbf{x}\_2 + \frac{-\sin \eta}{\Delta \upsilon} dv\_0 + \frac{v\_0 \cos \eta}{\Delta \upsilon} d\beta \ge \mu - \gamma \text{ if } \gamma \ge 0\\\frac{\sin \varrho}{\Delta \upsilon} \mathbf{x}\_1 + \frac{v\_R \cos \varrho}{\Delta \upsilon} \mathbf{x}\_2 + \frac{-\sin \eta}{\Delta \upsilon} dv\_0 + \frac{v\_0 \cos \eta}{\Delta \upsilon} d\beta \le -\mu - \gamma \text{ if } \gamma < 0 \end{cases} \tag{9}$$

Secondary Collision Avoidance:

$$\text{CCA}|\_{\text{A}}: \begin{cases} \frac{\sin \varrho}{\Delta v} \mathbf{x}\_{1} + \frac{v\_{\text{R}} \cos \varrho}{\Delta v} \mathbf{x}\_{2} + \frac{-\sin \eta}{\Delta v} dv\_{0} + \frac{v\_{0} \cos \eta}{\Delta v} d\beta \le -\mu - \gamma \text{ if } \gamma \ge 0\\\ \frac{\sin \varrho}{\Delta v} \mathbf{x}\_{1} + \frac{v\_{\text{R}} \cos \varrho}{\Delta v} \mathbf{x}\_{2} + \frac{-\sin \eta}{\Delta v} dv\_{0} + \frac{v\_{0} \cos \eta}{\Delta v} d\beta \ge \mu - \gamma \text{ if } \gamma < 0 \end{cases} \tag{10}$$

where two variables *x*<sup>1</sup> and *x*<sup>2</sup> denote collision avoidance parameter *dv<sup>R</sup>* and *dα*, and |<sup>A</sup> represents a collision avoidance scheme of USV for the obstacle.

$$\begin{aligned} \text{Goal Function} : \{ \mathbf{x}\_1, \mathbf{x}\_2 \mid \min f(\mathbf{x}\_1, \mathbf{x}\_2) = w\_1 \mathbf{x}\_1 + w\_2 \mathbf{x}\_2 \} \\ \text{s.t. } : (\mathbf{x}\_1, \mathbf{x}\_2) \in \mathsf{BCA}|\_{\mathrm{A}} \end{aligned} \tag{11}$$

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*<sup>1</sup> and *w*<sup>2</sup> are weights of *dv<sup>R</sup>* 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<sup>R</sup>* and *dα* (*dv<sup>R</sup>* 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 *vR*, *α* 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<sup>R</sup>* = *vR* |*vR*| *min*(*v<sup>R</sup>* − *vR*, *α*) ∆*α* = *min <sup>ω</sup>*, *max* 0, (*µ*−*γ*)∆*v*+∆*v*<sup>0</sup> sin *<sup>η</sup>*−*v*0∆*<sup>β</sup>* cos *<sup>η</sup>*−∆*v<sup>R</sup>* sin *<sup>ϕ</sup> v<sup>R</sup>* cos *ϕ i f <sup>γ</sup>* <sup>≥</sup> <sup>0</sup> *max* <sup>−</sup>*ω*, *min* 0, (−*µ*−*γ*)∆*v*+∆*v*<sup>0</sup> sin *<sup>η</sup>*−*v*0∆*<sup>β</sup>* cos *<sup>η</sup>*−∆*v<sup>R</sup>* sin *<sup>ϕ</sup> v<sup>R</sup>* cos *ϕ i f <sup>γ</sup>* <sup>&</sup>lt; <sup>0</sup> , *when* ∆*v<sup>R</sup>* > *α or v<sup>R</sup>* + ∆*v<sup>R</sup>* > *v<sup>R</sup>* (12) ∆*α* = <sup>∆</sup>*<sup>α</sup>* |∆*α*| *ω* ∆*v<sup>R</sup>* = *min <sup>α</sup>*, *max* 0, (*µ*−*γ*)∆*v*+∆*v*<sup>0</sup> sin *<sup>η</sup>*−*v*0∆*<sup>β</sup>* cos *<sup>η</sup>*−∆*v<sup>R</sup>* cos *<sup>ϕ</sup>* sin *ϕ i f <sup>γ</sup>* <sup>≥</sup> <sup>0</sup> *min <sup>α</sup>*, *max* 0, (−*µ*−*γ*)∆*v*+∆*v*<sup>0</sup> sin *<sup>η</sup>*−*v*0∆*<sup>β</sup>* cos *<sup>η</sup>*−∆*v<sup>R</sup>* cos *<sup>ϕ</sup> i f <sup>γ</sup>* <sup>&</sup>lt; <sup>0</sup> , *when* ∆*α* > *ω* (13)

sin *ϕ*

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<sup>R</sup>* and ∆*α*, of the best particle. Then proceed to Step5. If not, then go back to Step 2.

Step 5. Check if ∆*v<sup>R</sup>* and ∆*α* exceed the *α* and *ω*. If they do, follow Equations (12) and (13), and achieve the avoidance strategy ∆*v<sup>R</sup>* and ∆*α* at the local cycle by compromising to the motion capacity of the USV. If no, ∆*v<sup>R</sup>* 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 <sup>1</sup> and the SCA is to enter area <sup>2</sup> . The BCA for obstacle II is to enter area <sup>3</sup> and the SCA is to enter area <sup>2</sup> . The goal of multi-obstacle collision avoidance therefore refers to determining the optimal solution (∆*vR*, ∆*α*) in the definition domain called Basic Domain, as expressed in Equation (14). *J. Mar. Sci. Eng.* **2021**, *9*, x FOR PEER REVIEW 8 of 16

$$\text{S.t.} \left(\mathbf{x}\_1, \mathbf{x}\_2\right) \in \text{BCA}|\_{\text{MUO}} \cup \text{BCA}|\_{\text{SUO}} \cup \text{SCA}|\_{\text{MUO}} \cup \text{SCA}|\_{\text{SUO}} \tag{14}$$

**Figure 3.** Three collision avoidance areas for MUO and SUO.*4.2. Multi-Obstacle Collision*  **Figure 3.** Three collision avoidance areas for MUO and SUO.

#### *Avoidance Strategy 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). 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 (∆, ∆) 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 () is firstly adjusted to ′ for obstacle I avoidance and the resultant velocity correspondingly changes from ∆<sup>1</sup> to ∆<sup>1</sup> ′ , which satisfies the BCA for obstacle I. However, the resultant velocity of the USV and obstacle II ∆<sup>2</sup> ′ is in the collision range, which means the BCA for obstacle I poses a threat to obstacle II. The safe state of this obstacle SAS is an indicator of afterward evaluation, which indicates the safe state of the USV after the collision avoidance parameter (∆*vR*, ∆*α*) 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 (*vR*) is firstly adjusted to *v<sup>R</sup>* 0 for obstacle I avoidance and the resultant velocity correspondingly changes from ∆*v*<sup>1</sup> to ∆*v*<sup>1</sup> 0 , which satisfies the BCA for obstacle I. However, the resultant velocity of the USV and obstacle II ∆*v*<sup>2</sup> 0 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.

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):* (∆*vR*, ∆*α*) *satisfies abs*(*γ*|MUO > *µ*) *where γ*|MUO = *R*(RO, ∆*v*|MUO), *and* ∆*v*|MUO = *v*<sup>R</sup> + ∆*v*<sup>R</sup> − *v*o|MUO, *which means USV avoids the MUO after its movement adjustment.*


**Definition 1**: AS1 (adjustment strategy 1): (∆, ∆) satisfies (|MUO > ) where

**Definition 2**: AS2 (adjustment strategy 2): (∆̃, ∆̃) satisfies (̅|SUO > ) where |SUO = (RO, ∆v|MUO), and ∆v|SUO = v<sup>R</sup> + ∆v<sup>R</sup> − vo|SUO , which means USV avoids the

lision, on condition of its acceleration and steering limitations. There are two conditions

**Definition 3**: ST1 (strategy time 1): (∆, ∆) must satisfy |MUO >

**Definition 4**: ST2 (strategy time 2): (∆, ∆) must satisfy |SUO >

) |MUO, which means USV will not collide with MUO before adjusting to the

) |SUO, which means USV will not collide with SUO before adjusting to the

defined to ensure the appropriate adjustment time by changing speed and course.

SUO after its movement adjustment.

(

(

∆ ∆̃ , ∆ ∆̃

∆ ∆̃ , ∆ ∆̃

required velocity vector.

required velocity vector.

**Figure 4.** Unreasonable situation after collision avoidance parameter adjustment.

FSA acts as an indicator of pre-evaluation, which indicates whether a USV has an adequate response time to adjust collision avoidance parameters (∆*vR*, ∆*α*) 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):* (∆*vR*, ∆*α*) *must satisfy TCPA* MUO <sup>&</sup>gt; *max* ∆*v<sup>R</sup>* <sup>∆</sup>*v*f*<sup>R</sup>* , ∆*α* ∆e*α* MUO *, which means USV will not collide with MUO before adjusting to the required velocity vector*.

**Definition 4.** *ST2 (strategy time 2):* (∆*vR*, ∆*α*) *must satisfy TCPA* SUO <sup>&</sup>gt; *max* ∆*v<sup>R</sup>* <sup>∆</sup>*v*f*<sup>R</sup>* , ∆*α* ∆e*α* 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 *Tnear*, *Tf ar*, *Tmid*, and *Tsa 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.

**Figure 5.** Membership function of the fuzzy linguistic variable for urgency degree. **Figure 5.** Membership function of the fuzzy linguistic variable for urgency degree.

OT: Equal avoiding priority to both MUO and SUO.

SO: Avoiding both MUO and SUO but giving priority to MUO.

**Table 2.** Fuzzy reasoning rules.

collision avoidance intention.

SN: Avoiding MUO only.


<sup>2</sup>−<sup>2</sup>

**Figure 4.** Unreasonable situation after collision avoidance parameter adjustment.

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 , , , and , 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

.

(15)

OT: Equal avoiding priority to both MUO and SUO.

<sup>2</sup>−<sup>2</sup>

SO: Avoiding both MUO and SUO but giving priority to MUO. SN: Avoiding MUO only.

$$T\_{\text{near}} = \frac{\sqrt{d\_1^2 - DCPA^2}}{\Delta v},\ T\_{\text{far}} = \frac{\sqrt{d\_2^2 - DCPA^2}}{\Delta v},\ T\_{\text{mid}} = \frac{T\_{\text{near}} + T\_{\text{far}}}{2},\ T\_{\text{sf}} = \frac{3T\_{\text{far}} - T\_{\text{near}}}{2} \tag{15}$$

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<sup>R</sup>* and ∆*α*.

$$\{\mathbf{x}\_1, \mathbf{x}\_2 \mid \min f(\mathbf{x}\_1, \mathbf{x}\_2) = w\_1 \mathbf{x}\_1 + w\_2 \mathbf{x}\_2\}$$

$$\text{S.t.} \ (\mathbf{x}\_1, \mathbf{x}\_2) \in BAP|\_{\text{MUO}} \cup BAP|\_{\text{SUO}} \cup \text{SAP}|\_{\text{MUO}} \cup \text{SAP}|\_{\text{SUO}}\tag{16}$$

$$(\mathbf{x}\_1, \mathbf{x}\_2) \in A\mathbf{S1} \cap A\mathbf{S2} \text{ or } A\mathbf{S1} \text{ or } S\mathbf{T1} \cap S\mathbf{T2} \text{ or } S\mathbf{T1}$$

**Table 3.** Relationships of collision avoidance demands and avoidance priority level.


**Proof.** The convergence proof of the above algorithm is as follows:

(1) The two-dimensional particles in the PSO, *x*<sup>1</sup> and *x*2, are optimization objectives, respectively ∆*v<sup>R</sup>* 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 <sup>1</sup> , <sup>2</sup> and <sup>3</sup> , as shown in Figure 3. As long as *UO* > *d*<sup>2</sup> (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 +*in f inite*. 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 +*in f inite* and obtain the optimized *x*<sup>1</sup> 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.


#### *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.

**5. Simulation Experiment and Analysis** 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:

maneuvering simulation and experiment, which are in still water without considering the

ance only based on the pre-existing motion of obstacles and can be unaware of continuous

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 ma-

In the simulation environment, a local coordinate system centered at the USV is

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 (1) The USV arrives within 50 m of the goal, and there is no risk of collision with the obstacles.

experiments, the calculation period for the USV is set to 5 s. The dynamic performances of USV are, ̅ = 6 /, ̅ = 0.6 / 2 , ̅ = 3 / 2 . These parameters come from the (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).

movement of obstacles.

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<sup>R</sup>* = 6 m/s, *α* = 0.6 m/s<sup>2</sup> , *ω* = 3 deg/s<sup>2</sup> . 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. *J. Mar. Sci. Eng.* **2021**, *9*, x FOR PEER REVIEW 13 of 16 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. 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

MUO, SUO, and NO respectively. Based on the proposed method, only SHIP1 and SHIP4

**Figure 7.** The movement track of USV and four obstacles. **Figure 7.** The movement track of USV and four obstacles.

should be considered for collision avoidance in this calculation period.

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. *J. Mar. Sci. Eng.* **2021**, *9*, x FOR PEER REVIEW 14 of 16

**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.

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 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.

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<sup>R</sup>* 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.

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 ̄ and ̄ play a leading role in variation rate limitation. The speed curve also has an upper limit value,

**Figure 9.** Alternation of obstacle types of ships as USV moves.

for the USV.

**Figure 8.** Motion relationship between the USV and traffic ships in the 140th second.

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

**Figure 9.** Alternation of obstacle types of ships as USV moves. **Figure 9.** Alternation of obstacle types of ships as USV moves.

**Figure 10.** Variation curves of course and speed of the USV. **Figure 10.** Variation curves of course and speed of the USV.

#### **6. Conclusions**

No. 51809203, Grant No. 41801375.

Barriers in China. *J. Clean. Prod.* **2019**, *213*, 825–837.

ance. *J. Clean. Prod.* **2019**, *227*, 20–32.

*Res.* **2016**, *23*, 138–143.

**References**

**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 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.

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.

**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

**Funding:** This research was funded by the National Natural Science Foundation of China, Grant

**Acknowledgments:** The work was supported by the grant from the National Natural Science Foun-

dation of China (Grant No. 51809203, Grant No. 41801375).

**Conflicts of Interest:** The authors declare no conflict of interest.

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:

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 govern-

3. Li, W.F.; Ma, W.Y. Simulation on Vessel Intelligent Collision Avoidance Based on Artificial Fish Swarm Algorithm. *Pol. Marit.*

i.e., the USV is encircled and crashed by multiple obstacles purposefully.

authors have read and agreed to the published version of the manuscript.

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**

