Current Issue

Journal of the Society of Naval Architects of Korea - Vol. 61 , No. 2

[ Research Paper ]
Journal of the Society of Naval Architects of Korea - Vol. 61, No. 2, pp. 106-114
ISSN: 1225-1143 (Print) 2287-7355 (Online)
Publication date 20 Apr 2024
Received 26 Dec 2023 Revised 16 Feb 2024 Accepted 07 Mar 2024
DOI: https://doi.org/10.3744/SNAK.2024.61.2.106

Obstacle Zone by Target 기반 선박 충돌회피 알고리즘 개발에 관한 연구
이찬욱1 ; 이성욱2,
1한국해양대학교 조선해양시스템공학과
2한국해양대학교 조선해양시스템공학부

A Study on Collision Avoidance Algorithm Based on Obstacle Zone by Target
Chan-Wook Lee1 ; Sung-Wook Lee2,
1Department of Naval Architecture and Ocean System Engineering, Korea Maritime and Ocean University
2Major of Naval Architecture and Ocean System Engineering, Korea Maritime and Ocean University
Correspondence to : Sung-Wook Lee, swlee@kmou.ac.kr


This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

In the 21st century, the rapid development of automation and artificial intelligence technologies is driving innovative changes in various industrial sectors. In the transportation industry, this is evident with the commercialization of autonomous vehicles. Moreover research into autonomous navigation technologies is actively underway in the aviation and maritime sectors. Consequently, for the practical implementation of autonomous ships, an effective collision avoidance algorithm has become a crucial element. Therefore, this study proposes a collision avoidance algorithm based on the Obstacle Zone by Target(OZT), which visually represents areas with a high likelihood of collisions with other ships or obstacles. The A-star algorithm was utilized to represent obstacles on a grid and assess collision risks. Subsequently, a collision avoidance algorithm was developed that performs fuzzy control based on calculated waypoints, allowing the vessel to return to its original course after avoiding the collision. Finally, the validity of the proposed algorithm was verified through collision avoidance simulations in various encounter scenarios.


Keywords: Autonomous ship, Collision avoidance, Obstacle Zone by Target(OZT), A-star algorithm, Collision risk, Fuzzy control
키워드: 자율운항선박, 충돌 회피, 타선 장애물 영역, A* 알고리즘, 충돌 위험, 퍼지 제어

1. 서 론

최근 자동화 및 인공지능 기술의 급속한 발전은 다양한 산업 분야에서의 혁신적 변화를 주도하고 있다. 특히, 교통 및 운송 산업에서는 자율 주행자동차의 상용화를 시작으로, 항공 및 해상 분야에서도 Object detection, 충돌회피, 경로추종 등과 같은 자율운항기술의 연구가 활발하게 진행되고 있다. 2017년 국제해사기구(IMO: International Maritime Organization) 해사안전위원회(MSC: Maritime Safety Committee) 98차 회의에서 처음으로 자율운항선박을 MASS(Maritime Autonomous Surface Ship)라 명명하였으며 IMO에서는 자율운항선박을 “수면 상에서 사람의 개입 없이 또는 최소한의 개입으로 운항하는 선박”으로 정의하였다(IMO, 2017). 또한 MASS의 등급은 단계적 법제화를 위하여 자율수준(DoA: Degree of Autonomy)에 따라 4단계로 분류하였으며 1단계는 부분적 자율운항지원 자동화 단계 및 선원의 의사결정을 지원하는 기능을 가진 선박이며 2단계는 원격으로 제어되나 선원이 승선하여 시스템 고장 시 선원이 직접 대응하는 선박을 의미한다. 3단계는 선원이 승선하지 않고 원격으로 제어하며 시스템 고장을 대비하여 Stand-by 시스템을 구축한 선박을 의미하며 마지막으로 4단계는 완전한 무인 자율운항 선박을 의미한다.

