DOI QR코드

DOI QR Code

Anomaly Detection Method for Drone Navigation System Based on Deep Neural Network

  • Seo, Seong-Hun (Postal and Logistics Technology Research Center, Electronics and Telecommunications Research Institute) ;
  • Jung, Hoon (Postal and Logistics Technology Research Center, Electronics and Telecommunications Research Institute)
  • 투고 : 2022.04.13
  • 심사 : 2022.05.25
  • 발행 : 2022.06.15

초록

This paper proposes a method for detecting flight anomalies of drones through the difference between the command of flight controller (FC) and the navigation solution. If the drones make a flight normally, control errors generated by the difference between the desired control command of FC and the navigation solution should converge to zero. However, there is a risk of sudden change or divergence of control errors when the FC control feedback loop preset for the normal flight encounters interferences such as strong winds or navigation sensor abnormalities. In this paper, we propose the method with a deep neural network model that predicts the control error in the normal flight so that the abnormal flight state can be detected. The performance of proposed method was evaluated using the real-world flight data. The results showed that the method effectively detects anomalies in various situation.

키워드

1. 서론

최근 드론은 단순한 개인의 취미를 넘어서서 배송, 농업, 재난, 건설, 유지보수, 산업 데이터 수집 등 다양한 분야에 걸쳐서 폭넓게 활용되고 있으며, 그 시장은 점점 커지고 있다 (Goldman Sachs 2019). 드론의 용도가 다양해지면서 드론을 운용하는 방법은 기존의 수동 조작 방식에서 자율 비행을 통해 드론을 제어하는 방법으로 변화하고 있다. 특히 드론의 운용 반경이 넓어짐에 따라 가시권을 벗어난 상태에서 드론을 운영하는 경우에 안전한 드론의 자율 비행을 위해 설정된 경로점 (Way-point)을 추종하며 정확한 속도와 자세로 비행하는 것이 중요하다. 이와 같은 동작을 위해서는 비행제어기 (Flight Controller, FC)에서 생성하는 제어 명령에 의해 드론의 하드웨어 및 소프트웨어 시스템이 정확하게 동작하여 매 순간 드론의 비행 위치, 속도, 자세에 대한 제어 명령에 의한 정확한 값을 갖는 것이 중요하다. 일반적으로 드론의 자율 비행은 경로점의 위치와 드론 항법시스템에서 계산된 현재 위치 사이의 차이를 통해 생성되는 구동부 (actuator) 제어 명령에 따라 이루어진다. Fig. 1은 드론 자율비행 시스템의 개략적인 구조를 나타낸다. 드론에 부착되는 항법 센서의 종류는 Global Navigation Satellite System (GNSS) 수신기, Inertial Measurement Unit (IMU), 카메라, 기압계 등이 있으며, 그 중에서도 주로 GNSS 수신기와 IMU가 기본적인 드론 항법시스템 구성을 위해 많이 활용된다. 항법시스템은 위와 같은 항법 센서의 측정치를 이용하는 추정기 (estimator)를 통해 해당 데이터 획득 시점의 위치, 속도, 자세를 포함하는 항법해를 계산한다. 계산된 항법해는 비행제어기의 임무 제어기 (mission controller)로 인가되고, 미션 제어기는 경로점 정보와 항법해를 활용하여 드론의 자율 비행을 위한 위치 제어 명령을 위치 제어기 (position controller)로 전달한다. 위치 제어기는 제어 명령에 대해 드론을 이동시키기 위한 드론의 속도 및 자세에 대한 명령을 자세 제어기 (attitude controller)와 속도 제어기 (velocity controller)에 전달한다. 자세 및 속도 제어기는 최종적으로 드론의 구동부인 모터를 동작 시키기 위한 제어 명령을 생성하고, 이를 통해 드론은 경로점 추종 자율 비행을 수행한다.

f1.png 이미지
Fig. 1. Structure of autonomous flight system of drone.

