KR102665097B1 - 군집 시스템에서 개별 이동체의 이상 탐지 방법 및 장치 - Google Patents

군집 시스템에서 개별 이동체의 이상 탐지 방법 및 장치 Download PDF

Info

Publication number
KR102665097B1
KR102665097B1 KR1020230163195A KR20230163195A KR102665097B1 KR 102665097 B1 KR102665097 B1 KR 102665097B1 KR 1020230163195 A KR1020230163195 A KR 1020230163195A KR 20230163195 A KR20230163195 A KR 20230163195A KR 102665097 B1 KR102665097 B1 KR 102665097B1
Authority
KR
South Korea
Prior art keywords
data
moving objects
abnormal
channels
training
Prior art date
Application number
KR1020230163195A
Other languages
English (en)
Inventor
안효정
Original Assignee
한국항공우주연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국항공우주연구원 filed Critical 한국항공우주연구원
Priority to KR1020230163195A priority Critical patent/KR102665097B1/ko
Application granted granted Critical
Publication of KR102665097B1 publication Critical patent/KR102665097B1/ko

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • B64C39/024Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0027Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement involving a plurality of vehicles, e.g. fleet or convoy travelling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0055Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • G05D1/104Simultaneous control of position or course in three dimensions specially adapted for aircraft involving a plurality of aircrafts, e.g. formation flying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • B64U2201/10UAVs characterised by their flight controls autonomous, i.e. by navigating independently from ground or air stations, e.g. by using inertial navigation systems [INS]
    • B64U2201/102UAVs characterised by their flight controls autonomous, i.e. by navigating independently from ground or air stations, e.g. by using inertial navigation systems [INS] adapted for flying in formations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Navigation (AREA)

Abstract

본 발명은 군집 시스템에서 개별 이동체의 이상 탐지 방법 및 장치에 관한 것으로, 본 발명에 따른 방법은, 제1 시나리오에 따라 군집이동한 복수의 이동체로부터 복수의 제1 이동 데이터를 수집하는 단계 - 복수의 제1 이동 데이터는 복수 채널의 관성 센서 데이터를 포함함 -, 복수의 제1 이동 데이터에 기초하여 복수의 이동체에 각각 대응하는 복수의 트레이닝 데이터를 생성하고, 복수의 이동체 각각에 대응하는 복수의 학습 모델을 복수의 이동체 각각에 대응하여 생성된 트레이닝 데이터를 이용하여 트레이닝하는 단계, 제2 시나리오에 따라 군집이동하는 복수의 이동체로부터 복수의 제2 이동 데이터를 실시간으로 수집하는 단계 - 복수의 제2 이동 데이터는 복수 채널의 관성 센서 데이터를 포함함 -, 복수의 제2 이동 데이터에 기초하여 복수의 이동체에 대응하는 복수의 입력 데이터를 생성하고, 복수의 이동체에 각각 대응하는 복수의 학습 모델에 복수의 입력 데이터를 각각 입력하여 복수의 이동체의 이상 상태를 각각 탐지하고, 이상 상태로 탐지된 이동체의 관성 측정 장치의 복수 채널 중 이상 채널을 식별하는 단계를 포함한다.

Description

