Next Article in Journal
Effects of a Wave Power Park with No-Take Zone on Decapod Abundance and Size
Previous Article in Journal
Microscopic Anatomy of the Lining of Hemal Spaces in the Penaeid Shrimp, Sicyonia ingentis
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Collision Avoidance Algorithm Based on COLREGs for Unmanned Surface Vehicle

1
Intelligent Robotics R&D Division, Korea Institute of Robotics and Technology Convergence, Pohang 37666, Korea
2
Unmanned/Intelligent Robotic Systems R&D, LIG Nex1, Seongnam 13488, Korea
3
Department of Mechanical System Engineering, Pukyoung National University, Busan 48513, Korea
*
Author to whom correspondence should be addressed.
J. Mar. Sci. Eng. 2021, 9(8), 863; https://doi.org/10.3390/jmse9080863
Submission received: 30 June 2021 / Revised: 30 July 2021 / Accepted: 2 August 2021 / Published: 11 August 2021
(This article belongs to the Section Ocean Engineering)

Abstract

:
Recently, unmanned surface vehicles (USV) are being actively developed. For USVs to be put to practical use, it is necessary to secure safety by preventing collisions with general ships. To this end, USVs must avoid opposing vessels based on international regulations for preventing collisions at sea (COLREGs, 1972). This paper proposes an algorithm for USVs to avoid collisions with opposing vessels based on COLREG rules. The proposed algorithm predicts dangerous situations based on distance to closest point of approach (DCPA) and time to closest point of approach (TCPA). It allows USVs to avoid opponent ships based on the dynamic window approach (DWA). The DWA has been improved to comply with COLREGs, and we implemented a simulation and compared the standard DWA with the COLREG-compliant DWA (CCDWA) proposed in this paper. The results confirm that the CCDWA complies with COLREGs.

1. Introduction

An unmanned surface vehicle (USV) refers to a surface vehicle that can be remotely controlled or operated autonomously. There is growing demand for USVs to replace manned vessels in hazardous areas such as conflict or disaster zones. In particular, the necessity of developing USVs for military use has been greatly emphasized, and LIG Nex1′s sea sword was developed in Korea. Spartan Scout USV, ASW USV, and UISS of the US, C-Sweep of the UK, Mk2 of France, Dolphin of Canada, and Protector of Israel were also developed [1,2].
USVs must be able to recognize their current position, control the thrusters to move autonomously to the destination, and recognize and avoid static and dynamic obstacles during movement [3,4,5,6].
For USVs to autonomously navigate safely to their destinations while avoiding static and dynamic obstacles, it is necessary to first plan a path from current location to destination. The path plan can be divided into global and local path plans. The global path plan involves the entire travel route to the destination based on the environment map given before the USV departs for the destination; the local path plan involves safe avoidance paths that do not greatly deviate from the global path plan, allowing USVs to avoid unexpected obstacles [7]. The A* algorithm and rapidly-exploring Random Tree (RRT) algorithm are representative global path planning algorithms; the virtual force field (VFF) and vector field histogram (VFH) algorithms are local path planning algorithms.
The dynamic window approach (DWA) is used for local route planning and is a destination tracking algorithm that can avoid collisions by reflecting the dynamic state of the USV. The DWA can be applied via fusion with the global path control algorithm [8,9].
DWA is an algorithm that, by deriving the optimal linear velocity and angular velocity and evaluating the direction, velocity, and distance to the obstacle based on the object function allows the USV to avoid obstacles and arrive at the destination. In addition, the DWA is a flexible local path control technique that can derive the desired result by adding an optimal condition to the object function. Through previous studies, the path line tracking performance was confirmed by adding a term for tracking the path line to the object function [9]. However, standard DWAs do not take into account the COLREG rules, so using DWAs to avoid obstacles can create dangerous situations.
In this paper, we propose a supplemented DWA that can comply with COLREG rules. This paper first describes the standard DWA and then the proposes the COLREG-compliant DWA (CCDWA). By implementing a simulation, comparison verification was performed between the standard DWA and the CCDWA.

2. Dynamic Window Approach