그러나, 드론의 모터 같은 구동부와 모터 구동을 위해 부착된 각종 센서에 이상이 있는 경우에 드론은 정상적으로 비행 임무를 수행할 수 없다. 이러한 이상 상태를 검출하기 위해 많은 연구가 진행되었다. 드론 이상 검출 방법 중 가장 많이 연구된 내용은 드론 비행의 핵심 역할을 하는 모터의 이상 검출 방법이다. Kihara et al. (2017)은 온도 센서를 활용하여 모터의 온도 구간별 모터 감속 값을 계산하고, 비정상적인 모터 온도 상승 시 해당 감속 값을 활용하는 방법을 제시하였다. Lu et al. (2018)은 앞선 연구에 강화학습을 통해 모터 이상 검출을 위한 온도 문턱값 갱신 기법을 제시하였다. 또한 Moon et al. (2021)은 쿼드콥터의 호버링 및 비행 진행 방향에 따라 구동되어야 할 각 모터의 전류를 분석하여 이상 상태를 검출하는 방법을 연구하였다. 또한 다른 연구들에서는 IMU에서 획득한 Raw 데이터를 통해 진동, 전자기장 이상 등의 드론 이상 상태를 판단하는 방법을 제안하였다 (Khan et al. 2019, Bektash & La Cour-Harbo 2020). 최근에는 단일 센서 기반이 아닌 드론시스템을 통해 획득할 수 있는 다수의 센서 측정치를 적극적으로 활용하기 위한 학습 기반 주성분 분석 기법들도 개발되고 있다. 이러한 방법들은 연관성이 높은 측정치들 간의 결합을 통해 데이터의 특성은 유지하면서도 학습을 위한 연산량을 줄일 수 있는 장점을 가지고 있다 (Yong et al. 2017, Ahn et al. 2019). 이러한 연구 결과들은 드론 하드웨어 시스템 자체의 문제를 빠르게 판단할 수 있기 때문에, 드론을 비행 전 또는 비행 중에 시스템 이상 판단을 위해 효과적으로 사용될 수 있다. 그러나, 위의 방법들은 드론의 비행 제어에 대한 정보가 부족하기 때문에, 드론의 자율 비행이 정상적으로 수행되고 있는지는 확인하기 어렵다.

드론 산업이 활발해지던 시기에 DJI, Parrot사와 같은 드론 제조사들은 자체적으로 개발한 비공개된 비행 제어기를 활용하였다. 따라서, 일반 사용자가 해당 드론 내부 시스템을 정확하게 알 수 없으며, 획득할 수 있는 비행 관련 데이터의 종류가 매우 한정적이었다. 그러나 최근에는 많은 기업 및 연구기관에서 개발하고 배포한 오픈소스 소프트웨어를 활용하는 경우에 사용자가 드론의 자율 비행 알고리즘을 보다 상세하게 알 수 있으며, 목적에 맞게 드론 비행 시스템을 설정할 수 있게 되었다 (Ebeid et al. 2018). 그 결과 사용자가 직접 드론 시스템의 구동 상태, 비행 제어 상태, 항법 시스템 상태 등을 상세하게 분석할 수 있게 되면서, 다음과 같은 비정상적인 비행 상황을 인지할 수 있게 되었다.

∙ 항법 센서의 이상으로 정상적인 항법해가 계산되지 않는 경우
∙ 강풍, 강한 자기장 등 외란으로 비행 제어기의 구동부 제어 명령이 드론 비행 제어 오차를 수렴시키지 못하는 경우
∙ 비행 제어기의 설정의 문제로 정상적인 제어 오차를 생성하지 못하는 경우