해양 운송은 전 세계 무역의 핵심 요소로서 그 중요성이 계속해서 높아지고 있음에 따라 자율운항선박은 여러 도전과제를 안고 있다. 특히 다른 선박과의 충돌을 회피하는 것은 자율운항선박의 핵심 문제 중 하나로 간주된다. 선박 충돌 사고로 인한 피해는 경제적 손실뿐만 아니라 대규모의 인명 피해를 초래할 수 있으며, 충돌로 인해 선박에서 유출되는 연료나 화물은 해양 환경을 오염시키는 문제를 초래할 수 있다. 중앙해양안전심판원 (Korean Maritime Safety Tribunal, 2017) 조사 결과에 따르면 국내 해양사고의 96.5%는 항해자의 운항 과실에 의해 발생하며, 이들 중 97%가 직무별 과실 및 안전 수칙 미준수와 같은 인적 과실에 기인하는 것으로 보고되었다 (Kim and Kwak, 2011). 이에 따라 자율운항선박의 도입을 위해 충돌회피 알고리즘은 필수적이다.

충돌회피에 관한 연구는 1970년대 이후부터 다양한 연구자들의 주목을 받아 연구가 활발하게 진행되어왔다. Fujii and Tanaka (1971)는 선박 항해의 안전성을 평가하고 개선하기 위한 중요한 개념으로 선박안전영역(ship domain)을 제시하였다. 선박안전영역은 타선이 회피해야 하는 선박 주변에 그려지는 가상의 2차원 영역으로 이 영역 내에 다른 선박이 들어오게 되면 충돌 위험이 높아진다는 개념이다. 이 영역의 도입은 선박 간의 안전한 거리와 서로의 움직임을 더 명확하게 이해하고 특정 상황에서 충돌을 예방하기 위한 적절한 회피 행동을 결정하는데 중요한 기준을 제공하였다. 이와 관련하여 Kim et al. (2011)은 DCPA와 TCPA를 고려하여 타원모델 기반 국제 해상충돌 예방규칙(COLREGs)를 고려한 충돌 회피 알고리즘을 제안하였으며, Pietrzykowski and Wielgosz (2021)은 제한된 구역에서 선박의 크기와 속도가 선박안전영역에 미치는 영향을 분석함으로써 두 관계 사이의 수학적 수식을 도출하였다. Iwasaki and Hara (1986), Son et al. (2009)는 AIS 데이터를 기반으로 충돌위험도(collision risk)를 계산하였다. 이들은 퍼지이론(fuzzy logic)을 이용하여 DCPA(Distance of the Closest Point of Approach)와 TCPA(Time to the Closest Point of Approach)의 조합으로 충돌위험도를 산출하였다.

Fiorini and Shiller (1998)은 운항체와 이동장애물의 상대속도 및 침로 기반의 유도기법을 통해 속도좌표계의 장애물로 변환하여 운항체의 속도벡터를 계산하는 기법인 속도 장애물(VO: Velocity Obstacle)을 제안하였다. Kuwata et al. (2014)은 레이더, 카메라, 라이다와 같은 기기의 센서를 사용하여 탐지하고 추적할 때 정보의 불확실성을 고려하여 불확실 속도 장애물(WVO: velocity obstacle with the worst case uncertainty)영역을 정의하였다. 또한 Kim et al. (2022)은 예측하고자 하는 상태변수의 비선형성을 고려하여 비선형 칼만 필터(UKF: Unscented Kalman Filter)를 사용하여 상대 선박의 상태변수 추정 및 예측 확률을 산출하고 이를 통해 충돌 회피 시뮬레이션에서 최적의 경로를 계획함으로써 알고리즘의 유효성을 검토하였다. 하지만 VO방법의 경우 복귀시점을 결정하는데 있어 DCPA 또는 TCPA 임계값에 의해 결정되기 때문에 다수의 선박과 충돌회피 상황이 벌어질 경우 복귀시점을 결정하기가 힘들다는 단점이 존재한다. 또한 Kim et al. (2019)는 조종운동 방정식을 기반으로 강화학습 환경을 구축하여 충돌 회피 문제를 순차적 행동 문제로 다루기 위한 MDP(Markov decision process)를 정의한 후 심층결정론적정책경사법을 이용하여, 선박의 충돌 회피 경로를 결정하도록 하였으며, Son and Kim (2021)은 국제해상충돌예방규칙을 고려한 퍼지제어 기반의 USV(Unmanned Surface Vehicle)의 자율운항 방법을 제시하였다.