We applied the DWA as a local pass plan to avoid opposing vessels. The DWA creates a dynamic window representing the range of linear and angular velocities that can be output from the current ship’s velocity for the next time. Then, from the pairs of linear velocity (v) and angular velocity (ω) in the dynamic window, the algorithm selects the pair that maximizes the value of the object function.
The dynamic window can be expressed as shown in Figure 1 [8,9]. The vertical and horizontal axes represent the linear and angular velocities. Vs indicates the range of linear and angular velocity that the ship can output. Vd is the area from the minimum velocity to the maximum velocity that the ship can output until the next time; it is expressed by Equation (1). The maximum acceleration and deceleration specifications of the vessel can be reflected in the algorithm through Vd [8,9].
V d = v , ω   |   v [ v + v ˙ m i n Δ t , v + v ˙ m a x Δ t ] ,   ω [ ω +   ω ˙ m i n Δ t , ω +   ω ˙ m a x Δ t ]
Vr is the area excluding the area colliding with the obstacle in the Vd area. This area is the input range for velocity control that allows safe movement in a range in which the vehicle can accelerate and decelerate from the current velocity [8,9].
V r = V s V a V d
The objective function of the standard DWA is written as Equation (3).
G ( v , ω ) = α × h e a d i n g ( v ,   ω ) + β × d i s t a n c e ( v ,   ω ) + γ × v e l o c i t y ( v ,   ω )  
where v and ω represent the linear and angular velocity within the dynamic window.
α, β, and γ are weighting factors. By adjusting these parameters, we can tune the propensity of the USV to head to the GOAL, avoid obstacles, and run quickly.
The velocity (v, ω) term is the vessel’s speed, the heading (v, ω) term is the heading to the target after Δt time, and the distance (v, ω) term is the distance from the ship’s position to the obstacle after Δt time.
By substituting the v, ω pair in the dynamic window into the objective function, the v, ω pair with the largest objective function value is selected as the control input value [8,9]. For the velocity term, the highest value is selected within the velocity range of the dynamic window, as in Equation (1).
At positions x, y, θ, when the ship moves with v, ω, the positions x′, y′, θ′ after Δt time can be defined as Equation (4) [9].
( x y θ ) = ( x c + v ω sin ( θ + ω · Δ t ) y c v ω cos ( θ + ω · Δ t ) θ + ω · Δ t ) = ( x y θ ) + ( v ω sin θ + v ω sin ( θ + ω · Δ t ) v ω cos θ v ω cos ( θ + ω · Δ t ) ω · Δ t )
When the angular velocity is 0, the position of the ship according to the linear velocity is defined as Equation (5) [9].
( x y θ ) = ( x y θ ) + ( v · Δ t · c o s θ v · Δ t · s i n θ 0 )
At positions x′, y′, θ′, the heading (v, ω) and distance (v, ω) terms of the objective function are calculated. The distance from position x′, y′ to position xob, yob of the other ship can be expressed as Equation (6) in consideration of the safety distance r [9].
distance ( v , ω ) = ( x o b x ) 2 + ( y o b y ) 2 r
In this way, the standard DWA selects linear and angular velocities at which collision avoidance is possible based on the relationship between the position of our own vessel and the position of the other vessel.

3. COLREG-Compliant DWA (CCDWA)

