해상교통위험성평가모델을 이용한 자율운항지원시스템 개발
Abstract
Most of the marine casualties caused by ship are collision, and most of them are analyzed human error due to recognition of inappropriate situation of the operator. In this study, we consider not only the prevention of collision of existing ship due to human errors, but also the development of system for Maritime Autonomous Surface Ships(MASS) to be introduced in the future. In order for MASS to operate safely at sea, it is necessary to keep international regulations for preventing collisions at sea. A Maritime traffic risk assessment model was applied to study autonomous navigation support system of ship. It was developed by combining the psychological burden of duty officer’s collision judgment and the dynamic ship domain, taking into account the speed and length of the ship. Simulation results that take into account the special situation of international regulations for preventing collisions at sea are very similar to the actual results. This system can be applied not only for autonomous navigation but also as a collision avoidance support system for existing vessels.
Keywords:
Maritime autonomous surface ships, International regulations for preventing collision at sea, Maritime traffic risk assessment, Psychological burden, Dynamic ship domainⅠ. 서 론
선박사고의 최대 원인은 충돌이며 그 원인은 대부분 선박운항자의 부적절한 상황인식에 의한 인적오류에 기인하는 것으로 분석된다(KMST, 2017). 본 연구에서는 인적오류로 인한 충돌 방지 및 향후 출현 예정인 자율운항선박에 적용하기 위한 운항지원시스템의 개발에 대해서 고찰한다. 실제 자율운항선박이 해상에서 안전하게 운항하기 위해서는 국제해상충돌예방규칙 등을 적용하여 검증하는 것이 필요하다. 제4차 산업혁명의 영향으로 최근 해양 분야에서도 자율운항 기능을 갖춘 차세대 선박에 대한 관심이 높아지고 있다. 이에 IMO(International Maritime Organization)에서는 총 4단계로 자율운항의 단계를 설정하고 자율운항이 가능한 선박을 MASS(Maritime Autonomous Surface Ship)로 규정하였다(IMO, 2018). 북유럽의 노르웨이, 핀란드 등을 선두로 유럽에서는 2020년 첫 자율운항선박의 상업적인 운항을 계획하고 있다. 이에 우리나라 정부에서도 2018년 자율운항선박의 시작 단계인 “스마트 자율운항선박 시운전센터 개발 사업”을 공모하여 울산시가 최종 선정되었다(Google, 2018a). 선박의 충돌 방지 및 자율운항선박의 개발에는 법규, 보험, 사이버 보안 등 다양한 분야의 연구가 선행되어야 하나 이 연구에서는 선박운항자의 관점에서의 기존 선박 및 자율운항선박에 적용 가능한 지원시스템의 개발에 대해서만 고찰한다. 현재 선박에 대한 충돌 방지 연구는 대부분이 위험영역(Wang, 2010; Kim et al., 2017; Fujii, and Tanaka, 1971; Coldwell, 1983; Arimura, et al., 1988; Kijima, and Furukawa, 2003; Kobayashi and Endoh, 1976)을 설정한 후 영역 내에 상대선이 진입하면 피항하는 방식을 취하였다. 하지만, 이는 단순한 충돌방지 기능이며 실제 해상에서 운항하는 상선 및 어선에 적용하기는 곤란하다. 왜냐하면 일반적인 선박들은 충돌만을 회피하기 위해 초접근 상태까지 기다리다 피항 동작을 취하지는 않는다. 즉, 국제해상충돌예방규칙에서도 규정된 바와 같이 미리 예비 동작을 취한다. 또한, 선박운항자의 개인적인 운항 특성은 모두 상이하기 때문에 피항의 범위를 정량적으로 나타내기는 어렵다. 이러한 이유로 선박운항자의 심리적 부담감을 지표화한 선박조종환경의 평가기법이 활용되고 있다(Inoue et. al, 1996, 1997a, 1997b, 1997c, Gong, 2003). 또한, 위험영역을 설정하기 위해 이 연구에서는 기존 대부분의 연구에서 위험영역 모델을 대양과 연안으로 일정하게 구분한 정적 선박영역을 고려한 범퍼영역(bumper area)이 아닌 선박의 길이와 속력 및 선박조종성능이 고려된 동적선박영역(Kijima and Furukawa, 2001, 2003, Wang, 2010)을 이용하였다. 연안에서도 고속으로 운항하는 선박이 있고 대양에서도 저속으로 운항하는 선박이 있을 수 있기 때문에 선속과 선박의 길이를 동시에 고려한 동적선박영역 모델을 적용하였다. 동적선박영역에 대한 자세한 내용은 이미 발표된 논문 및 참고문헌을 참조한다. 즉, 이 연구에서는 선박운항자의 심리적 부담감을 구현한 이론식과 선박의 속력을 고려한 동적선박영역을 결합하여 저자가 개발한 항해위험성평가모델(kim et al., 2017)을 이용하여 자율운항지원시스템을 개발하였다. 일반적으로 자선은 위험이 인지되면 선박운항자는 안전한 침로를 결정하여 피항 조종을 수행한다. 이때 국제해상충돌예방규칙에 따르지만 상대선이 다수 존재할 경우 특수 관계로 피항은 복잡한 상황이 되어 선박운항자자 스스로 판단하여야 한다. 향후 이 시스템에 자선 및 상대선의 위치, 선속, 침로 등의 정보를 GPS, AIS, Radar 등의 항해장비를 이용하고 그 정보를 연결하면 현존선박에서 상용화가 가능할 것이다.
Ⅱ. 자율운항지원시스템
1. 선박의 충돌 위험의 개념
자선과 상대선의 충돌 위험상황은 [Fig. 1]과 같이 나타낼 수 있다. 이때 자선(A)이 상대선(B)을 확인하고 RADAR의 ARPA 기능 또는 RADAR 플로팅(floating)을 통해 DCPA(Distance of Closest Point of Approach)와 TCPA(Time of CPA)를 구해 충돌위험을 판단하는 것이(Kobayashi and Endoh, 1976) 일반적인 충돌 회피의 기본 개념이다.
이때 선박운항자는 다수의 상대선이 동시에 충돌위험이 있다고 판단될 때 피항 우선순위를 결정하고 순차적으로 피항 조치하는데 이때 TCPA가 작은 선박부터 피항하게 된다. 이 경우 위험이 예상되는 선박을 파악하기 위해 동적선박영역을 사용하게 된다. 즉, DCPA가 동적선박영역인 경계영역으로 들어오면 [위험], 한계영역에 들어오게 되면 [매우위험]으로 분석을 하게 된다(Kijima and Furukawa, 2001, 2003, Wang, 2010).
2. 자율운항지원시스템의 개발 개요
시스템은 Microsoft .NET Framework로 개발되었으며 컴퓨터의 성능을 극대화하기 위해 여러 실행 스레드(Thread)를 사용하였다. 적용된 비동기 프로그래밍 패턴(Asynchronous Programming Pattern)은 IAsyncResult 인터페이스를 사용하여 비동기 동작을 제공하는 레거시 모델인 APM(Asynchronous Programming Model)과 비동기 동작을 제공하기 위한 이벤트 기반 레거시 모델인 EAP(Event-based Asynchronous Pattern)를 접목하여 개발하였다. 사용된 개발 언어는 .NET개발 환경의 모체가 되는 통합 개발 환경(IDE : Integrated Development Environment)인 Microsoft .NET Framework 기반의 C# 언어로 개발하였다(McConnell, 2003; Leffingwell, 2007). 그리고 개발 방법으로는 Mediator Pattern을 적용하여 모든 클래스간의 복잡한 Logic을 캡슐화 하였다. 즉, 단일 클래스에 위임하여 처리하는 Pattern M:M의 관계에서 M:1의 관계로 복잡도를 감소시켜 유지 보수 및 재사용의 확장성에 유리하도록 설계하였으며 Class Design Pattern을 도식하면 [Fig. 2]와 같다.
이렇게 개발된 내용을 전자해도에 구현하기 위해서 GDI+를 사용하였다. GDI+는 전통적인 GDI 모듈의 업그레이드 버전이며 복잡한 그래픽을 출력할 수 있고 기존 기능이 최적화된 새로운 출력 모듈이다. GDI의 신 버전으로 장치 독립성을 제공한다는 기본 목적은 동일하며 GDI로 할 수 있는 대부분의 작업을 GDI+에서도 수행할 수 있다. Windows XP, Windows Server 2003 및 .NET 플랫폼에 기본 탑재되어 있으며 64bit의 Windows 시스템도 지원한다. 특히, 선박이 지속적으로 운항하기 때문에 데이터의 수집 및 처리를 병렬로 해주면 프로세서의 피로도를 줄이고 데이터의 안전성은 증가시킬 수 있다. 기존에는 병렬 처리를 스레드 및 잠금에 대한 저수준 조작이 필요했지만 Visual Studio 2010 및 .NET framework 4에서는 새로운 런타임, 클래스 라이브러리 형식 및 새로운 진단 도구를 제공하여 병렬 프로그래밍에 대한 지원이 가능하다. 이러한 기능은 병렬 개발을 단순화하기 때문에 스레드 풀의 조정 없이 효율적이고 세부적이고 확장 가능한 병렬 코드를 자연스러운 언어로 작성할 수 있다.
3. 자율운항지원시스템의 세부 기능
자율운항지원시스템은 [Fig. 3]에서 보는 바와 같이 메뉴바에 선박입력 창, 시나리오 창, 옵션 창으로 구성되어있다. 단, 개발이 초기 단계이므로 향후 기능을 추가할 예정이다. 선박입력 창에는 자선과 상대선을 입력할 수 있으며 시나리오 창에는 시나리오의 시작과 정지 기능이 있다. 마지막으로 옵션 창에는 처리속도를 위해 해안선과 타선을 동시 또는 구분하여 계산하도록 하였고 위험정도를 [위험]과 [매우위험]으로 구분하는 기능이 포함되었다. 이 연구는 기초단계이므로 사용자가 직접 정보를 입력하지만 실제 선박에 적용 시에는 자선의 경우에는 GPS 정보, 상대선의 경우에는 RADAR 및 AIS 정보 등을 연동할 예정이다. 물론 향후 자율운항선박에 설치될 LiDAR 등의 상황인식 장비 등도 포함된다.
Ⅲ. 자율운항지원시스템을 적용한 시뮬레이션의 결과 분석
이 장에서는 자율운항지원시스템을 이용한 시뮬레이션의 결과를 분석하고자 한다. 분석의 방법은 국제해상충돌방지규칙에 의거하여 자선과 상대선이 운항할 경우를 가정하여 시뮬레이션을 수행하였다. 또한, 추가로 국제해상충돌방지규칙이 적용되지 못하는 특수상황 및 상대선이 지키지 않았을 경우에 대한 시뮬레이션도 수행하였다.
1. 국제해상충돌예방규칙을 준수할 경우
[Fig. 4]에서 보는 바와 같이 자선(A)는 유지선, 상대선(B)는 피항선이다. 국제해상충돌예방규칙을 준수할 경우 상대선이 우현 변침하여 자선의 좌현으로 조종하여야 한다. 이때 자선은 침로를 유지하거나 상호협력 동작을 취하도록 규정하고 있다. 자율운항지원시스템을 통한 시뮬레이션을 수행한 결과 실제 선박의 운항 상태와 동일한 것으로 나타났다.
[Fig. 5]에서 보는 바와 같이 자선(A)는 피항선, 상대선(B)는 유지선이다. 국제해상충돌예방규칙을 준수할 경우 자선은 우현 변침하여 상대선의 좌현으로 조종하여야 한다. 이때 상대선은 침로를 유지하거나 상호협력 동작을 취하도록 규정하고 있다. 자율운항지원시스템을 통한 시뮬레이션을 수행한 결과 국제해상충돌예방규칙을 준수하는 것으로 나타났다.
[Fig. 6]은 다수의 선박들에 국제해상충돌예방규칙을 적용한 상황이다. 이때 자선(A)와 상대선(B)의 상황은 자선이 유지선, 상대선이 피항선이다. 자선(A)와 상대선(C)의 상황은 자선이 피한선 상대선이 유지선이다.
그리고 B선과 C선은 마주치는 상황으로 서로 우현변침을 해야 한다. 이런 상황에서 국제해상충돌예방규칙을 준수할 경우 [Fig. 6]에서 보는 바와 같이 모든 선박이 우현 변침하여야 한다. 이러한 상황에서도 자율운항지원시스템을 통한 시뮬레이션 결과 국제해상충돌예방규칙에 따라 운항 하는 것으로 나타났다.
2. 국제해상충돌예방규칙 미준수 및 특수상황인 경우
[Fig. 7]은 국제해상충돌예방규칙에 의하면 자선(A)는 유지선, 상대선(B)는 피항선이다. 그런데 피항선이 국제해상충돌예방규칙을 준수하지 않을 경우 자선은 우현 변침을 하여 충돌을 회피하여야 한다. 그리고 시간, 청각 및 당시의 상황에 맞게 이용할 수 있는 모든 수단을 이용하여 상대선이 피항선의 의무를 다하도록 조치한다. 이런 경우 피항선이 피항 동작을 취하면 자선은 기존의 침로로 진입하게 되는데 이러한 상황에서도 자율운항지원시스템은 정상적으로 작동하는 것으로 나타났다.
Ⅴ. 결 론
이 연구는 소형선의 단순 충돌회피가 아닌 선박운항자의 조종 부담감, 선박의 길이, 속력 및 조종성능 등의 변화에 적용할 수 있는 항해위험성평가모델을 전자해도에 적용한 자율운항지원시스템 개발에 대한 연구이다. 이 시스템을 이용하여 국제해상충돌예방규칙 준수 및 미준수, 복잡한 다수 선박간의 운항 상태에 대한 시뮬레이션을 수행하고 다음과 같은 결론을 얻었다.
1) 국제해상충돌예방규칙을 준수할 경우 유지선과 피항선의 상태에서 실제 상황과 거의 동일한 결과를 보였다.
2) 국제해상충돌예방규칙 미준수 및 복잡한 다수 선박간의 운항 상태에 대한 분석결과 실제 선박운항자의 피항 행동과 거의 유사하게 나타났다.
이 연구를 통하여 개발된 자율운항지원시스템이 실제 선박에 장착되어 레이더 및 AIS데이터를 수집하여 분석하면 충돌예방에 도움이 될 것이다. 특히, 미래의 스마트선박인 자율운항선박의 충돌방지를 통한 자율운항에 사용될 수 있을 것이다. 향후 해상에서 발생 할 수 있는 다양한 특수상황에 대한 시뮬레이션을 수행하고 이를 시스템에 적용하는 연구를 지속적으로 수행하면 시스템의 정도가 높아질 것으로 사료된다.
References
- Arimura, N., Yamada, K., Watanabe, K., Shiota, N., and Ohtani, K., (1988), A Study on Man-machine System in Vessel Traffic Flow, Ship's Research, 25(3), \Research Report, p55-71, (in Japanese).
- Coldwell, T.G., (1983), Marine traffic behaviour in restricted waters, The Journal of Navigation, 36, p431-444. [https://doi.org/10.1017/S0373463300039783]
- Fujii, Y., and Tanaka, K., (1971), Traffic capacity, The Journal of Navigation, 24, p543-552. [https://doi.org/10.1017/S0373463300022384]
- Kijima, K., and Furukawa, Y., (2003), Automatic collision avoidance system using the concept of blocking area, Proc. of IFAC Conf. on Manoeuvring and Control of Marine Craft, Girona, Spain, p262-267. [https://doi.org/10.1016/S1474-6670(17)37811-4]
- Kim, WO, Kang, SJ, Youn, DG, Bae, JY, and Kim, CJ, (2017), A Study on the Coastal Navigation Safety by Navigational Risk Assessment Model, Journal of Fishier and Marine Educational Research, 29(1), p201-207. [https://doi.org/10.13000/JFMSE.2017.29.1.201]
- Kobayashi, H., and Endoh, M., (1976), “Analysis of Collision Avoiding Action of Ship”, Journal of Japanese Navigation Research, No, 55, p101-109, (in Japanese).
- KMST, (2017), Investigation Statistics of maritime accidents, Korea Maritime Safety Tribunal.
- Leffingwell, D., (2007), Scaling Software Agility, Part II, p102-114.
- McConnell, S., (2003), Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers, p161-181.
- Wang, N., (2010), An Intelligent Spatial Collision risk Based on the Quaternion Ship Domain, The Journal of Navigation, 63, p733-749. [https://doi.org/10.1017/S0373463310000202]