본 연구에서는 다른 선박과 같은 장애물과 충돌 가능성이 높은 지역을 시각적으로 표현하는 방법인 OZT(Obstacle Zone by Target)기법을 사용한 충돌 회피 알고리즘을 소개한다. OZT는 일본 Imazu et al. (2002)에 의해 처음 소개되었으며 Fukuto and Imazu (2013)은 AIS 데이터를 사용하여 OZT 계산을 통해 충돌위험구역을 설정하고 충돌 알림을 발생시키는 알고리즘을 제안한 바 있다. 또한 Sawada et al. (2020)은 LSTM(Long Short Term Memory)셀을 사용하여 네트워크를 설계하고 OZT를 사용해 연속 행동 공간에서 심층강화학습을 수행하여 충돌 회피 알고리즘을 제안하였다. 본 연구에서는 기존의 인공지능을 활용하여 OZT 기반 충돌 회피 연구를 수행하는 것과는 달리, 인공지능 기술을 사용하지 않고 OZT 기반 방법론을 사용하여 충돌 회피 알고리즘의 유용성과 효율성을 검증하는데 초점을 맞추어 연구를 수행하였다. 본 연구에서는 OZT를 그리드 상에서의 장애물로 표현하고, 장애물을 회피해서 도착하는 경로계산을 수행하기 위하여 A-star 알고리즘을 사용하였다. 이 후, 경로를 추종하기 위해 사용하는 퍼지 제어(fuzzy control)에 대해서 소개한다. 그리고 다양한 조우상황을 통한 충돌 회피 시뮬레이션을 통해 제안한 알고리즘의 유효성을 검증하였다.


2. 조종운동 방정식 및 수학모델
2.1 조종운동 방정식

평수 중 항해 시에 선박의 조종운동은 일반적으로 2차원 평면에서의 종운동(Surge), 횡운동(Sway), 선회운동(Yaw)에 대한 연성운동으로 표현된다. 선박 운동은 Fig. 1과 같은 좌표계를 사용하여 나타내며, O - x0y0는 공간고정 좌표계, G - xy는 선체고정 좌표계를 나타낸다. 무차원화된 조종운동 방정식은 식 (1)과 같이 나타내었으며, 무차원화는 식 (2)를 따라서 수행한다.

m'+mx'LUU˙Ucosβ-β˙sinβ+m'+my'r'sinβ=X'-m'+my'LUU˙Usinβ+β˙cosβ+m'+mx'r'cosβ=Y'       Izz'+izz'LU2U˙Lr'+ULr'=N'(1) 
m',mx',my'=m,mx,my/12ρL2d    Izz',izz'=Izz,izz/12ρL4dX',Y'=X,Y/12ρLdU2N'=N/12ρL2dU2r'=rL/U(2) 

Fig. 1 
Coordinate system

위 수식에서 m', m'x, m'y는 선체의 중량 및 x, y축 방향의 부가질량을 의미하며 Izz',izz'는 선체의 관성모멘트 및 부가 관성모멘트, U는 선속, β는 편각, r'는 선회각속도, L은 선체의 길이(수선간장), d는 흘수를 나타낸다. 기호 홀따옴표(’)는 무차원화된 값을 의미한다.

2.2 외력의 수학모델