첫번째 경우에는 앞서 소개한 센서 측정치를 활용한 이상 검출 기법들을 통해 확인이 가능하다. 그러나 두번째, 세번째 경우에는 센서 측정치 자체에 이상이 있는 것이 아니라 자율 비행 제어의 측면에서 문제가 발생한 경우이기 때문에, 비행 제어 정보를 활용하지 않는 다면 이러한 이상 상태를 검출하기 어렵다. 특히 이러한 상황들은 드론이 넓은 개활지와 같은 공간적인 제약이 없는 환경에서 비행할 경우에 큰 문제가 되지 않을 수 있다. 그러나 도심이나 주변 장애물이 많은 복잡한 환경에서는 비행 제어기의 명령에 따라 드론이 비행하지 못한다면 충돌, 추락 등에 의해 큰 인명, 재물 피해가 발생할 수 있는 위험성이 있다. 예를 들어 드론은 항법시스템에 이상 없이 정상적인 상태로 비행을 수행했다고 판단했지만, 실제 비행 경로는 정상 경로를 이탈하여 다른 곳으로 이동했을 경우, 해당 위치에 다른 물체가 존재한다면 사고가 발생할 수 있다. 특히 Hong et al. (2021)이 제안한 바와 같이 드론이 실시간으로 경로를 생성하는 경우에 그 위험성이 더 높다. 일반적으로 드론 항법시스템은 비용과 효율성을 고려하여 저가형 GNSS 수신기와 IMU로 구성되어 있고 (Sorensen et al. 2017) 비행제어기의 경우에는 정상 주행 환경을 가정하여 설정되어 있기 때문에, 위의 두, 세번째와 같은 비정상적인 상황을 드론이 자체적으로 인지하는데 제한이 있다. 따라서, 안전하고 정확한 드론 자율 비행을 위해서 이러한 문제가 발생했을 경우 이를 빠르게 인지할 수 있는 시스템이 필요하다.

본 논문에서는 드론의 비행제어기에서 생성된 제어 명령과 항법시스템에서 계산된 항법해 사이의 차이를 통한 드론 항법 이상 검출 기법을 제안한다. 기존에 비행 제어 명령을 활용하는 이상 검출 기법도 연구된 바 있지만, 입력 및 출력에 대한 고정된 전달함수를 통해 입력을 예측하는 모델이기 때문에 경우별로 각각 새로운 모델 계수를 계산해야 하는 단점이 있다. 또한 급격한 변화 형태의 이상 상태만 검출 가능한 단점이 존재한다 (keipour et al. 2019).

본 논문의 기법은 과거의 제어 명령과 항법 해를 활용하여 현재의 제어 오차를 예측하는 심층신경망 모델을 학습하고, 이 심층신경망의 예측 결과를 이용하여 현재 위치, 속도, 자세에 대한 상태 분류를 수행한다. 다양한 지역 및 상황에 대해서 획득한 비행 데이터를 심층신경망 모델에 학습시켜 현재 비행 특성에 맞는 기준 데이터를 생성하기 때문에, 개별 비행 데이터에 대한 의존성을 낮추어 범용성을 높일 수 있다. 또한, 급격한 상태 변화에 더해서 아니라 점진적으로 발산하는 이상 상태의 경우도 모두 검출 가능하다.

해당 기법을 통해 얻을 수 있는 효과를 정리하면 다음과 같다.

∙ 비행제어기와 항법시스템에서 제공하는 정보를 그대로 활용하여 추가적인 하드웨어 없이 적용이 가능하다.
∙ 비행제어 명령을 활용하여 항법시스템은 정상 동작하고 있으나, 외란 또는 제어 오류로 인해 자율 비행이 비정상적인 경우에 대한 검출이 가능하다.
∙ 다양한 비행 경우에 대한 비행제어오차 데이터를 학습한 심층신경망을 통해 특정 환경에 제한되지 않고 능동적으로 갱신이 가능한 이상 경고 및 검출 기준을 생성한다.

본 논문의 구성은 다음과 같다. 2장에서는 본 논문의 연구 동기인 비정상적 비행 제어 오차에 대한 예시를 제시한다. 3장에서는 항법 이상 검출 기법 개요, 제어 오차 검출 모델에 대한 제시한 내용을 나타낸다. 4장에서는 드론의 실제 비행 데이터를 활용한 실험 결과를 분석하고, 5장은 결론이다.

2. 비정상적 비행 제어 오차

