J. KIMS Technol Search

CLOSE


J. KIMS Technol > Volume 23(6); 2020 > Article
UAS 상호운용성 향상을 위한 STANAG 4586과 MAVLink 프로토콜 비교분석 및 개선방안 연구

Abstract

An unmanned aerial vehicle(UAV) refers to an aircraft that has all or part of its functions to autonomously fly by grasping the surrounding environment by remote control on the ground without a pilot on board. With the development of unmanned aerial technology, civil/military forces are developing unmanned aerial vehicles for various purposes. In order to control unmanned aerial vehicles from the ground, communication protocols between unmanned aerial vehicles and ground control equipment are required, and civil/military forces have developed and used a photocall for different purposes. In this study, the characteristics of the MAVLink protocol used in the private sector and the STANAG 4586 protocol used in the military are compared/analyzed in detail to find elements to complement each other and to draw improvement measures for protocol unification.

서 론

제 1장은 서론으로 무인시스템 및 무인항공시스템
(UAS) 개요, 연구의 배경과 필요성을 서술하고 본 논문의 구성에 대해 설명하였다.

1.1 무인시스템의 분류

무인시스템은 통제 대상에 따라 무인항공기(UAV), 무인수상정(USV), 무인지상차량(UGV), 무인잠수정(UUV) 및 하이브리드형(UHV)으로 분류 할 수 있으며 이와 같은 다섯 가지 무인 이동체를 하나로 묶어서 “UxV” 로 표기한다[43].
Fig. 1.
Type of UxS
kimst-23-6-618f1.jpg
무인이동체를 제어하는 방법은 운용자의 개입 여부에 따라 정해지며 세부적으로는 운용자의 개입이 최소화된 형태의 반자율 제어 방식, 원격에서 수동으로 시스템을 제어하는 수동제어 방식, 운용자의 개입이 필요 없는 완전자율제어 방식으로 분류할 수 있다[2].
무인시스템의 공통적인 특징으로는 안전한 운용을 위해 필요시 운용자의 즉각적인 개입으로 수동제어가 가능하도록 개발되며 이를 위해 무인이동체를 통제하는 연동프로토콜이 반드시 존재한다는 점이다. 세계 각국에서는 무인이동체를 효율적으로 제어하기 위해 수십 년 전부터 각 분야에 최적화된 다양한 프로토콜을 제정하여 사용하고 있다.

1.2 UAS 개요

무인항공시스템(UAS)은 일반적으로 아래 그림과 같이 비행체(무인항공기), 데이터링크장비, 임무장비, 지상통제장비로 구성된다.
Fig. 2.
Configuration of UAS
kimst-23-6-618f2.jpg
비행체는 무인항공기 기체 및 기체에 탑재되는 각종 장치(비행조종, 항전, 센서, 데이터 기록, 추진, 연료 계통 등)로 구성된다. 미국에서 운용중인 대표적인 무인항공기 Gray Eagle은 날개폭 18 m, 최대이륙중량 이 1633 kg 정도로 각종 임무장비(EO/IR, SAR, 무장 등)를 부착하여 고도 9 km 상공에서 30시간 연속으로 임무를 수행한다.
Fig. 3.
Shape of UAV
kimst-23-6-618f3.jpg
데이터링크장비는 비행체 및 임무장비 통제를 위한 통제명령을 비행체로 전송하고 임무상태를 지상으로 전송하기 위한 안테나 및 각종 제어장치로 구성된다. 데이터링크의 일반적인 형상은 아래 그림과 같다.
Fig. 4.
Shape of datalink
kimst-23-6-618f4.jpg
임무장비는 감시/정찰, 화물 운송, 관측 등 다양한 임무 수행을 위해 비행체에 장착되는 장치를 의미하며 임무장비 기본으로 장착되는 EO/IR 장치의 형상은 아래 그림과 같다.
Fig. 5.
Shape of payload(EO/IR)
kimst-23-6-618f5.jpg
지상통제장비는 비행체, 데이터링크 및 임무장비를 통제하고 상태를 수신하여 전체 임무를 통제하기 위해 여러 운용 콘솔로 구성되며 일반적은 형상은 아래 그림과 같다.
Fig. 6.
Shape of GCS
kimst-23-6-618f6.jpg

1.3 무인항공기 분류

무인항공기를 분류하는 기준은 국가 및 기관에 따라 다양하며 국내 항공안전법 및 한국표준협회에서 분류하는 기준은 다음과 같다.
먼저 우리나라 ‘항공안전법’에서는 아래 표와 같이 최대이륙중량 및 자체중량 기준으로 무인항공기를 분류하고 있다.
Table 1.
Classification of UAV (항공안전법)
구분 유인항공기 무인항공기
최대이륙중량 6⑴ kg 조과 항공기 대형 무인항공기
최대이륙중량 600 kg 이하 경량
항공기
중형 무인항공기
    중소형 무인항공기 (25 kg ∼ 150 kg)
자체중량 150 kg 이하 조경량 비행장치 소형 무인항공기 (2 kg ∼ 25 kg)
    초소형 무인항공기 (2 kg 이하)
한국표준협회에서는 최대이륙중량, 운용고도, 조종방식, 이착륙방식, 에너지원을 기준으로 무인항공기를 분류하고 있다[3].
Fig. 7.
Classification of UAV(한국표준협회)
kimst-23-6-618f7.jpg

1.4 연구의 배경과 필요성

현대 전장 환경은 인명피해 최소화를 위해 무인기를 개발하여 적극 활용하고 있다. 미국의 경우 이라크와 아프가니스탄 등지의 지역에서 한정된 병력으로 효율적인 임무수행을 위해 무인기 기반의 정찰 및 공격 체계를 광범위하게 도입하고 있으며 다양한 형태의 무인기들이 개발되면서 이기종 무인기체계간 연동 및 통합의 필요성이 증대되었다. 이를 위해 물리 계층에서부터 응용 계층에 이르기까지 각 계층별 연동을 위한 여러 연구들이 진행되었다. 특히 그중에서도 북대서양 조약기구(NATO)에서는 연합국 간의 무인기 상호운용성 확보를 위해 무인기 연동프로토콜에 대한 표준(STANAG 4586)을 제정하였다. STANAG 4586은 이기종 무인기 연동을 위해 무인기 체계의 아키텍처 및 운용개념을 포함한 실제 메시지 포맷이 포함되어 있으며 현재 군용 무인기 개발 분야에서 상호운용성 보장을 위한 표준으로 적용되고 있다. 미국, 이스라엘과 같은 무인기 제작 선진국들은 현재 개발되는 대부분의 무인항공기 시스템 개발에 STANAG 4586 표준을 채택하고 있다. 그러나 국내에서는 아직 이기종 무인기 연동을 위한 표준화가 미흡한 수준이다.
STANAG 4586 표준 적용을 위해서는 단순 메시지 포맷뿐만 아니라 지상통제장비와 무인기간 메시지를 주고받는 정확한 절차를 필요로 한다. 그러나 표준 문서에는 연동 절차가 간략히 설계되어 있어 STANAG 4586 표준 제정에 관여하고 있는 메이저 개발 업체가 아닌 이상 표준을 정확히 적용하기가 쉽지 않은 상황이다. 이러한 환경에도 불구하고 앞으로 늘어나는 군용 무인기의 상호운용을 확보하기 위해 한국형 표준 제정이 필요하므로 국내에서도 무인항공기 연동프로토콜에 대한 표준화가 시급한 상황이다.
무인기는 초기에는 군사용도로 제작되었으나 요즘 사진 촬영을 위한 레저용, 농약방제/화물운송/인명탐지/ 기상관측/통신중계 등을 위한 산업용, 교통수단으로써의 개인용 항공기(PAV) 등으로 쓰임새가 날로 확장되고 있다[4]. 민간에서는 2009년 로렌즈마이어가 소형무인기 통제를 위해 MAVLink(Micro Air Vehicle Link) 프로토콜을 처음으로 공개하였다. 이를 활용하여 무인기를 제어하는 Autopilot(PX4, ArduPilot, AutoQuad, iNAV 등) 및 MAVLink를 지원하는 지상통제 소프트웨어(Mission Planner, QGroundControl, APM Planner 2, Universal Ground Control Station 등)등이 개발되었고, 대부분 오픈소스로 공개하여 드론을 연구하는 개인뿐만 아니라 상용드론 제작에 많이 활용되고 있다. 또한 MAVLink를 지속적으로 발전시키기 위해 리눅스 재단과 Microsoft, Intel 및 메이저 드론 제조사들이 ‘Dronecode 프로젝트’ 이름으로 비영리 단체를 설립하여 PX4 autopilot, MAVLink, QgroundControl, MAVSDK 를 주도적으로 개발하여 오픈소스로 배포하고 있다[713].

1.5 연구의 목적

본 연구에서는 민/군에서 활발히 연구되고 있는 무인기 연동 프로토콜의 특징을 비교/분석하여 상호 보완할 요소 및 개선점을 도출하여 프로토콜 단일화 가능성을 검토하고 무인기간 상호운용성을 증대시킬 개선방안을 도출하고자 한다.

1.6 논문의 구성