For the USV to be put to practical use, it is necessary to secure safety by preventing collisions with general ships. To this end, USVs are required to evade opposing vessels under the COLREG rules and to avoid creating danger to other vessels.
Figure 2 shows the four main scenarios of COLREGs. The first scenario is a head-on situation. When two power-driven vessels meet on reciprocal or nearly reciprocal courses, each shall alter her course to starboard so that each shall pass on the port side of the other (Rule 14).
The second and third scenarios are crossing situations. When two power-driven vessels cross, the vessel that has the other on her own starboard side shall keep out of the way and shall, if the circumstances of the case admit, avoid crossing ahead of the other vessel (Rule 15). In other words, the USV shall give way in crossing when a dynamic obstacle approaches from the starboard side (second scenario). In addition, the USV shall keep course and speed in crossing when the dynamic obstacle approaches from the port side (third scenario).
The fourth scenario is an overtaking situation. Any vessel overtaking any other shall keep out of the way of the vessel being overtaken (Rule 13) [10,11].
To apply COLREGs, it is necessary to know where the other ship is located in relation to our own ship. Figure 3 provides a diagram that shows the position of the other ship relative to our own ship [12]. According to the locations of head-on, starboard, port, and stern, situations can correspond to head-on, crossing from the right, crossing from the left, and overtaking scenarios of the main COLREGs scenarios, respectively.
In the typical vessel interaction, shown in Figure 4, TCPA and DCPA for the position of our own ship (xo, yo) and the position of the other ship (xt, yt) are expressed by Equations (7) and (8), respectively [13]. If TCPA is positive, ships are approaching. In addition, if DCPA is less than the safe distance, the ships are in a dangerous situation.
T C P A = [ ( y t y o ) ( y ˙ t y ˙ o ) + ( x t x o ) ( x ˙ t x ˙ o ) ] ( y ˙ t y ˙ o ) 2 + ( x ˙ t x ˙ o ) 2
D C P A = [ ( y t y o ) + ( y ˙ t y ˙ o ) × T C P A ] 2 + [ ( x t x o ) + ( x ˙ t x ˙ o ) × T C P A ] 2
At this point, Figure 3 is referenced to determine which COLREG scenario is appropriate for the situation, and our own ship must get out of the dangerous situation by following COLREGs through obstacle avoidance control.
In a vessel avoidance situation, if TCPA is negative, ships are moving away and are out of danger, so the vessel should stop its avoidance movements and continue the existing voyage. The flow chart of USV control, including the above process, is shown in Figure 5.
In this paper, the DWA is selected for obstacle avoidance control. To apply the COLREG rules to the DWA, we propose to divide the dynamic window into two regions, left and right, as shown in Figure 6a. To change the course of our own ship to starboard, we deactivate the left area of the dynamic window. On the other hand, to change the course of our own ship to port, the right area of the dynamic window is deactivated.
In the active dynamic window region, the v and ω values that cause the objective function to reach its highest value are derived. In this way, an avoidance movement that satisfies the COLREG rules is made using the derived v and ω. For example, in ahead-on situation, our own ship must turn to the right to avoid the obstacle ship. Therefore, the CCDWA deactivates the left area of the dynamic window, as shown in Figure 6b. Our own ship turns to the right using the v and ω derived through the DWA in the active right area of dynamic window. On the other hand, when our own ship has to move to the left to avoid obstacle ship, the CCDWA deactivates the right area of the dynamic window, as shown in Figure 6c.

4. Simulation and Analysis