이번 장에서는 드론의 실제 비행을 통해 획득한 정상 및 비정상 데이터를 통해 본 논문에서 제시하는 이상 검출 기법 연구 동기를 제시한다. Figs. 2-4에서 나타낸 데이터는 약 5 kg 중량의 물품을 탑재하여 운반하는 35 kg급 드론의 자율 비행을 통해 획득하였다.

Fig. 2는 드론이 정상적으로 경로점 추종 자율 비행을 수행했을 때의 위치, 속도, 자세에 대한 비행 제어기의 명령과 항법해를 나타낸다. 정상 비행의 경우에는 비행 제어 명령에 의해서 정확하게 구동부가 제어되기 때문에, 드론이 비행 제어기가 의도한 항법을 수행한다. 그 결과 여러 센서로부터 계산된 항법해가 제어 명령을 정확하게 추적하는 것을 확인할 수 있다.

f2.png 이미지
Fig. 2. Flight control command (Target) and navigation solution (True) in normal flight. (a) horizontal position, (b) horizontal velocity, (c) three-dimensional attitude.

f3.png 이미지
Fig. 3. Flight control command (Target) and navigation solution (True) in abnormal flight (shaking). (a) horizontal position, (b) horizontal velocity, (c) three-dimensional attitude.

Fig. 3은 드론이 비행 중 일부 구간에서 크게 흔들린 경우에 위치, 속도, 자세에 대한 비행 제어기의 명령과 항법해를 나타낸다. 먼저, 위치 데이터의 경우 앞선 정상 비행과는 다르게 3150 Epoch 부근에서 드론이 이동을 시작한 항법해가 이후에 제어 명령을 정상적으로 추적하지 못하고 점점 그 차이가 커지다가, 3225 Epoch 근처에서 드론의 속도가 줄어든 이후에 다시 제어 명령을 추적한다. 속도 데이터의 경우 전체 비행 구간 중 일부 구간에서 제어 명령과 달리 급격한 감가속이 이루어짐을 확인할 수 있다. 자세의 경우 일부 구간에서 비행제어기의 롤 (Roll), 피치 (Pitch) 제어 명령 보다 항법해가 2배 이상의 변화 값을 갖는 것을 확인할 수 있다. 이와 같이 드론이 넓은 개활지에서 비행하는 경우에는 드론의 비행 상태를 육안으로 인지하기 어렵기 때문에 실제로 비행하는데 큰 위험 요소로 고려되지 않을 수 있다. 또한 해당 항법해가 갖는 수치는 드론이 정상 비행을 통해서 충분히 가질 수 있는 값이기 때문에 해당 항법 결과에 대한 고정된 임계치를 통해 이상상황을 판단하려고 하는 경우에 이를 인지하지 못할 가능성이 높다. 만약, 주행 방향이 다양하게 변화하거나, 주변 장애물이 많이 존재하는 환경에서 비행을 수행한다면, 해당 상태의 드론은 비행 제어기가 계획한 위치에 정확한 자세로 존재하지 않고, 정상 비행 경로를 이탈할 확률이 매우 높다.

F4.png 이미지
Fig. 4. Flight control command (Target) and navigation solution (True) in abnormal flight (fall and crash). (a) horizontal position, (b) horizontal velocity, (c) three-dimensional attitude.

Fig. 4는 드론이 비행을 시작한 직후 항법 이상으로 추락한 경우에 대한 비행 제어 명령과 항법해이다. 이 데이터를 획득한 환경에서는 측정된 자기장의 세기는 일반적으로 대한민국 지표면에서 측정되는 세기인 40 ~ 50 uT 보다 큰 80 ~ 100 uT 정도로 관측되었다. 해당 데이터는 위치, 속도가 드론 이륙 초기에 급격하게 진동 (Oscillation) 했음에도, 자세 명령과 자세 측정치는 일정한 값을 유지하다가, 추락 직전에 자세가 크게 흔들렸음을 알 수 있다. 즉 비행 제어기와 항법시스템 모두가 정상적으로 동작하지 않은 것으로 판단할 수 있다. 그러나 이와 같은 문제가 발생했음에도 이를 감시할 수 있는 시스템의 부재로 인해 종료될 때까지 해당 문제를 파악할 수 없었으며, 즉각적인 대처가 불가능했다.