본 논문은 총 6장으로 구성되어 있으며 주요 내용은 다음과 같다.
제1장은 서론부로 무인시스템의 분류, UAS의 개요, 연구 배경과 필요성, 연구의 목적 및 논문의 구성을 설명하였다.
제2장은 이론적 배경 관련 연구로서 무인기산업동향, UAS 시스템의 표준화 동향, STANAG 4586개요, MAVLink 프로토콜 개요에 대해 설명하였다.
제3장은 연구 설계 및 접근방법으로 STANAG 4586 프로토콜 및 MAVLink 프로토콜을 상세 분석하고 두 프로토콜의 특징을 비교/분석하였다.
제4장은 개선사항 도출 및 분석으로 프로토콜 개선사항을 요약하고 특히 비행경로 개선사항에 대한 설계를 진행하였다.
제5장은 개선사항 효과 분석 및 결과로 곡선형 비행경로계획을 수립하는 방안에 대한 효과를 분석하였다. 제6장은 요약 및 결론으로 연구 결과에 대한 요약
과 향후 연구 계획에 대해 서술하였다.

이론적 배경 및 관련연구

제 2장에서는 UAS의 다양한 분야에 대한 표준화 동향에 대해 알아보았다. 특히 무인기 연동프로토콜의 표준화 동향에 대해 군용 무인기 통제를 위해 사용되는 STANAG 4586 표준과 민간에서 소형무인기 통제를 위해 사용되는 MAVLink 프로토콜의 개발동향 및 활용방안에 대해 고찰하였다.

2.1 UAS 표준화 동향

2.1.1 UAS 상호운용성 향상을 위한 표준화 동향

UAS는 민/군에서 가장 활발히 연구되고 있는 분야이며 다양한 목적으로 개발되는 여러 UAS 체계의 합리적인 획득과 효율적인 운용을 위해 반드시 UAS시스템을 구성하는 구성장치 및 UAS 시스템간 상호운용이 필요하다. 상호운용을 위해 NATO, 미육군, 미공군, SAE 및 다양한 상업용 드론 개발 회사에서 광범위한 목표를 가지고 프로토콜 표준화를 위해 노력하고 있다. 특히 미국과 유럽 중심으로 NATO(북대서양 조약기구: North Atlantic Treaty Organization)는 회원국 간의 군사용품의 상호운용성 확보를 위해 용어 및 통신방법 등에 대한 규격을 정의하는 STANAG 표준을 제정하였다. 특히 무인기와 지상통제장비간 연동 프로토콜을 정의하는 STANAG 4586 이외에도 무인기에 탑재된 임무장비에서 생성된 센서 데이터의 상호연동을 위해 STANAG 4607, 4609, 7023 등의 규격서를 제정하여 임무장비에서 생성된 데이터까지 상호운용성을 확보하기 위해 표준을 제정하였다[18,19].

2.1.2 비행체 구성품간 상호운용성 향상을 위한 표준화 동향

무인기시스템을 구성하는 비행체 내부 구성품간의 상호운용성 확보를 위해 FACE(Future Avionics Capability Environment) 표준이 제정되어 관리되고 있다. FACE는 비행체에 탑재되는 장비들이 더 많은 소프트웨어 기능이 요구됨에 따라 항전 S/W의 복잡성이 증대되어 통합모듈화가 필요하여 개발되었다. FACE 는 하드웨어 독립성, OS 독립성, 응용 S/W 독립성을 확보하기 위해 하드웨어 Layer, OS Layer, 응용 S/W Layer를 기능적으로 분리하기 위한 S/W 인터페이스 표준이다[20].
Fig. 8.
The goal of the FACE standard
kimst-23-6-618f8.jpg

2.1.3 지상통제장비 구성품간 상호운용성 향상을 위한 표준화 동향

무인시스템에서 마지막 남은 표준화 축은 바로 지상통제장비의 표준화이다. 하나의 지상통제장비에서 복수의 이기종 무인기 통제를 위해서 반드시 무인기 연통 프로토콜의 표준화가 선행되어야 하는데, 선진국에서는 STANAG 4586을 통해 무인기 연동프로토콜에 대한 표준화가 진행되었고 실용화 단계에 있다. 그래서 하나의 지상통제장비에서 복수 무인기를 통제하기 위한 목적으로 미 국방성에서 UCS Architecture 표준을 제정하였고, UUV/UGV/USV 등으로 확대 사용을 위해 SAE에서 표준을 관리하고 있다. UCS Architecture는 지상통제장비와 무인기 간의 인터페이스를 분리하는 구조를 택하여 어떠한 무인기라도 프로토콜변환 서비스를 통해 지상통제장비 내부 인터페이스로 변환하여 사용가능하도록 SOA(Service Oriented Architecture)방식으로 소프트웨어를 개발하도록 권장하고 있다.

2.2 STANAG 4586 개요

초기의 무인기시스템 조달 시 미 국방성에서는 군용 무인기와 지상통제장비를 하나의 조합으로 간주하여 설계/개발/획득을 진행하였다. 따라서 각 업체별로 개발한 무인기-지상통제장비만 연동이 가능하였으며, 아래 그림과 같이 여러 종류의 무인기를 운용하기 위해서는 동일한 수만큼의 지상통제장비가 요구되는 “stove -pipe” 형태의 설계가 주를 이루었다.
이러한 현상은 각 국가별 연합 작전 수행이 필요한 NATO 가입국 간에도 유사한 형태로 발생하게 된다. 그 결과 미국 및 NATO 가입국들을 중심으로 각종 전장에서 폭발적으로 증가하게 된 임무 별 무인기를 하나의 통합된 지상통제장비로 운용하여 효율적인 작전 수행을 이루기 위한 요구가 점차 커졌으며 이를 위한 상호운용성 표준을 제공하기 위하여 ’04년도에 STANAG 4586 Edition1이 최초 제정되었다[23].
Fig. 9.
Stove-piped UAS design
kimst-23-6-618f9.jpg
STANAG 4586의 목적은 상호운용성 수준을 달성하기 위해 UCS에서 구현해야하는 인터페이스를 지정하여 서로 다른 UAV 및 해당 임무장비 및 레거시 명령, 제어, 통신, C4I 시스템과 통신 할 수 있도록 관련 규격을 정의하는 것이다[24].
이후 계속 개발되는 무인기 수용 및 최신임무를 반영하기 위해 꾸준히 개정되고 있으며 ’07년도 Edition2, ’12년도에 Edition3, ’17년도에 Edition4로 개정되었다. 무인기 개발 선진국들은 STANAG 4586을 활용하여 무인기와 지상통제장비간 상호운용성을 확보하여 하나의 지상통제장비에서 여러 무인기를 운용 중에 있다[6]. STANAG 4586은 PDF 파일로 제정되고 파일에는 UAS 에 대한 아키텍처, 장비에 대한 용어, 인터페이스 규약, 상세데이터 포맷, 연동 절차 등을 정의하고 있다[18].

2.3 MAVLink 개요

MAVLink(Micro Air Vehicle Communication) 프로토콜은 2009년에 스위스 취리히 대학의 Lorenz Meier가 Open Source(LGPL) 기반으로 만들어진 라이브러리이다. MAVLink는 소형 무인기에 적합하도록 매우 제한된 통신 대역에서도 사용할 수 있도록 가볍게 설계 되었으며 2009년 초기 버전을 릴리즈 하였고 현재 많은 컨트리뷰터들이 프로토콜을 개발하여 2.3 버전이 공개되었다[25].
소형무인기에는 다양한 현실적인 이유로 인해(파워부족, 공간제약, 무게제약 등) 컴퓨팅 자원이 부족하기 때문에 비행 및 임무수행에 대부분의 컴퓨팅 자원을 투입하게 된다. 따라서 상대적으로 통신을 위한 연산은 최소화 되어야 하므로 단순한 패킷 구조를 가지도록 설계되었다. MAVLink 오픈소스 프로젝트 참여자들은 프로그래밍을 위한 각종 헤더 및 관련 코드를 자동으로 생성해 주는 툴을 무료로 배포하고 있기 때문에 툴을 사용하여 손쉽게 개발이 가능한 장점을 가 지고 있다. MAVLink는 https://mavlink.io/en/ 사이트에서 공식적으로 관리되고 있으며 공식 프로토콜 문서는 XML형태이며 파일 내부에 간략한 설명을 추가하여 배포하고 있다

2.4 무인기 산업동향

2.4.1 군용 무인기 개발 동향

전 세계 40여 나라에서 군용 무인기 연구 개발이 이뤄지고 있으며 기술 개발을 위한 글로벌 합작이 늘고 있다. 무인기는 무엇보다도 기존 유인기에 비해 4D(Dull, Dirty, Dangerous, Deep) 임무 수행이 가능하고 인명 피해 부담이 없다는 것이 가장 큰 강점이다. 세계시장에서 주목받는 군용 무인기로는 미국의 글로벌 호크·프레데터·리퍼, 이스라엘의 헤론·헤르메스, 중국의 윙룽2호·차이훙-4(CH-4) 등이 있다[1517].

2.4.2 상업용 무인기 개발 동향

