1. Introduction
Unmanned surface vehicles (USVs) have a wide range of application value [
1]. They can perform dangerous tasks in a messy environment without human intervention [
2]. The ability of autonomous collision avoidance is the basis of ensuring the navigation safety and mission accomplishment of the USVs.
The USVs encounter unpredictable obstacles, such as ships in motion, during navigation. Collisions can cause significant economic losses and environmental pollution. There are no regulations specifically for the USVs. However, USVs should follow the International Regulations for Preventing Collisions at Sea (COLREGS) [
3], which has become the consensus of relevant research. Common collision avoidance algorithms include the artificial potential field (APF) method [
4,
5,
6,
7,
8], velocity obstacle (VO) algorithm [
8,
9,
10,
11,
12,
13] and some intelligent algorithms [
13,
14,
15,
16,
17,
18].
The basic principle of the APF method is to transform the influence of the target and the obstacle on the robot motion into an artificial potential field for description, and the robot moves along the combined force of the gravitational force of the target point and the repulsive force of the obstacle [
19]. It is often used for path planning in the collision avoidance process, and the planned path is smooth and safe [
4,
5,
6,
7,
8]. The main problem of this algorithm is that it can easily fall into the local optimum, which may cause the robot to stay at the local optimum point before reaching the target point.
Intelligent algorithms are mostly derived from bionics, such as the genetic algorithm, particle swarm algorithm and ant colony algorithm, which update the population toward the optimal solution through collective iteration of the population, combined with heuristic information provided by the evaluation function [
20]. Different intelligent algorithms differ in terms of convergence speed and optimization of results [
21]. However, most of them require a large amount of data, which can lead to a high computational cost of the algorithm. In maritime research, intelligent algorithms have been mainly applied in path planning [
13,
14,
15,
16,
17,
18].
The VO algorithm was first proposed in 1998 [
22] and has been subsequently improved for the problems in its application. For example, EBVO (ellipse-based velocity obstacle) [
23] was proposed for the obstacle shape problem, which sets the obstacle shape as an ellipse; NLVO (non-linear velocity obstacle) [
24] and PVO (probability velocity obstacle) [
25] were proposed for the obstacle motion problem. NLVO is mainly used to solve the nonlinear motion problem of the obstacle, and PVO is used to deal with the uncertainty in the obstacle motion process. RVO (reciprocal velocity obstacle) [
26] and ORCA (optimal reciprocal collision avoidance) [
27] were proposed for the motion oscillation problem, which consider mainly the case when both the robot and the obstacle take action because of the collision risk.
The VO algorithm lacks the ability to plan the best path to reach the target point; however, it is also more widely used in the field of ship collision avoidance, such as collision risk assessment [
28,
29], combining with other algorithms for path planning [
9,
13] or providing collision avoidance decision solutions. The VO algorithm, as a reactive algorithm, only needs to input the basic information about the robot and the obstacle to obtain the set of collision avoidance velocities. The algorithm is fast in calculation and suitable for high-speed operation with short reaction time. The VO has the ability to handle multiple obstacles to avoid collisions; however, there may be motion oscillation and over-avoidance during collision avoidance.
To make the collision avoidance decisions made by the VO algorithm practically applicable, researchers have combined the VO algorithm or its improvements such as ORCA, RVO, GVO (generalized velocity obstacle), PVO with COLREGs [
10,
11,
30,
31]. However, all these studies assume that the Target Ship (TS) also follows COLREGs or the predicted trajectory of the TS can be obtained. In actual navigation, the TS may violate the COLREGs or turn temporarily.
Song et al. considered emergency situations due to the irregular operation of the TS; however, the VO algorithm was only used to deal with non-emergency situations [
8]. Shaobo W et al. combined the improved VO algorithm with a finite state machine to build a collision avoidance decision system that handle unexpected situations [
32]. The above studies show that the VO algorithm has applications in the field of ships’ collision avoidance.
With the development of USVs, there will be a coexistence of USVs and manned ships. The behavior of manned ships has greater uncertainty, such as temporary turning or violating COLREGs. These behaviors can affect the encounter ships and even lead them into emergency situations. In order to ensure that the USVs safely avoid the manned ships, this paper proposes an improved collision avoidance decision method for USVs based on the VO algorithm.
The advantages of this decision method are that it combines the VO algorithm with the collision risk model, so that it can cope with the unexpected situation due to the TSs’ behaviors. It also ensures that the USV does not take unnecessary actions when the TSs’ actions do not pose a threat to it. Two collision avoidance schemes, non-emergency collision avoidance and emergency collision avoidance, are developed so that the USV follow COLREGs for non-emergency collision avoidance. In emergency situations, it can quickly move away from the TS to avoid collision. The calculation of this method is low cost and fast, so it is suitable for real-time collision avoidance.
The main contribution of this paper is to apply the dynamic ship domain to the VO algorithm. The obstacles in the traditional VO algorithm are set to be circular, and this assumption facilitates the calculation of velocity obstacle cones. However, given the special characteristics of ships’ collision avoidance, this paper replaces the TS with a dynamic ship domain, the shape of which depends on the TS velocity and encounter situation with USV. This approach makes the VO algorithm targeted to deal with collision avoidance in different encounter situations, making it more applicable in ship collision avoidance.
The remainder of this paper is organized as follows. In
Section 2, the underlying theories related to the algorithm model are introduced. In
Section 3, the mathematical model of the algorithm is introduced. In
Section 4 and
Section 5, the simulation results are shown to verify the feasibility and effectiveness of the proposed decision method.
Section 6 concludes the whole paper and looks ahead to future research.
2. Basic Theory
2.1. VO Algorithm
The basic principle of the VO algorithm is to generate the velocity set that cause the collision by geometric calculation. By keeping the end point of the robot’s velocity vector outside the conical region formed by the velocity set, collisions can be prevented. The generation principle of velocity obstacle cone is shown in
Figure 1. The mathematical definition of VO is defined as follows.
where
and
are the velocities of robots A and B;
is the position of robot A; t is the motion time; and ⊕ is the Minkowski sum operation.
2.2. Encounter Situation
According to the COLREGs, the encounter situation can be divided into three kinds of situations, including overtaking, head-on situation and crossing situation. COLREGs Rule 13 defines that a vessel shall be deemed to be overtaking when coming up with another vessel from a direction more than 22.5° abaft her beam and indicates that the overtaking boat assumes the responsibility of giving way. COLREGs Rule 14 provides that each should change its course to starboard so that each can pass on the port side of the other when two vessels are in a head-on situation.
COLREGs Rule 15 provides that the vessel which has the other on her own starboard side is the give-way vessel in crossing situation. The give-way shall avoid passing the bow of another vessel, and its alteration of course or speed shall be large, as mentioned in Rule 8. The stand-on vessel shall keep her course and speed, except emergency situation. COLREGs do not provide mathematical definitions of the head-on situation and the crossing situation. To ensure safe navigation, the encounter situation should be accurately classified.
In this paper, we classify the encounter type according to the relative bearing
and relative course
of the TS. As shown in
Figure 2, in the XOY coordinate system, the coordinates of the USV are
, the speed is
, the course is
and the length is
; the coordinates of the TS are
, the speed is
, the course is
and the length is
.
The relative bearing
of the TS with respect to the USV is expressed as Equation (2):
Taking the position of the USV as the coordinate origin, the body-fixed coordinate system is established. In this coordinate system, the relative bearing
of the TS is expressed as Equation (3):
The relative course
of the TS with respect to the USV is expressed as Equation (4):
According to
, the area near the USV can be divided into six parts, as shown in
Figure 3, where the abbreviations are explained as shown in
Table 1, and the range of each part is shown in
Table 2. In order to ensure navigation safety, the range of hand-on encounter is determined to π/4, forming the P1 area. The range of overtaking is divided according to 22.5° abaft beam, forming P4 area. The remaining parts are crossing encounter situations. On the basis of the above, the encounter is judged by combining
[
31,
33]. Detailed information for determining the encounter situation is shown in
Table 3.
2.3. Ship Domain
One of the bases for the determination of the VO cone is the robot shape. The USV is small in size, and thus it is considered as a mass point. The ship domain is used to represent the TS. Collision avoidance maneuvering is conducted with the safety standard that the TS domain should not be violated by the USV.
In this paper, the Richard Bucknall ship domain model is used [
34]. The model takes into account COLREGs, and the shape changes with the encounter type and ship’s speed, which facilitates more accurate collision risk assessment.
The front half of the TS domain is semi-elliptical and the back half is semi-circular in head-on or crossing encounter. The expressions are as follows. The radii for the fore section of domain are given by Equation (5).
The radii for the aft section of domain are given by Equation (6).
where Scaling is defined as 1 min;
is defined as 0.7 nm; Δt is the time step; DTScale is defined as 0.5; SASLimit is defined as 0.7 nm.
For overtaking encounter, the ship domain of the TS is circular and the radius is:
where OTScaling is defined as 1 min.
When there is not collision risk between the two ships, the ship domain of the TS is circular and the radius is:
2.4. Collision Risk Model
The ship collision risk is used to measure the probability of collision between ships and takes a value between 0 and 1. In this paper, the larger the value of collision risk of the TS, the higher the priority of collision avoidance. If the collision risk exceeds 0.5, collision avoidance action is taken. This method can avoid premature collision avoidance.
There is not yet a unified theoretical system for ship collision risk assessment [
35]. Fuzzy comprehensive evaluation method is introduced for ship collision risk assessment, which expresses the collision risk through the membership functions of relevant parameters. The definition of the membership function directly affects the reliability of the collision risk assessment.
From the analysis of collision geometry principle, five factors such as the distance at the closest point of approach (DCPA), the time to the closest point of approach (TCPA), distance between two ships (D), relative bearing (
) and speed ratio (K) are used as the basic evaluation parameters to establish the collision risk model [
36].
The DCPA and TCPA are calculated as follows.
To ensure that the USV does not intrude into the TS’s domain, the minimum safe distance
is defined [
37].
For head-on or crossing encounter,
is as:
where
is the relative bearing of the USV.
In other situations,
is as:
The membership function of DCPA is as:
The membership function of TCPA is as:
where
and
are calculated as follows:
The membership function of D is as:
The membership function of
is as:
The membership function of K is as:
The weights of the membership functions are set as 0.4, 0.367, 0.167, 0.033 and 0.033. The expression for the risk is obtained as [
32]:
3. Collision Avoidance Decision Method
The collision avoidance process is shown in
Figure 4.
Firstly, the relative bearing and course of the TS are calculated. According to them, determine the encounter situation and ship domain and judge the collision avoidance responsibility k. The values of k are 0, 0.5 and 1, representing three cases that the USV is the stand-on ship, both the USV and TS are the give-way ships, and the USV is the give-way ship. Next, the collision risk E is calculated. When , the end point of the velocity vector of the USV is judged whether it falls within the VO cone. The judgment process is as follows.
For head-on and crossing encounters, if
, Equations (17) and (18) are calculated. If
, Equations (19) and (20) are calculated.
When in other situations, if
, then Equation (21) is calculated. If
, then Equation (24) is calculated.
By the above equation, t is found and then brought to the ship domain expression. The coordinates of the tangent point of the line crossing tangent to the ship domain are obtained.
In this paper, it is assumed that the ship course is equivalent to the velocity direction, and the velocity component of the USV in the XOY coordinate system is expressed as:
Similarly, the components of the TS’s velocity can be calculated. The end point coordinates of the USV velocity vector are .
The combination of VO algorithm and COLREGs is based on the weight idea of RVO. That is, the absolute VO cone is determined according to k. The starting point of absolute VO cone is calculated as:
Similarly, the coordinates of the two tangent points after translation
,
can be obtained. Then the absolute VO cone boundary angles
and
and the angle
, that is the end point of the USV velocity vector relative to the start of the VO cone, are calculated. If Equation (26) is satisfied, it means that collision avoidance is required.
This paper sets the USV to avoid collisions by turning only. According to COLREGs Rule 8, course is changed at least π/6 in non-emergency situations [
38]. Meanwhile, for the convenience of algorithm design, it is assumed that the USV only turn right when it acts as a give-way ship in non-emergency situations. Therefore, the collision avoidance velocity is calculated as follows.
The lines where the velocity cone boundaries lie are expressed as:
Based on the coordinates of the points obtained by the Equations (27) and (28), the meeting points of a circle with radii equal to the value of the velocity vector of USV and the lines where the VO cone boundaries are located can be obtained. The angles
of the meeting points with respect to
are found. If the angle is equal to
, the point is the true intersection with the velocity barrier cone boundary.
According to the COLREGs and the minimum constraint of course change, the collision avoidance velocity angle
is found as Equation (29).
When , the USV avoids collision with the TS according to ; when , the COLREGs are ignored. In and , the course with the smallest difference from the original course is chosen. When the end point of the initial velocity vector is no longer located within the VO cone of any TS, the course is adjusted to the initial state.
4. Simulation Experiments
According to the encounter scenario proposed by Woerner [
39], four-ship encounter scenarios are established in this paper.
Figure 5 shows the initial position of ships. The information of the ships is shown in
Table 4,
Table 5,
Table 6 and
Table 7. Through simulation, the collision avoidance is simulated when the TS follows the COLREGs. On the basis of the four scenarios, the collision avoidance of the USV is simulated when the TS temporarily turn.
The collision avoidance of VO algorithm in the same scenarios is simulated. The collision avoidance effect of the improved algorithm and the VO algorithm is compared. The results of the simulation verify the feasibility and effectiveness of the proposed decision method. Considering the running time of the algorithm, 1 min is used as the time step. The simulation duration is two hours. In the simulation charts, the USV is represented by S0, and the TS1, TS2 and TS3 are represented by S1, S2 and S3.
4.1. Target Ship Follow COLREs
4.1.1. Scenario 1
Figure 6 shows the collision risk between each TS and USV. The collision risk between the USV and the TS3 is greater than 0.5 at the 10th min. The TS3 does not change course because the two vessels will not be in collision if they are sailing at the original velocity. The collision risk between the USV and the TS2 is greater than 0.5 at the 17th min. The USV, as a give-way ship, should turn right to overtake. However, compared to the TS3, the USV is a stand-on ship. Given that the collision risk between the two ships does not increase after the right turn, the USV choose to turn right.
Figure 7 shows the process of collision avoidance.
Figure 8 shows that the USV does not enter the ship domain of any TS during the navigation.
4.1.2. Scenario 2
Figure 9 shows the collision risk between each TS and USV. The collision risk between the USV and the TS2 is greater than 0.5 at the beginning. The TS2 does not change course because the two vessels will not be in collision if they are sailing at the original velocity. The collision risk between the USV and the TS3 is greater than 0.5 at the ninth min. Given that the collision risk between the USV and the TS2 does not increase after the USV turns right, the USV turns right to avoid the TS3. This action can also achieve the purpose of overtaking the TS1.
Figure 10 shows the process of collision avoidance.
Figure 11 shows that the USV does not enter the ship domain of any TS during the navigation.
4.1.3. Scenario 3
Figure 12 shows the collision risk between each TS and USV. The TS3, as the give-way ship, turns right to avoid the USV at the beginning of the navigation. The USV and the TS1 are in a head-on situation. According to the improved VO, the two vessels will not be in collision if they are sailing at the original velocity. Therefore, the USV keeps going straight. At the 24th min, the collision risk between the USV and TS2 is greater than 0.5, and the USV turns right.
Figure 13 shows the process of collision avoidance.
Figure 14 shows that the USV does not enter the ship domain of any TS during the navigation.
4.1.4. Scenario 4
Figure 15 shows the collision risk between each TS and USV. At the 15th min, the collision risk between the USV and the TS1 is greater than 0.5. Both ships start to take collision avoidance actions. At the 18th min, the two ships resume the original course. During the navigation, there is no collision risk between the USV and other TSs, and thus there is no other collision avoidance operation.
Figure 16 shows the process of collision avoidance.
Figure 17 shows that the USV does not enter the ship domain of any TS during the navigation.
4.2. Target Ship Temporarily Turns
Based on scenario 1, it is assumed that the course of the TS2 changes to 3π⁄4 at the 28th min. While avoiding the collision avoidance through the proposed decision method, the USV starts to overtake the TS2 at the 17th min. The action of TS2 leads the USV to an emergency situation, which causes the USV to turn right again for collision avoidance. At the 36th min, the USV resumes its original course to finish the collision avoidance. While avoiding the collision avoidance through the VO algorithm, the USV takes collision avoidance by turning to the left when the ships start sailing.
Therefore, it is not affected by the action of TS2. After passing the stern of target vessel 2, the USV resumes its original course at the 78th min. The collision avoidance time of the VO algorithm is more than the time spent by the proposed method. During the collision avoidance process, there are three small course changes of the USV, which does not satisfy the COLREGs Rule 8.
Figure 18 shows the change of the USV course.
Figure 19 shows the trajectory for two hours.
Based on scenario 2, it is assumed that the course of the TS3 changes to 19π⁄12 at the 10th min. While avoiding the collision avoidance through the proposed decision method, the USV turns right at the 9th min. At the 18th min, the USV resumes its original course. The action of TS3 causes the USV to enter an emergency situation. The USV turns right again. While avoiding the collision avoidance through the VO algorithm, the USV turns left. After a small jitter, the USV resumes its original course at the 37th min. The VO algorithm avoids collision by the longer time and more course changes.
Figure 20 shows the change of the USV’s course.
Figure 21 shows the trajectory for two hours.
Based on scenario 3, it is assumed the TS3 resumes the original course in advance. While avoiding the collision avoidance through the proposed decision method, the behavior of TS3 causes the USV to enter an emergency situation. To avoid the TS3, the USV turns left at the 9th min. While avoiding the collision avoidance through the VO algorithm, the USV turns left at the initial stage of navigation, which is not in accordance with the COLREGs. After several alterations of course, the USV resumes its original course at the 24th min. The VO algorithm avoids collision by more course changes.
Figure 22 shows the change of the USV’s course.
Figure 23 shows the trajectory for two hours.
Based on scenario 4, it is assumed that the initial position of TS2 is (10, 13). The TS2 and TS1 are in the crossing encounter. TS1 as the give-way ship turns to the right. When collision avoidance is performed by the proposed decision method, the behavior of TS1 results in no collision risk between it and the USV. Therefore, the USV does not take any collision avoidance action. However, the USV still takes action, which is not necessary, when collision avoidance is performed by the VO. And the act of turning to the left at the beginning is not in accordance with COLREGs.
Figure 24 shows the change of the USV’s course.
Figure 25 shows the trajectory for two hours.
5. Result
In this paper, four four-ship encounter scenarios are established. The scenarios where the TS takes temporary action in different encounter situations are set up to simulate the collision avoidance of the USV.
The simulation shows that the decision method proposed in the paper can help the USV to complete multi-ship collision avoidance in open water. The method has the ability to cope with the unexpected situation arising from the TS. It is found that when the temporary action of the TS puts the USV in danger again, the USV changes direction again or extends the collision avoidance time. When the temporary action of the TS does not affect the USV, the USV does not take unnecessary actions.
To verify whether the proposed decision method also has the same defects as the VO algorithm, the collision avoidance process of VO is simulated. The two methods are compared and the following conclusions are obtained.
The decision method does not cause USV to prematurely avoid collision. There is no condition set in the VO algorithm to start collision avoidance, so it is constantly looking for collision avoidance solutions from the beginning. The decision method determines the start of collision avoidance by the collision risk, which prevents the USV from taking premature action.
The decision method does not adjust course several times in a row. The VO algorithm assumes that the TS keeps its original course, so the change of the TS’s course makes it look for solutions again. In contrast, the decision method considers the actions of the TS, and the TS’s behavior following the COLREGs does not affect the USV anymore. In addition, the USV using VO algorithm avoids all ships at the same time, and the USV using decision method avoids the ships that have collision risk. Therefore, the more TSs there are, the more likely to generate motion oscillation.
The decision method is more efficient. Continuous small turns prevent the USV from moving away from the TS quickly. Therefore, the USV with VO algorithm is within the influence of the TS for a longer time. When non-emergency collision avoidance is completed by the decision method, the behavior of the USV follows the COLREGs. Under the rule constraint, the course of the USV changes at least π ⁄6 so that it can move away from the TS in a short time. This allows the USV to resume its original heading earlier.
6. Conclusions
In this paper, we propose a collision avoidance decision method for USVs based on the VO algorithm. We considered that, in the actual navigation process, the actions of the TS are difficult to predict. Ships may take temporary turns for certain reasons, placing the USV in danger. In this paper, we chose to improve the VO algorithm to help the USVs cope with unexpected situations. To make the VO algorithm more applicable to collision avoidance of the USVs, the dynamic ship domain was used. Combined with the weight idea of RVO algorithm, COLREGs constraints were added to the model to provide the USV with decisions that follow the COLREGs.
According to the collision risk, the collision avoidance timing and target were judged to avoid taking premature or unsuitable collision avoidance actions. In addition, temporary action of the target vessel may lead to an emergency situation. The emergency risk value was set, beyond which, the USV will take collision avoidance action without considering the COLREGs. Through simulation experiments, the feasibility and effectiveness of the decision method were verified.
Compared with the VO algorithm, the method had a shorter collision avoidance time, did not take collision avoidance actions prematurely and did not change course several times in a row. However, the algorithm does not consider the maneuverability constraint of the USV and assumes that the USV can change its velocity instantaneously and that the heading is the direction of speed. After completing collision avoidance, only the heading was adjusted, and the course deviation was not considered. Future research will focus on the above two aspects.