위와 같이 드론이 비행 위험 상황 인지하지 못하는 경우에 대응하기 위한 방법이 필요하다. 또한 비행제어명령과 항법해 사이의 오차가 크게 발생하는 경우에도 해당 상태가 정상인지 판단하기 위한 기준 값이 요구된다. 이전 비행에서 획득한 정상 데이터를 기준 값으로 활용할 수도 있지만, 개별 비행에 따라 데이터의 오차 특성이 달라지기 때문에 현재 비행의 특성을 반영한 기준 값이 필요하다. 따라서 본 논문에서는 이전 비행 데이터를 학습하여 현재 비행 상태에 맞는 기준 항법제어오차를 생성하고, 이를 현재 입력되는 항법제어오차와 비교하여 이상 상태를 검출하는 방법을 제안한다.

3. 심층 신경망을 활용한 드론 항법 이상 검출

3.1 이상 검출 기법 개요

본 논문에서 제안하는 항법해 이상 검출 알고리즘의 구조도를 Fig. 5에 나타냈다. 본 논문에서는 GPS와 IMU만을 활용하는 일반적인 드론 항법 시스템을 대상으로 이상 검출 알고리즘을 개발하였다. 먼저 이상 검출 알고리즘의 입력을 생성하기 위해서 비행 제어기로부터 획득한 위치, 속도, 자세 명령과 항법 센서로부터 계산된 항법해 사이의 오차를 생성한다. 생성된 각각의 위치, 속도, 자세 오차는 일렬로 결합되어 오차 추정 모델 학습을 위한 입력으로 인가된다. 오차 추정 모델의 출력은 이상 상태 분류 단계에 입력으로 인가되어 최종적으로 현재 항법해의 이상 유무를 판단한다.

f5.png 이미지
Fig. 5. Anomaly detection algorithm. The inputs of prediction model are generated from subtraction between FC control command and navigation solution.

3.2 심층신경망 기반 항법해 예측 및 상태 분류

Fig. 6은 오차 예측 모델과 상태 분류의 각 시점에 대한 동작을 나타낸다. 항법 센서들을 통해 계산된 항법 제어 오차는 데이터 획득 시간 순서에 따라 저장된다. 이 항법 제어 오차를 누적하여 비행 상태에 대한 데이터 스트림 (data stream)을 생성하고, 데이터 스트림 중 일부 시퀀스 (squence)를 사용하여 쉬프트 (shift) 만큼의 시간 이후 까지의 데이터를 예측한다. 예측 모델은 모델은 시계열 데이터인 위치, 속도, 자세의 데이터 스트림의 정보를 효과적으로 활용하기 위해서 Long-Short Term Memory (LSTM) 기반으로 구성된다 (Hochreiter & Schmidhuber 1997). 해당 모델을 통해서 예측 항법 제어 오차가 예측되면, 실제 항법 제어 오차와 비교하여 현재 상태를 판단한다. 예를 들어 Fig. 6은 \(t+2\) 시점부터 비정상 오차 데이터가 입력되는 경우를 나타낸다. 이때 \(P_{t-j}\)에서 \(P_{t-2}\)를 시퀀스로 사용하고 쉬프트를 1로 설정한 경우에, \(\hat{Y}_{t-k}\)에서 \(\hat{Y}_{t-1}\)의 시점에 대한 항법 제어 오차가 예측된다. 만약 항법 제어 오차가 정상적으로 이루어졌다면 분류 모델은 해당 시점의 항법 시스템이 정상적으로 동작하는 것으로 판단한다. 반면에 \(P_{t-j+3}\)에서 \(P_{t+1}\)를 시퀀스로 사용하는 경우에는 \(\hat{Y}_{t+2}\)의 시점에서 예측 항법 제어 오차는 정상이지만, 실제 항법 제어 오차는 비정상 값을 가지기 때문에 분류 모델에 의해서 해당 시점의 항법 시스템은 이상 상태임을 검출하게 된다. Table 1은 본 논문에서 제안하는 이상 검출 알고리즘의 pseudo-code를 나타낸다. 이때 입력 데이터는 본 연구에서 활용한 실시간 로그 데이터에서 획득 가능한 수평 위치 및 속도, 그리고 3축 자세를 활용하였다.