Simulation was performed to compare the CCDWA proposed in this paper and the standard DWA, and to verify the performance of the CCDWA. The standard DWA, the CCDWA, and the simulation environment were implemented in C# programming language. Table 1 shows the parameters of the standard DWA and the CCDWA. The weighting factors α, β, and γ were set to 0.25, 0.5, and 0.25 values. By substituting the v, ω pair in the dynamic window defined by Table 1 into the objective function including the weighting factor, the v, ω pair with the largest objective function value is selected as the control input value. The selected v and ω do not exceed the maximum velocity value. The ship’s position x′, y′ after Δt time according to the speed was calculated and updated through Equations (4) and (5). In addition, the algorithm operation pattern according to the passage of time was confirmed.
Figure 7 and Figure 8 show the progress of the simulation and represent chronological order from left to right. The position of our own ship is marked with an orange dot; the direction of the ship’s progress is marked with a red arrow. The path passed by our own ship (O) is indicated by a blue solid line. The ship obstacle (T1) is indicated by a green dot, and the trajectory is indicated by a light blue solid line. The outside of the arc represented by the virtual position of the vessel is defined by the velocity pair in the dynamic window is marked with a green dot. It can be seen that the arc is distorted by obstacles. The purple dotted line indicates the path of our own ship. CPA (closest point of approach) was displayed in the simulation to express the dangerous situation between our own ship and the obstacle ship. The CPA of our own ship and the CPA of the obstacle ship can be expressed by Equations (9) and (10), respectively.
C P A o ( T C P A ) = ( x o + x ˙ o × T C P A y o + y ˙ o × T C P A )
C P A t ( T C P A ) = ( x t + x ˙ t × T C P A y t + y ˙ t × T C P A )
The CPA of our own ship (CPAo) and the CPA of the obstacle ship (CPAt), which change in real time according to the movement of our own ship, are expressed with red and blue dots, respectively. DCPA can be checked through the distance between CPAo and CPAt shown in the figure. The simulation time is indicated in the upper right of the figures. In addition, the grid was drawn at 100m intervals on the horizontal and vertical axes of the figures.
First, the standard DWA and the CCDWA were compared through simulation in a head-on situation with a dynamic obstacle. As an initial setting, our own ship was set to move in the right direction at a speed of 10 m/s, and the obstacle ship was set to move at a speed of 10 m/s in the front direction of our own ship at a distance of 600 m from our own ship.
Figure 7a shows the simulation results when applying the standard DWA in a head-on situation with a dynamic obstacle. In the first figure, TCPA of our own ship and obstacle ship is 25 s and the DCPA is 34 m. That is, they get closer to 34 m after 25 s. In the second figure, since the obstacle ship (T1) is approaching from the slightly right side in front of our own ship (O), the velocity pair located on the left side of the dynamic window is selected as the input value by the objective function. Accordingly, our own ship turned to the left to avoid the obstacle ship. The DCPA at this moment is 102 m. In the third picture, TCPA is negative and ships are moving away and are out of danger. However, it was confirmed that the standard DWA does not follow the COLREG rules in a head-on situation.
Figure 7b shows the simulation results when applying the CCDWA in a head-on situation with a dynamic obstacle. In the first figure, TCPA of our own ship and the obstacle ship is 29.5 s and the DCPA is 34 m. At this time, TCPA is positive, and DCPA is less than the safe distance (100 m); the ships are in a dangerous situation. Referring to Figure 3, it is a head-on situation. In the second figure, the CCDWA deactivates the left area of the dynamic window. Accordingly, our own ship turned to the right to avoid the obstacle ship. In the third picture, TCPA is negative and DCPA is greater than the safe distance; ships are moving away and are out of danger. As a result, when applying the CCDWA, our own ship turned to the right to avoid the obstacle ship. It was confirmed that the CCDWA complies with the COLREG rules in a head-on situation.
Second, we compared the standard DWA with the CCDWA through simulation in the intersection situation with dynamic obstacles. As an initial setting, our own ship was set to move in the right direction at a speed of 10 m/s, and the obstacle ship was set to move in a direction to the right side of our own ship at a distance of 500 m from our own ship at a speed of 10 m/s.
Figure 8a shows the simulation results when applying the standard DWA in the intersection situation with dynamic obstacles. In the first figure, the TCPA of our own ship and the obstacle ship is 33 s and the DCPA is 70 m. Therefore, they get closer to 33 m after 70 s. In the second figure, our own ship turned in the direction of the obstacle ship. At this time, the DCPA was 18 m, which made the situation more dangerous than the situation in the first figure. In the end, it was confirmed that the ships collided in the third figure.
Figure 8b shows the simulation results when applying the CCDWA in the intersection situation with dynamic obstacles. In the first figure, the TCPA of our own ship and the obstacle ship is 32 s and the DCPA is 76 m. At this time, the TCPA is positive and the DCPA is less than the safe distance (100 m); the ships are in a dangerous situation. Referring to Figure 3, it is a situation crossing from the right. In the second figure, the CCDWA deactivates the left area of the dynamic window. Accordingly, our own ship turned to the right to avoid crossing ahead of the other. In the third picture, the TCPA is negative and the DCPA is greater than the safe distance; the ships are moving away from each other and are out of danger. As a result, it was confirmed that the CCDWA complies with the COLREG rules in the intersection situation with dynamic obstacles.

5. Conclusions

USVs need to secure safety by preventing collisions with other ships. To do this, USVs must avoid opposing vessels in collision-hazardous situations according to the COLREGs rules. In this paper, we proposed a USV algorithm to allow vessels to avoid collisions with opposing vessels based on the COLREG rules. First, we define the main collision risk situations of COLREGs and propose a method to improve DWA to comply with the COLREG rules according to collision risk situations. In addition, we implement the simulation and compare the standard DWA with the CCDWA proposed in this paper. As a result, it is confirmed that the CCDWA complies with COLREG.
In future works, the proposed assistance technique will be integrated into the operating system of USVs. Then, the validity of the proposed CCDWA will be verified by conducting a sea operation experiment on the USVs.

