준실시간 해상교통 정보를 반영한 자율운항 알고리즘 검증용 시뮬레이션 시스템 개발
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 this study, a simulation system was developed to verify autonomous navigation algorithm in complex maritime traffic areas. In particular, real-world maritime traffic scenario was applied by considering near real-time maritime traffic information provided by Korean e-Navigation service. For this, a navigation simulation system of Unmanned Surface Vehicle (USV) was integrated with an e-Navigation equipment, called Electronic Chart System (ECS). To verify autonomous navigation algorithm in the simulation system, initial conditions including initial position of an own ship and a set of paths for the ship to follow are assigned by an operator. Then, considering real-world maritime traffic information obtained from the service, the simulation is implemented in which the ship repeatedly travels by avoiding surrounding obstacles (e.g., approaching ships). In this paper, the developed simulation system and its application on verification of the autonomous navigation algorithm in complex maritime traffic areas are introduced.
Keywords:
e-Navigation, Autonomous navigation simulation, Intelligent maritime traffic information, Coastal navigation키워드:
이네비게이션, 자율운항 시뮬레이션, 지능형 해상교통정보, 연안항해1. 서 론
최근 인적과실에 의한 사고예방과 선박 운항의 효율을 향상시키기 위해 기존 유인 선박의 자율화 및 무인화에 관심이 높아지고 있다. 이에 따라, 자율운항을 위한 주변상황인식, 유도 및 제어 등 관련 요소기술이 활발히 개발되고 있으며, 실제 선박으로의 적용을 위해 알고리즘에 대한 검증도 동시에 이루어지고 있다. 일반적으로, 안전 및 비용 측면을 고려하여 실제 물리계에서의 알고리즘 검증을 진행하기 전에, 시뮬레이션을 통해 경로 추종 제어나 충돌회피와 같은 자율운항 알고리즘의 성능을 확인한다 (Moreira et al., 2007; Kuwata et al., 2014).
기존 시뮬레이션의 경우, 실제 해상교통정보를 반영하지 않고 시뮬레이터 운용자가 설정한 단순한 시나리오 기반으로 수행되는 경우가 많다. 그러나 충분한 검증을 위해서는 실제 해상교통과 유사한 시나리오를 만들어 장시간 시뮬레이션을 통해 알고리즘의 안정성과 강건성을 확보하는 것이 중요하다. 특히, 연안 해역의 경우 크기가 다양한 다수의 선박들이 서로 상호작용을 하며 복잡한 해상교통환경을 이루는 경우가 많기 때문에 이러한 실제와 유사한 환경에서 시뮬레이션을 통한 충분한 사전 검증이 필요하다. 이와 관련하여, 선박자동식별시스템(AIS; Automatic Identification System)의 보급 이후 실제 해상교통정보를 이용한 충돌회피 관련 연구 (Miyake et al., 2015; Son and Kim, 2010), 실시간 해상교통정보를 활용하기 위한 연구 (Hori et al., 2006)들이 진행된 바가 있다. 또한, AIS로부터 얻은 실제 해상교통정보를 ship handling simulator에 적용하여 교육 훈련에 활용하기 위한 연구도 진행되었다 (Last et al., 2017). 다만 AIS 정보를 활용할 경우, AIS 탑재 선박의 종류가 한정되어 있으며 특히 연안 해역에서 주로 운항하는 소형 어선의 경우 그 정보를 취득하기가 어렵다. 그러나 최근에는 해양수산부에서 e-Navigation 서비스를 시작(’21)함에 따라 AIS, 선박패스(V-Pass), 해상무선통신망(LTE-M; Long Term Evolution- Maritime) 기반의 정보를 활용할 수 있게 되어 AIS 정보를 포함하는 더 다양한 종류의 선박의 정보를 활용할 수 있게 되었다 (Ministry of Oceans and Fisheries, n.d., 2021). 이를 이용하여 실제 무인선 운항 시 주변 장애물 인식을 위해 ECS(Electronic Chart System)를 활용하여 e-Navigation의 주변선박 정보 서비스를 연계한 연구도 진행되었다 (Han et al., 2023).
본 연구에서는 이러한 점에 착안하여, 연안 해역에서와 같이 해상교통환경이 복잡한 곳에서 자율운항 알고리즘 검증을 실제 해상교통을 반영하여 시뮬레이션을 할 수 있도록 e-Navigation 서비스를 활용하는 시스템을 개발하였다. 본 시스템에서는 e-Navigation 서비스에서 제공되는 주변 선박 정보를 실제 해상교통정보로 활용하였다. 그리고 e-Navigation 서비스에 연결하여 정보를 받아올 수 있는 ECS을 도입하고, 이를 현재 연구소에서 활용하고 있는 무인선 시뮬레이션 프로그램과 연동하여 데이터를 받아올 수 있도록 하였다. 단, 연동 시 e-Navigation 서비스로부터 받는 실제 선박들의 운동정보는 시간이 지연된 과거 정보이므로, 운동 예측 모듈을 활용하여 시뮬레이션 상에서는 보상하여 이용하였다. 마지막으로 본 시스템을 충돌회피 알고리즘에 활용한 예를 소개한다.
2. 시뮬레이션 시스템 구성
2.1 시뮬레이션 시스템 구성도
본 연구에서 구축한 시뮬레이션 시스템의 구성도를 Fig. 1에 나타내었다.
먼저, 사용자(user)가 시뮬레이션 운용 프로그램(simulation operation program)을 통해 가상 선박에 시뮬레이션 초기조건과 경로추종과 같은 임무를 부여하게 된다. 이후 가상 선박 프로그램(virtual ship program)을 활용하여 시뮬레이션이 시작되며, 이를 통해 자선의 항법정보인 GPS 신호를 생성하고 GPS 신호 분배기(GPS signal distributer)를 통해 e-Navigation과 연동되어 있는 가상 선박 프로그램 용 ECS로 전송하게 된다. 이후 LTE 통신을 통해 ECS는 e-Navigation 서버로 전송받은 자선의 위치를 기준으로 주변선박 정보를 요청하고, 이에 따라 e-Navigation 서버에서 주변선박 정보를 받게 된다. 받아온 주변선박 정보는 가상 선박 프로그램을 경유하여 운동 예측 모듈(motion prediction module)로 보내지고, 운동 예측 모듈은 현재 시간에서의 타선의 움직임을 예측하여 가상 선박 프로그램으로 보내주게 된다. 빨간색 점선은 LTE 모뎀에 연결되어 있는 이더넷 통신망, 파란색 실선은 serial 통신, 초록색 1점 쇄선은 내부 이더넷 통신망을 활용한 데이터 송수신을 의미한다.
2.2 시뮬레이션 프로그램 및 동역학 모사
시뮬레이션 프로그램으로는 선박해양플랜트연구소에서 무인선 아라곤3호 제어에 활용하고 있는 무인선 운용 프로그램을 이용하였다. 무인선 운용 프로그램은 원격으로 무인선을 제어하기 위한 전자해도 기반 원격 관제 프로그램과 무인선 내에 탑재되어 무인선의 각종 센서 등을 제어하는 탑재 프로그램으로 구성되어 있으며, 여기서는 용도에 따라 각각을 시뮬레이션 운용 프로그램 및 가상 선박 프로그램으로 지칭하였다. 사용된 시뮬레이션 운용 프로그램(전자해도 기반 원격 관제프로그램) 화면을 Fig. 2에 나타내었다.
사용자는 시뮬레이션 운용 프로그램을 활용하여 초기조건을 설정하고 자율운항 임무를 부여할 수 있다. Fig. 3은 자율운항 임무 부여의 예로써 무인선 경로추종을 위해 경로를 설정하고, 각 경로에서의 속도 조건을 부여한 것을 보여준다. 그리고 ECS로부터 받는 주변 선박 정보와 운동 예측 모듈에서 예측을 한 주변 선박 정보를 화면에 표시할 수 있다. 이를 Fig. 4에 나타내었다. 파란색은 ECS 데이터를, 빨간색은 예측된 데이터를 나타낸다.
가상 선박 프로그램(탑재프로그램)은 시뮬레이션에서 선박의 동역학을 모사하는 부분을 포함하고 있다. 수평면에서의 조종운동을 모사하였으며, 이는 식 (1)의 Nomoto 1차 모델을 활용하여 수행되었다.
(1) |
여기서 r은 선수각속도(ROT; Rate Of Turn), T와 K는 조종성지수, δ는 타각(또는 워터젯 노즐각)을 의미한다. 속력은 입력한 명령 속력이 그대로 적용된다. 동역학 모사를 통해 나온 값을 바탕으로 선박의 위치 등을 포함하는 항법정보가 계산된다. 계산된 항법정보는 ECS에 실제 GPS가 연결된 것처럼 항법정보를 보내주기 위해 GPS NMEA 메시지 중 GPRMC 형식으로 변환하였다. 이렇게 생성된 GPS 신호는 멀티캐스트로 이더넷 통신을 통해 GPS 신호 분배기로 전달되게 된다.
2.3 GPS 신호 분배기
실제 e-Navigation 시스템과 ECS를 사용할 때, ECS에는 실제 GPS가 연결되어 GPS 신호를 받는다. 다만, 2.2에서 언급된대로, 시뮬레이션 시 ECS에서는 시뮬레이션 시스템 및 동역학 모사 모듈에서 계산 및 생성된 GPS 신호를 대신 받는다. 가상 선박 프로그램에서 항법정보를 GPRMC 정보로 변환하여 GPS 신호 분배기로 보내면, GPS 신호 분배기는 시리얼통신으로 ECS에 항법정보를 보내게 된다. Fig. 5는 GPS 신호 분배기 실행 화면을 보여준다.
2.4 e-Navigation 활용 주변선박 정보 취득 시스템
가상 선박이 운항하는 해역에서 항행하는 선박의 정보를 수신하기 위해서 지능형 해상교통정보서비스(e-Navigation)의 주변선박 정보를 활용하였다. 해양수산부는 3톤 이상 선박의 경우는 초고속 해상무선통신망(LTE-M)으로 연결된 전용 단말기인 ECS를 활용하여 서비스를 제공하고, 3톤 이하의 선박은 상용망(LTE)과 바다내비 앱으로 서비스를 제공하고 있다. 선박에 장착된 AIS와 V-Pass 정보뿐만 아니라, LTE-M 통신망과 연결된 ECS 장비로부터 송신된 항행 선박의 정보도 해상교통정보서비스를 통해서 수신받을 수 있기 때문에 시뮬레이션의 가상 선박 주변에서 운항하는 선박의 정보를 다양하게 취득할 수 있다. 본 연구에서 사용된 ECS 화면 및 주변 선박의 예시를 Fig. 6에 나타내었다.
본 연구에서는 LTE-M 통신망에 직접 연결해서 주변선박 정보를 취득하는 것은 제한되기 때문에, LTE 상용망을 이용하여 바다내비 앱에서 제공하는 주변선박 서비스 정보를 활용하였다. 이를 위해 가상 선박용 ECS 1대와 육상 관제소용 ECS 1대를 구성하고, KRISO 내부에 구축한 e-Navigation 서버를 활용하여 주변선박 정보를 수신할 수 있는 시스템을 구축하였다.
2.5 운동 예측 모듈
e-Navigation으로 취득된 주변선박 정보에는 선명 등의 정적정보와 위치, 침로, 속도 등의 동적정보가 포함된다. 가상 선박의 주변에서 항행하는 선박에 장착된 ECS 장비에서 동적 정보가 e-Navigation 서버에 송신되고, 서버에서는 수신된 선박 정보를 모아서 가상 선박 프로그램에 연결된 ECS 장비에 송신한다. 다만 이 ECS 장비에서는 시간이 지연된 운동정보를 수신하게 되고, 이로 인해 실제 자율운항 시뮬레이션을 수행하기 위해서는 적절한 보상 방법이 필요하다.
ECS 장비가 장칙된 선박의 경우 LTE-M 통신망을 활용하여 1초 주기로 자신의 운동정보를 e-Navigation 서버에 1초 주기로 송신하여 해당 주기로 운동정보가 업데이트되지만, e-Navigation 서버 부하를 고려하여 가상 선박 프로그램에 연결된 ECS 장비에서는 5초 이상의 주기로 LTE 통신망을 이용하여 주변선박 정보 수신이 가능하다. 이에 주변선박 운동정보가 해당 시간 사이에 기동 변화가 크지 않다고 가정하고, 식 (2), (3)과 같이 지연시간을 고려하여 주변선박 정보의 운동정보를 시뮬레이션 시스템 상에서 수행하는 자율운항 시뮬레이션 시간 기준으로 보정하였다.
(2) |
(3) |
여기서, x는 가상선박 ECS 장비에 수신된 주변선박 동적정보인 운동정보를 나타내며, xT, yT, ψT, VT는 각각 위치, 침로, 선속도를 나타낸다. 은 등속모델 기반의 시간에 따른 운동정보의 변화량이며, 는 지연시간 Δt를 고려하여 보정된 주변선박 운동정보를 나타낸다. Fig. 7은 ECS에서 수신받아 표시한 주변선박 데이터(파란색)와 운동 예측 모듈에서 예측한 주변선박 데이터(빨간색)를 보여준다. 동일한 위치에서 시작해서 예측 위치(빨간색)가 먼저 움직이고, 후에 업데이트 되는 실제 데이터(파란색)가 따라가는 모습을 보여준다.
Fig. 8은 실제 구현된 운동 예측 모듈이 작동하는 화면을 보여주며, 따로 자선 중심의 디스플레이 화면을 구성하여 주변 타선을 확인할 수 있도록 하였다.
3. 자율운항 시뮬레이션 적용
3.1 자율운항 알고리즘
본 연구에서 개발한 시뮬레이션 시스템을 검증하기 위해 활용한 자율운항 알고리즘은 충돌회피 알고리즘이다. 충돌회피 알고리즘은 속도장애물 기법(VO; Velocity Obstacle)을 활용하여 작성되었다. 속도장애물 기법은 기하학적인 방법을 이용하여 충돌을 피하기 위한 속도벡터를 선정하는 방법이며, 로봇 분야에서 널리 사용되고 있으며 선박 쪽에도 적용되고 있다 (Fiorini and Shiller, 1993; Kuwata et al., 2014). 이에 대한 개념도를 Fig. 10에 나타내었다. 여기서 TS(Target Ship)는 타선, OS(Own Ship)는 자선, VTS는 타선의 속도 벡터, VOS는 자선의 속도벡터이며 RCONE은 충돌 반경을 나타낸다. VO를 활용하여 충돌회피를 위한 속도벡터를 선정하는 기본 과정은 다음과 같다.
(1) 단순함을 위해 자선과 타선이 원형으로 되어 있다고 생각하고, 자선을 하나의 점으로 가정하여 크기를 없앤다. 그리고 자선의 크기와 타선의 크기를 고려하여 RCONE을 계산한다.
(2) 타선을 중심으로 반경이 RCONE인 원에 자선에서 접하는 두 선을 고려하여 ➀의 영역을 얻는다. 이 영영은 자선이 타선과 충돌하기 위한 타선에 대한 자선의 상대속도벡터 집합인 상대충돌원뿔이 된다.
(3) 상대충돌원뿔 ➀에 타선의 속도를 더하면 (절대)충돌원뿔 ②를 얻는다. 이는 자선이 타선과 충돌하기 위한 자선의 속도벡터 집합이 된다.
(4) 충돌회피를 위해 자선의 속도가 ② 영역 내(상대속도일 경우 ➀ 영역 내)에 존재하지 않는 속도벡터 중 제어기 등을 고려하여 실현가능한 속도벡터를 선정하고 추종한다.
본 연구에서는 속도벡터 선정 시 COLREGs(convention on the international regulations for preventing collisions at sea) (IMO, 1972)를 고려하여 우현회피를 위한 속도벡터 중 충돌원뿔 영역 밖에서 경계선에 가장 가까운 속도벡터를 선정하도록 되어 있다. 이 때, 속력은 기존 자선의 운항 속력과 동일하다고 설정하였다. 그리고 충돌회피는 타선과의 TCPA(Time to Closest Point of Approach)와 무차원 DPCA(Distance to Closest Point of Approach)를 계산하여 식 (4)의 조건을 만족할 때 수행되도록 하였다.
(4) |
3.2 시뮬레이션 시스템 적용 및 검증
시뮬레이션 순서는 2.1에서 언급된 것에 추가로 자율운항 알고리즘이 연동된다. 여기서는 3.1에서 언급된 바와 같이 충돌회피 알고리즘이 연동되어 Fig. 11에 제시된 순서로 시뮬레이션이 수행된다. 예측된 타선의 정보를 바탕으로 3.1에서 언급된 것처럼 충돌회피 필요 유무에 대해 계산하고, 충돌회피 필요 시 충돌회피를 위한 속도벡터를 계산하여 자율운항 시 반영하도록 되어 있다.
먼저, 단일 선박을 대상으로 시스템이 잘 작동하는지 확인해보았다. Fig. 12에 보이는 것처럼 ECS에서 올라오는 주변선박 한 척을 대상으로, Head-on에 가까운 상황을 하나 만들어서 타선으로 인식하고 충돌회피를 하는지 확인하였다. 확인 결과, 시뮬레이션 시스템이 잘 작동하여 ECS로부터 받은 실제 선박 정보를 타선으로 잘 인식하였고, 충돌회피를 위해 우현으로 회피 후 다시 경로에 복귀하는 것을 확인할 수 있었다. 이를 궤적으로 표현하면 Fig. 13과 같다. ECS, MPM(운동 예측 모듈, Motion Prediction Module) 및 가상선박 프로그램에서 나온 데이터를 보여준다.
시간에 따른 CPA, 선수각 및 타각 데이터를 보면 Fig. 14와 같다. 약 20초경 우현회피를 위해 우현타각을 수행하고, 약 30초를 조금 넘어가는 시점에 경로 복귀를 위해 좌현타각을 수행하였다. 이에 따른 선수각도 확인할 수 있다.
다음은 불특정 다수의 다른 선박들이 운항하는 동안 계속해서 시뮬레이션을 수행하였다. 시뮬레이션은 통영과 거제 사이의 화도 인근에서 오전에 약 3시간, 총 이동거리 약 115km 정도 수행되었다. Fig. 15의 경로를 반복해서 추종하면서, 운항하는 선박과 조우하여 조건에 부합할 때마다 충돌회피를 할 수 있도록 시나리오를 설정하였다.
위 시뮬레이션 수행 중 타선과 조우하는 상황 일부를 Fig. 16에 나타내었다. 타선과 조우하면서, 충돌회피를 수행하는 구간이다.
약 3시간 동안의 시뮬레이션 궤적을 Fig. 17에 나타내었다. 궤적을 보면 경로에서 벗어난 이후 다시 복귀한 형태의 궤적이 여러 곳에서 발견됨을 확인할 수 있다.
4. 결 론
본 연구에서는 e-Navigation 서비스를 통해 제공되는 실제 선박 정보를 활용하여 자율운항 알고리즘을 검증하는 시스템을 구축하고 실제 자율운항 시뮬레이션에 활용하여 시스템을 검증해보았다. 이를 통해 다음과 같은 결론을 얻을 수 있었다.
(1) e-Navigation 서비스에서 제공하는 주변선박 정보를 시뮬레이션 상에서 타선으로 활용할 수 있도록 시스템을 구현하였다. 이 시스템은 시간이 지연된 타선 정보를 보정하기 위해 선박의 운동을 예측하는 모듈을 포함하고 있고, 예측된 주변선박의 위치를 화면에 표시할 수 있다.
(2) 해당 시스템은 실제 운항 중인 선박들을 대상으로, 단순히 가상 시뮬레이션 상에서 입력하는 조건의 상황이 아닌 실제 해상환경에서 다양한 조우 상황에서 시뮬레이션을 해볼 수 있음을 확인하였다.
(3) 자율운항 알고리즘 중 비용 및 안전상의 문제로 실 세계에서 도전적인 검증이 제한되는 충돌회피 알고리즘 검증에 활용해보았으며, 활용 결과 타선으로 잘 인식하여 해당 알고리즘 검증에 활용 가능함을 확인하였다.
본 시스템을 활용하면 별도의 타선 조건 설정이 없이 현실과 유사한 해상교통환경을 만들고, 불특정 다수의 선박들을 조우할 수 있는 상황을 만들 수 있어 자율운항 알고리즘 검증에 활용할 수 있을 것이라 생각된다. 향후에는 본 시스템을 활용한 검증을 통해 충돌회피 알고리즘을 개선 및 고도화할 예정이다. 그리고 동역학 모사를 더 자세한 모델을 사용하고, e-Navigation 서비스에서 제공하는 환경정보도 동역학 모사 시 활용하여 좀 더 실제와 가까운 시뮬레이션이 수행될 수 있도록 개선할 예정이다.
Acknowledgments
It is noted that this paper is a revised edition based on the proceedings of SNAK 2022 in Changwon
본 논문은 해양수산부 재원으로 선박해양플랜트연구소의 주요사업인 “연안 해상교통 환경에서의 무인선 자율운항 기술 고도화(1525014864, PES4720)”에 의해 수행되었습니다.
References
- Fiorini, P. and Shiller, Z., 1993. Motion planning in dynamic environments using the relative velocity paradigm. Proceedings IEEE International Conference on Robotics and Automation, Atlanta, 2-6 May 1993, IEEE.
- Han, J.W., Park, H.S., Park, K.R., Kim, S.Y., Lee, J.Y. and Pyo, C.S., 2023. Field demonstration of advanced autonomous navigation technique for a fully unmanned surface vehicle in complex coastal traffic areas. Journal of Field Robotics, 40(8), 1887-1905. [https://doi.org/10.1002/rob.22225]
- Hori, A., Arai, Y. and Okuda, S., 2006. Study on application of real time AIS information. Proceedings of Asia Navigation Conference 2006, Korean Institute of Navigation and Port Research, Jeju, 20-21 October 2006.
- International Maritime Organization (IMO), 1972. COLREGs-Convention on the International Regulations for Preventing Collisions at Sea.
- Kuwata, Y., Wolf, M.T., Zarzhitsky, D. and Huntsberger, T.L., 2014. Safe maritime autonomous navigation with COLREGS, using velocity obstacles. IEEE Journal of Oceanic Engineering, 39(1), 110-119. [https://doi.org/10.1109/JOE.2013.2254214]
- Last, P., Kroker, M. and Linsen, L., 2017. Generating real-time objects for a bridge ship-handling simulator based on automatic identification system data. Simulation Modelling Practice and Theory, 72, pp.69-87. [https://doi.org/10.1016/j.simpat.2016.12.011]
- Ministry of Oceans and Fisheries, n.d., e-Navigation service, [Online] URL: https://e-navigation.mof.go.kr/mainHome.do, [Accessed 12 January 2023].
- Ministry of Oceans and Fisheries, 2021. The 1st master plan(2021~2025) and 2021 implementation plan of the e-Navigation service, Sejong: Ministry of Oceans and Fisheries.
- Miyake, R., Fukuto, J. and Hasegawa, K., 2015. Procedure for marine traffic simulation with AIS data. the International Journal on Marine Navigation and Safety of Sea Transportation, 9(1), pp.59-66. [https://doi.org/10.12716/1001.09.01.07]
- Moreira, L., Fossen, T.I. and Soares, C.G., 2007. Path following control system for a tanker ship model. Ocean Engineering, 34(14-15), pp.2074-2085. [https://doi.org/10.1016/j.oceaneng.2007.02.005]
- Son, N.S. and Kim, S.Y., 2010. Validation on the algorithm of estimation of collision risk among ships based on AIS data of actual ships' collision accident. Journal of Navigation and Port Research, 34(10), pp.727-733.