f6.png 이미지
Fig. 6. Principle of anomaly detection using navigation control error prediction model and status classifier.

Table 1. Predicted Pseudo-code.
t1.png 이미지

4. 이상 상황 검출 실험

4.1 실험 환경

본 논문에서 제안한 기법의 성능 분석을 위해서 실제 드론 비행을 통해 획득한 실시간 로그 데이터를 활용하여 이상 상황 검출 실험을 수행하였다. 항법 데이터 획득에 활용한 드론은 Fig. 7에 보이는 바와 같이 30 kg급 기체인 네온테크 사의 ND-820과 엑스드론 사의 XD-I8D2이다. 각 기체는 pixhawk4에 내장된 GPS 수신 모듈과 가속도계, 자이로스코프, 지자계를 활용하여 항법해를 계산하였다. 본 실험을 통해 각각의 드론이 제주, 보령, 여수 등과 같은 도서산간 지역에 있는 배달점으로의 소포 배송을 위해 적재함에 최대 10 kg 무게의 물체를 싣고 비행하면서 비행 데이터를 획득하였다. 각 지역에서 획득한 비행 데이터들은 하나의 스트림으로 직렬 연결되어 항법 제어 오차 예측 모델의 입력으로 인가된다.

f7.png 이미지
Fig. 7. Drones for experiments: (a) Neontech ND-820 (b) XD-I8D2.

4.2 실험 결과 분석

먼저 항법 제어 오차 예측 모델의 입력을 생성하기 위해서 이전 절에서 설명한 실험 환경에서 획득한 항법 데이터 및 비행 제어 명령을 차분하는 전처리 과정을 수행하였다. 이 과정을 통해 예측 모델의 입력 배치 (Batch)를 생성한다. 이때 입력 배치는 수평 위치 및 속도와 3차원 자세의 7개의 특징 (Feature)에 대해서 생성하였다. 제주, 보령 등에서 수행한 총 30번의 개별 비행 데이터를 하나의 데이터 스트림으로 결합하고, 이 중 학습 (Train)울 위한 입력 113939개, 모델 검증 (Validation)을 위한 입력 34182개를 사용하였다. 이때 각 배치의 시퀀스의 길이는 20, 쉬프트는 1로 설정하여 이전에 수신한 20개의 입력을 통해 다음 시점의 입력 예측 값을 생성하도록 하였다. Fig. 8은 항법 제어 오차의 학습 및 검증 손실 (Loss)을 나타낸다. 학습 손실은 Epoch이 증가함에 따라 오차가 약 0.005으로 수렴하였다. 검증 손실의 경우에는 학습 손실보다 작은 값으로 수렴함을 확인할 수 있다. 이는 학습된 모델이 학습 데이터에 과적합 되지 않고 새로운 입력 데이터에 대해 정상적으로 동작 가능함을 나타낸다.

f8.png 이미지
Fig. 8. Model loss for train and validation input dataset.

Fig. 9는 정상 비행 상황에서 실제 및 예측 항법 제어 오차 간의 차이를 나타낸다. 그리고 Table 1에 정의한 이상 검출 기준 생성 알고리즘을 검증 데이터에 적용하여 생성한 결과를 나타낸다. 위치의 경우에는 비행 제어 명령과 항법 결과 사이의 시간 지연에 의해 드론이 가감속하는 상황에서 항법 제어 오차가 진동 형태를 나타내는 것을 확인할 수 있다. 따라서 위치는 진폭의 크기를 오차의 주요 원인으로 판단하고 검증 데이터로부터 생성한 3-시그마 값을 그대로 적용하여 이상 검출 기준을 생성하였다. 반면에 속도, 자세의 경우에는 항법 제어 오차의 분포가 0을 기준으로 일부 지점에서 이상점 (Outlier)이 존재하는 형태를 나타낸다. 따라서, 전체 데이터에 대해서 표준 편차를 적용할 경우 이상 검출 기준이 매우 낮은 값으로 설정되어 이상점에 대한 식별 성능이 크게 감소한다. 따라서 이 경우에는 검증 데이터의 3-시그마 값을 넘어가는 이상점만 추출하여 최종적으로 계산된 값을 새로운 이상 검출 기준을 설정하였다.