상업용 무인기 개발 현황을 살펴보면, 세계 상위 20개 업체 중에서 1위인 DJI 사를 포함한 중국의 6개 업체가 상위권에 자리하고 있다. 미국의 무인기시장은 전통적으로 대형 군수업체인 노스롭그루먼, 보잉, 록히드마틴 등이 산업을 주도해 왔으나 상업용 드론을 개발하는 3D 로보틱스가 개발 초기 오픈소스 기반의 플랫폼을 이용해 가격을 낮춤으로써 상업용 드론의 대중화에 기여했다.
Fig. 10.
Top 20 commercial drone producers(’17)
kimst-23-6-618f10.jpg

연구 설계 및 접근 방법

3.1 STANAG 4586 상세 분석

3.1.1 UAS 구성

UAS를 이루는 구성 요소를 크게 무인기 지상부(UAV Surface Component)와 무인기 공중부(UAV Air Component)로 나누며, 무인기 공중부는 다시 Air Vehicle Element와 Payload Element로, 무인기 지상부는 UA Control System(UCS) Element와 Launch and Recovery Element로 구분하였고 마지막으로 무인기 지상부와 공중부에 탑재되어 무선 상으로 연동 기능을 제공하는 Data link Element로 정의하고 있다.
Fig. 11.
Configuration of UAS
kimst-23-6-618f11.jpg

3.1.2 UCS 구성

여러 구성요소로 이루어지는 UAS 부체계간 상호운용성 확보를 위해 STANAG 4586에서는 아래 그림과 같이 Core UCS, VSM, DLI, AV, CCI, CCISM으로 구성된 논리적인 UCS 아키텍처 개념을 도입하였다. 주요 용어에 대한 설명은 다음과 같다[6].
Fig. 12.
UCS functional architecture
kimst-23-6-618f12.jpg

3.1.2.1 AV(Air Vehicle)

UCS의 제어에 따라 비행을 수행하며 이를 통해 획득한 임무장비의 임무데이터를 UCS로 송신하는 비행체를 의미한다.

3.1.2.2 CUCS(Core Unmanned Control System)

CUCS는 무인기를 운용할 수 있도록 사용자 인터페이스를 제공하는 장비이다. 자율화된 비행을 위한 임무계획 수립, 비행체/임무장비/데이터링크의 실시간 통제 및 모니터링을 수행한다.

3.1.2.3 DLI(DataLink Interface)

CUCS와 VSM 간의 표준화된 인터페이스를 정의한다.

3.1.2.4 VSM(Vehicle Specific Module)

상호운용성을 만족하기 위한 핵심모듈로 UAS에서 운용되는 비행체의 고유 통신프로토콜을 표준포맷으로 상호 변환하는 기능을 수행하여 상호연동을 가능케한다.

3.1.3 상호운용성 레벨(Level of Interoperability)

STANAG 4586에서는 UAS부체계간 상호운용성 수준을 정의하기 위하여 Level Of Interoperability(LOI)라는 개념을 제시하였으며, 5단계로 정의된 LOI의 각 수준 별 정의는 다음과 같다.
Table 2.
LOI definition
LOI 정의
5 이착륙 통제
4 비행체 통제 (이착륙 통제 제외)
3 임무장비 통제
2 임무장비 데이터 직접 수신
1 임무장비 데이터 간접 수신
이러한 5단계의 LOI 레벨 정의에서 알 수 있듯이, 상위 레벨이 하위 레벨을 반드시 포함하는 개념은 아니다. LOI Level 1∼3은 UA에 탑재된 임무 장비에 대한 연동 능력을 정의하며, Level 4∼5는 UA 자체에 대한 연동 능력을 제시하는 척도로서 서로 독립적인 개념으로 존재한다. 또한, 해당 UA에 복수의 임무 장비가 장착될 경우 각 장비 별로 LOI Level도 독립적으로 부여할 수 있다. 앞서 살펴본 것처럼 이러한 상호운용성 레벨을 보장해주는 기능은 VSM이 담당해야 할 부분이다[6].
NATO 창설 주관국인 미국은 이러한 NATO의 군용무인기 통합 운영 개념에 한 발 앞서 미 DoD 산하의 모든 유인-무인 시스템을 통합 운영하는 개념을 담은
DoD Unmanned Systems Integrated Roadmap FY2013–2038에서 그동안의 군용무인기가 감시정찰, 표적획득, 공격, 피해분석 등의 단독 임무 위주로 운영되어 왔다면 미래에는 팀워크 작전운영 중심으로 운영 개념을 바꾸어 나갈 것을 제시하고 있다. 아래 그림은 Roadmap에 나와 있는 유인-무인 시스템 통합 운영 개념이다[32].
Fig. 13.
MUMT road map of DOD
kimst-23-6-618f13.jpg
이렇듯 장래의 군용무인기 운영 개념은 시스템 운용의 효율성을 제고하기 위한 상호운용성을 가장 강조하고 있다[33].

3.1.4 STANAG 4586 메시지 그룹

STANAG 4586은 무인기 운용을 위한 표준 프로토콜을 제시하고 있으며 이를 위해 필요한 메시지와 세부 데이터 항목들을 정의하고 있다. 이러한 메시지들은 전반적인 무인기 운용에 공통적으로 요구되는 제어 및 상태 확인을 위한 공용 메시지(Generic Message)와 각 지상 통제 장비-비행체/임무장비 별 특성을 지원하기 위한 전용 메시지(Private Message)로 구분된다. 공용 메시지는 STANAG 4586을 준용하는 모든 UA 및 CUCS에서 처리되어야 할 최소한의 메시지 세트를 구성한다. 이에 반해 전용 메시지의 경우는 STANAG 4586에서 할당 가능한 메시지 번호(Message Number)만 정의하고 실제 메시지의 내용에 대해서는 각 UA에서 필요한 내용을 개별적으로 정의하여 사용하도록 설계되어 있으며, 해당 전용 메시지의 처리는 각 UA 별 VSM을 통해 이루어지게 된다. 아래그림은 STANAG 4586 Edition 4 Volume II 기준 메시지 분류를 나타내며 현재 27개의 그룹, 197개의 메시지가 정의되어 있다[6].
Table 3.
Message groupof STANAG 4586 protocol
No 메시지그룹명
1 System IDMessages
2 FlightVehicle Command Messages
3 FlightVehicle Status Messages
4 FlightVehicle Payload Relevant Messages
5 IFF CommandMessages
6 IFF StatusMessages
7 ATC Interface Command Messages
8 ATC Interface Status Messages
9 Vehicle Auxiliaiy Command Messages
10 Vehicle Auxiliaiy Status Messages
11 Mission Command and Status Messages
12 Subsystems Status Messages
13 Miscellaneous Message Types
14 Payload Command Messages
15 Payload Status Messages
16 Weapons Command Messages
17 Weapons Status Messages
18 Data LinkDiscovery Messages
19 Data Link Command Messages
20 Data Link Status Messages
21 Data Link Transition Messages
22 Autonomy Messages
23 General Pre-connection Configuration Messages
24 General Post-connection Configuration Messages
25 VSM Forced Command Messages
26 Draw Interface Messages
27 Vehicle and Payload Specific Message Formats

3.1.5 STANAG 4586 메시지 분석

27개 메시지 그룹에 포함된 주요 메시지별 기능은 아래와 같다
ID Name 기능
1 CUCS Authorisation Request 비행체/임무장비의 탐색Discovery) 및 연 결 (Connection)
2 VSM Authorisation Response 탐색 및 연결에 대한 비행체의 응답
3 Vehicle ID 연결된 비행체의 추가 정보 제공
2008 Engine Command 엔진,점화스위치 등의 전원 제어
2010 UA Stick Command 조종기를 통한 비행체 수동제어
2011 Area Transmission Command 영역 정의 및 영역 전송통제
2014 Emergency Mode Command 비상모드에 대한 정의
2016 Vehicle Operating Mode Command 비행모드 제어
2017 Loiter Configuration 점항법 비행을 위한 추가 선회 속성
3000 Vehicle Configuration 비행체 성능 특징
3001 Vehicle Operating Mode Report 비행조종 모드
3002 Vehicle Operating States 비행모드 통제 응답
3004 Loiter Configuration Report 선회 정보
5000 IFF/SSR Code Command IFF Mode 별 통제명령
6000 IFF/SSR Status Report IFF 모든 상태정보
11000 Vehicle Auxiliary Command 랜딩기어,Flap,Speed Brake
펼침 각도 통제
11001 Fuel, Oil, & Hydraulic Commands 각종 밸브 통제(연료, 엔진 오일,냉각수 등)
13000 Mission Transfer Command 임무계획 전송 제어
13001 UA Route 비행경로에 대한 정보
13002 UA Position Waypoint 항로점에 대한 정보
13003 UA Loiter Waypoint 특정 항로점의 선회 속성 정보
19001 Payload Steering Command 공통으로 사용되는 Payload 조종 명령
19100 EO/IR/Laser Payload Command EO/IR/Laser Payload 관련
명령
19200 SAR Payload Command SAR Payload 관련 명 령
28000 Data Link Control Request 데이터링크(VDT,CDT) Discovery 또는 Connection 요청
28001 Data Link Configuration/Assignment 데이터링크(VDT,CDT) Discovery 또는 Connection에
대한 응답
34000 Vehicle Data Link Transition Coordination 통제권 변경 명령
35000 Handover Status Report 통제권 이양 상태
36000 Activity Constraint 제 약조건 (Constraint) 만족 시 매핑되는 활동(Activity) ID 정의
40000 Field Configuration Request Configuration 요청