Author Contributions

Conceptualization, H.-G.K. and Y.-H.C.; methodology, H.-G.K.; software, S.-J.Y. and H.-G.K.; validation, H.-G.K.; formal analysis, H.-G.K.; investigation, H.-G.K. and J.-K.R.; resources, Y.-H.C. and J.-K.R.; data curation, H.-G.K. and S.-J.Y.; writing—original draft preparation, H.-G.K.; writing—review and editing, H.-G.K. and J.-H.S.; visualization, S.-J.Y. and H.-G.K.; supervision, J.-H.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research was financially supported by the Institute of Civil Military Technology Cooperation funded by the Defense Acquisition Program Administration and Ministry of Trade, Industry and Energy of Korean government for USV Development for Coast Surveillance and Rapid Response; in addition, this work was supported by the Promotion of Innovative Businesses for Regulation-Free Special Zones funded by the Ministry of SMEs and Startups (MSS, Korea).

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Choe, J.R. Development Trends of Military USV. Soc. Nav. Archit. Korea 2014, 51, 3–8. [Google Scholar]
  2. Kim, H.G.; Yun, S.J.; Choi, Y.H.; Ryu, J.K.; Suh, J.H. Improved Dynamic Window Approach with Ellipse Equations for Autonomous Navigation of Unmanned Surface Vehicle. J. Inst. Control Robot. Syst. 2020, 26, 624–629. [Google Scholar] [CrossRef]
  3. Kim, S.W. A Study on Ship Collision Avoidance and Order of Priority Designation Model. J. Korea Acad. Ind. Coop. Soc. 2013, 14, 5442–5447. [Google Scholar]
  4. Zhao, Y.; Li, W.; Shi, P. A real-time collision avoidance learning system for Unmanned Surface Vessels. Neurocomputing 2016, 182, 255–266. [Google Scholar] [CrossRef]
  5. Bukhari, A.C.; Tusseyeva, I.; Kim, Y.G. An intelligent real-time multi-vessel collision risk assessment system from VTS view point based on fuzzy inference system. Expert Syst. Appl. 2013, 40, 1220–1230. [Google Scholar] [CrossRef]
  6. Perera, L.P.; Carvalho, J.P.; Soares, C.G. Autonomous guidance and navigation based on the 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; Taylor & Francis Group: London, UK, 2009; pp. 205–216. [Google Scholar]
  7. Thrun, S.; Burgard, W.; Fox, D. Probabilistic Robotics; MIT Press: Cambridge, MA, USA, 2005; pp. 99–101. [Google Scholar]
  8. Fox, D.; Burgard, W.; Thrun, S. The dynamic window approach to collision avoidance. IEEE Robot. Autom. Mag. 1997, 4, 23–33. [Google Scholar] [CrossRef] [Green Version]
  9. Kim, H.G.; Yun, S.J.; Choi, Y.H.; Lee, J.W.; Ryu, J.K.; Won, B.J.; Suh, J.H. Improved Dynamic Window Approach with Path-Following for Unmanned Surface Vehicle. J. Embed. Syst. Appl. 2017, 12, 295–301. [Google Scholar]
  10. Ventura, M. Colregs-international regulations for preventing collisions at sea. Lloyd’s Regist. Rulefinder 2009, 1–74. Available online: http://www.mar.ist.utl.pt/mventura/Projecto-Navios-I/IMO-Conventions%20(copies)/COLREG-1972.pdf (accessed on 1 August 2021).
  11. Kuwata, Y.; Wolf, M.T.; Zarzhitsky, D.; Huntsberger, T.L. Safe maritime autonomous navigation with COLREGS, using velocity obstacles. IEEE J. Ocean. Eng. 2013, 39, 110–119. [Google Scholar] [CrossRef]
  12. Vagale, A.; Oucheikh, R.; Bye, R.T.; Osen, O.L.; Fossen, T.I. Path planning and collision avoidance for autonomous surface vehicles. J. Mar. Sci. Technol. 2021, 1–15. Available online: https://link.springer.com/article/10.1007/s00773-020-00787-6 (accessed on 1 August 2021).
  13. Debnath, A.K.; Chin, H.C. Navigational traffic conflict technique: A proactive approach to quantitative measurement of collision risks in port waters. J. Navig. 2010, 63, 137–152. Available online: https://www.semanticscholar.org/paper/Navigational-traffic-conflict-technique%3A-a-approach-Debnath-Chin/95b0ea7a72f021ce7476accb6e38474b8897879c (accessed on 1 August 2021). [CrossRef] [Green Version]