식 (1) 우변에 있는 외력 X', Y', N'의 표현에 대해서는 다양한 방법이 있지만 식 (3)과 같이 MMG(manoeuvring mathematical model) 수학모델을 사용하여 표현하였으며 (Kijima and Nakiri, 2003), 아래첨자 H, P, R은 각각 주선체, 프로펠러, 타에 관련된 항을 의미한다. 프로펠러에 의해 발생하는 외력 중, 횡력(YP')과 모멘트(NP')는 다른 유체력에 비해 매우 작기 때문에 생략하였다.

X'=XH'+XP'+XR'Y'=YH'+YR'N'=NH'+NR'(3) 

주선체에 작용하는 유체력 XH',YH',NH'식 (4)와 같으며 Xβr',Yβ',Nβ',Yr', ,Nβrr'은 유체력 미계수로 Mori (1995)가 제안한 선미선형을 나타내는 파라미터를 사용하여 표현된다 (Kijima and Nakiri, 2003).

XH'=Xβr'r'sinβ+Xuu'cos2βYH'=Yβ'β+Yr'r'+Yββ'ββ+Yrr'r'r'+Yββr'β+Yβrr'r'βr'NH'=Nβ'β+Nr'r'+Nββ'ββ+Nrr'r'r'+Nββr'β+Nβrr'r'βr'(4) 

프로펠러에 의해 발생하는 유체력 XP'식 (5)와 같이 나타낼 수 있다.

XP'=1-tPn2DP4KTJP/12LdU2(5) 

여기서 tP는 추력감소계수, n은 프로펠러의 회전수, DP는 프로펠러의 직경, JP는 전진계수, KT는 추력계수를 나타낸다.조타에 기인하는 유체력은 식 (6)과 같이 나타낼 수 있다.

XR'=-1-tRFN'sinδYR'=-1+aHFN'cosδNR'=-xR'+aHxH'FN'cosδ(6) 

여기서 tR은 타에 의한 저항 증가 보정 계수로 식 (7)과 같이 나타낼 수 있으며, CB는 방형계수, FN'은 단독상태에서 타의 압력, xR'은 무게중심에서 타축까지의 거리, aH는 선체와 타의 상호 간섭 계수, xH'는 무게중심에서 aH의 작용점까지의 거리를 나타낸다.

1-tR=0.28CB+0.55(7) 

3. 충돌회피 알고리즘
3.1 Obstacle Zone by Target(OZT)

OZT는 “Obstacle Zone by Target”의 약어로 Imazu et al. (2002)에 의해 처음 소개되었으며 다른 선박과 같은 장애물과 충돌 가능성이 높은 지역을 시각적으로 표현하는 방법이다. 일반적으로 OZT는 충돌 경로 CO를 사용하여 계산된 캡슐 형태의 면적으로 정의되지만 본 논문에서는 그리드 기반 시스템에서의 장애물 식별과 매핑을 단순화하기 위하여 Fig. 2와 같이 직사각형 모양의 영역으로 정의하였다.


Fig. 2 
Computation of OZT

미래에 대상 선박과 충돌할 수 있는 자선의 충돌 경로는 자선의 속도가 타선의 속도보다 빠를 경우에는 식 (8)과 같이 계산되며 자선의 속도가 타선의 속도보다 느릴 경우에는 식 (9)와 같이 계산된다.

CO=Az±α-arcsinVTVOsinAz±α-CT(8) 
CO=Az±α-π+arcsinVTVOsinAz±α-CT(9) 

여기서 α식 (10)과 같으며 rs는 안전 통과거리, d는 자선과 타선 사이의 거리, VO는 자선의 속도, VT는 타선의 속도, Az는 자선에서 바라볼 때 타선의 방위각을 의미하며 CT는 타선의 항로를 의미한다.

α=arcsinrs/d(10) 

각 충돌경로에 대한 TCPA를 계산하기 위한 상대 운동의 계산은 식 (11) ~ (12)와 같이 나타낼 수 있다.

ΔX=VTsinCT-VOsinCOΔY=VTcosCT-VOcosCO(11) 
VR=ΔX2+ΔY2CR=arctanΔXΔY(12) 

식 (11)에서의 ΔX와 ΔY는 상대 위치를 나타내며 식 (12)에서의 VRCR은 각각 충돌경로에 대한 타선의 상대 속도와 항로를 의미한다. 이 후 충돌경로에 대한 DCPA는 식 (13)과 같이 나타낼 수 있으며 TCPA는 식 (14)와 같이 나타낼 수 있다. 여기서 DCPA는 자신의 선박과 다른 선박이나 장애물이 현재 항로를 유지할 경우 가장 가까워 질 수 있는 최소 접근 거리를 의미하며, TCPA는 현재 속도와 방향을 유지할 경우 최소 접근 거리에 도달하기까지 걸리는 시간을 의미한다.

DCPA=dsinCR-Az+π(13) 
TCPA=dcosCR-Az+πVR(14) 

충돌경로를 바탕으로 TCPA를 계산하게 되면 VO > VT인 경우 TCPA 값은 2개가 되며 VT > VO인 경우 TCPA의 값은 4개를 가지게 된다. 이후 TCPA의 값을 시간 순으로 정렬하게 되면 식 (15)와 같이 나타낼 수 있다.

TCPA1TCPA2<TCPA3<TCPA4(15) 

이 후 각 TCPA까지 타선의 항해 거리를 식 (16)을 통해 계산하고 이 거리에 따라 타선의 거리를 연장함으로써 Fig. 3과 같이 OZT 영역이 결정된다.

f=VT×TCPAf1f2<f3<f4(16) 

Fig. 3 
OZT of the target ship

여기서 f1~f4은 각 OZT까지의 거리를 의미한다.

3.2 충돌 위험 판단

본 논문에서는 타선으로부터의 충돌 위험을 OZT로 표현하고, 이를 장애물을 회피해서 도착하는 경로계산을 수행하기 위하여 A-star 알고리즘을 사용하였다. 경로 탐색 알고리즘을 선택하기 위해서는 경로의 최적성이 중요한 요소로 작용하지만 알고리즘이 경로를 계산하는데 걸리는 시간 또한 고려해야 한다. 특히 선박의 충돌 회피 기동을 위한 경로 생성에서는 빠른 시간 내에 효과적인 경로를 찾는 것이 필수적이다. 이러한 상황에서, A-star 알고리즘은 효율적인 시간 내에 최적의 경로를 찾을 수 있기 때문에 본 논문에서는 A-star 알고리즘을 사용하였다. A-star 알고리즘은 주어진 출발 노드(node)에서부터 목표 노드(node)까지 가는 최단 경로를 찾아내는 그래프 탐색 알고리즘의 하나로써 주어진 지도(map)에서 출발 지점부터 목표 지점까지의 최적의 경로를 찾는 기술인 전역 경로 계획(global path planning) 중 Path/Graph Search algorithm에 사용되기도 한다. 이 알고리즘은 흔히 알려져 있는 경로 계획 알고리즘인 Dijkstra algorithm과 유사하나 차이점은 목표 노드까지의 휴리스틱(heuristic) 거리 측정값인 h(n)을 사용한다는 점이다.

선박의 조우상황은 국제해상충돌예방규칙(COLREGs)에서 크게 마주침 조우상황(head-on), 교차 조우상황(crossing), 추월 조우상황(overtaking)의 세 가지 상황으로 구분되어있다. 마주침 조우상황에서 각 선박은 서로 좌현(port)을 마주보고 회피할 수 있도록 각 선박은 우현(starboard) 측으로 경로를 변경해야 하며 교차 조우상황에서는 타선을 우현에 위치시킨 선박이 타선의 진행 경로를 피해서 운항해야 하는 피항선이 되며 좌현에 타선을 위치시킨 선박은 유지선이 된다. 추월 상황에서는 좌현 또는 우현에서의 추월 방향을 따로 규정하지는 않고 있으며, 추월하고자 하는 선박은 추월당하는 선박의 진행 경로를 피해서 운항해야 한다. 이처럼 일반적으로 충돌 회피 상황이 벌어질 경우 우현 측으로 진행 경로를 변경하여 회피를 해야 하기 때문에 본 연구에서는 A-star 알고리즘의 휴리스틱(heuristic)함수에서 왼쪽으로 이동할 시 가중치를 부여하였다.

hn=w×x1-x2+y1-y2if x1-x2<0,w=100else,w=1(17) 

여기서 w는 왼쪽으로 이동할 시 가중치를 의미하며 x1, x2, y1, y2는 각각 현재 셀과 다음 셀에서의 x, y좌표를 의미한다. 충돌 위험은 선박의 위치와 운동 상태를 반영하여 OZT와 A-star 알고리즘을 이용한 경로 생성 과정을 매 2초마다 갱신하도록 설정하였으며 이는 안전 통과 거리를 사용하여 OZT를 계산하기 때문에 매 1초마다 OZT를 갱신할 경우 변화가 크게 발생하지 않았으며, 이는 충돌 회피에 크게 영향을 끼치지 않는 것으로 판단하였기 때문에 2초로 설정하였다. 목적지까지의 경로를 탐색한 후 Fig. 4와 같이 기존의 출발 노드에서 목표 노드까지의 경로에서 주변에 OZT로 인해 장애물 영역이 생성이 된다면 충돌 위험이 있다고 판단하여 충돌 회피 기동을 수행하게 된다. 하지만 Fig. 5와 같이 장애물 영역에 대한 충돌회피가 끝나거나 더 이상 목표 노드까지의 경로에서 주변에 OZT로 인한 장애물 영역이 생성되지 않았다면 충돌 위험이 없다고 판단한다.


Fig. 4 
Example of collision risk detected


Fig. 5 
Example of collision risk not detected

3.3 충돌 회피 경로

OZT를 사용하여 충돌 위험을 판단한 후 만약 충돌 위험이 있다고 판단되면 충돌 회피 경로를 계산함으로써 충돌 회피가 수행된다. 자동 경로 추종 제어기는 목표 경로를 설정하였을 때 목표 경로를 따라 운항하도록 타를 제어한다. 자동 경로 추종 제어기는 Furukawa et al. (2004)의 퍼지를 이용한 방법을 사용하였다. 첫 번째 단계의 퍼지 추론에서는 자선에서 목표 항로까지의 거리와 목표 항로와 이루는 각도로부터 제어 목적을 달성하기 위해 최적의 각속도를 추론하고, 그 값과 현재 선박의 각속도와의 편차를 두 번째 단계의 퍼지 추론에 입력하여 그 편차를 0으로 만들기 위한 타각을 결정하게 된다.

case1은 자선이 90°로 움직이고 각각의 타선이 느린 속도를 가지고 270°, 225°로 움직일 때의 OZT의 형성은 Fig. 6과 같으며 자선은 270°로 움직이고 있는 선박에 대해서만 충돌 위험이 발생하는 것을 알 수 있다. 이에 따라서 경로점의 계산은 270°로 움직이고 있는 선박에 의해 형성된 OZT 내에 포함된 셀들 중 오른쪽 최외곽 셀을 기준으로 삼아, 해당 방향으로 안전거리를 추가하여 계산된다.


Fig. 6 
Calculate waypoint for case 1

case2에서는 case1과 비슷한 상황이지만 225°로 움직이는 선박이 빠른 속도를 가지고 내려올 때 OZT의 형성은 Fig. 7과 같으며 이때 자선은 225°로 움직이고 있는 선박에 대해서만 충돌 위험이 발생하고 있는 것을 알 수 있다. 이에 따라 경로점의 계산은 225°로 움직이고 있는 선박에 의해 형성된 OZT내에 포함된 셀들 중 오른쪽 최외곽 셀을 기준으로 삼아 case1과 마찬가지로 해당 방향으로의 안전거리를 추가하여 계산이 수행된다.


Fig. 7 
Calculate waypoint for case 2

마지막으로 case3에서는 자선이 270°로 움직이고 있는 선박에 대해서 충돌 회피를 진행할 때 225°로 움직이는 선박과 동시에 충돌 위험이 발생하는 것을 Fig. 8을 통해 확인할 수 있다. 이에 따라 경로점의 계산은 270°로 움직이는 선박에 의해 형성된 OZT와 225°로 움직이는 선박에 의해 형성된 OZT의 경로점을 독립적으로 계산한 후 각 자선의 위치로부터 수평거리가 더욱 긴 경로점을 선택하여 수행된다. 이러한 방법은 두 선박에 대한 충돌 위험을 동시에 고려함으로써 보다 효과적인 충돌 회피를 수행할 수 있도록 결정하였다.


Fig. 8 
Calculate waypoint for case3


4. 충돌회피 시뮬레이션
4.1 시뮬레이션 환경

제안하는 알고리즘의 성능 검증을 위한 시뮬레이션은 Python에서 지원하는 Pygame 라이브러리를 사용하여 시뮬레이션을 수행하였다. 자선이 자율운항선박인 상황에 대해서만 시뮬레이션을 진행하였으며, 본 논문에서는 다양한 변수와 조건을 실험해보는 것이 중요하다고 판단하여 다양한 시나리오를 쉽게 설정할 수 있는 SR-108의 주요제원을 Table 1과 같이 축척하여 사용하였으며, 유체력 미계수는 Kijima and Nakiri (2003)의 추정식을 통해 산출된 Table 2의 값을 사용하였다.

Table 1 
Principal dimensions of SR-108
Item Value
Length[m] 3.0
Breadth[m] 0.435
Draft[m] 0.1629
Block Coefficient 0.5717

Table 2 
Hydrodynamic derivative values
Item Value Item Value
Xuu' -0.0154 Yββr' -0.6782
Xβr' -0.2313 Nβ' 0.0954
Xrr' -0.0190 Nr' -0.0423
Yβ' 0.1468 Nββ' 0.0382
Yr' -0.0863 Nrr' -0.0194
Yββ' 0.7789 Nβrr' 0.0307
Yrr' -0.1348 Nββr' -0.4688
Yβrr' 1.099

4.2 시뮬레이션 결과

본 논문에서 제안한 충돌 회피 알고리즘의 타당성을 검증하기 위하여 Python을 이용하여 시뮬레이션을 수행하였다. 자선 및 타선들은 미리 정의된 침로를 따라 운항하도록 설정되었으며, 시뮬레이션은 2척 선박에 대한 마주침 조우상황(head-on), 교차 조우상황(crossing), 추월 조우상황(overtaking)의 충돌 상황에 대해서 수행하였으며 3척 선박에 대한 조우상황은 타선의 heading angle이 각각 180°와 225°일 때의 조우상황에서 시뮬레이션을 수행하였다.

Fig. 9-14은 각각 마주침 조우상황(head-on), 교차 조우상황(crossing), 추월 조우상황(overtaking) 상황에서 시간에 따른 자선(ship1)과 타선(ship2)에 대한 항적과 0초에서의 OZT 형상을 나타내고 있으며 파란색 실선은 자선의 항적, 빨간색 실선은 타선에 대한 항적을 나타내고 있다. Fig. 9에서는 자선은 시작과 동시에 타선에 대한 우현회피 동작을 수행하는 모습을 확인할 수 있으며 약 40초에서 타선을 회피한 후 다시 목표 지점을 향하게 된다. 교차 조우상황(crossing)인 Fig. 11에서는 앞선 상황과 마찬가지로 시작과 동시에 타선에 대한 우현회피 동작을 수행하는 모습을 확인할 수 있으며 약 30초에서부터 타선을 회피한 후 복귀를 수행하는 것을 확인할 수 있다. 추월 조우상황(overtaking)인 Fig. 13에서는 자선과 타선이 동일한 수평선상에 위치한 약 40초에서 TCPA값이 매우 작게 형성되어 장애물이 형성이 되지 않아 복귀 동작을 수행하는 모습을 보이지만 이후 다시 회피를 계속해서 수행하는 모습을 확인할 수 있으며 약 60초에서 타선을 회피한 후 복귀를 수행하는 것을 확인할 수 있다.


Fig. 9 
Trajectories of head-on simulation


Fig. 10 
OZT of head-on simulation


Fig. 11 
Trajectories of crossing simulation


Fig. 12 
OZT of crossing simulation


Fig. 13 
Trajectories of overtaking simulation


Fig. 14 
OZT of overtaking simulation

Figs. 15-16은 3척 선박에 대한 조우상황과 OZT 형상을 나타내고 있으며 파란색 실선은 자선(ship1)에 대한 항적, 빨간색 실선과 노란색 실선은 타선에 대한 항적을 나타내고 있다. 시작과 동시에 Ship2와 Ship3에 대한 회피동작을 모두 수행해야하기 때문에 Ship3에 대한 장애물로부터 계산된 경로점을 따라 충돌 회피를 수행함으로써 두 선박에 대한 충돌 회피를 수행하는 것을 확인할 수 있다. 이후 약 40초에서 타선을 회피한 후 복귀를 수행하는 것을 확인할 수 있다.


Fig. 15 
Trajectories of multiple ship collision avoidance


Fig. 16 
OZT of multiple ship collision avoidance simulation


5. 결론 및 향후계획

본 연구에서는 Obstacle Zone by Target(OZT) 기반 선박 충돌 회피 알고리즘을 제안하였다. 각 타선과의 미래에 충돌할 수 있는 영역을 각 선박의 위치, 속도, Heading angle, 각 선박과 이루는 방위각을 사용하여 충돌 경로를 계산하고 이후 상대운동의 계산을 통해 TCPA를 도출하였다. 또한 도출한 TCPA를 바탕으로 안전 통과 거리를 적용하여 그리드에서의 장애물을 생성하였다. 경로 탐색 알고리즘인 A-star 알고리즘을 사용하여 목표 지점까지의 최적 경로를 생성하여 목표 지점까지의 경로에 OZT가 형성이 된다면 생성된 OZT를 바탕으로 경로점 계산을 수행하게 된다. 최종적으로 계산된 경로점을 바탕으로 퍼지제어를 사용함으로써 충돌 회피가 이루어지게 되고 더이상 장애물이 형성되지 않는다면 복귀 동작을 수행하게 된다. 끝으로 2척 선박과 3척 선박에 대한 시뮬레이션을 수행함으로써 제안된 충돌 회피 알고리즘의 유효성을 검증하였다.

본 연구에서는 OZT의 유용성을 검증하기 위해 자선에 대해서만 자율운항선박임을 가정하고 연구를 수행하였기 때문에 타선의 회피 동작에 대해서는 고려하지 않는다. 향후에는 모든 선박에 대해서 알고리즘을 적용한 후 검증하는 작업이 진행되어야 할 것 이라고 판단된다. 또한 실제 AIS 데이터를 이용하여 OZT를 형성하고 다양한 조우상황에서의 시뮬레이션을 수행하는 연구가 진행되어야 할 것으로 사료된다.


References
1. Fiorini, P. and Shiller, Z., 1998. Motion planning in dynamic environments using velocity obstacles. The International Journal of Robotics Research, 17(7), pp.760-772.
2. Fujii, Y. and Tanaka, K., 1971. Traffic Capacity. The Journal of Navigation, 24(4), pp.543-552.
3. Fukuto, J. and Imazu, H., 2013. New collision alarm algorithm using obstacle zone by target(OZT). IFAC Proceedings Volumes, 46, pp.91-96.
4. Furukawa, Y., Kijima, K. and Ibaragi, H., 2004. Development of automatic course modification system using fuzzy inference. International Federation of Automatic Control Proceedings, 37(10), pp.77-82.
5. Imazu, H., Fukuto, J. and Numano, M., 2002. Obstacle zone by target and its expression. The Journal of Japan Institute on Navigation, 107, pp.191-197.
6. Iwasaki, H. and Hara, K., 1986. A fuzzy reasoning model to decide the collision avoidance action. The Journal Japan Institute of Navigation, 75, pp.69-77.
7. Kijima, K. and Nakiri, Y., 2003. On the practical prediction method for ship manoeuvring characteristics. Transaction of the West-Japan Society of Naval Architects, 105, pp.21-31.
8. Kim, D.G., Jeong, J.S. and Park, G.K., 2011. A study on ship collision avoidance algorithm by COLREG. Journal of Korean Institute of Intelligent Systems, 21(3), pp.290-295.
9. Kim, D.H., Lee, S.W., Nam, J.H. and Furukawa, Y., 2019. Determination of ship collision avoidance path using deep deterministic policy gradient algorithm. The Society of Naval Architects of Korea, 56(1), pp.58-65.
10. Kim, D.J. and Kwak, S.Y., 2011. Evaluation of human factors in ship accidents in the domestic sea. Journal of the Ergonomics Society of Korea, 30(1), pp.87-98.
11. Kim, J.H., Lee, S.W. and Jin, E.S., 2022. Collision avoidance based on predictive probability using Kalman filter. International Journal of Naval Architecture and Ocean Engineering, 14, 100438.
12. Korean Maritime Safety Tribunal, 2017, Current situation of causes of maritime accidents by type of accident [online] Available at: https://www.kmst.go.kr/kmst/statistics/annual-Report/selectAnnualReportList.do [Accessed 31 May 2018].
13. Kuwata, Y., Wolf, M.T., Zarzhitsky, D. and Huntsberger, T.L., 2014. Safe maritime autonomous navigation with COLREGS, using velocity obstacles. IEEE Journal of Ocean Engineering, 39, pp.110–119.
14. Mori, S., 1995. Note of ship form design (24). FUNE-NO-KAGAKU, 48, pp.40-49.
15. Pietrzykowski, Z. and Wielgosz, M., 2021. Effective ship domain-Impact of ship size and speed. Ocean Engineering, 219, 108423.
16. Sawada, R., Stat, K. and Majima, T., 2020. Automatic ship collision avoidance using deep reinforcement learning with LSTM in continuous action spaces. Journal of Marine Science and Technology, 26(2), pp.509-524.
17. Son, D.G. and Kim. D.H., 2021. Autonomous navigation of unmanned surface vehicle based on fuzzy control considering COLREG. Journal of Korean Institute of Intelligent Systems, 31(1), pp.11-20.
18. Son, N.S., Kim, S.Y. and Gong, I.Y., 2009. Study on the estimation of collision risk of ship in ship handling simulator using fuzzy algorithm and environmental stress model. Journal of Navigation and Port Research, 33(1), pp.43-50.

이 찬 욱

이 성 욱