3.2 MAVLink 상세 분석

3.2.1 MAVLink 표준 분석

MAVLink 프로토콜은 무인기에서 공통적으로 사용하는 프로토콜을 Common.xml 파일에 정의하고 특정 무인기에서 사용하는 프로토콜은 제조사별로 xml 파일로 정의하여 사용하고 있다. 공통적으로 사용되는 Common.xml 파일은 아래 그림처럼 MAVLink Type Enumerations, MAVLink Commands, MAVLink Messages 세 그룹으로 나뉘어져 있으며 그중 MAVLink Messages 그룹에 있는 각 메시지들이 실제 연동프로토콜 내용이며, Type Enumerations과 Commands는 Messages 내부 특정 필드에 인코딩되어 전송된다.
Fig. 14.
MAVLink message overview
kimst-23-6-618f14.jpg

3.2.2 MAVLink 헤더 분석

MAVLink Version1.0 프로토콜의 헤더 포맷은 아래와 같다.
Fig. 15.
MAVLink 1.0 message format
kimst-23-6-618f15.jpg
No. Name Type 의미
1 STX uint 8 패킷 시작
2 LEN uint 8 데이터의 총 길이
3 SEQ uint 8 패킷 전송 시퀀스 정보
4 SYS uint 8 송신시스템 ID
5 COMP uin t8 송신컴포넌트 ID
6 MSG uint 8 메시지 번호
7 PAYLOAD byte 255 실제 데이터
8 Checksum uint 16 CRC 값
MAVLink Version2.0 프로토콜의 헤더 포맷은 아래와 같다.
Fig. 16.
MAVLink 2.0 message format
kimst-23-6-618f16.jpg
No. Name Type 의미
1 STX uint 8 패킷 시작
2 LEN uint 8 데이터의 총 길이
3 INC FLAGS uint 8 기능포함 플래그
4 CMP FLAGS uint 8 하위 호환성 플래그
5 SEQ uint 8 패킷 전송 시퀀스 정보
6 SYS ID uint 8 송신시스템 ID
7 COMP ID uint 8 송신컴포넌넌트 ID
8 MSG ID uint 24 메시지 번호
9 PAYLOAD byte 255 실제 데이터
10 Checksum uint 16 CRC 값
11 SIGNATURE byte 13 송신자의 서명

3.2.3 MAVLink 메시지 분석

MAVLink 2.0에 포함된 MAVLink Type Enumerations 주요 항목의 분석 결과는 아래와 같다.
No Name 기능
1 ADSB_ALTITUDE_TYPE ADSB 고도 타입 (QNH 기압고도,GPS고도)
2 ADSB_EMITTER_TYPE ADSB 신호를 방출하는 기체 구분
3 ADSB_FLAGS ADSB 데이터 유효성
4 CAMERA_CAP_FLAGS 카메라 제공 기능(비디오 촬영, 이미지 촬영,줌,포커스 등)
5 CAMERA_MODE 이미지모드,비디오모드, image survey 모드
6 ESTIMATOR_STATUS_FLAGS 항법추종에 대한 상세 상태 (X,Y,Z 측 추종 정상,에러 등)
7 FENCE_ACTION 펜스모드 동작방법 (복귀,임무 계속 수행, 이륙지점으로 복귀 등)
8 FENCE_BREACH 펜스모드 규칙
(최대고도,최소고도,영역 등)
9 FIRMWARE_VERSION_TYPE 펌웨어 버전 (개발버전,알파버전, 베타버전 등)
13 LANDING_TARGET_TYPE 랜딩목표 유형 (레이더 비콘,기준마커 등)
14 MAV_ARM_AUTH_DENIED_REASON 항로점 오류,타임아웃,기상 나쁨,공역 중복사용 등
15 MAV_AUTOPILOT 자동비행 알고리즘 (Ardupilot mega,PX4, FP,PPZ 등)
19 MAV_CMD_ACK 통제 명령에 대한 ACK (정상,오류,거절,지원 등)
20 MAV_COLLISION_ACTION 충돌회피를 위한 동작 (충돌가능성 보고,하강 또는 상승,수평이동,RTB, 호버링 등)
21 MAV_COLLISION_SRC 충돌판단 근거 (ADSB,GPS)
27 MAV_ESTIMATOR_TYPE 항법추종 타입
(NAIVE,VISION,Visual-inertial estimate,GPS,GPS/1NS)
30 MAV_LANDED_STATE 착륙상태
(랜딩,공중,이륙 중,착륙 중)
31 MAV MISSION RESULT 임무명령에 대한 결과 (승인,거절,미 지원)
32 MAV_MISSION_TYPE 미션 종류(미션,지오펜스, 랠리포인트,전체)
33 MAV_MODE 비행조종모드(대기,안정화 완료, 수동조종 대기,자동조종 대기)
39 MAV_POWER_STATUS 전원계통 상태(서보 전원,USB 연결,과전압,과전류)
41 MAV_RESULT 통제명령에 대한 결과 (승인,일시거절,거절,미지원, 오류,진행중)
44 MAV_SEVERITY 비행체 심각도 상태 (긴급,치명,오류,경고,알림, 정보,디버그 등)
45 MAV_STATE 비행체 상태(부팅 중,대기, 긴급,활성 등)
46 MAV_SYS_STATUS_SENSOR 비행체 센서 상태(자이로, 가속도,압력계,GPS등)
59 SET_ZOOM_TYPE 카메라 줌 타입 (단계 줌,연속 줌,범위 줌)
60 UAVCAN_NODE_HEALTH 통신 상태
(정상,경고,에러,위험)
63 UTM_FLIGHT_STATE 비행상태(지상,공중,비상 비행상태,활성컨트롤 없음)
MAVLink 2.0에 포함된 MAVLink Commands 주요 항목의 분석 결과는 아래와 같다.
No Name 기능
67 MAV_CMD_NAV_WAYPOINT (16) Hold 타임 지정 선회, (선회반경,선회방향, 헤딩방향,위도,경도,고도)
71 MAV_CMD_NAV_RETURN_TO_LAUNCH (20) 이륙지 점으로 복귀
72 MAV_CMD_NAV_LAND (21) 착륙명령(정밀 착륙 모드, 헤딩방향,위도,경도,고도)
73 MAV_CMD_NAV_TAKEOFF (22) 이륙명령(이륙시 피치각도, 헤딩 방향,위도,경도 고도)
76 MAV_CMD_NAV_FOLLOW (25) 추적 모드
(모드, 지상속도, 반경, 헤딩방향,위도,경도,고도)
83 MAV_CMD_NAV_PATHPLANNING (81) 항로점 경로제어
98 MAV_CMD_DO_CHANGE_SPEED (178) 속도 변경
(속도유형,속도,쓰로를)
105 MAV_CMD_DO_FLIGHTTERMINATION (185) 즉시 비행종료
111 MAV_CMD_DO_PAUSE_CONTINUE (193) 현재위치 호버 링 또는 임 무 재 개(일시 중지/재 개)
112 MAV_CMD_DO_SET_REVERSE (194) 이동방향을 정방향 또는 역방향으로 설정 (정방향/역방향)
116 MAV_CMD_DO_CONTROL_VIDEO (200) 카메라 제어(카메라 ID, 전송,전송모드 제어)
123 MAV_CMD_DO_FENCE_ENABLE (207) 지오 펜스를 활성화하는 미션 명령
(미 사용/사용/사용불가능)
128 MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL (214) 시간 기준으로 카메라를 활성화 하는 명령(카메라 트리거 시간,셔터 시간)
146 MAV_CMD_SET_MESSAGE_INTERVAL (511) 특정 MAVLink 메시지 ID에 대한 메시지 간 간격 설정
149 MAV_CMD_REQUEST_CAMERA_INFORMATION (521) 카메라 정보 요청
179 MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION (5001) 다각형 공역 설정(다각형 정점 수, 위도, 경도)
183 MAV_CMD_NAV_RALLY_POINT (5100) 랠리포인트 (위도, 경도, 고도)
187 MAV_CMD_WAYPOINT_USER_1 (31000) 사용자 정의 항로점 목록 (위도, 경도, 고도)
192 MAV_CMD_SPATIAL_USER_1 (31005) ROI item 과 같은 사용자
정의 항목(위도,경도,고도)
MAVLink 2.0에 포함된 MAVLink Messages의 분석 결과는 아래와 같다.
kimst-23-6-618f21.jpg

3.3 STANAG 4586 vs MAVLink

STANAG 4586과 MAVLink의 각 프로토콜에서 포함하는 모든 메시지의 상세 분석 결과를 토대로 약 40여 가지 기준으로 메시지를 분류하여 비교/분석 하였다.

3.3.1 프로토콜 개발 목적