Figure 1. Dynamic window (The composition and meaning of the picture are similar to [8,9]).
Figure 1. Dynamic window (The composition and meaning of the picture are similar to [8,9]).
Jmse 09 00863 g001
Figure 2. Main COLREG scenarios (the keywords in [10] was used; the composition and meaning of the picture are similar to [11,12]).
Figure 2. Main COLREG scenarios (the keywords in [10] was used; the composition and meaning of the picture are similar to [11,12]).
Jmse 09 00863 g002
Figure 3. Diagram showing position of other ship relative to our own ship.
Figure 3. Diagram showing position of other ship relative to our own ship.
Jmse 09 00863 g003
Figure 4. Typical vessel interaction. The composition and meaning of the picture are similar.to [13].
Figure 4. Typical vessel interaction. The composition and meaning of the picture are similar.to [13].
Jmse 09 00863 g004
Figure 5. Flowchart of USV control.
Figure 5. Flowchart of USV control.
Jmse 09 00863 g005
Figure 6. Modified dynamic window.
Figure 6. Modified dynamic window.
Jmse 09 00863 g006aJmse 09 00863 g006b
Figure 7. Simulation in a head-on situation with a dynamic obstacle: an orange dot is our own ship, a green dot is the obstacle ship, a blue line is our own ship’s trajectory, a light blue is the obstacle’s trajectory.
Figure 7. Simulation in a head-on situation with a dynamic obstacle: an orange dot is our own ship, a green dot is the obstacle ship, a blue line is our own ship’s trajectory, a light blue is the obstacle’s trajectory.
Jmse 09 00863 g007
Figure 8. Simulation in crossing situation with dynamic obstacles: an orange dot is our own ship, a green dot is the obstacle ship, a blue line is our own ship’s trajectory, and a light blue is the obstacle’s trajectory.
Figure 8. Simulation in crossing situation with dynamic obstacles: an orange dot is our own ship, a green dot is the obstacle ship, a blue line is our own ship’s trajectory, and a light blue is the obstacle’s trajectory.
Jmse 09 00863 g008
Table 1. Parameters for DWA and CCDWA.
Table 1. Parameters for DWA and CCDWA.
ParameterValue
Maximum linear velocity10 m/s
Minimum linear velocity0 m/s
Maximum linear acceleration±2 m/s2
Maximum angular velocity±25 deg/s
Maximum angular acceleration±5 deg/s2
α0.25
β0.5
γ0.25
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Kim, H.-G.; Yun, S.-J.; Choi, Y.-H.; Ryu, J.-K.; Suh, J.-H. Collision Avoidance Algorithm Based on COLREGs for Unmanned Surface Vehicle. J. Mar. Sci. Eng. 2021, 9, 863. https://doi.org/10.3390/jmse9080863

AMA Style

Kim H-G, Yun S-J, Choi Y-H, Ryu J-K, Suh J-H. Collision Avoidance Algorithm Based on COLREGs for Unmanned Surface Vehicle. Journal of Marine Science and Engineering. 2021; 9(8):863. https://doi.org/10.3390/jmse9080863

Chicago/Turabian Style

Kim, Hyo-Gon, Sung-Jo Yun, Young-Ho Choi, Jae-Kwan Ryu, and Jin-Ho Suh. 2021. "Collision Avoidance Algorithm Based on COLREGs for Unmanned Surface Vehicle" Journal of Marine Science and Engineering 9, no. 8: 863. https://doi.org/10.3390/jmse9080863

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