f9.png 이미지
Fig. 9. Abnormal classification threshold generation results: (a-b) position, (c-d) velocity, (e-g) attitude.

Fig. 10은 충남 보령에서 수행한 실험 비행 위치 데이터에 이상 검출 기준을 적용한 결과를 나타낸다. 해당 결과에서 항법 제어 오차가 경고 및 이상 검출 기준을 초과하는 것을 확인할 수 있다. 특히, 횡방향의 경우 누적 오차가 최대 20 m까지 증가하는 것을 확인할 수 있다. 이는 평균 속도가 8 m/s로 설정된 드론이 비행한 당시의 순간 최대 풍속이 약 5 m/s 정도로 강하게 부는 환경이었기 때문에, 기존 설정된 모터 출력으로 비행 제어 명령을 정확하게 추종할 수 없었기 때문으로 판단된다. 그러나 실제 비행 환경이 개활지로 주변 장애물이 없었고, 비행 경로가 직선이었기 때문에 당시 현장에서는 드론이 설정된 비행 경로점을 따라 정상적으로 이동하는 것으로 판단하였다.

f10.png 이미지
Fig. 10. Abnormal position detection result in drone flight with strong wind.

Fig. 11은 여수 장도에서 수행한 실험 비행 자세 데이터에 이상 검출 기준을 적용한 결과를 나타낸다. 해당 데이터는 드론이 이륙 직후에 크게 흔들리며 정상적으로 호버링을 수행하지 못한 상태에서 추락한 경우에 대한 것이다. 드론이 정상적으로 호버링 및 이동했다면 항법 제어 오차는 0에 수렴하는 값을 가져야 하지만, 약 600, 1270, 1700 Epoch 근처에서 보이는 바와 같이 순간적으로 매우 높은 값을 가짐을 확인할 수 있다. 이는 센서에서 제공하는 항법 정보는 정상이지만 비행 제어 명령이 잘못 생성되었거나, 반대로 비행 제어 명령은 정상적으로 생성되었지만 항법시스템의 오류로 인해 항법 제어 오차가 정상적으로 계산되지 않았기 때문이다. 실제 비행에서 이러한 상황이 발생했다면 첫번째 600 Epoch 근처에서 드론은 비행을 종료했어야 하지만, 비행 제어기에서 비행 명령이 지속적으로 인가되었기 때문에 드론은 비행을 중단하지 않았으며 결국 추락하였다. 결론적으로 Fig. 11의 결과는 제안한 이상 검출 방법으로 항법 제어 오차가 크게 발생하는 경우 이를 식별할 수 있음을 나타낸다.

f11.png 이미지
Fig. 11. Abnormal attitude detection results in drone crash situation.

5. 결론

본 논문에서는 드론에 장착된 비행 제어기의 명령과 항법시스템 정보 사이의 차이를 활용하여 드론의 비정상적인 비행 상태를 검출할 수 있는 방법을 제안하였다. 드론의 비행 이상의 경우 큰 흔들림, 추락 등과 같이 육안으로 식별가능 한 상태도 존재하지만, 직진 비행과 같이 상태 변화가 많지 않아 정상 비행으로 오인식 할 수 있는 상태도 존재한다. 본 논문에서 제안한 기법은 실험 결과에서 나타낸 바와 같이 다양한 환경에서 획득한 드론 비행 데이터를 활용하여 이러한 이상 상황에 대한 식별 기준을 생성하고, 비행 데이터를 활용하여 다음 순간의 정상적인 비행 데이터를 예측하여 드론 비행 제어 및 항법 시스템에 이상이 발생할 경우 이를 즉각적으로 식별할 수 있다. 향후 계획은 본 논문에서 활용한 2차원 위치 및 속도, 3차원 자세 데이터 대신, 현재 구축 중인 3차원 위치 및 속도 데이터를 활용하여 해당 방법을 적용하고, 이상 식별 결과 및 항법 제어 오차를 비행 제어기에 제공하는 피드백 루프를 구성하여 드론 비행을 위한 보정정보로 활용하여 비행 안정성을 높이는 연구를 수행하는 것이다.