STANAG 4586 MAVLink
• 다양한 기종의 무인항공기 상호운용을 위한 아키텍 처' 연동프로토콜' 연동절 차' 구현 가이드라인' 시험 가이드라인 등을 정의
• 군사용으로 사용되는 거의 모든 고정익형 무인기 제 어를 위해 사용되는 프로 토콜 표준화[34,35]
• 다양한 기종의 소형 무인 항공기 통제를 위해 지상 통제장치와 비행체간 연 동프로토콜 정의
• 민간용으로 사용되는 소 형 무인항공기(드론)제어 를 위해 사용되는 프로토 콜 표준화

3.3.2 통제대상

STANAG 4586 MAVLink
• 대상 비행체: 군사용 무인항공기(정찰기' 공 격기' 수송기' 통신중계 기 등)
• 추진동력: 엔진
• 운용시간: OO 시간
• 운용반경: OOO km
• 통제방법: 가시선 또 는 위성 데이터링크를 이용한 원격 통제
• 임무장비: EO/IR SAR' Weapon 등
• 대상 비행체: 수십 kg 이내 의 회전익 무인항공기' 민간 용 무인항공기(레저용' 농업 용' 산업용 등)
• 추진동력: 모터
• 운용시간: 보통 1시간 이내
• 운용반경: 보통 O km 이내
• 통제방법: 원격조종기를 이 용한 수동통제' 무선데이터 링크를 이용한 원격 통제
• 임무장비: 카메라' 화물운송

3.3.3 주요임무

STANAG 4586 MAVLink
[군용무인기 임무][36] [산업용무인기 임무][37]
• 정보수집 임무 • 농업(비료' 농약살포' 병중해 관측' 작황 관측' 농경지/농작물관리' 파종/방제)
• 정찰 임무  
• 기만 임무  
• 공격 임무 •콘텐츠제작
• 자폭 임무 • 측량/탐사
• 기동 저지 임무 • 건축/토목
• 화생방 임무 • 점검
• 조명 지원 임무 • 소방
• 연막 투하 임무 • 수송(구호물품 수송)
• 폭탄 투하 임무 • 경찰(교통단속' 실종자 수색)[38]
• 지뢰 탐지 임무  
• 통신 중계 임무 • 환경(녹조모니터링' 생태계 조사)
• 화물운송 임무  
• 전자전 임무 • 기상예보지원[39]
• 전투피해평가 임무  
• 국경 감시 임무  

3.3.4 통제장비 특징

kimst-23-6-618f22.jpg

3.3.5 표준화 단체

STANAG 4586 MAVLink
• NATO Industrial Advisory Group(NIAG) Study Group 73 • Dronecode Project, Inc. (Microsoft, 3DR, 퀄컴, NXP, SONY 등 30개 기업체)
• Joint Capability Group
UAS(JCGUAS) Specialist Team(ST)
 

3.3.6 표준화 특징

STANAG 4586 MAVLink
• 표준화단체에서 연동프로 토콜 표준만 정의
• 연동프로토콜이 구현된 라이브러리를 상용으로 판매하는 소수 업체 존재
• 표준화단체에서 연동프로 토콜 뿐만 아니라 프로토 콜이 적용된 지상통제장 비,Autopilot 기능이 포함 된 FCC(PX4 Autopilot),연 동프로토콜이 구현된 라 이브러리 (MAVLink SDK) 를 오픈소스로 배포

3.3.7 메시지 구조

STANAG 4586 MAVLink
• 헤더 (16 Byte) • Version 1.0 • Version 2.0
• 데이터 − 헤더 (6 Byte) − 헤더 (12 Byte)
(∼65535 Byte) − 데이터 − 데이터
• 체크섬 (∼255 Byte) (∼253 Byte)
(2 or 4 Byte) − 체크섬 − 체크섬 (2 Byte)
  (2 Byte) − 서명 (13 Byte)

3.3.8 헤더 구조

STANAG 4586 MAVLink (Byte)
• 미사용 (2) • Version 1.0 • Version 2.0
• 메시지 길이 (2) − 시작바이트(1) − 시작바이트(1)
• 송신장치 ID (4) − 메시지 길이 (1) − 메시지 길이(1)
    − incompat flags(1)
• 수신장치 ID (4) − 메시지 − compat flags(1)
  시퀀스 (1) − 메시지 시퀀스(1)
• 메시지 ID(2) − 송신장치 − 송신장치 시스템
• 메시지 속성 (2) 시스템 ID(1) ID(1)
  − 송신장치 컴포넌트 ID − 송신장치 컴포넌트 ID(1)
  (1) − 메시지 ID(3)
  − 메시지 ID(1) − 수신장치 시스템 ID(1)
    − 수신장치 컴포넌트 ID(1)

3.3.9 헤더 특징

STANAG 4586 MAVLink
• 헤더에
송/수신장치 ID 포함
• 헤더에 수신장치 ID 미포함
- 모든 통제명령 메시지에 수신장치
ID 필드 포함
- 모든 상태 메시지는 수신장치 ID 필드 미포함
• 헤더에 송/수신장치 ID 포함
• 헤더 크기 – 16 Byte • 헤더 크기 – 6 Byte • 헤더 크기 – 12 Byte
• 인코딩 방법 – 빅엔디안 • 인코딩 방법 – 리틀엔디안 • 인코딩 방법 – 리틀엔디안
• 체크섬길이
– 0/2/4 Byte 마변)
• 체크섬방법
– Addition, CRC-32(가변)
• 체크섬길이
– 2 Byte
• 체크섬방법
- X.25 CRC 사용
• 체크섬길이
– 2 Byte
• 체크섬방법
– X25 CRC
사용
• 메시지 최대
크기
– 65,535 Byte
• 메시지 최대
크기
– 255 Byte
• 메시지 최대
크기
– 253 Byte
• 정의 가능한 메시지 개수 – 65,535개 • 정의 가능한 메시지 개수 – 255개 • 정의 가능한 메시지 개수 – 16,777,216개
• 전송시간 확인 – 메시지에 TimeStamp 를
통해 ms 단위의 시간 확인 가능
• 일부 메시지에만 TimeStamp 필드
포함
• 일부 메시지에만 TimeStamp
필드 포함

3.3.10 시스템 식별

kimst-23-6-618f23.jpg

3.3.11 통제장비와 비행체간 인증

STANAG 4586 MAVLink
1. 통제장비와 비행체는 미리 약속된 시스템 ID 설정 1. 통제장비와 비행체는 미 리 약속된 암호화 Key 리스트 공유
2. 통제장비에서
비행체 (VSM) 에게 제어권 요청 메시지 전송
2. 통제장비에서 비행체로 제어권한 메시지(제어권 한,특정 Key) 전송
3. 비행체(VSM)는 사전 협 의된 통제장비 ID 에 한해 제어권 승인 3. 비행체는 제어권한 메시 지를 수신하여 Key 리스 트에서 값을 확인하여 제어권 승인
− 비행체 및 임무장비 별도 로 제어권 요청 가능,즉 복수 통제장비가 하나의 비행체를 부체계별로 나 뉘어 복수통제 가능(아래 그림 참조) − 통제장비와 비행체간 인 증을 위해 간단한 메시 지 구조를 취하고 있으 며,Key 값을 전송하는 과정에서도 복잡한 Key 연동 알고리즘을 사용하 지 않기 때문에 기본적 으로 암호화된 링크 기 반으로 운용하는 것을 권장(아래 그림 참조)

3.3.12 제어권 핸드오버

kimst-23-6-618f24.jpg

3.3.13 비행제어 파라미터 설정

STANAG 4586 MAVLink
• 없음 1. 통제장비는 비행체에서 사용하는 파 라미터 조회 요청
2. 비행체는 현재 사용하는 파라미터를 통제장비로 전송
3. 통제장비는 파라미터 확인 후 수정 필요시 파라미터 ID 및 파라미터 값 을 전송하여 비행제어 파라미터 업 데이트 수행
- 상세 비행제어 파라미터 예시 아래
그림참조

3.3.14 비행종료 통제

STANAG 4586 MAVLink
• 비행종료 명령 이후 수행해야할 대처방안을 사전 정의하여 비행 종료 가능(Ex. 비행 종료 시 남아 있는 연료를 다 버리고 특정 위 치에 추락) • 현재 위치에서 즉 시 비행종료.(회전 익형 소형드론의 경우 모터 회전이 멈추는 즉시 제자 리에 추락)
− 고정익 항공기는 엔진 정지이후 에도 일정 속도 이상에서는 활 강이 가능하므로,활강하여 이동 가능한 지점을 선택하여 비행종 료(추락) 가능.[33]  

3.3.15 제로라이즈

STANAG 4586 MAVLink
• 제로라이즈(Zeroize)는 유사시 적에 게 중요한 정보가 넘어가지 않도록 비행체에 탑재된 중요 임무정보를 파기 및 삭제하는 명령으로 제로라 이즈 명령을 통해 수행 가능 • 없음

3.3.16 수동 비행통제

kimst-23-6-618f25.jpg

3.3.17 운용개념 추가정의

STANAG 4586 MAVLink
• 현재 STANAG 표준의 공통메시지에 존재 하지 않지만,비행체의 특정 장치를 추가 적으로 제어하기 위해 사용되는 매커니즘 제공  
1. 비행체는 공통메시지에 포함되지 않은 비행체 특정 명령에 대한 정보(제어 방법 (ON,OFF,Scale),제어 ID,제어 명칭 등) 를 통제장비에 제공 • 없음
2. 통제장비는 비행체 특정 제어정보를 수 신하여 제어명령을 전송하는 UI 화면을 동적으로 생성하여 비행체 통제  

3.3.18 비행체 특성 동기화

STANAG 4586 MAVLink
• 통제장비가 비행체 고유의 성능 정보를 가지고 있지 않더라도 비 행체가 자신의 성능정보를 통제 장비에 전송하는 매커니즘 제공 (Configuration) • 성능 동기화 수단 은 제공하지 않고 오토파일럿 버전 및 지원기능에 대 한 정보만 제공
1. 통제장비에서 LOI 레벨에 따른 비행체 성능특징 정보 요청 − MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES 메시지를 통해 Autopilot 버전 조회
2. 비행체는 요청된 LOI 레벨에 따
라 비행체 성능 정보를 통제장 비로 전송
 
3. 통제장비는 수신된 성능정보를 바탕으로 동적으로 UI 화면을 생성하여 비행체 성능정보 반영 − AUTOPILOT_VERSION을 통해
오토파일럿에서 지원하는 기능 공유
− 정상 Min/Max 범위,Warning Min/Max 범위 정보 제공  
− 총 연료량,총 배터리량,최고속 도,최대 중력가속도,각종 센서 정보등 등 53개 메시지 169개 필드 해당  
− Configuration에서 지원하는 메시 지에 대한 리스트 제공(#삼003)  

3.3.19 비행제어 소프트웨어버전 전송

STANAG 4586 MAVLink
• 없음 • MAVLink 프로토콜 버전 호환성 요청
- 통제장비는 MAV_CMD_REQUEST_PROTOCOL_VERSION 메시지를 전송하여 현재 버전 요청
- 비행체는 PROTOCOL_VERSION 메시지로 호환 가능한 프로토콜 버전 회신

3.3.20 임무계획 구성

STANAG 4586 MAVLink
• 항로점 계획
• 비행경로 계획
• 공역/제한구역
• 지형정보
• 항로점 계획
• 비행경로 계획
• 공역/제한구역
• 지형정보
• 임무장비 임무계획
• 비상모드 계획
• 기상정보
• 리턴홈 위치
• 렐리포인트 위치

3.3.21 항로점 구성

kimst-23-6-618f26.jpg

3.3.22 임무장비 임무계획

STANAG 4586 MAVLink
• 특정 항로점에서의 임무 장비 ON/OFF,임무장비 모드변경,IFF 통제,데이 터기록장치 통제 등의 임 의의 임무계획 수립 가능 • 특정 항로점 도달 후 시 간 딜레이 또는 거리 이 격조건 설정을 통해 임무 계획 수립 가능

3.3.23 비상계획

STANAG 4586 MAVLink
• 통제장비에서 비상상황에 대한 정의(ex,엔진 고장,데이터링크 두절 등) 및 비상상황 발생 시 대처계획(ex,임의 항로점으로 비행,링크 회복 절차 수행 등)을 비행체에 전송
• 비행체는 비상상황에 대한 정의 및 비상상황 에 대한 대처계획 메시지 저장
• 비행체는 매 시간 비상상황을 판단하여 비상 상황 발생 시 비상상황 대처계획에 따라 자 동비행
- 비상계획 계획은 임무 중에도 실시간 변경 가능
- 모든 통제명령은 즉시 수행할 수도 있지만, 특정 조건 발생시 수행할 수 있도록 각 통제 명령에 대한 ID를 부여하고 임무계획 단계에 서 전송하여 링크두절시 해야 하는 행위 설 정 가능
• 없음

3.3.24 공역/제한구역

STANAG 4586 MAVLink
• 비행 가능구역(공역) 정의 가능 • 비행 가능구역(공역) 정의 가능
• 비행 불가능구역(제한구 역) 정의 가능 • 비행 불가능구역(제한구 역) 정의 가능

3.3.25 기상정보

STANAG 4586 MAVLink
• 임의의 위치의 현재 기상 정보를 비행체에 전송하 여 비행제어 로직에 활용 • 없음
(MAV_ARM_AUTH_DENIED_REASON을 통해
기상이 좋지 않을 때 통제 명령에 대한 거부 이유 전 송 가능)

3.3.26 지형정보

STANAG 4586 MAVLink
• 통제장비에서 비행체로 지형고도정보업로드 가능 • 통제장비에서 비행체로 지형고도정보 (DTED) 업로드 가능
• 비행체에 저장된 데이 터 검증 방법 미제공 • 비행체에 저장된 데이터 검 증 방법 제공(지형고도정보 업로드 이후 비행체에 저장 된 데이터 확인을 위해 임 의지점에 대한 고도값 요청 및 확인 메시지 제공)

3.3.27 임무계획 연동

STANAG 4586 MAVLink
• 임무계획 전체 전송,임무계획 부 분 전송,임무계획 부분 삭제,임무 계획 전체 삭제,임무계획 조회
• 임무계획 실시간 수정 가능
• 임무계획 전체 전송, 임무계획 전체 삭제, 임무 계획 조회

3.3.28 경고 및 알림

STANAG 4586 MAVLink
• 비행체가 현재 비행상태를 진단하여 통제 장비 로 WCA(Warning, Caution, Advisory) 정보를 스트링 형태로 전송 • 없음

3.3.29 비행체 계통 통제

STANAG 4586 MAVLink
• 비행체 주요 장치
- 엔진,엔진제어장치, ADS,GNSS,IMU,
RALT,Actuator,Landing Gear,연료제어장치, Compass,IFF,FLIR, RADIO, FDR,관제등, DataLink 등
• 비행체 주요장치
- 모터,서보,배터리,LED
• 비행체 주요 통제명령
- 비행모드 제어,비행체 위치 제어,비행체 자세 제어, 관제등 제어, 엔진 제어,선회 제어 등
• 비행체 주요 통제명령
- RTCM 보정 데이터,RTK 보정 데이터, 하드웨어 릴레이 제어, 서보모터 제어,관심영역 설정,센 서 보정,로깅데이터 스 트리밍 시작/종료,랜딩 기어 제어,VTOL 전환, 무기승인 등

3.3.30 자율임무 통제

STANAG 4586 MAVLink
• 비행체가 자율적으로 비행하기 위한 사전 알고리즘 정의가능
1. 통제장비에서 제약조건 만족시 활성화되는 자율임무를 정의하여 비행체로 전송
2. 비행체는 제약조건 및 자율임무 수신 및 저장
3. 비행체는 저장된 제약조건 만족 여부 모니 터링하여 제약조건 만족 시 자율임무 수행
• 없음

3.3.31 비행모드

STANAG 4586 MAVLink
• 수동 비행통제 • 수동/자동 비행통제
• 자동 비행통제 − Acro
− Waypoint − Alt Hold
− Loiter − Auto
− Autopilot − AutoTune
− Terrain Avoidance − Brake
− NavAid − Circle
− Autoland − Drift
− Autoland Wave-off − Flip
− Launch − FlowHold
− Slave to Sensor − Follow
− Fly Contingency A − Guided
− Fly Contingency B − Land
− Slave to Location − Loiter
  − PosHold
  − RTL
  − Simple/Super Simple
  − SmartRTL
  − Stabilize
  − Sport
  − Throw
  − ZigZag

3.3.32 비행상태

STANAG 4586 MAVLink
• 비행모드,비행체 위치, 비행체 자세,엔진상태, 연료량,오일량,배터리 량,현재항로점 정보, 다음 항로점 정보,IFF 상태, 무전기 상태, GPS 수신 상태,선회 중일때의 선회정보 • GPS 데이터,비행체 자세, 기압정보,비행체 위치,서보 출력,항법오차,HUD 표시 정보, 배터리 상태, 비행체상 태 요약정보 제공(위성통신 과 같이 높은 지연을 고려), ADSB,잠재적 충돌에 대한 정보, 선회중일때의 선회정 보,고도정보(모든 고도정보
포함)

3.3.33 임무장비 상태

STANAG 4586 MAVLink
• EO/IR, 레이저,SAR, 공격,FDR, 통신중계 • 카메라 상태
- 카메라 종합적인 정보,카메라 캡쳐 상태,캡쳐 이미지 메타정보,김발정 보, 카메라로부터 측정된 위치값
• LDRF 거리정보,Optical flow 센서, FDR,모션캡쳐 센서

3.3.34 임무장비 통제

STANAG 4586 MAVLink
• EO/IR,
레이저, SAR, 공격, FDR, 통신중계
• 카메라 통제
- 카메라 전송모드 제어,카메라 김발 제어,시간 기준으로 촬영,거리 기준 으로 카메라 촬영,저장데이터 포맷, 카메라 공장 초기화,카메라 줌/초점/ 노출 제어,누락 패킷 재전송 요청, 이미지 연속 촬영,비디오 촬영 시작/ 종료,비디오 스트리밍 시작/종료,파 노라마 촬영
• 수송장치 통제
- 페이로드 배포 명령

3.3.35 기타 특징

구분 STANAG 4586 MAVLink
Ping
테스트
• 없음 • Ping 요청 및 응답
가능
파일
전송
• FTP 파일 전송 가능 • FTP 파일 전송 가능
전송
주기
제어
• 특정 메시지에 대한 전송주기 강제 조절 가능
• 특정 메시지의 전송 주기 회신 불가
• 특정 메시지에 대한 전송주기 강제 조절 가능
• 특정 메시지의 전송 주기 회신 가능
ACK • 하나의 ACK 메시지 를 통해 현재 수신된 메시지 ID에 대한 간 략한 처리 상태 전송 • 통제명령별로 구분된 ACK 메시지를 사용 (총 8개)하여 상세 사 유가 포함된 처리상 태 전송
디버깅 • 없음 • 디버깅을 위한 스트 링 출력 가능

서비스
• 비행체 특정 상태에 대한 UI 제공을 위해 비행체에서 웹서비스 를 통한 웹페이지 제
• 없음

개선사항 도출

STANAG 4586과 MAVLink 프로토콜의 상세 메시지 분석 결과 아래 표와 같이 41개의 항목을 비교/분석하여 항목별로 개선사항을 도출하였으며, 본 연구에서는 특히 두 프로토콜에서 발견되지 않는 곡선형 비행경로 계획에 대한 개선사항을 상세히 연구하였다.

4.1 프로토콜 개선사항 요약


Ы Ξ중분류 STANAG
4586
MAVLink 개선사항
1 목적 군용 무인기 상호운용성 증대 민간/산업용
무인기
상호운용성
증대
2 통제대상
비행체
군용
무인항공기
민간/
산업용
무인항공기
3 비행체
주요임무
정보수집, 정찰,공격 농업,
콘텐츠제작, 측량/탐사, 건축/토목, 시설물 점검
4 비행체
특징
10시간
이상 운용
1시간 미만
운용
5 통제장비
특징
주로
웰터형태의 통제장비에 서 운용
휴대 가능한 통제장비에 서 운용
6 표준화
단체
NATO Dronecode Project,Inc.
7 표준화
특징
표준문서만 정의 표준문서 및 오픈소스
배포
8 메시지
구조
헤더 + 데이터 + 체크섬 헤더 + 데이터 + 체크섬
9 헤더
특징
16바이트, 빅엔디안
전송
6 또는 12 바이트, 리틀엔디안
전송
STANAG 4586, MAVLink:
빅엔디안, 리틀엔디안 선택 전송 필요
10 시스템 식 별 헤더에 포함된 송/수신 장치 ID 로 확인 헤더에 포함된 송/수신 장치 ID 로 확인
11 시스템
ID
기식별된 ID 제외
사용필요
아무 ID 나 사용 가능
12 인증 미리 약속된 시스템 ID 활용
동시통제
가능
미리 약속된 암호화 키 리스트
활용,
동시통제
불가
STANAG 4586, MAVLink:
인증과정의 보안성이 취 약하므로 보안성이 강화된 인증절차 필요
13 하위
호환성
없음 있음
14 제어권
핸드오버
가능 불가능 MAVLink:
제어권 핸드오버 기능 필요
15 파라미터 설정 불가능 가능 STANAG 4586:
파라미터 설정 기능 필요
16 비행종료 통제 가능 불가능 MAVLink:
비행종료 통제기능 필요
17 제로 라이즈 가능 불가능 MAVLink:
제로라이즈 기능 필요
18 수동
비행통제
가능 가능
19 운용개념 추가 정의 가능 불가능 MAVLink:
운용개념 추가 정의 기능 필요
20 비행체
성능
동기화
가능 불가능 MAVLink:
비행체 성능 동기화 기능 필요
21 소프 트
웨어
버전전송
불가능 가능 STANAG 4586:
소프트웨어 버전 전송 기능 필요
22 직선
비행경로
계획
가능 가능
23 곡선
비행경로
계획
불가능 불가능 STANAG 4586, MAVLink:
곡선형
비행경로계획 수립을 위한 방안 필요
24 임무장비 임무계획 가능 가능
25 임무계획
부분
수정
가능 불가능 MAVLink:
항로점에 다음 항로점 정보 필요
26 비상계획 가능 불가능 MAVLink:
비상계획 기능 필요
27 영역
정의
가능 가능
28 기상정보
전송
가능 불가능 MAVLink:
기상정보 전송 기능 필요
29 지형정보 전송 가능 가능
30 경고 및 알림 가능 불가능 MAVLink:
경고 및 알림 기능 필요
31 비행체
계통
통제
가능 가능
32 자율임무 통제 가능 불가능 MAVLink:
자율임무 통제 기능 필요
33 수동비행
통제
가능 가능
34 자동비행
통제
가능 가능
35 비행상태 연동 가능 가능
36 임무장비
상태
연동
가능 가능
37 임무장비
통제
가능 가능
38 Ping
테스트
불가능 가능 STANAG 4586:
Ping 테스트 기능 필요
39 파일전송 가능 가능
40 전송주기 제어 가능 가능
41 웹서비스
기능
가능 불가능 MAVLink:
웹서비스 기능 필요

4.2 비행경로계획 개선사항

4.2.1 곡선형 비행경로계획

STANAG 4586은 NATO 회원국간 상호 운용이 가능한 무기체계 개발을 위해 무인기(UAV)와 지상통제시스템(GCS)간 연동 인터페이스를 정의한 문서로 많은 국가에서 무인기 개발 시 참고하는 표준이며 MAVLink 또한 민간에서 사용하는 사실상의 표준이지만 두 표준 모두 무인기에 대한 비행경로 계획시 직선형 경로만을 포함하고 있어 운용자가 원하는 형태의 다양한 곡선형 비행경로를 작성할 수 없는 단점이 있다. 아주 짧은 구간의 직선형 항로점을 이어붙이는 방법으로 곡선형 비행계획을 수립 할 수 있으나 이러한 비행경로 계획은 정확한 곡선을 표현하지 못할 뿐 아니라 비행계획 업로드를 위해 많은 데이터가 낭비되었다. STANAG 4586의 이러한 비행경로 계획의 문제점을 해결하기 위해 비행경로계획에 사용되는 Generic Message 에 곡선형 비행경로 계획을 위해 필요한 Private Msg 를 추가하여 곡선형 비행경로를 작성하는 방안에 대해 제안한다.
무인기 운용에서 중요한 요소 중 하나는 비행경로계획(flight path planning)이다. 비행경로계획이란 현재 위치로부터 목적지에 도달하는 과정에서 걸리는 시간이나 거리, 연료소모율 등을 고려하여 효과적인 이동 경로를 사전에 계획하는 것이다. 효과적인 비행경로계획을 작성하기 위해서는 원하는 형태의 다양한 비행경로를 작성할 수 있어야 한다. 그러나 STANAG 4586 은 직선형 항로점들의 조합만 존재 할 뿐 곡선형 비행경로를 작성할 수 없기 때문에 운용자가 곡선형 비행경로를 작성하는 것이 불가능하다. 요즘 민/군에서 사용되는 무인기는 수 kg에서 수천 kg 까지 다양한 형태로 개발되고 있으며 원하는 형태의 단독임무를 위한 곡선비행 및 군집비행 등을 위해서도 곡선형 비행경로 작성은 반드시 필요한 상황이다.
STANAG 4586 Ed4 기준의 Message #13002(UA Position Waypoint) 의 내용을 살펴보면 표준서에서 비행경로를 작성하는 방법은 Pig. 1과 같이 현재 항로점 – 다음 항로점의 조합으로 이루어지는 일반 비행경로(파랑 점선)와 현재 항로점 – 루프항로점의 조합으로 이루어지는 순환경로(녹색실선)으로 구성된다.
#13003 메시지에는 특정 항로점에서 선회 가능한 다양한 형태(원 선회, 장주선회, 8자선회)와 각 선회 형태에 따른 선회속성(선회 반경, 선회길이, 선회 각도)이 존재하며 #13002, #13003 메시지를 통해 비행경로 와 비행경로에서 취해지는 선회 형태를 결정하게 된다. 그러나 만약 운용자가 아래그림처럼 블랙이글스의 군집비행형태의 임무계획을 작성하고자 하거나 드론레이싱을 자동으로 수행하는 임무계획을 작성하고자 한다면 STANAG 4586 표준으로는 불가능한 상태이다.
Fig. 17.
Waypoint information
kimst-23-6-618f17.jpg
Fig. 18.
Spline flight route
kimst-23-6-618f18.jpg

4.2.2 곡선을 표현하는 Spline 함수

곡선을 표현하는 대표적인 스플라인 함수는 LINEAR SPLINE, CARDINAL SPLINE, B-SPLINE, BEZIER CURVE, NURBS 등이 있다. 본 논문에서는 여러 스플라인 함수 중에서 국부제어가 가능하며 원하는 형태의 곡선을 생성 할 수 있는 cubic bezier curve(3차 베지에 곡선)를 선택하였다. 국부제어란 현재 항로선을 수정하더라도 다른 항로선에는 영향을 미치지 않는 것을 의미한다.
본 논문에 적용한 cubic bezier curve의 수식 및 개념은 다음과 같다.

4.2.3 STANAG 4586에 곡선경로를 포함하는 방안

No Field Name Type Unit Remark
1 Time Stamp double ms 모든 항로점공통항목
2 Vehicle ID I4 None
3 CUCS ID I4 None
4 P1_Waypoint No U2 None
5 P4_Waypoint No U2 None
6 P2_Latitude double rad 곡선
비행경로를위해 추가된
필드
7 P2_Longitude double rad
8 P3_Latitude double rad
9 P3_Longitude double rad
곡선비행경로가 포함된 항로점에 대해 Private Msg 를 아래 그림과 같은 형태로 정의하였다. 원래 항로점 P1, P4는 #13002 메시지를 통해 위치 확인이 가능하므로 곡선형 비행경로가 포함된 P1, P4 좌표에 P2, P3 좌표만 추가해 준다면 곡선형 경로 계획을 작성할 수 있으므로 아래와 같은 Private Msg를 정의하였다.

효과 분석 및 결과

용인에버랜드 스피드웨이의 일부 구간을 직선형 경로와 곡선형 경로를 사용하여 비교해보았다. 직선형 경로의 경우 20개의 항로점을 사용하였음에도 불구하고 곡선을 충분히 표현해 주지 못하였으나 제안하는 알고리즘을 사용하면 9개의 항로점 만으로도 원하는 형태의 곡선경로와 완벽히 일치하는 경로를 생성 할 수 있음을 확인할 수 있었다. 아래의 그림의 우측편이 곡선형 경로를 사용한 경우이며 초록색이 실제 곡선 형 경로이고 빨강색 직선 라인은 보조점 P2, P3를 나타내는 지점이다.
Fig. 19.
Straight flight path VS curve flight path
kimst-23-6-618f19.jpg
제안하는 알고리즘을 사용하여 표현 가능한 다양한 형태의 곡선형 비행경로는 아래 그림과 같다. 2개의 항로점과 2개의 보조점을 활용하면 어떠한 곡선형 비행경로라도 표현할 수 있음을 입증하였다.
Fig. 20.
Various curve flight paths
kimst-23-6-618f20.jpg

결론 및 향후 연구

본 연구내용은 국/내외 어떤 논문에서도 프로토콜 전체 내용을 대상으로 상세 비교연구를 수행한 적이 없었기에 민/군 무인항공기 상호운용성을 향상시키기 위한 최초의 연구이다.
STANAG 4586표준과 MAVLink 프로토콜의 모든 특징을 분석/분류하여 두 프로토콜의 상호 보완적인 요소를 식별하고 중요한 개념에 대해서는 추가적인 설계를 진행하였다. 또한 두 프로토콜에서 공통적으로 발견되는 비행경로 계획의 개선사항을 식별하여 곡선형 비행경로계획을 추가하는 방안에 대해 제안하였다. 곡선을 표현하기 위해 필요한 추가적인 메시지를 정의함에 있어 최소한의 데이터 추가만으로 운용자가 원하는 완벽한 형태의 곡선형 비행경로를 추가하는 방안을 제안하였고, 실제 프로그램 구현을 통해 입증하였다. 무인 이동체를 통제하기 위해 다양한 프로토콜이 개발되고 있는 현 시점에서 프로토콜 간의 차이점을 식별하여 상호 보완적인 요소를 찾아 보완 설계를 진행하고 프로토콜을 업데이트 한다면 결국 상호운용이 가능한 단일화된 프로토콜을 개발하는 초석이 될 것이라 생각한다.
향후 무인항공기를 통제하는 프로토콜에서 벗어나 무인수상정, 무인잠수정, 무인지상차량 등으로 프로토콜을 확대하여 모든 무인 이동체 통제를 위해 최적화된 프로토콜 개발을 위한 추가 연구가 필요하다.

후 기

본 논문은 “무인항공기체계 지상통제 공통 소프트웨어 기술” 과제 설계결과를 기반으로 작성되었음.

References

[1] KATS. "UAV Industry Outlook and Standardization Trend," KATS Technical Report – 89, 2016.

[2] Hui-Min. "Autonomy Levels For Unmanned Systems (ALFUS) Framework," NIST Spec. Publ. 1011-1-2.0, 2007.

[3] KATS. "Drone Technical Regulation Guide 2," 2018-2, 2018.

[4] ETRI. R&D Trends in Network-Based Control and Non-payload Communication for Unmanned Aircraft Systems, Vol. 32, No. 4, 2017.

[5] MIL-STD-881D.

[6] Hack-Joon Kim. "Application of STANAG 4586 Ed. 4 based Standardization for Up-to-Dated Interoperability of Military UAV System," JKSCI, 2019-01, Vol. 24, pp. 99–107, 2019.

[7] https://www.dronecode.org.

[8] http://ardupilot.org/.

[9] http://autoquad.org/.

[10] https://github.com/iNavFlight/inav/wiki.

[11] http://ardupilot.org/planner/.

[12] http://qgroundcontrol.com/.

[13] https://www.ugcs.com/.

[14] DTAQ. 2017 Global Defense Market Yearbook, 2017.

[15] C. Drubin, "The Global UAV Market 2015-2025," Microw J., Vol. 58, No. 3, pp. 53–54, Mar.2015.

[16] Y. I. Bae and H. R. Shin, "Prerequisites for Drones Industry Development," Issue & Analysis, No. 237, pp. 1–25, 2016.

[17] S. J. Song and B. O. Kil, "A Study on the Glo UAV Market," KADIS, Vol. 22, No. 4, pp. 49–76, 2015.

[18] https://nso.nato.int/nso/zPublic/stanags/CURRENT/4586EFed04.pdf.

[19] https://nso.nato.int/nso/zPublic/stanags/current/4545eed02.pdf.

[20] https://www.opengroup.org/face.

[21] https://community.ucsarchitecture.info/dodarchive/home.html.

[22] Fernando Coito, Reference Model for Interoperability of Autonomous Systems, 2018.

[23] NATO. "STANAG 4586 – Standard Interfaces of UAV Control System(UCS) for NATO UAV Interoperability," Ed1, 2004.

[24] UPVLC. "Camelot Architecture and Data Model," Ref. Ares(2018)6161960 – 30/11/2018, 2018.

[25] https://mavlink.io/en/.

[26] Seungyeon Choi, "Analysis of Replay Attack Vulnerability in RF Communication Environment," Korea University, 2017.

[27] Stefano Frazzetta · Marco Pacino. A STANAG 4586 Oriented Approach to UAS Navigation, 2013.

[28] Anis Koubaa, Micro Air Vehicle Link(MAVLink) in a Nutshell: A Survey, 2015.

[29] Young-min Kwon. "Vulnerability Analysis of the Mavlink Protocol for Unmanned Aerial Vehicles," DGIST, 2018.

[30] Alain AJAMI. Path Planning and Ground Control Station Simulator for UAV, 2013.

[31] Alexandre Valé, Unmanned Systems Interoperability in Militaiy Maritime Operations_MAVLink to STANAG 4586 Bridge, 2017.

[32] DoD. Unmanned Systems Integrated Roadmap FY2013-2038, 2013.

[33] Yonsei University – ASTI. "Research on Development Plans to Improve Flight Safety of Militaiy Unmanned Aerial Vehicle," DAPA, 2014.

[34] Office of the Secretary of Defense. Unmanned System Integrated Roadmap 2017_2042, 2017.

[35] U. S. Army UAS Center of Excellence. U. S. Army roadmap for Unmanned Aircraft Systems 2010-2035, 2010.

[36] G. C. Rosa, Mario Monteiro Marques and V. Lobo, "Unmanned Aerial Vehicles in the Navy: Its Benefits," in Sea Conf 16, Constanta, pp. 1–5, 2016.

[37] Ministry of Land, Infrastructure and Transport. Drone Industry Basic Development Plan 2017〜 2027, 2017.

[38] https://dronepang.co.kr/m/content/index.html?section=116&category=127&c160%5B0%5D=169&c161%5B0%5D=305&no=71.

[39] https://futuristspeaker.com/business-trends/192-future-uses-for-flying-drones/.

[40] http://weeklybiz.chosun.com/site/data/html_dir/2018/04/20/2018042001814.html.

[41] http://www.ciokorea.com/news/37558.

[42] Kyunghwan Heo, "Mission Computer Zeroize Function Software Design for the Korean Military Helicopter," SASE 2018 Spring Conference, DT3-3, 2018.

[43] Fernando Coito, Reference Model for Interoperability of Autonomous Systems, 2018.

TOOLS
Share :
Facebook Twitter Linked In Google+ Line it
METRICS Graph View
  • 1 Crossref
  •    
  • 7,773 View
  • 145 Download
Related articles in J. KIMS Technol.


ABOUT
ARTICLE CATEGORY

Browse all articles >

BROWSE ARTICLES
FOR CONTRIBUTORS
Editorial Office
160 Bugyuseong-daero 488beon-gil, Yuseong-gu, Daejeon 34060, Korea
Tel: +82-42-823-4603    Fax: +82-42-823-4605    E-mail: kimst@kimst.or.kr                

Copyright © 2024 by The Korea Institute of Military Science and Technology.

Developed in M2PI

Close layer
prev next