Ⅰ. 서론
영상처리 기술의 발전에 따라 영상을 보조 항법으로 사용하는 영상 보정항법 기술에 대한 연구가 활발히 진행되고 있다[1]. 이와 같은 기술은 외부로부터의 도움 없이 이동체가 보유한 센서만을 활용하여 항법이 가능하므로, 위성항법시스템(GPS; global positioning system) 보정 항법 등 외부의 신호에 의존하는 항법 시스템의 취약점 보완에 사용할 수 있다 [2]. 이러한 장점에 따라 국내의 영상 보정항법에 대한 연구는 지상 시스템에서 활발히 수행되었으며, 최근에는 항공 시스템으로 적용 분야가 확장되고 있다 [3]-[6].
현재 수직 이착륙 무인 항공기에서 GPS 불가 시 대체 항법 시스템으로 활용할 목적으로, SLAM (simultaneous localization and mapping) 기반의 영상보정항법 시스템을 개발 중이다 [7]. 하지만 국내에는 가상으로 영상보정 항법을 위한 센서 출력을 모의하는 등 해당 시스템을 효과적으로 검증할 인프라가 부족하여 검증방안을 제안한 바 있다 [8].
본 논문에서는 앞선 연구에서 제시한 영상보정항법 시스템 검증환경 (VNTE; vision-aided navigation test environment)에 대한 설계 내용 및 개발 결과에 대해 기술한다. 본 검증환경은 개발하는 영상보정항법 시스템의 기능과 성능을 모델링&시뮬레이션 (M&S; modeling & simulation) 기반으로 검증하기 위한 용도로 만든 장치이다. 따라서 수직 이착륙 무인 항공기 동특성 기반의 모의 신호를 생성하고, 영상항법 컴퓨터 (VNC; vision-aided navigation computer)와 통신을 위한 기계적/전기적 인터페이스를 제공하는 등, 실 비행환경과 하드웨어 (H/W; hardware) 및 소프트웨어 (S/W; software)적으로 유사한 환경을 제공하는 특징을 갖는다. 또한 모의시험 및 비행시험 데이터를 검증환경을 통해 재생함으로써, 사용자에게 편리한 알고리즘 디버깅 환경을 제공한다.
본문에서는 검증환경의 필요 기능 요구도를 도출하여 그에 적합한 시스템을 구성하고, 영상항법 컴퓨터와 연동을 위해 필요한 인터페이스를 설계한 결과를 기술한다. 이후 설계 결과를 반영하여 검증환경의 하드웨어의 개발 결과부터 각 소프트웨어의 개발 결과까지 상세하게 기술한다.
Ⅱ. 영상보정항법 시스템 검증환경 설계
본 검증환경은 영상보정항법 알고리즘의 개발 및 시스템의 검증하는 목적을 갖는다. 따라서 본 장에서는 그 목적에 맞는 기능들을 식별하며, 이들이 적절한 실행 절차를 갖도록 설계한다.
2-1 요구도 도출
검증환경은 M&S 기반으로 영상보정항법을 시험하기 위한 환경을 제공해야 한다. 이를 위해서는 운용자의 시험 시나리오에 따라 비행을 모의할 수 있어야 하며, 모의비행에 따른 영상보정항법용 센서 출력 또한 생성할 수 있어야 한다. 개발 중인 영상보정항법 시스템에는 3축 관성측정장치 (IMU; inertial measurement unit), 카메라, 기압 고도계, GPS 수신장치가 필요하므로, 이 센서들을 모의하는 기능이 필요하다.
이러한 시뮬레이션을 실행 및 제어하기 위한 운용자 환경이 요구되며, 다양한 환경에서의 알고리즘을 검증하기 위해서는 비행경로 및 비행체 동특성 정보, 센서 규격, 항법 모드 등, 시나리오를 사용자가 직접 설정할 수 있어야 한다. 또한 모의시험 결과를 확인하고 분석을 수행할 수 있는 화면을 제공하여야 하며, 알고리즘의 이상 동작 분석을 위해서는 시험 데이터를 기록하여 재분석을 할 수 있는 기능이 필요하다.
본 검증환경은 알고리즘 뿐 아니라 영상보정항법 시스템에 대한 SIL (system integration laboratory) 또는 HILS (hardware in the loop simulation) 기능을 필요로 하므로, 영상항법 컴퓨터를 검증환경에 장착하여 통신 인터페이스의 점검 등, H/W 및 S/W 적인 기능들을 확인할 수 있어야 한다.
표 1은 앞서 언급된 기능들을 포함해 정리한 요구도를 보여 준다.
표 1. 영상보정항법 시스템 검증환경의 개발 요구규격
Table 1. Development specifications of vision-aided navigation test environment
2-2 검증환경 설계 결과
요구도 도출 결과에 따라 검증환경에서 필요한 하드웨어 및 소프트웨어적 기능들이 식별되었다. 그림 1은 개별 기능들을 장치 단위로 그룹화하여 나타낸 내부 구성도이다. 그림과 같이 검증환경은 운용통제 컴퓨터, 비행체 모의기, 운용지원 환경, 전원공급기로 구성되며, 일부 구성품은 하부 구성품들을 포함하도록 설계되었다.
그림 1. 영상보정항법 시스템 검증환경 구성도
Fig. 1. Diagram of vision-aided navigation test environment
운용통제 컴퓨터 (OCC; operation & control computer)는 영상보정항법 시스템을 운용하는 지상체 역할을 모의하는 장비로 설계하였다. 따라서 운용통제 컴퓨터는 운용자 통제 및 데이터 모니터링, 비행 시나리오 작성과 같은 주요 기능을 제공하며, 운용자의 성능분석을 보조하고자, 시험 데이터를 타임태그하여 수집하고 저장하는 기능을 제공한다. 또한 영상보정항법 디버깅을 더욱 쉽게 수행할 수 있도록, 모의비행을 시작/정지 및 데이터 리플레이 기능을 제공하도록 설계되었다.
비행체 모의기 (AVS; aerial vehicle simulator)는 M&S 기반의 모의비행을 수행하고 비행체에 부착된 센서 정보를 모의하도록 설계된 장비이며, 이는 역할에 따라 비행/GPS/IMU 모의기 (FNS; flight & navigation simulator)와 영상 모의기 (IGS; image generating simulator)로 구분된다. 비행/GPS/IMU 모의기는 우선 운용통제 컴퓨터로부터의 비행 시나리오 정보에 따른 항로점 비행, 또는 운용자의 직접 조종에 의한 비행을 모의할 수 있다. 그에 따라 주기적으로 비행체의 항법 정보를 갱신하고, 이를 오차를 갖는 GPS 위치/속도/방위각 정보와 3축 각속도, 가속도 정보로 변환하여 출력한다. 영상 모의기는 앞서 비행/GPS/IMU 모의기에서 생성된 비행체 항법정보를 사용하여, 카메라 설정값에 해당하는 영상 출력을 생성한다.
운용지원 환경 (OSE; operation support environment)과 전원공급기 (PSU; power supply unit)는 하드웨어적 기능만 제공하는 장비이다. 먼저 운용지원 환경의 주요 구성품은 디스플레이용 모니터로서, 운용통제 컴퓨터의 화면과 영상 모의기의 모의비행 화면을 시각적으로 표시한다. 또한 운용자의 비행체 조종 기능을 위하여 조종 입력장치인 HOTAS (hands on throttle & stick)를 제공한다. 전원공급기는 검증환경에 장착되는 영상항법 컴퓨터에 직류 전원을 제공하기 위하여 설치되었으며, 검증 환경 내부 구성품에는 교류 전원을 공유한다.
그림 2는 검증환경의 기능으로부터 요구되는 외부 인터페이스 종류 및 통신 정보를 나타낸다. 외부 인터페이스 장비로는 영상항법 컴퓨터가 있으며, 인터페이스별 용도 및 채널 수, 데이터 방향은 표 2에 정리하였다.
그림 2. 영상보정항법 시스템 검증환경 외부 인터페이스 구성도
Fig. 2. The external interface diagram of vision-aided navigation test environment
표 2. 영상보정항법 시스템 검증환경 외부 인터페이스별 용도 정리표
Table 2. Table of uses for each external interface of vision aided navigation test environment
Ⅲ. 검증환경 하드웨어 개발
본 장에서는 앞선 2장에서의 기본 설계 결과를 바탕으로, 검증환경의 하드웨어에 대한 상세 설계 및 제작 결과를 제시한다.
3-1 요구기능 구성
검증환경은 앞선 설계 결과에서 언급한 바와 같이 운용통제 컴퓨터, 비행체 모의기, 운용지원 환경, 전원 공급기와 같은 주요 4개의 품목으로 구성되며, 영상항법 컴퓨터와의 연동을 위한 인터페이스를 제공해야 한다. 이에 따라 검증환경의 하드웨어 형상 품목은 그림 3와 같이 구성되었다.
그림 3. 영상보정항법 시스템 검증환경의 하드웨어 형상 항목 식별
Fig. 3. Identification for hardware configuration item of vision-aided navigation test environment
운용통제 컴퓨터는 그 기능에 따라 실시간 정보의 처리가 필요하지 않으며, 주로 운용자에 UI (User Interface) 제공 및 데이터를 수집하는 역할을 수행하기 때문에 intel cpu 기반의 컴퓨터 1종으로 구성하였다.
반면 비행/GPS/IMU 모의기는 실시간 데이터 처리 및 비행의 모의를 위한 데이터 생성이 중요한 장비이다. 따라서 비행 모의 프로그램을 실행시키고 프로그래밍을 통해 센서 데이터를 생성하기 위하여 intel cpu 기반의 컴퓨터 1종을 포함하며, 각 모의기에서 생성된 비실시간 출력을 동기화하여 실시간으로 영상항법 컴퓨터에 제공하기 위한 모의기 통신 보드가 제작되었다.
영상 모의기는 고품질 영상 생성용 프로그램을 운용하고, 내부에 영상 정보를 비전 프로토콜 (vision protocol)로 변환하여 2단자 camera link 인터페이스로 출력하는 보드가 장착된 조립 컴퓨터 1종을 포함한다. 이러한 영상 출력을 요구도에 맞도록 USB3 vision 규격으로 변환하는 장비로 iPort CL-U3를 영상 모의기의 구성 품목으로 식별하였다.
본 검증환경은 각 intel cpu 기반의 상용 컴퓨터를 주로 사용하므로 요구항목으로 식별된 통신 인터페이스를 제공할 수 없다. 따라서 상용 컴퓨터의 출력을 영상항법 컴퓨터와의 인터페이스로 변환할 수 있도록 인터페이스 지원 환경을 두어, 그 하부 품목으로 RS232-USB 변환기 및 JTAG-USB 변환기를 식별하였다. 검증환경의 운용통제 컴퓨터, 비행/GPS/IMU 모의기, 영상 모의기, 전원 공급기, 그리고 인터페이스 지원 환경은 하나의 장비로 통합할 수 있도록 랙 구조물을 포함한다. 최종 개발된 형상은 본 장 2절의 하드웨어 개발 결과에 제시된다.
3-2 하드웨어 개발 결과
요구기능 구성에서 제시된 바와 같이, 모의기 통신 보드 1종에 대한 하드웨어가 신규로 제작되며 운용지원 환경을 제외한 대부분의 하드웨어 구성품은 하나의 19인치 표준 랙 구조물에 조립되는 형상으로 개발되었다.
모의기 통신 보드 (SRPB; synchronizing & real-time processing board)는 그림 4의 구성도에서처럼 마이크로컨트롤러 보드와 통신 드라이버/모듈 등이 한 보드에 통합된 형상을 갖는다. 마이크로컨트롤러는 모의된 센서 데이터를 동기화하고 주기적으로 데이터를 출력할 수 있는 성능 규격을 갖도록 STM32F722 Nucleo-144 보드로 선정하였다. 하지만 모의기 통신 보드는 UART 및 GPIO 통신 인터페이스만 보유하므로, 비행/GPS/IMU 모의기 및 영상 모의기와 통신하기 위한 USB 통신 변환 모듈 3개와 영상항법 컴퓨터 연동을 위한 RS-232 변환기 1개, RS-422 변환기 1개, 그리고 Logic Level Shifter 1개, Logic Buffer 5개를 추가 장착하였다. 표 3은 위와 같은 설계에 따라 결정된 모의기 통신 보드의 외부 인터페이스이다.
그림 4. 모의기 통신 보드 내부 구조
Fig. 4. The internal structure of synchronizing & real-time processing board
표 3. 모의기 통신 보드의 외부 인터페이스 정리표
Table 3. Table of interface of synchronizing & real-time processing board
모의기 통신 보드는 인터페이스 지원 환경의 USB 허브 2개와 하나의 모듈에 통합되어 그림 5의 형상으로 제작되었다. 이 모듈은 19 inch 표준 랙에 장착될 수 있는 폭과 2 U(3.5 inch) 높이를 만족하도록 제작되며, 전면부에 영상항법 컴퓨터와 연결하기 위한 7개의 커넥터와 후면부에 내부 구성품과 연결을 위한 USB 케이블 3개를 제공한다. 영상항법 컴퓨터와 연결을 위한 커넥터 제작 결과는 표 4에 주어진다. 표에 제시된 J4 ~ J7의 USB-A 타입의 커넥터는 영상항법 컴퓨터와 직접 케이블로 연결되지 않으며, 인터페이스 지원 환경의 RS232-USB 변환기 및 JTAG-USB 변환기 커넥터를 경유하여 연결되도록 제작되었다.
그림 5. 모의기 통신 보드 통합 모듈의 외부 형상
Fig. 5. The external shape of integrated synchronizing & real-time processing Module
표 4. 모의기 통신 보드 통합 모듈의 외부 인터페이스 정리표
Table 4. Table of interface of Integrated synchronizing & real-time processing module
그림 6은 검증환경 구성품을 600 mm(W) x 750 mm(D) x 1400 mm(H) 크기의 랙 구조물에 조립한 최종 형상이다. 검증환경 랙 내부는 아래부터 운용통제 컴퓨터, 비행/GPS/IMU 모의기, 영상 모의기, 이더넷 허브, 전원 공급기, 모의기 통신 보드통합모듈 순으로 조립되며, 최상단에는 영상항법 컴퓨터를 장착하기 위한 체결 선반이 위치하고 iPort CL-U3가 그 위에 장착된 형태로 제작되었다.
그림 6. 영상보정항법 검증환경 랙 조립 형상
Fig. 6. Rack assembly shape of vision-aided navigation test environment
Ⅳ. 운용통제 소프트웨어 개발
본 장에서는 앞선 2장에서의 기본 설계 결과를 바탕으로, 검증환경의 구성품인 운용통제 컴퓨터의 소프트웨어에 대한 상세 설계 및 구현 결과를 제시한다.
4-1 요구기능 구성
운용통제 소프트웨어는 영상보정항법 검증환경의 소프트웨어의 구성항목 (CSCI; computer software configuration item) 중 하나로, 운용자가 검증환경을 제어하고 시뮬레이션을 통해 수집된 데이터를 운용자에게 도시하기 위한 GUI (graphic user interface)를 제공해야 한다. 따라서 본 소프트웨어는 영상보정항법을 검증하기 위한 모든 작업을 GUI를 통해 수행할 수 있는 환경과, 검증환경 내부 구성품 및 영상항법 컴퓨터에 명령을 전달하고 상태를 확인하기 위해 데이터를 처리하는 기능을 제공한다. 이에 따라 운용통제 소프트웨어 구성요소 (CSC; computer software component)는 그림 7에 주어진 바와 같이 3개의 하위 구성 요소와 8개의 소프트웨어 단위 (CSU; computer software unit) 구성되었다.
그림 7. 운용통제 컴퓨터의 소프트웨어 구성 요소 식별
Fig. 7. Identification for computer software components of operation & control computer
그림 8은 앞서 식별된 CSU 간 연동 구성을 나타낸다. 운용통제 및 시나리오 패널에서 생성된 운용자의 신호는 데이터 처리 CSC를 통해 영상항법 컴퓨터와 비행/GPS/IMU 모의기로 각각 전달될 메시지 형태로 만들어지고, 인터페이스 관리 CSC를 통해 각 장비로 메시지가 전송되는 구조를 갖도록 제작되었다. 반대로 두 장비로부터 인터페이스 관리를 통해 수신받은 항법 및 상태 데이터는 데이터 처리를 통해 운용통제 컴퓨터가 해석할 수 있는 정보로 분해되며, 데이터 저장소에 저장 및 모니터링 패널의 GUI를 통해 운용자에게 제공된다.
그림 8. 운용통제 소프트웨어의 기능 흐름도
Fig. 8. Functional flow chart of the operation & control software
운용통제 소프트웨어의 주요 구성 요소인 GUI 관리 CSC는 4개의 소프트웨어 단위로 구성된다. 운용통제 패널 CSU는 모의시험을 시작/정지와 시나리오 정보를 전송하는 등 시험을 통제하는 기능과, 영상항법 컴퓨터의 전원을 인가/차단하고 항법 모드를 제어하는 VNC 통제 기능을 제공한다. 시나리오 패널 CSU는 모의비행을 위한 비행체의 위치와 경로점을 생성하고, 기상 상태 및 GPS/IMU/기압고도계/카메라의 규격을 설정하는 기능 등 시나리오를 편집하는 기능을 제공한다. 모니터링 패널 CSU는 모의비행의 설정 정보와 진행 상태, 연동 장비들의 동작 상태를 확인할 수 있으며, 특히 영상항법 컴퓨터의 항법 결과를 실시간으로 분석할 수 있는 환경을 제공한다. 영상항법 컴퓨터 파일 관리 CSU는 상용 FTP (file transfer protocol) 프로그램을 통해 구현되었으며, 영상항법 컴퓨터가 동작할 때마다 저장되는 내부의 항법 데이터를 내려받거나 삭제하고 영상항법 컴퓨터 S/W를 영상항법 컴퓨터에 업로드하는 기능을 제공한다.
4-2 운용통제 소프트웨어 개발 결과
그림 9는 운용통제 소프트웨어의 개발 결과물인 주요 GUI 화면이다. 화면의 좌측에는 시나리오 작성 패널이, 중앙에는 지도 기반의 시험 모니터링 패널이, 그리고 상단에는 운용통제 패널과 모니터링 팝업 패널이 위치한다. 시나리오 패널에서는 모의시험을 위한 비행 경로점을 작성할 수 있으며, 작성 시 중앙의 시험 모니터링 패널에 경로점 위치가 표시된다. 또한 중앙의 시험 모니터링 패널에서는 시험 진행에 따라 비행체의 위치가 표시되며, 비행시험 계획의 경로와 현재까지의 지나온 경로가 동시에 추적될 수 있도록 제작되었다. 화면 상단의 운용통제 패널에서는 영상항법 컴퓨터의 전원의 On/Off와 검증환경의 재생/모의 시험 선택, 그리고 시뮬레이션의 시작/종료, 데이터 저장을 선택하는 기능을 제공한다. 또한 상단의 모니터링 팝업 패널에서는 비행/GPS/IMU 모의기의 데이터와 영상항법 컴퓨터의 Serial, Ethernet 데이터를 관찰하는 창을 열 수 있다.
그림 9. 운용통제 소프트웨어의 GUI 화면
Fig. 9. Main GUI of the operation & control software
그림 10은 비행/GPS/IMU 모의기 출력에 대한 팝업 화면을 보여준다. 이는 비행/GPS/IMU 모의기가 시뮬레이션을 수행해 주기적으로 갱신하는 데이터를 값과 그래프로 도시하며, 오차가 포함되지 않은 값을 제공함으로써 영상항법 분석에 도움을 준다. 그림 11은 영상항법 컴퓨터의 Serial 데이터에 대한 팝업 화면이다. 이는 시뮬레이션 수행에 따라 영상항법 컴퓨터가 Serial 채널로 출력하는 상태 및 항법 데이터를 값으로 보여주며, 운용자가 항법 모드와 같은 영상항법 컴퓨터 명령을 인가할 수 있다. 그림 12는 영상항법 컴퓨터의 Ethernet 데이터 출력에 대한 팝업 화면이다. 영상항법 컴퓨터가 계산하는 기준/통합/GPS/영상 항법 정보를 그래프로 도시하며, On/Off 기능과 도시 시간 설정 기능으로 운용자가 항법 결과를 직관적이고 편리하게 비교할 수 있도록 제작하였다.
그림 10. 비행/GPS/IMU 모의기 데이터 모니터링 GUI 화면
Fig. 10. Data monitoring GUI of flight navigation simulator
그림 11. VNC 시리얼 데이터 통제/모니터링 GUI 화면
Fig. 11. Controlling/monitoring GUI for serial data of VNC
그림 12. VNC 이더넷 데이터 모니터링 GUI 화면
Fig. 12. Controlling/monitoring GUI for ethernet data of VNC
Ⅴ. 비행/항법 모의 소프트웨어 개발
본 장에서는 앞선 2장에서의 기본 설계 결과를 바탕으로, 검증환경의 구성품인 비행/GPS/IMU 모의기의 소프트웨어에 대한 상세 설계 및 구현 결과를 제시한다.
5-1 요구기능 구성
비행/항법 모의 소프트웨어는 영상보정항법 검증환경의 소프트웨어의 구성항목 중 하나로, 비행/GPS/IMU 컴퓨터 및 모의기 통신 보드에 탑재된다. 본 소프트웨어는 운용자가 작성한 비행 시나리오에 따라 비행을 수행하며, 비행체의 센서 출력을 생성하는 기능을 제공해야 한다. 따라서 영상보정항법을 위한 수직 이착륙 비행체 모델과, 계획된 항로점 좌표에 따라 자율운항을 하는 기능을 제공한다. 또한 이를 통해 생성된 비행체의 항법 좌표에 따라 GPS/IMU/기압고도계의 센서 출력을 오차 모델에 맞추어 주기적으로 생성한다. 이에 따라 비행/항법 모의 CSC는 그림 13에 주어진 바와 같이 6개의 하위 CSC와 17개의 CSU로 구성되었다. 이 중 동기화 처리 CSC는 비행/GPS/IMU 모의기가 아닌 모의기 통신 보드에 탑재되는 소프트웨어로 식별하였다.
그림 13. 비행/GPS/IMU 모의기의 소프트웨어 구성 요소 식별
Fig. 13. Identification for computer software components of flight & navigation simulator
그림 14는 앞서 식별된 CSU 간 연동 구성을 나타낸다. 비행/항법 모의 소프트웨어는 모의비행을 수행하기 전 시나리오 파일에 포함된 전체 경로점 정보, 비행 환경 및 항법 센서 설정 정보를 읽어 각 모의 CSU에 그 값을 반영한다. 이후 경로점 정보 또는 운용자의 HOTAS 입력에 따라 비행체의 항법 신호를 출력한다. 이를 통해 생성된 항법 정보는 GPS/IMU/기압고도계/카메라 신호의 생성에 활용되며, 각 항법 센서별 데이터 처리를 거쳐 모의기 통신 보드를 통해 영상항법 컴퓨터로 전달된다. 반면 재생 시험을 하는 경우, 비행 및 센서 모의를 수행하지 않으며 저장소에 저장된 항법 및 센서 데이터가 바로 데이터 처리를 거쳐 모의기 통신 보드를 통해 영상항법 컴퓨터로 전달된다.
그림 14. 비행/항법 모의 소프트웨어의 기능 흐름도
Fig. 14. Functional flow chart of the flight & navigation simulation software
비행/항법 모의 소프트웨어의 주요 기능을 수행하는 구성 요소는 비행 환경 모의 CSC와 항법 센서 모의 CSC, 그리고 동기화 처리 CSC이다. 우선 비행 환경 모의 CSC는 경로점 정보 또는 HOTAS 정보를 항법 정보로 변환하는 역할을 하며, 이를 기능에 따라 모의비행 CSU와 비행 정보 모의 CSU로 구분하였다. 모의비행 CSU는 HOTAS 연결 상태에 따라 동작이 구분되며, 수동 조종 시 데이터 전달 역할을 한다. 반면 자동 조종 시에는 전체 경로점 정보를 사용해 비행 전 구간의 유효성을 확인하고, 유효한 경우 현재 경로점 판단에 따라 경로점을 순차적으로 비행 정보 모의 CSU로 전달하는 절차를 갖는다. 비행 정보 모의 CSU는 앞서 입력받은 수동/자동 조종 정보에 따라 비행체의 항법 데이터를 생성하며, 이때 상용 공개 프로그램인 PX4 및 GAZEBO가 활용되었다 [9], [10]. PX4는 자동 조종 시의 항로점 정보를 구동기의 제어 명령으로의 변환에, GAZEBO는 구동기 제어 명령을 항법 정보로의 변환에 사용하였다. 다음으로 항법 센서 모의 CSC는 모의하는 세 가지 항법 센서를 각각 구분하여 CSU를 구성하였다. GPS 수신기 모의 CSU는 비행체 항법 정보에 GPS의 위성시계 오차와 이온층/대류권 오차를 더하여 위치와 방위각을 출력하도록 제작하였다. IMU 모의 CSU는 항법 정보를 미분하여 3축 가속도, 각속도를 생성하고, 이에 바이어스와 환산계수를 포함하는 센서 오차와, 레버암(Lever Arm) 오차를 반영한다. 기압고도계 모의 CSU는 압력계의 바이어스와 환산계수 오차를 반영하여 고도를 출력한다. 마지막으로 동기화 처리 CSC는 동기화를 담당하는 데이터 동기화 CSU와 주기적 데이터 출력을 담당하는 Serial 관리 CSU로 구성된다. 데이터 동기화 CSU에서는 시간 지연이 적은 비행/GPS/IMU 컴퓨터의 센서 출력을 버퍼에 저장한다. 이후 영상 모의기로부터 동기화 정보가 입력되면 해당 Time Tag와 동일한 GPS/IMU/기압 고도계 정보를 탐색하여 각각의 수신 시간 기준으로 지연 시간을 계산한다. 계산된 시간 지연만큼 보상하여 버퍼에 저장된 정보를 주기적으로 출력한다.
5-2 비행/항법 모의 소프트웨어 개발 결과
비행/항법 모의 소프트웨어의 비행 및 센서 데이터 모의 기능에 대한 개발 결과는 그림 9의 비행경로 데이터와 그림 10의 그래프를 통해 확인할 수 있다. 비행/항법 모의 소프트웨어는 사용자가 설정한 비행 경로점을 fly-by 방식으로 방문하여 안정적으로 그 경로를 추적하여 비행하며, 이에 따라 변화하는 항법 데이터를 주기에 맞춰 생성하고 있음을 확인하였다. 또한, 이 정보를 활용해 GPS/IMU/기압고도계 출력정보를 실제 비행환경과 유사하도록 모의하고 주기적으로 영상항법 컴퓨터에 송신하고 있으며, 영상항법 컴퓨터에서 이 정보로 항법을 계산한 결과가 정상임을 확인하였다. 그림 15는 GAZEBO 프로그램의 화면으로, 비행/항법 모의 소프트웨어가 비행 데이터를 모의 시에 수직 이착륙 비행체 모델을 적용하고 있음을 보여준다. 화면의 중앙에 위치한 비행체는 해당 프로그램에서 제공하는 수직 이착륙 비행체 모델이며, 이륙 시에는 회전익 모드를 사용하고 순항 시에는 고정익 모드로 비행함을 확인하였다.
그림 15. GAZEBO 프로그램 내 수직 이착륙 비행체 기동 화면
Fig. 15. Maneuvering of vertical take-off and landing unmanned aerial vehicle in GAZEBO program
앞서 제시된 내용과 같이, 비행/항법 모의 소프트웨어는 안정적으로 자동 비행을 수행하고 항법 데이터를 모의하는 등 비행 모의를 위한 요구 기능을 모두 만족하며, GPS/IMU/기압고도계와 같은 항법 센서를 모의하는 요구 기능 또한 모두 만족하도록 제작되었다.
Ⅵ. 영상 모의 소프트웨어 개발
본 장에서는 앞선 2장에서의 기본 설계 결과를 바탕으로, 검증환경의 구성품인 영상 모의기의 소프트웨어에 대한 상세 설계 및 구현 결과를 제시한다.
6-1 요구기능 구성
영상 모의 소프트웨어는 영상보정항법 검증환경의 소프트웨어의 구성항목 중 하나로, 영상 모의 컴퓨터에 탑재된다. 본 소프트웨어는 카메라 설정 정보와 비행체 항법 정보를 활용하여, 카메라 영상을 생성하는 기능을 제공해야 한다. 따라서 카메라 장착 각, 화질, 전송율, 왜곡 등 영상보정항법용 카메라의 특성을 운용자의 설정에 따라 영상에 반영하고, 고품질의 지형/지물을 모사한 영상을 제한된 시간 내에 카메라 형식으로 변환하여 출력한다. 이에 따라 영상 모의 CSC는 그림 16에 주어진 바와 같이 4개의 하위 CSC와 8개의 CSU로 구성되었다.
그림 16. 영상 모의기의 소프트웨어 구성 요소 식별
Fig. 16. Identification for computer software components of image generating simulator
그림 17는 앞서 식별된 CSU 간 연동 구성을 나타낸다. 영상 모의 소프트웨어는 모의비행을 수행하기 전 시나리오 파일을 읽어 영상 모의 설정값을 내부에 관리하고 그 값을 영상 생성프로그램에 적용한다. 모의비행이 시작되면 비행/항법 모의 소프트웨어로부터 수신되는 주기적 항법 정보 또는 영상 트리거 신호에 따라 영상을 갱신한다. 이후 설정값에 맞게 왜곡되어 Camera Link 메시지 형식으로 iPort CL-U3에 전송된다. 재생 시험을 하는 경우 영상 모의를 수행하지 않으며, 저장소에 저장된 영상 정보의 형식을 변환하여 외부 장비로 출력한다.
그림 17. 영상 모의 소프트웨어의 기능 흐름도
Fig. 17. Functional flow chart of the camera image simulation software
영상 모의 소프트웨어의 주요 구성 요소인 영상 모의 CSC는 카메라 영상 생성 CSU와 렌즈 왜곡 적용 CSU의 소프트웨어 단위 2개로 구성된다. 카메라 영상 생성 CSU는 상용 영상 랜더링(rendering) 프로그램인 Presaigis 社의 Vega Prime을 활용해 제작되었으며, 영상의 프레임율, 분해능, 시야각, 그리고 영상 효과 등 다양한 조건에서의 영상 데이터를 생성하는 기능을 제공한다[11]. 또한 영상 생성 시, 영상 데이터의 품질 향상을 위해 고해상도의 지형/고도 데이터와 3D 지물 형상을 참조하며, 영상 생성 요구시간 내 고품질의 영상을 제공한다. 렌즈 왜곡 적용 CSU는 앞서 생성된 영상 데이터에 방사 왜곡 (radial distortion) 및 접선 왜곡 (tangential distortion)의 렌즈 왜곡을 적용할 수 있도록 제작되었다. 영상을 모의하는 기능뿐 아니라 영상항법 컴퓨터가 영상 모의기를 실 운용 카메라로 인식하도록 하는 카메라 데이터 처리 CSU도 영상 모의 CSC의 핵심 기능 중 하나이다. 해당 기능은 영상 모의 컴퓨터 내 장착된 VisionLink CLS 보드에서 제공하는 소프트웨어를 사용하였으며, 이는 일반적인 이미지 파일을 Camera Link 직렬 통신 프로토콜의 데이터로 변환하는 역할을 한다.
6-3 영상 모의 소프트웨어 개발 결과
영상 모의 소프트웨어의 개발 결과는 그림 18의 화면을 통해 확인할 수 있다. 그림의 우측은 운용통제 컴퓨터로부터 입력받은 카메라 설정 정보 및 왜곡 정보를, 그리고 비행/GPS/IMU 모의기로부터 입력받은 비행체의 항법 정보를 도시한다. 그림의 좌측 하단은 입력받은 정보에 따라 모의 생성된 영상 출력을 나타낸다. 이는 의도한 바와 같이 실제 비행 시 획득하는 영상과 유사한 고품질의 영상을 제공할 수 있음을 확인하였으며, 그림 12의 좌측 하단에 표시되는 영상항법 컴퓨터의 영상 출력을 통해 영상항법 컴퓨터가 정상적인 카메라의 영상으로 인식하여 영상처리를 수행할 수 있음을 확인하였다.
그림 18. 영상 모의기 소프트웨어의 모의영상 출력 화면
Fig. 18. Image generation output of the camera image simulation software
앞서 제시된 내용과 같이, 영상 모의 소프트웨어는 입력된 데이터에 맞는 고품질의 영상을 생성하고 이를 Vision Protocol로 변환하여 영상항법 컴퓨터로 송신하는 등 카메라 영상 모의를 위한 요구 기능을 모두 만족하도록 제작되었다.
Ⅶ. 결론
본 논문은 수직이착륙 무인 항공시스템에서 사용되는 영상보정항법 시스템을 M&S 기반으로 성능평가 하기 위해 설계된 영상보정항법 시스템 검증환경의 개발 결과를 제시하였다. 본문에서는 개발 장치의 목적에 맞는 기능을 식별하고 그에 대한 요구도를 추론하였다. 도출된 요구도에 따라 제작된 검증환경의 하드웨어에 대한 설명을 기술하고 전체 형상을 제시하였으며, 소프트웨어는 운용통제, 비행/항법 모의, 영상 모의 분야를 각각 나누어 상세하게 개발 결과를 기술하였다. 그 결과 본문 초기 도출하였던 요구도에 맞게 검증환경이 제작되었으며, 영상항법 컴퓨터와 정상적으로 연동되어 사용자에 편리한 영상보정항법 알고리즘의 성능분석 환경을 제공하였다. 이에 따라 본 연구로 인해 개발된 기술은 현재까지 개발 중인 영상보정항법 알고리즘의 성능 평가에 유용하게 활용하였을 뿐 아니라, 향후 알고리즘의 개선 및 보완에 활용할 예정이다. 또한 유사한 운용 환경을 갖는 영상항법 알고리즘의 검증에 활용할 수 있으며, 본 장비에 센서 모의 기능을 확장하여 다중 센서를 활용하는 영상기반 항법기술의 발전에도 널리 활용할 수 있을 것으로 기대된다.
Acknowledgments
이 논문은 2020년 정부(방위사업청)의 재원으로 수행된 연구임(912828001)
References
- H. J. Kim, H. S. Seo, and P. J. Kim, C. K. Lee, "Survey on Visual Navigation Technology for Unmanned Systems," Journal of Advanced Navigation Technology, Vol. 19, No. 2, pp. 133-139, Apr. 2015. https://doi.org/10.12673/jant.2015.19.2.133
- S. K. Choi, S. J. Cho, S. M. Kang, K. T. Lee, W. K. Lee, and G. S. Jeong, "Development of Real-Time Vision Aided Navigation Using EO/IR Image Information of Tactical Unmanned Aerial System in GPS Denied Environment," Journal of the Korean Society for Aeronautical and Space Sciences, Vol. 48, No. 6, pp. 401-410, June. 2020. https://doi.org/10.5139/JKSAS.2020.48.6.401
- J. H. Kim, J. Lyou, and H. K. Kwak, "SLAM Aided GPS/INS/Vision Navigation System for Helicopter," Journal of Institute of Control, Robotics and Systems, Vol. 14, No. 8, pp. 745-751, Aug. 2008. https://doi.org/10.5302/J.ICROS.2008.14.8.745
- S. C. Yun, S. J. Lee, B. J. Lee, Y. J. Lee, and S. K. Sung, "Real-Time Implementation of a Vision-aided Integrated Navigation System with a Tiny Vision Processing Camera Module," in Proceeding of 11th International Conference on Control, Automation and Systems, Goyang, pp. 1433-1436, Oct. 2011.
- J. H. Oh, S. H. Nam, T. Y. Kim, C. K. Sung, and S. W. Lee, "Design of Vision Based Navigation System for Aerial Weapon System," in Proceeding of The Korean Society for Aeronautical and Space Sciences Fall Conference, Jeju, pp. 813-814, Nov. 2022.
- T. Y. Kim, J. H. Oh, C. K. Sung, and S. W. Lee, "Terrain Elevation Extraction using Stereo Matching for Vision-Based Terrain Referenced Navigation," in Proceeding of The Korean Society for Aeronautical and Space Sciences Fall Conference, Jeju, pp. 815-816, Nov. 2022.
- H. C. Shin, K. S. Kim, S. B. Park, S. H. Yang, and C. J. Jung, "Development of SLAM based Vision-aided Navigation System for UAV under GPS denied Environment," in Proceeding of The Korean Society for Aeronautical and Space Sciences Fall Conference, Jeju, pp. 817-818, Nov. 2022.
- S. B. Park, K. S. Kim, C. J. Jung, and S. Y. Yang, "Research of Verification Method for Development of the Vision-aided Navigation System," in Proceeding of The Korean Society for Aeronautical and Space Sciences Fall Conference, Jeju, pp. 428-429, Nov. 2021.
- PX4 Autopilot. PX4 Auotopilot User Guide[Internet]. Available: http://docs.px4.io/main/en/
- GAZEBO. DOCS[Internet]. Available: http://gazebosim.org/docs
- Presagis. Vega Prime Visualization Software for Simulated Virtual Environments[Internet]. Avaliable: http://presagis.com/en/product/vega-prime/