참고문헌

  1. Ahn, H., Choi, H.-L., Kang, M., & Moon, S. T. 2019, Learning-Based Anomaly Detection and Monitoring for Swarm Drone Flights, Appl. Sci., 9, 5477. https://doi.org/10.3390/app9245477
  2. Bektash, O. M. & La Cour-Harbo, A. 2020, Vibration analysis for anomaly detection in unmanned aircraft, in Annual Conference of the Prognostics and Health Management Society 2020, online, 9-13 Nov 2020.
  3. Ebeid, E., Skriver, M., Terkildsen, K. H., Jensen, K., & Schultz, U. P. 2018, A survey of Open-Source UAV flight controllers and flight simulators, Microprocess Microsyst., 61, 11-20. https://doi.org/10.1016/j.micpro.2018.05.002
  4. Goldman Sachs, Technology Driving Innovation: Drones Reporting for Work [Internet], 2019, available from https://www.goldmansachs.com/insights/technology-driving-innovation/drones/
  5. Hochreiter, S. & Schmidhuber, J. 1997, Long Short-term Memory, Neural Computation, 9, 1735-1780. https://doi.org/10.1162/neco.1997.9.8.1735
  6. Hong, Y., Kim, S., Kim. Y., & Cha, J. 2021, Quadrotor path planning using A* search algorithm and minimum snap trajectory generation, ETRIJ, 43, 1013-1023. https://doi.org/10.4218/etrij.2020-0085
  7. Keipour, A., Mousaei, M., & Scherer, S. 2019, Automatic Real-time Anomaly Detection for Autonomous Aerial Vehicles, in 2019 ICRA, Montreal, Canada, 20-24 May 2019. https://doi.org/10.1109/ICRA.2019.8794286
  8. Khan, S., Liew, C. F., Yairi, T., & McWilliam, R. 2019, Unsupervised Anomaly Detection in Unmanned Aerial Vehicles, Appl. Soft Comput., 83, 105650. https://doi.org/10.1016/j.asoc.2019.105650
  9. Kihara, K., Lu, H.,Yang, S., & Serikawa, S. 2017, Development of System Detecting for Motor Abnormalities and Controlling Speed of Drone Using Temperature Sensor, in the 5th IIAE International Conference on Intelligent Systems and Image Processing 2017, kitakyushu, Japan, 27-31 Mar 2017. https://doi.org/10.12792/icisip2017.068
  10. Lu, H., Li, Y., Mu, S., Wang, D., Kim, H., et al. 2018, Motor Anomaly Detection for Unmanned Aerial Vehicles Using Reinforcement Learning, IEEE Internet Things J., 5, 2315-2322. https://doi.org/10.1109/JIOT.2017.2737479
  11. Moon, H., Jin, E., Kwon, H., Lee, S., & Kim, G. 2021, Digital Forensic Methodology for Detection of Abnormal Flight of Drones, JISCR, 4, 27-35. https://doi.org/10.26735/IDJD2809
  12. Sorensen, L. Y., Jacobsen, L. T., & Hansen, J. P. 2017, Low Cost and Flexible UAV Deployment of Sensors, Sensors, 17, 154. https://doi.org/10.3390/s17010154
  13. Yong, D., Yuanpeng, Z., Yaqing, X., Yu, P., & Datong, L. 2017, Unmanned Aerial Vehicle Sensor Data Anomaly Detection using Kernel Principle Component Analysis, in the ICEMI 2017, Yangzhou, China, 20-22 Oct 2017. https://doi.org/10.1109/ICEMI.2017.8265777