군집 시스템에서 개별 이동체의 이상 탐지 방법 및 장치{Method and apparatus for anomaly detection for individual vehicles in swarm system}
본 발명은 군집 시스템에서 개별 이동체의 이상을 탐지하는 방법 및 장치에 관한 것이다.
최근 드론과 같은 이동체를 정찰, 감시, 구조, 물류 및 운송, 환경 관측, 농업, 소방 안전 임무 등 다양한 분야에서 활용하고 있다. 일부 작업의 경우 군집 이동체 간의 시너지 작업이 필요하며, 이에 따라 복수의 이동체가 함께 군집 이동을 하면서 임무를 수행하는 군집 시스템에 대한 활용도 증가하고 있다.
드론 기술은 많은 이점을 제공하지만, 드론의 운영과 유지보수에서 안전은 여전히 중요한 문제이다. 오작동하는 드론에서 파편이 떨어지거나 안전장치가 작동하기 전에 갑작스러운 추락이 발생하면 상당한 위험을 초래할 수 있다. 따라서 이러한 위험을 완화하고 오작동 시 신속한 대응을 위해서는 운용 중인 드론의 상태를 실시간으로 모니터링할 수 있는 기술 개발이 필요하다.
종래에는 군집 시스템을 구성하는 복수의 이동체 중에서 어느 하나의 이동체에 발생한 이상을 실시간으로 파악하는 방법은 직접 육안으로 확인하는 방법뿐이었다. 각 이동체로부터의 신호를 이용하여 이상 발생 유무를 확인하는 방법도 있지만, 이동체의 개수가 많아지면 이를 실시간으로 확인하는 것은 거의 불가능하다.
본 발명이 해결하고자 하는 과제는 군집 시스템을 구성하는 복수의 이동체의 이상 여부 및 이상 채널을 실시간으로 탐지하는 방법 및 컴퓨터 프로그램을 제공하는 것이다.
상술한 기술적 과제를 해결하기 위한 본 발명에 따른 군집 시스템의 이상 탐지 방법은, 제1 시나리오에 따라 군집이동한 복수의 이동체로부터 복수의 제1 이동 데이터를 수집하는 단계 - 상기 복수의 제1 이동 데이터는 측위 데이터 및 복수 채널의 관성 센서 데이터를 포함함 -, 상기 복수의 제1 이동 데이터에 포함된 측위 데이터에 기초하여 상기 복수의 이동체에 각각 대응하는 복수의 제1 트레이닝 데이터를 생성하고, 상기 복수의 제1 트레이닝 데이터를 이용하여 제1 학습 모델을 트레이닝하는 단계, 상기 복수의 제1 이동 데이터에 포함된 복수 채널의 관성 센서 데이터에 기초하여 상기 복수의 이동체에 각각 대응하는 복수의 제2 트레이닝 데이터를 생성하고, 상기 복수의 이동체 각각에 대응하는 복수의 제2 학습 모델을 상기 복수의 이동체 각각에 대응하여 생성된 제2 트레이닝 데이터를 이용하여 트레이닝하는 단계, 제2 시나리오에 따라 군집이동하는 상기 복수의 이동체로부터 복수의 제2 이동 데이터를 실시간으로 수신하는 단계 - 상기 복수의 제2 이동 데이터는 측위 데이터 및 복수 채널의 관성 센서 데이터를 포함함 -, 상기 복수의 제2 이동 데이터에 포함된 측위 데이터에 기초하여 상기 복수의 이동체에 각각 대응하는 복수의 제1 입력 데이터를 생성하고, 상기 제1 학습 모델에 상기 복수의 제1 입력 데이터를 입력하여 상기 복수의 이동체 중에서 이상 상태(abnormal state)로 추정되는 이상 이동체를 실시간으로 탐지하는 단계, 및 상기 이상 이동체에 대응하는 제2 이동 데이터에 포함된 복수 채널의 관성 센서 데이터에 기초하여 상기 이상 이동체에 대응하는 제2 입력 데이터를 생성하고, 상기 이상 이동체에 대응하는 상기 제2 학습 모델에 상기 제2 입력 데이터를 입력하여 상기 이상 이동체의 관성 측정 장치의 복수 채널 중 이상 채널을 식별하는 단계를 포함한다.
상기 제2 트레이닝 데이터 중 일부만 정상 상태로 라벨링되어 있고, 상기 제2 학습 모델은 상기 제2 트레이닝 데이터를 이용하여 준지도 학습 기법으로 트레이닝될 수 있다.
상기 제2 학습 모델은 VAE(Variational autoencoder), AnoGAN, GANomaly 및 Skip-GANomaly 중 어느 하나일 수 있다.
상기 제2 학습 모델은, 상기 제2 입력 데이터에 포함된 복수 채널의 관성 센서 데이터 각각에 대한 복수 채널의 재구성 데이터를 생성하고, 상기 복수 채널의 관성 센서 데이터와 상기 복수 채널의 재구성 데이터 각각의 재구성 오차에 기반하여 상기 이상 이동체의 이상 상태를 식별하고, 상기 복수 채널 각각에 대해 구해지는 이상 확률 값에 기초하여 상기 이상 채널을 식별할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에에 따른 군집 시스템의 이상 탐지 방법은, 제1 시나리오에 따라 군집이동한 복수의 이동체로부터 복수의 제1 이동 데이터를 수집하는 단계 - 상기 복수의 제1 이동 데이터는 복수 채널의 관성 센서 데이터를 포함함 -, 상기 복수의 제1 이동 데이터에 기초하여 상기 복수의 이동체에 각각 대응하는 복수의 트레이닝 데이터를 생성하고, 상기 복수의 이동체 각각에 대응하는 복수의 학습 모델을 상기 복수의 이동체 각각에 대응하여 생성된 트레이닝 데이터를 이용하여 트레이닝하는 단계, 제2 시나리오에 따라 군집이동하는 상기 복수의 이동체로부터 복수의 제2 이동 데이터를 실시간으로 수집하는 단계 - 상기 복수의 제2 이동 데이터는 복수 채널의 관성 센서 데이터를 포함함 -, 상기 복수의 제2 이동 데이터에 기초하여 상기 복수의 이동체에 대응하는 복수의 입력 데이터를 생성하고, 상기 복수의 이동체에 각각 대응하는 상기 복수의 학습 모델에 상기 복수의 입력 데이터를 각각 입력하여 상기 복수의 이동체의 이상 상태를 각각 탐지하고, 이상 상태로 탐지된 이동체의 관성 측정 장치의 복수 채널 중 이상 채널을 식별하는 단계를 포함한다.
상기 트레이닝 데이터 중 일부만 정상 상태로 라벨링되어 있고, 상기 학습 모델은 상기 트레이닝 데이터를 이용하여 준지도 학습 기법으로 트레이닝될 수 있다.
상기 학습 모델은 VAE(Variational autoencoder), AnoGAN, GANomaly 및 Skip-GANomaly 중 어느 하나일 수 있다.
상기 학습 모델은, 상기 제2 입력 데이터에 포함된 복수 채널의 관성 센서 데이터 각각에 대한 복수 채널의 재구성 데이터를 생성하고, 상기 복수 채널의 관성 센서 데이터와 상기 복수 채널의 재구성 데이터 각각의 재구성 오차에 기반하여 상기 이상 이동체의 이상 상태를 식별하고, 상기 복수 채널 각각에 대해 구해지는 이상 확률 값에 기초하여 상기 이상 채널을 식별할 수 있다.
본 발명의 일 실시예에 따른 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램은, 적어도 하나의 프로세서에 의해 실행되면, 상기 방법을 실행시킬 수 있다.
본 발명의 일 실시예에 따른 컴퓨팅 장치는 프로세서 및 상기 프로세서에 의해 실행 가능한 인스트럭션 또는 프로그램을 저장한 메모리를 포함하고, 상기 인스트럭션 또는 프로그램이 상기 프로세서에 의해 실행되면 상기 방법을 실행시킬 수 있다.
본 발명에 의하면 군집 시스템을 구성하는 복수의 이동체의 이상 여부 및 이상 채널을 실시간으로 탐지할 수 있다. 특히 이상 이동체에 장착된 관성 측정 장치의 복수 채널의 신호 중 이상 채널 신호를 탐지하여 이상 원인을 파악하는데 활용할 수 있다.
도 1은 본 발명의 일 실시예에 따른 군집 시스템을 도시한다.
도 2는 본 발명의 일 실시예에 따른 군집 시스템의 이상 탐지 장치를 개략적으로 도시한다.
도 3은 본 발명의 일 실시예에 따른 이상 탐지 장치의 내부 구성을 개략적으로 도시한다.
도 4는 본 발명의 일 실시예에 따른 군집 시스템의 이상 탐지 방법을 설명하기 위해 제공되는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 제1 학습 모델을 트레이닝하는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 제2 학습 모델을 트레이닝하는 방법을 설명하기 위한 도면이다.
도 7a 내지 도 7d는 본 발명에 따른 제2 학습 모델의 아키텍처를 예시한 것이다.
도 8 내지 도 10은 본 발명에 따라 구해지는 재구성 오차에 따른 이상 사례를 구분한 예를 나타낸 것이다.
도 9의 경우 재구성 오차가 급등하는 구간이 있으나 다시 정상 상태로 복원되는 경우를 나타내고 있으며, 이러한 재구성 오차를 보이는 경우는 일시적인 통신 오류나 제어 로직 문제에 의한 경우에 해당하였다.
도 10의 경우 재구성 오차가 급등한 후 작동하지 않는 경우를 나타내고 있으며, 심각한 오작동으로 인해 드론이 추락한 경우에 해당하였다.
도 11은 테스트 비행 중 이상 상태가 감지된 드론에 대해 각 채널별로 구해지는 재구성 오차 평균값을 나타낸 그래프이다.
도 12는 도 11의 사례에서 비행 로그 분석을 통해 확인한 위치 데이터를 나타낸 그래프이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
본 명세서에서 "컴퓨팅 장치"는 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 컴퓨팅 장치는 데스크 탑 PC, 노트북(Note Book) 컴퓨터, 서버 컴퓨터뿐만 아니라 스마트폰(Smart phone), 태블릿 PC, 셀룰러폰(Cellular phone), 피씨에스폰(PCS phone; Personal Communication Service phone), 동기식/비동기식 IMT-2000(International Mobile Telecommunication-2000)의 이동 단말기, 팜 PC(Palm Personal Computer), 개인용 디지털 보조기(PDA; Personal Digital Assistant) 등도 해당될 수 있다.
도 1은 본 발명의 일 실시예에 따른 군집 시스템을 도시한다.
도 1을 참조하면, 일 실시예에 따른 군집 시스템은 복수의 무인 비행체(30)와 이들을 제어하기 위한 제어 장치(20)를 포함한다. 사용자(10)는 제어 장치(20)에 무인 비행체(30)가 비행할 시나리오를 제공할 수 있다. 무인 비행체(30)는 드론으로 지칭될 수 있다. 무인 비행체(30)의 개수는 수십, 수백 내지 수천 개에 이를 수 있다. 본 명세서에서 비행체(30)의 개수는 n으로 표시한다.
시나리오는 시간의 흐름에 따라 비행체들(30)이 어떻게 이동하여 어떻게 배치될 것인지에 대한 정보를 포함한다. 시나리오는 사용자(10)에 의해 미리 정해지며, 비행체들(30) 각각이 어떻게 이동, 비행, 위치할 것인지 등에 대한 정보를 포함할 수 있다.
제어 장치(20)는 사용자(10)로부터 제공된 시나리오에 따라 비행체들(30)을 제어할 수 있다. 제어 장치(20)는 제공된 시나리오에 따라 제어 명령을 비행체들(30)에게 송신할 수 있다. 제어 명령은 예를 들면 2.5Ghz의 와이파이 신호로 전달될 수 있다. 다른 예에 따르면, 시나리오는 비행체들(30)에 전송될 수 있으며, 비행체들(30)은 시나리오를 저장하고 저장된 시나리오에 따라 비행할 수도 있다.
비행체들(30)은 예컨대, GPS 위성(40)의 신호에 기반하여 자신의 위치를 감지할 수 있다. 그러나, GPS 기반의 위치 정보는 수 m의 오차를 갖기 때문에 시나리오에 따라 정확히 비행하는지를 판단하기에는 턱없이 부족할 수 있다. 게다가, GSS 오차로 인하여 군집하여 비행하는 비행체들(30)은 서로 충돌 확률이 높아지기 때문에 심각한 문제를 초래할 수 있다.
비행체들(30)이 시나리오에 따라 비행하기 위해서는 비행체들(30)의 위치를 정확히 감지하는 것이 중요하다. 일 실시예에 따르면, 비행체들(30)의 위치를 정확히 감지하기 위하여 RTK-GPS(Real Time Kinematic-GPS) 기술이 적용될 수 있다.
RTK 기지국(50)은 스스로의 지구 상 위치를 정확히 알고 있으며, GPS 위성(40)으로부터의 신호에 기초하여 감지한 위치와 실제 위치 간의 오차를 보정하기 위한 RTK 보정 정보를 생성하고, RTK 보정 데이터를 비행체들(30)에게 제공할 수 있다. RTK 보정 데이터는 예컨대 2.4GHz의 지그비 신호로 전달될 수 있다. 비행체들(30)은 RTK 보정 데이터를 수신하고, 이를 이용하여 GPS 위성(40)으로부터의 신호를 보정함으로써, 수 cm 이하의 오차로 자신의 위치를 감지할 수 있다.
비행체(30)는 RTK 보정 데이터를 이용하여 자신의 위치 및 속도를 감지하고, 위치 정보 및 속도 정보를 포함하는 비행 데이터를 제어 장치(20)에 제공할 수 있다. 비행 데이터에는 비행체(30)의 관성 측정 장치(Inertial Measurement Unit)에서 측정되어 출력되는 복수 채널의 관성 센서 데이터를 포함할 수 있다. 예를 들어 비행체(30)에 장착된 관성 측정 장치는 자이로스코프(Gyroscope), 가속도계(Accelerometer), 지자계(Magnetometer), 기압계(Barometer) 등을 포함할 수 있다.
아래 표 1은 비행체에 장착된 관성 측정 장치의 16 채널 관성 센서 데이터의 종류를 나타낸 것이다.
[표 1]
본 발명에 따르면 제어 장치(20)는 비행체들(30) 각각으로부터 수신되는 비행 데이터에 기초하여 비행체들(30) 각각의 이상 상태 여부를 탐지할 수 있다. 그리고 이상 상태로 탐지된 비행체(30)의 관성 측정 장치의 복수 채널 중 이상 신호를 출력하는 이상 채널을 탐지할 수 있다.
다른 예에 따르면, 제어 장치(20)에 네트워크로 연결되는 컴퓨팅 장치는 비행체들(30) 각각의 비행 데이터를 수신하여, 어떤 비행체(30)에서 이상이 발생하였고, 이상이 발생한 비행체의 관성 측정 장치에서 이상 신호를 출력하는 이상 채널을 탐지할 수 있다.
본 명세서에서는 군집하여 비행하는 무인 비행체들(30)에서 이상이 발생한 비행체(30)를 탐지하는 실시예를 중심으로 설명한다. 하지만, 본 발명은 이에 한정되지 않으며, 미리 정해진 시나리오에 따라 이동하는 무인 자동차, 군집 이동 로봇 등의 이동체들(30)에 대해서도 동일한 발명 사상이 적용될 수 있다. 비행체(30)는 이동체로 지칭될 수 있으며, 비행체(30)의 비행 데이터는 이동체의 이동 데이터로 지칭될 수 있다.
도 2는 본 발명의 일 실시예에 따른 군집 시스템의 이상 탐지 장치를 개략적으로 도시한다.
도 2를 참조하면, 이상 탐지 장치(100)는 비행 데이터(200)를 입력받아 비행체 이상 정보(300)를 출력할 수 있다.
이상 탐지 장치(100)는 도 1의 제어 장치(20)의 일부일 수도 있고, 제어 장치(20)와 네트워크를 통해 통신 가능하게 연결된 컴퓨팅 장치일 수 있다. 이상 탐지 장치(100)는 비행체(30)로부터 비행 데이터(200)를 직접 수신하거나, 네트워크를 통해 연결된 제어 장치(20)를 통해 수신할 수 있다.
네트워크는 유선 네트워크 및/또는 무선 네트워크를 포함할 수 있다. 예를 들면, 네트워크는 근거리 네트워크(LAN: Local Area Network), 도시권 네트워크(MAN: Metropolitan Area Network), 광역 네트워크(WAN: Wide Area Network) 등과 같은 다양한 네트워크를 포함할 수 있다. 네트워크는 월드 와이드 웹(WWW: World Wide Web)을 포함할 수 있다.
네트워크는 공지의 이동 통신 네트워크, 공지의 무선 데이터 네트워크, 공지의 전화 네트워크, 공지의 유/무선 텔레비전 네트워크 중 적어도 하나를 포함할 수 있다. 네트워크는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있다.
전술한 바와 같이, 도 1의 군집 시스템에서는 비행체(30)에서 생성된 비행 데이터(200)를 수신하지만, 무인 자동차, 군집 이동 로봇과 같은 이동체에서는 이동 데이터를 수신할 수도 있다. 비행 데이터(200)는 이동 데이터에 포함된다.
비행 데이터(200)는 비행체들(30)에서 각각 생성된 비행 데이터들을 포함한다. 예를 들면, 비행 데이터(200)는 제1 비행체의 제1 비행 데이터 내지 제n 비행체의 제n 비행 데이터를 포함할 수 있다.
비행 데이터(200)는 시계열 데이터이다. 비행 데이터(200)에는 생성 시간, 수신 시간, 또는 측정 시간이 타임 스탬핑되어 있을 수 있다. 예를 들면, 비행 데이터(200)는 생성 시간, 수신 시간, 또는 측정 시간을 포함할 수 있다.
비행 데이터(200)는 미리 설정된 기간 동안의 시계열 데이터일 수 있다. 예를 들면, 비행 데이터(200)는 1초에 10번 샘플링된 데이터로서, 16초 간의 데이터일 수 있다. 이 경우, 비행 데이터(200)는 각 파라미터에 대하여 160개의 데이터 값을 포함할 수 있다. 여기서 각 파라미터는 운동학적 변수(kinematic variables)에 해당하는 비행체의 위치 및 속도 정보(x축 위치, y축 위치, z축 위치, x축 속도, y축 속도, 및 z축 속도)와, 앞서 표 1에 예시한 것과 같은 관성 측정 장치의 16개 채널의 관성 센서 데이터값 등일 수 있다.
비행 데이터(200)는 비행체(30)의 위치 정보 및 속도 정보를 포함할 수 있다. 정확한 위치 정보를 위하여 비행체(30)는 RTK 기지국(50)으로부터 수신된 RTK 보정 데이터를 이용할 수 있다.
비행체(30)의 위치 정보는 비행체(30)의 GPS 좌표 및 고도 정보를 포함할 수 있다. 비행체(30)의 위치 정보는 x축, y축, z축 위치를 포함할 수 있다.
비행체(30)의 속도 정보는 비행체(30)의 x축 속도, y축 속도, 및 z축 속도 정보를 포함할 수 있다. 비행체(30)의 속도 정보는 비행체(30)의 GPS 위치 정보를 기초로 생성된 것일 수도 있고, 비행체(30)에 탑재된 관성 센서 장치의 센서 값들을 이용하여 생성된 것일 수도 있다.
비행체 이상 정보(300)는 비행체들(30) 각각이 정상 상태인지 아니면 이상 상태인지의 여부에 관한 정보일 수 있다. 비행체 이상 정보(300)는 비행체들(30) 각각이 정상 상태일 확률 또는 이상 상태일 확률로 나타낼 수 있다. 비행체 이상 정보(300)는 비행체들(30) 중에서 이상 상태인 특정 비행체를 식별한 정보일 수도 있다. 비행체들(30) 각각의 이상 상태일 확률이 소정의 기준치를 초과하는 경우 이상 상태로 결정할 수 있으며, 비행체 이상 정보(300)는 이상 상태로 결정된 비행체의 식별 번호를 포함할 수 있다.
본 명세서에서 비행체가 이상 상태라 함은 비행체가 이상 동작을 보이는 것을 의미한다. 비행체가 이상 동작을 보이는 이유에는 다양한 원인이 있을 수 있으며, 예컨대, 비행체에 고장이 발생하였다거나, 비행체와의 통신 이상이 발생하였다거나, 특정 비행체를 제어하는데 문제가 발생하는 등의 원인이 있을 수 있다.
아래에서는 비행체들(30)의 비행 데이터(200)로부터 비행체 이상 정보(300)를 생성하는 이상 탐지 장치(100)에 대하여 더욱 자세히 설명한다.
도 3은 본 발명의 일 실시예에 따른 이상 탐지 장치의 내부 구성을 개략적으로 도시한다.
도 3을 참조하면, 이상 탐지 장치(100)는 제어부(110), 메모리(120), 데이터베이스(DB, 130), 및 통신모듈(140)을 포함할 수 있다. 제어부(110), 메모리(120), DB(130) 및 통신모듈(140)은 버스를 통해 서로 데이터를 교환할 수 있다.
그러나, 도 3에 도시된 구성 요소 모두가 이상 탐지 장치(100)의 필수 구성 요소인 것은 아니다. 도 3에 도시된 구성 요소보다 많은 구성 요소에 의해 이상 탐지 장치(100)가 구현될 수도 있고, 도 3에 도시된 구성 요소보다 적은 구성 요소에 의해 이상 탐지 장치(100)가 구현될 수도 있다.
일 실시예에 따른 이상 탐지 장치(100)는 제어부(110), 메모리(120), DB(130) 및 통신모듈(140) 외에, 입출력 장치, 저장 장치 등을 더 포함할 수 있다.
제어부(110)는 통상적으로 이상 탐지 장치(100)의 전반적인 동작을 제어한다. 제어부(110)는 기본적인 산술, 로직 및 입출력 연산을 수행하고, 예컨대 메모리(120)에 저장된 프로그램 코드, 예컨대, 인공지능 신경망 기반의 학습 모델을 실행할 수 있다. 제어부(110)는 프로세서로 지칭될 수 있다.
메모리(120)는 프로세서(110)가 판독할 수 있는 기록 매체로서, RAM, ROM 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 메모리(120)에는 운영체제와 적어도 하나의 프로그램 또는 어플리케이션 코드가 저장될 수 있다. 메모리(120)에는 군집 비행하는 비행체들의 실시간 비행 데이터들로부터 비행체의 이상 여부를 탐지하기 위한 인공지능 신경망 기반의 학습 모델을 기계 학습하기 위한 프로그램 코드, 이러한 학습 모델을 이용하여 비행체 이상 정보를 생성하기 위한 프로그램 코드 등이 저장될 수 있다. 또한, 메모리(120)에는 인공지능 신경망 기반의 비지도 학습 모델을 이용하여 트레이닝 비행 데이터에 이상 여부를 라벨링하기 위한 프로그램 코드 등이 저장될 수 있다.
DB(130)는 프로세서(110)가 판독할 수 있는 기록 매체로서, 디스크 드라이브와 같은 비소멸성 대용량 기록장치를 포함할 수 있다. DB(130)는 학습 모델, 및 학습 모델의 트레이닝에 사용되는 트레이닝 데이터를 저장할 수 있다.
DB(130)에는 군집 비행하는 비행체들로부터 수신되는 비행 데이터들이 저장될 수 있다. DB(130)에 저장된 비행 데이터들은 비행체들로부터 실시간으로 수신되는 데이터가 아니라, 예전에 수집되었던 데이터들일 수도 있다.
본 명세서에서 과거에 수집되었던 비행 데이터들은 학습 모델을 트레이닝하거나 학습 모델을 평가하는데 사용될 수 있으며, 트레이닝 데이터로 지칭한다. 실시간으로 수신되는 비행 데이터들은 트레이닝된 학습 모델에 입력되어 비행체의 이상 여부 및 이상 채널을 추정하는데 사용되며, 실시간 비행 데이터 또는 입력 데이터로 지칭한다.
DB(130)에는 비행체들로부터 수신된 비행 데이터들이 가공 없이 그대로 저장될 수 있고, 학습 모델을 트레이닝하기에 적합한 형태로 가공된 형태로 저장될 수도 있다. 예를 들면, DB(130)에는 비행체들로부터 수신된 비행 데이터들 중 일부만이 저장될 수 있으며, 일부의 데이터도 변형되어 저장될 수 있다.
DB(130)에는 비행체들의 군집 비행할 시나리오가 저장될 수 있다. 시나리오는 사용자(10)에 의해 작성된 것일 수 있다. DB(130)에는 비행체들이 군집 비행했던 시나리오도 저장될 수 있다.
통신 모듈(140)은 네트워크에 접속하기 위한 모듈로서, 비행체(30)에 제어 명령을 송신하고, 비행체(30)로부터 비행 데이터를 수신할 수 있다. 다른 예에 따르면, 통신 모듈(140)은 제어 장치(20)로부터 비행 데이터를 수신할 수 있으며, 제어 장치(20)에 이상이 발생한 비행체의 식별 번호를 송신할 수도 있다.
제어부(110)는 하나의 제1 학습 모델과 복수 개의 제2 학습 모델을 트레이닝할 수 있다.
제1 학습 모델은 군집하여 비행중인 복수 개의 비행체들 중에서 이상 상태인 비행체를 탐지하도록 트레이닝될 수 있다.
복수 개의 제2 학습 모델은 군집하여 비행중인 복수 개의 비행체 각각에 대응하여 마련될 수 있다. 각각의 제2 학습 모델은 자신에 대응하는 비행체의 이상 상태 여부 및 관성 측정 장치에서 관성 센서 신호가 출력되는 복수 채널 중에서 이상 채널을 탐지하도록 트레이닝될 수 있다.
도 4는 본 발명의 일 실시예에 따른 군집 시스템의 이상 탐지 방법을 설명하기 위해 제공되는 도면이다.
도 4를 참고하면, 먼저 이상 탐지 장치(100)는 n개의 비행체(30-1~30-n)로부터 송신되는 n개의 비행 데이터(200-1~200-n)를 실시간으로 수신할 수 있다.
비행체들(30-1~30-n)은 미리 정해진 시나리오에 따라서 군집하여 비행할 수 있다. 여기서, n은 예컨대 100과 같은 상당히 큰 수일 수 있으나, 본 발명을 한정하지 않는다.
비행 데이터들(200-1~200-n)은 비행체들(30-1~30-n)의 위치에 관한 측위 데이터, 비행체들(30-1~30-n)의 속도에 관한 속도 데이터, 및 비행체들(30-1~30-n)에 장착된 관성 측정 장치에서 측정된 복수 채널의 관성 센서 데이터를 포함할 수 있다.
이상 탐지 장치(100)는 n개의 비행 데이터(200-1~200-n)에 포함된 측위 데이터에 기초하여 n개의 비행체(30-1~30-n)에 각각 대응하는 n개의 제1 입력 데이터(220-1~220-n)를 생성할 수 있다.
예를 들어, 이상 탐지 장치(100)는 미리 정해진 시나리오에 따라서 비행체들(30-1~30-n)이 각각 위치해야 하는 기준 위치를 포함하는 기준 위치 데이터(210)를 생성할 수 있다. 그리고 이상 탐지 장치(100)는 n개의 비행 데이터(200-1~200-n)에 포함된 측위 데이터와 기준 위치 데이터(210)의 차에 해당하는 편차 데이터를 생성하고, 편차 데이터를 정규화한 데이터를 생성할 수 있다.
n개의 제1 입력 데이터(220-1~220-n)는 앞서 설명한 n개의 비행체들(30-1~30-n)의 측위 데이터와 기준 위치의 차에 해당하는 편차 데이터, 또는 편차 데이터를 정규화한 데이터를 포함할 수 있다. 또한 실시예에 따라서 n개의 제1 입력 데이터(220-1~220-n)는 비행 데이터들(200-1~200-n)의 속도 데이터를 정규화한 데이터를 더 포함할 수도 있다.
이상 탐지 장치(100)는 n개의 제1 입력 데이터(220-1~220-n)를 제1 학습 모델(113)에 입력하여, n개의 비행체들(30-1~30-n) 중에서 이상 상태(abnormal state)로 추정되는 이상 비행체를 실시간으로 탐지할 수 있다.
다음으로 이상 탐지 장치(100)는 제1 학습 모델(113)에서 이상 비행체로 탐지된 비행체(30-2)에 대응하는 제2 입력 데이터(230)를 생성할 수 있다(설명의 편의를 위해 도 4에서 제1 비행체(30-1)가 이상 비행체로 탐지된 것으로 예시함). 여기서 제2 입력 데이터(230)는 제1 비행체(30-1)의 비행 데이터(220-1)에 포함된 복수 입력 채널의 관성 센서 데이터를 미리 정해진 방법으로 전처리하여 생성할 수 있다. 예를 들어 최소-최대 정규화(Min-max normalization)나 표준화(Standardization) 등이 비행 데이터(220-2)에 포함된 복수 입력 채널의 관성 센서 데이터에 대해서 수행될 수 있다.
이상 탐지 장치(100)는 제2 입력 데이터(230)를 제1 비행체(30-1)에 대응하는 제2 학습 모델(114-1)에 입력할 수 있다. 제2 입력 데이터(230)를 입력받은 제2 학습 모델(114-1)은 제1 비행체(30-1)의 이상 여부 및 제1 비행체(30-1)에 장착된 관성 측정 장치의 복수 채널 중 이상 채널을 탐지할 수 있다.
도 5는 본 발명의 일 실시예에 따른 제1 학습 모델을 트레이닝하는 방법을 설명하기 위한 도면이다.
도 5를 참고하면, 먼저 이상 탐지 장치(100)는 시나리오에 따라 군집 비행한 n개의 비행체(30-1~30-n)로부터 n개의 비행 데이터(200-1~200-n)를 수집하여 DB(도 2의 130)에 저장할 수 있다. 여기서, n은 예컨대 100과 같은 상당히 큰 수일 수 있으나, 본 발명을 한정하지 않는다. 비행 데이터들(200-1~200-n)은 비행체들(30-1~30-n)의 위치에 관한 측위 데이터, 비행체들(30-1~30-n)의 속도에 관한 속도 데이터, 및 비행체들(30-1~30-n)에 장착된 관성 측정 장치(도시하지 않음)의 복수 채널에서 출력되는 관성 센서 데이터를 포함할 수 있다.
비행 데이터들(200-1~200-n)은 1회의 군집 비행을 통해 수집된 것일 수 있으나, 여러 차례의 군집 비행을 통해서 보다 많은 비행 데이터들(200-1~200-n)을 수집하는 것도 가능하다. 여러 차례 군집 비행은 동일한 시나리오에 의해 이루어지거나, 또는 군집 비행마다 다른 시나리오에 의해 이루어지는 것도 가능하다.
이상 탐지 장치(100)는 비행 데이터들(200-1~200-n)에 포함된 측위 데이터에 기초하여 비행체들(30-1~30-n) 각각에 대응하는 n개의 제1 트레이닝 데이터(220'-1~220'-n)를 생성할 수 있다.
이상 탐지 장치(100)는 시나리오에 따라서 비행체들(30-1~30-n)이 각각 위치해야 하는 기준 위치 데이터를 생성할 수 있고, 비행 데이터들(200-1~200-n)에 포함된 측위 데이터와 기준 위치 데이터의 차에 해당하는 편차 데이터들을 생성할 수 있다. 이상 탐지 장치(100)는 편차 데이터들을 정규화할 수 있으며, 정규화된 편차 데이터들은 제1 트레이닝 데이터들((220'-1~220'-n)에 포함될 수 있다. 실시예에 따라서 이상 탐지 장치(100)는 비행 데이터들(200-1~200-n)의 속도 데이터를 정규화한 데이터를 더 포함할 수도 있다.
이상 탐지 장치(100)는 제1 트레이닝 데이터들((220'-1~220'-n)에 기초하여 군집 비행하는 비행체들(30-1~30-n) 중 이상 비행체를 탐지하도록 제1 학습 모델(113)을 트레이닝할 수 있다.
제1 학습 모델(113)이 지도 학습 모델인 경우, 이상 탐지 장치(100)는 제1 트레이닝 데이터들((220'-1~220'-n)에 이상 정보가 라벨링된 데이터를 이용하여 제1 학습 모델(113)을 트레이닝할 수 있다.
지도 학습 모델(113)은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 지도 학습 모델(113)은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 학습 모델로서, 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 이용될 수 있으나, 이에 한정되지 않는다.
제1 트레이닝 데이터들((220'-1~220'-n)에 라벨링되는 이상 정보는, 제1 트레이닝 데이터들((220'-1~220'-n)의 이상 여부, 즉 정상 상태 또는 이상 상태를 나타내는 것으로, 제1 트레이닝 데이터들((220'-1~220'-n) 각각에 대응하는 비행체들(30-1~30-n)이 이상 동작을 하는지 여부를 의미한다.
이상 탐지 장치(100)는 비지도 학습 모델 기반으로 결정된 이상 정보를 제1 트레이닝 데이터들((220'-1~220'-n)에 라벨링할 수 있다.
예를 들어, 제1 트레이닝 데이터들((220'-1~220'-n)에 대해 k-평균 클러스터링(k-means Clustering), 주성분 분석(PCA: Principal Component Analysis) 등의 비지도 학습 모델을 이용하여 분류하고, 제1 트레이닝 데이터들((220'-1~220'-n)이 분류된 비율을 기초로 제1 트레이닝 데이터들((220'-1~220'-n)의 이상 여부를 결정할 수 있다. 또는 제1 트레이닝 데이터들((220'-1~220'-n)이 분류된 비율을 기초로 엔지니어에 의해 수동으로 제1 트레이닝 데이터들((220'-1~220'-n)의 이상 여부를 결정할 수도 있다.
이상 탐지 장치(100)는 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 지도 학습 모델(113)을 트레이닝시킬 수 있다.
도 6은 본 발명의 일 실시예에 따른 제2 학습 모델을 트레이닝하는 방법을 설명하기 위한 도면이다.
도 6을 참고하면, 먼저 이상 탐지 장치(100)는 비행 데이터들(200-1~200-n)에 포함된 복수 채널의 관성 센서 데이터에 기초하여 비행체들(30-1~30-n) 각각에 대응하는 n개의 제2 트레이닝 데이터(220''-1~220''-n)를 생성할 수 있다.
이상 탐지 장치(100)는 비행 데이터들(200-1~200-n)에 포함된 복수 채널의 관성 센서 데이터에 대해서 최소-최대 정규화나 표준화 등 정규화 처리를 적용하고, 제2 학습 모델(114-1~114-n)에서 학습하는데 적합하게 전처리하여 제2 트레이닝 데이터(220''-1~220''-n)를 생성할 수 있다.
제2 트레이닝 데이터(220''-1~220''-n)는 k-평균 클러스터링, 주성분 분석 등을 통해 정상 또는 비정상으로 분류되고, 정상으로 분류된 일부 데이터에만 정상으로 라벨링할 수 있다.
제1 학습 모델(113)과 달리, 제2 학습 모델들(114-1~114-n)은 각각 자신에 대응하는 제2 트레이닝 데이터들(220''-1~220''-n)로 개별적으로 트레이닝된다. 그리고 제2 학습 모델(114-1~114-n)을 VAE(Variational autoencoder), AnoGAN, GANomaly 및 Skip-GANomaly 모델 등으로 구현할 수 있으며, 제2 트레이닝 데이터(220''-1~220''-n)를 이용하여 준지도 학습 기법으로 트레이닝할 수 있다.
도 7a 내지 도 7d는 본 발명에 따른 제2 학습 모델의 아키텍처를 예시한 것이다.
예를 들어, 도 7a에서 디코더(decoder), 도 7 b 내지 도 7d에서 생성자(generator)가 입력 데이터에 대한 재구성 데이터를 생성하여 출력하도록 학습시킬 수 있다.
이를 위해 제2 학습 모델(114-1~114-n)을 제2 트레이닝 데이터(220''-1~220''-n) 중 정상으로 라벨링된 데이터를 이용하여 먼저 입력 데이터의 재구성 데이터를 생성하고, 이를 기초로 입력 데이터의 정상 여부를 판별하도록 트레이닝 시킬 수 있다. 그리고 제2 트레이닝 데이터(220''-1~220''-n) 중 라벨링되지 않은 나머지 데이터를 이용하여 제2 학습 모델(114-1~114-n)의 성능을 평가하고, 제2 학습 모델(114-1~114-n)의 하이퍼파라미터를 조정하는 과정을 거칠 수 있다. 모델의 성능 평가는 Accuracy, Precision, Recall, F1-score, ROC(receiver operating characteristic) 곡선 등의 잘 알려진 성능 평가 지표를 이용할 수 있다.
제2 학습 모델(114-1~114-n)은 입력 데이터와 재구성 데이터를 비교하여 재구성 오차를 구하고, 재구성 오차가 미리 정해진 임계값 이상이면, 대응하는 비행체(30-1~30-n)를 비정상으로 탐지하도록 학습시킬 수 있다.
재구성 오차가 미리 정해진 임계값 이상이면, 대응하는 비행체(30-1~30-n)를 비정상으로 탐지할 수 있다. 여기서 임계값은 앞서 제2 학습 모델(114-1~114-n)의 트레이닝 단계에서 이상 여부를 잘 예측한 값으로 설정될 수 있다.
제2 학습 모델(114-1~114-n)은 대응하는 비행체(30-1~30-n)가 비정상으로 탐지된 경우, 관성 측정 장치의 각 채널에 대해 구해지는 이상 확률 값에 기초하여 이상 채널을 탐지하도록 구성할 수 있다.
도 7a를 참고하면, VAE 모델의 경우 디코더(Decoder)의 마지막 은닉 레이어 후에 출력 레이어를 시그모이드 레이어와 소프트맥스 레이어로 분할하고, 시그모이드 레이어에서는 입력 데이터의 피처별 재구성 데이터를 출력하도록 구성하고 소프트맥스 레이어는 피처별 이상 확률 값을 출력하도록 구성할 수 있다.
도 7b ~ 7d를 참고하면, AnoGAN, GANomaly, Skip-GANomaly 모델의 경우 생성자(Generator)의 마지막 은닉 레이어 후에 출력 레이어를 시그모이드 레이어와 소프트맥스 레이어로 분할하고, 시그모이드 레이어에서는 입력 데이터의 피처별 재구성 데이터를 출력하도록 구성하고 소프트맥스 레이어는 피처별 이상 확률 값을 출력하도록 구성할 수 있다.
제2 학습 모델(114-1~114-n)에 대한 트레이닝이 완료된 후, 제2 학습 모델(114-1~114-n)의 마지막 은닉 레이어 후의 출력 레이어를 시그모이드(Sigmoid) 레이어와 소프트맥스(Softmax) 레이어로 분할하여, 시그모이드 레이어에서는 입력 데이터의 피처별 재구성 데이터를 출력하고, 소프트맥스 레이어에서는 피처별 이상 확률 값을 출력하도록 구성할 수 있다. 여기서 피처는 관성 측정 장치의 각 채널에 해당할 수 있으며, 소프트맥스 레이어에서 출력되는 피처별 이상 확률 값의 합은 1이 된다.
시그모이드 레이어는 아래 수학식 1에서와 같은 시그모이드 활성화 함수를 통해 구하여 실제 입력 데이터의 피처별(관성 측정 장치의 각 채널별) 재구성 데이터를 출력할 수 있다. 재구성 오차는 수학식 2를 통해 구할 수 있다.
[수학식 1]
여기서 는 실제 데이터 샘플이고, i(i = 1, 2, …, N)는 입력 채널의 번호(수)이다.
[수학식 2]
여기서 는 i번째(개) 입력 채널의 실제 데이터 샘플이고, 는 i번째(개) 입력 채널의 예측(합성)값이고, i(i = 1, 2, …, N)는 입력 채널의 번호(수) 이고, B는 배치 크기(batch size)이며, N은 데이터 입력 채널의 전체 갯수(total number of data channels)이다.
소프트맥스 레이어는 아래 수학식 3에서와 같은 소프트맥스 함수를 통해 피처별 이상 확률값을 출력할 수 있다. 소프트맥스 함수에서 피처별로 출력되는 이상 확률값의 합은 1이 된다.
[수학식 3]
여기서 는 i번째(개) 입력 채널의 실제 데이터 샘플이고, i(i = 1, 2, …, N)는 입력 채널의 번호(수)이고, N은 데이터 입력 채널의 전체 갯수(total number of data channels)이다.
위에서 예시한 시그모이드 레이어, 소프트맥스 레이어 및 각 활성함수는 일 예일 뿐이며, 비행체(30-1~30-n)에 장착된 관성 측정 장치의 각 채널에서 출력된 실제 관성 센서 데이터 샘플을 입력받아 재구성 데이터를 생성하고, 생성된 재구성 데이터를 입력 데이터 샘플을 비교하여 재구성 오차가 미리 정해진 기준 이상이면 해당 비행체가 이상인 것으로 판정하도록 하고, 그 때 여러 입력 채널별 이상 확률 값을 구하여 가장 이상 확률이 높은 채널을 이상 채널로 식별하도록 구현하는 다른 모델이나 함수를 채택하는 것이 가능하다.
도 8 내지 도 10은 본 발명에 따라 구해지는 재구성 오차에 따른 이상 사례를 구분한 예를 나타낸 것이다.
도 8 내지 도 10에서 (a)는 VAE, (b)는 AnoGAN, (c)는 GANomaly, (d)는 Skip-GANomaly으로 각각 제2 학습 모델을 구현한 경우이다.
도 8의 경우 재구성 오차가 0.1보다 크지 않은 작은 수준의 변화가 지속되는 케이스로 이동체의 정상 상태를 대표하는 것으로 분류할 수 있다.
도 9의 경우 재구성 오차가 급등하는 구간이 있으나 다시 정상 상태로 복원되는 경우를 나타내고 있으며, 이러한 재구성 오차를 보이는 경우는 일시적인 통신 오류나 제어 로직 문제에 의한 경우에 해당하였다.
도 10의 경우 재구성 오차가 급등한 후 작동하지 않는 경우를 나타내고 있으며, 심각한 오작동으로 인해 드론이 추락한 경우에 해당하였다.
도 11은 테스트 비행 중 이상 상태가 감지된 드론에 대해 각 채널별로 구해지는 재구성 오차 평균값을 나타낸 그래프이고, 도 12는 도 11의 사례에서 비행 로그 분석을 통해 확인한 위치 데이터를 나타낸 그래프이다.
도 11을 참고하면, 16개 채널의 관성 센서 데이터 중에서 채널 11에서 이상 현상이 존재함을 확인할 수 있다. 채널 11은 자력계의 X 방향 값에 해당하는 경우로, 비행체의 이상 원인이 자력계의 오류에 의한 것으로 판단할 수 있다.
도 12를 참고하면, 비행 로그 분석을 통해 드론은 비행 제어 로직을 통해 오류를 만족스럽게 보정했지만, 자력계 오류로 인해 오작동이 발생한 것을 확인할 수 있었다. 도 12(a)와 같이 비행 초기부터 요 값의 오차가 발생하여 제어 로직에 의해 조정되다가, 특정 시점에 이 오차가 제어할 수 없게 된 것을 확인하였다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (10)

  1. 컴퓨팅 장치에 의해 수행되는 군집 시스템의 이상 탐지 방법에 있어서,
    제1 시나리오에 따라 군집이동한 복수의 이동체로부터 복수의 제1 이동 데이터를 수집하는 단계 - 상기 복수의 제1 이동 데이터는 측위 데이터 및 복수 채널의 관성 센서 데이터를 포함함 -,
    상기 복수의 제1 이동 데이터에 포함된 측위 데이터에 기초하여 상기 복수의 이동체에 각각 대응하는 복수의 제1 트레이닝 데이터를 생성하고, 상기 복수의 제1 트레이닝 데이터를 이용하여 제1 학습 모델을 트레이닝하는 단계,
    상기 복수의 제1 이동 데이터에 포함된 복수 채널의 관성 센서 데이터에 기초하여 상기 복수의 이동체에 각각 대응하는 복수의 제2 트레이닝 데이터를 생성하고, 상기 복수의 이동체 각각에 대응하는 복수의 제2 학습 모델을 상기 복수의 이동체 각각에 대응하여 생성된 제2 트레이닝 데이터를 이용하여 트레이닝하는 단계,
    제2 시나리오에 따라 군집이동하는 상기 복수의 이동체로부터 복수의 제2 이동 데이터를 실시간으로 수신하는 단계 - 상기 복수의 제2 이동 데이터는 측위 데이터 및 복수 채널의 관성 센서 데이터를 포함함 -,
    상기 복수의 제2 이동 데이터에 포함된 측위 데이터에 기초하여 상기 복수의 이동체에 각각 대응하는 복수의 제1 입력 데이터를 생성하고, 상기 제1 학습 모델에 상기 복수의 제1 입력 데이터를 입력하여 상기 복수의 이동체 중에서 이상 상태(abnormal state)로 추정되는 이상 이동체를 실시간으로 탐지하는 단계, 및
    상기 이상 이동체에 대응하는 제2 이동 데이터에 포함된 복수 채널의 관성 센서 데이터에 기초하여 상기 이상 이동체에 대응하는 제2 입력 데이터를 생성하고, 상기 이상 이동체에 대응하는 상기 제2 학습 모델에 상기 제2 입력 데이터를 입력하여 상기 이상 이동체의 관성 측정 장치의 복수 채널 중 이상 채널을 식별하는 단계를 포함하고,
    상기 제2 트레이닝 데이터 중 일부만 정상 상태로 라벨링되어 있고,
    상기 제2 학습 모델은 상기 제2 트레이닝 데이터를 이용하여 준지도 학습 기법으로 트레이닝되는 군집 시스템의 이상 탐지 방법.
  2. 삭제
  3. 제 1 항에서,
    상기 제2 학습 모델은 VAE(Variational autoencoder), AnoGAN, GANomaly 및 Skip-GANomaly 중 어느 하나인 군집 시스템의 이상 탐지 방법.
  4. 제 3 항에서,
    상기 제2 학습 모델은,
    상기 제2 입력 데이터에 포함된 복수 채널의 관성 센서 데이터 각각에 대한 복수 채널의 재구성 데이터를 생성하고, 상기 복수 채널의 관성 센서 데이터와 상기 복수 채널의 재구성 데이터 각각의 재구성 오차에 기반하여 상기 이상 이동체의 이상 상태를 식별하고, 상기 복수 채널 각각에 대해 구해지는 이상 확률 값에 기초하여 상기 이상 채널을 식별하는 군집 시스템의 이상 탐지 방법.
  5. 컴퓨팅 장치에 의해 수행되는 군집 시스템의 이상 탐지 방법에 있어서,
    제1 시나리오에 따라 군집이동한 복수의 이동체로부터 복수의 제1 이동 데이터를 수집하는 단계 - 상기 복수의 제1 이동 데이터는 복수 채널의 관성 센서 데이터를 포함함 -,
    상기 복수의 제1 이동 데이터에 기초하여 상기 복수의 이동체에 각각 대응하는 복수의 트레이닝 데이터를 생성하고, 상기 복수의 이동체 각각에 대응하는 복수의 학습 모델을 상기 복수의 이동체 각각에 대응하여 생성된 트레이닝 데이터를 이용하여 트레이닝하는 단계,
    제2 시나리오에 따라 군집이동하는 상기 복수의 이동체로부터 복수의 제2 이동 데이터를 실시간으로 수집하는 단계 - 상기 복수의 제2 이동 데이터는 복수 채널의 관성 센서 데이터를 포함함 -,
    상기 복수의 제2 이동 데이터에 기초하여 상기 복수의 이동체에 대응하는 복수의 입력 데이터를 생성하고, 상기 복수의 이동체에 각각 대응하는 상기 복수의 학습 모델에 상기 복수의 입력 데이터를 각각 입력하여 상기 복수의 이동체의 이상 상태를 각각 탐지하고, 이상 상태로 탐지된 이동체의 관성 측정 장치의 복수 채널 중 이상 채널을 식별하는 단계를 포함하고,
    상기 트레이닝 데이터 중 일부만 정상 상태로 라벨링되어 있고,
    상기 학습 모델은 상기 트레이닝 데이터를 이용하여 준지도 학습 기법으로 트레이닝되는 군집 시스템의 이상 탐지 방법.
  6. 삭제
  7. 제 5 항에서,
    상기 학습 모델은 VAE(Variational autoencoder), AnoGAN, GANomaly 및 Skip-GANomaly 중 어느 하나인 군집 시스템의 이상 탐지 방법.
  8. 제 7 항에서,
    상기 학습 모델은,
    상기 입력 데이터에 포함된 복수 채널의 관성 센서 데이터 각각에 대한 복수 채널의 재구성 데이터를 생성하고, 상기 복수 채널의 관성 센서 데이터와 상기 복수 채널의 재구성 데이터 각각의 재구성 오차에 기반하여 이동체의 이상 상태를 식별하고, 상기 복수 채널 각각에 대해 구해지는 이상 확률 값에 기초하여 상기 이상 채널을 식별하는 군집 시스템의 이상 탐지 방법.
  9. 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램에서,
    적어도 하나의 프로세서에 의해 실행되면, 제1항, 제3항 및 제4항 중 어느 한 항에 기재된 방법 또는 제5항, 제7항 및 제8항 중 어느 한 항에 기재된 방법을 실행시키는 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램.
  10. 컴퓨팅 장치로서,
    프로세서; 및
    상기 프로세서에 의해 실행 가능한 인스트럭션 또는 프로그램을 저장한 메모리; 를 포함하고,
    상기 인스트럭션 또는 프로그램이 상기 프로세서에 의해 실행되면, 제1항, 제3항 및 제4항 중 어느 한 항에 기재된 방법 또는 제5항, 제7항 및 제8항 중 어느 한 항에 기재된 방법을 실행시키는 컴퓨팅 장치.
KR1020230163195A 2023-11-22 2023-11-22 군집 시스템에서 개별 이동체의 이상 탐지 방법 및 장치 KR102665097B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230163195A KR102665097B1 (ko) 2023-11-22 2023-11-22 군집 시스템에서 개별 이동체의 이상 탐지 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230163195A KR102665097B1 (ko) 2023-11-22 2023-11-22 군집 시스템에서 개별 이동체의 이상 탐지 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102665097B1 true KR102665097B1 (ko) 2024-05-10

Family

ID=91072054

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230163195A KR102665097B1 (ko) 2023-11-22 2023-11-22 군집 시스템에서 개별 이동체의 이상 탐지 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102665097B1 (ko)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140231590A1 (en) * 2013-02-15 2014-08-21 Disney Enterprises, Inc. Aerial display system with marionettes articulated and supported by airborne devices
JP2018504652A (ja) * 2015-10-09 2018-02-15 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 顕著特徴ベースの移動体測位
KR20180054007A (ko) * 2016-11-14 2018-05-24 동국대학교 산학협력단 드론을 제어하기 위한 시스템 및 방법
KR101882728B1 (ko) * 2016-08-18 2018-07-27 드림스페이스월드주식회사 드론의 고장복구 시스템 및 이를 이용한 제어방법
KR101896998B1 (ko) * 2017-04-21 2018-09-10 한국항공우주연구원 군집 비행 시스템 및 방법
KR102036136B1 (ko) * 2019-03-07 2019-10-24 (주)림스플라이 멀티 드론 운용 시스템 및 방법
KR102170632B1 (ko) * 2019-12-03 2020-10-27 한국항공우주연구원 군집 시스템에서 실시간 이상 탐지 방법 및 장치
KR102504701B1 (ko) * 2021-10-14 2023-02-27 한국항공대학교산학협력단 블록체인 기반의 드론 군집에 대한 데이터 수집 및 이상 관제 장치 및 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140231590A1 (en) * 2013-02-15 2014-08-21 Disney Enterprises, Inc. Aerial display system with marionettes articulated and supported by airborne devices
JP2018504652A (ja) * 2015-10-09 2018-02-15 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 顕著特徴ベースの移動体測位
KR101882728B1 (ko) * 2016-08-18 2018-07-27 드림스페이스월드주식회사 드론의 고장복구 시스템 및 이를 이용한 제어방법
KR20180054007A (ko) * 2016-11-14 2018-05-24 동국대학교 산학협력단 드론을 제어하기 위한 시스템 및 방법
KR101896998B1 (ko) * 2017-04-21 2018-09-10 한국항공우주연구원 군집 비행 시스템 및 방법
KR102036136B1 (ko) * 2019-03-07 2019-10-24 (주)림스플라이 멀티 드론 운용 시스템 및 방법
KR102170632B1 (ko) * 2019-12-03 2020-10-27 한국항공우주연구원 군집 시스템에서 실시간 이상 탐지 방법 및 장치
KR102504701B1 (ko) * 2021-10-14 2023-02-27 한국항공대학교산학협력단 블록체인 기반의 드론 군집에 대한 데이터 수집 및 이상 관제 장치 및 방법

Similar Documents

Publication Publication Date Title
Wang et al. Multivariate regression-based fault detection and recovery of UAV flight data
CN108594788B (zh) 一种基于深度随机森林算法的飞机作动器故障检测与诊断方法
KR102170632B1 (ko) 군집 시스템에서 실시간 이상 탐지 방법 및 장치
US11823562B2 (en) Unsupervised anomaly detection for autonomous vehicles
CN107273561A (zh) 飞行事件期间飞行器的机载结构负载评估
Ahmad et al. Intelligent framework for automated failure prediction, detection, and classification of mission critical autonomous flights
Lee et al. Data-driven system health monitoring technique using autoencoder for the safety management of commercial aircraft
Thanaraj et al. Actuator fault detection and isolation on multi-rotor UAV using extreme learning neuro-fuzzy systems
Campbell et al. Loss of control detection for commercial transport aircraft using conditional variational autoencoders
Ahn Deep learning based anomaly detection for a vehicle in swarm drone system
Traboulsi et al. Recognition of drone formation intentions using supervised machine learning
KR102665097B1 (ko) 군집 시스템에서 개별 이동체의 이상 탐지 방법 및 장치
Dhakal et al. UAV Fault and Anomaly Detection Using Autoencoders
Zhang et al. Pilot maneuvering performance analysis and evaluation with deep learning
US20220406199A1 (en) Method and device for supervising a traffic control system
WO2022010591A1 (en) Systems and methods for evaluating a behavior of a machine-learning algorithm
Tato et al. Automatic learning of piloting behavior from flight data
Tato et al. Towards adaptive coaching in piloting tasks: learning pilots’ behavioral profiles from flight data
Wang et al. An Embedded Instrument for Online Condition Monitoring of Unmanned and Autonomous Systems
Deng et al. Unmanned Aerial Vehicles anomaly detection model based on sensor information fusion and hybrid multimodal neural network
Thaens et al. Featureless Traffic Monitoring
Alos et al. Using multiple deep neural networks platform to detect different types of potential faults in unmanned aerial vehicles
Panhwar et al. Fault Detection in Rotors of Quadcopter UAV Using Convolutional Neural Network
González-Etchemaite et al. Rotor Fault Detection and Identification in Multirotors Based on Supervised Learning
Kumar et al. Building on prior lightweight CNN model combined with LSTM-AM framework to guide fault detection in fixed-wing UAVs

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant