KR20240095551A - 멀티콥터의 센서 고장 탐지 및 비행 회복 방법 및 장치 - Google Patents

멀티콥터의 센서 고장 탐지 및 비행 회복 방법 및 장치 Download PDF

Info

Publication number
KR20240095551A
KR20240095551A KR1020220160813A KR20220160813A KR20240095551A KR 20240095551 A KR20240095551 A KR 20240095551A KR 1020220160813 A KR1020220160813 A KR 1020220160813A KR 20220160813 A KR20220160813 A KR 20220160813A KR 20240095551 A KR20240095551 A KR 20240095551A
Authority
KR
South Korea
Prior art keywords
sensor
data
system model
posture
multicopter
Prior art date
Application number
KR1020220160813A
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 KR1020220160813A priority Critical patent/KR20240095551A/ko
Publication of KR20240095551A publication Critical patent/KR20240095551A/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C15/00Attitude, flight direction, or altitude control by jet reaction
    • B64C15/02Attitude, flight direction, or altitude control by jet reaction the jets being propulsion jets
    • 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/08Control of attitude, i.e. control of roll, pitch, or yaw
    • G05D1/0808Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for aircraft
    • G05D1/0816Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for aircraft to ensure stability
    • G05D1/0825Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for aircraft to ensure stability using mathematical models
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D3/00Control of position or direction
    • G05D3/12Control of position or direction using feedback
    • B64C2201/024
    • B64C2201/141
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64DEQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
    • B64D45/00Aircraft indicators or protectors not otherwise provided for
    • B64D2045/0085Devices for aircraft health monitoring, e.g. monitoring flutter or vibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 멀티콥터의 센서 고장 탐지 및 비행 회복 방법 및 장치에 관한 것으로서, 더욱 상세하게는 멀티콥터에 장착된 물리적 센서에 대한 공격 또는 센서 고장 등을 탐지하여, 그런 상황에서도 특정 시간 동안 정상적인 비행이 가능하게 하는 방법 및 그러한 방법을 수행하는 장치에 관한 것이다.
본 발명에 의하면, 멀티콥터에 장착된 물리적 센서에 대한 공격을 받은 경우, 또는 온도에 민감하고 내구성이 약한 특성에서 비롯된 센서의 불특정한 고장 현상 발생시, 나아가 다중센서 고장이 발생한 경우나 센서 판독이 중단된 경우에도, 특정 시간 동안 우수한 정지 비행이 가능하게 하는 방법 및 그러한 방법을 수행하는 장치를 제공한다.

Description

멀티콥터의 센서 고장 탐지 및 비행 회복 방법 및 장치{Method and apparatus for sensor fault detection and flight recovery of a multicopter}
본 발명은 멀티콥터의 센서 고장 탐지 및 비행 회복 방법 및 장치에 관한 것으로서, 더욱 상세하게는 멀티콥터에 장착된 물리적 센서에 대한 공격 또는 센서 고장 등을 탐지하여, 그런 상황에서도 특정 시간 동안 정상적인 비행이 가능하게 하는 방법 및 그러한 방법을 수행하는 장치에 관한 것이다.
멀티콥터의 IMU(관성측정장치, Inertial Measurement Unit)는 일반적으로 온보드 형태로 되어있으며, 고장이 발생하면 대체 센서가 없어 센서 다중화 구성을 채택하는 추세이다. 이를 활용한 고장 분리를 주로 사용한다. 하지만 다중센서 전체가 고장이 발생할 경우에 대한 대책을 수립되어 있지 않다. 이는 단일 센서 고장에서 고장 대응이 가능한 알고리즘 개발을 통해 다중센서의 고장 대응보다 효과적인 센서 고장 및 비행 안정성에 대한 알고리즘이 필요하다.
선행기술문헌의 '비특허문헌 1'에 나타난 바와 같이, 인위적인 공격주입을 통한 센서 고장이 가능하다. 센서 공격에 대한 저비용 소프트웨어 기반의 방어 대책 메카니즘의 개발 필요성이 대두됨을 시사한다. 따라서 물리적 격리, 미분 비교기, 공명 튜닝은 비용 증가 및 비행 컴퓨터의 물리적 영향을 줄 수 있으므로 센서 고장 탐지 및 비행 회복 알고리즘과 같은 방어 대책 메카니즘이 필요하다.
이하 선행기술문헌의 '비특허문헌 2'에서는 자이로스코프 센서를 대체하기 위한 소프트웨어 센서 기법으로 가속도계와 지자기계의 융합 센서를 사용한다. 또한, 센서 공격 효과는 코드 주입을 통해 대응 알고리즘을 검증한다. 하지만 실제 공격주입을 통해 가능한지는 의문이다. 따라서 실제 센서 고장을 물리적으로 발생시키는 센서 공격을 통해 알고리즘의 검증이 필요하다.
KR 10-2261899 B1
1. Yunmok, S., Hocheol, S., Dongkwan, K., Youngseok, P., Juhwan, N., Kibum, C., Jungwoo, C. and Yongdae, K.: Rocking Drones with Intentional Sound Noise on Gyroscopic Sensors, USENIX, 2015, Wasington D.C., pp. 881-896. 2. Hongjun, C., Sayali, K., Yousra, A., Xiangyu, Z. and Dongyan, X.: Software-based Realtime Recovery from Sensor Attacks on Robotic Vehicles, RAID, 2020, pp. 349-364.
본 발명은 이와 같은 문제점을 해결하기 위해 창안된 것으로서, 멀티콥터에 장착된 물리적 센서에 대한 공격 또는, 온도에 민감하고 내구성이 약한 특성에서 비롯된 센서의 고장 현상 발생시에도, 특정 시간 동안 정지 비행이 가능하게 하는 방법 및 그러한 방법을 수행하는 장치를 제공하는데 그 목적이 있다.
이와 같은 목적을 달성하기 위하여 본 발명에 따른 멀티콥터의 센서 고장 탐지 및 비행 회복 장치가, 멀티콥터의 센서 고장 탐지 및 비행 회복을 수행하는 방법은, (a) 제어기에서 출력된 자세 제어 목표값을 수신하는 단계; (b) 상기 자세 제어 목표값으로부터 시스템 모델을 통하여 최종 자세 데이터(이하, '시스템 모델 자세 데이터'라 한다)를 산출하는 단계; (c) 센서에서 출력된 자세 데이터(이하, '센서 출력 자세 데이터'라 한다)를 수신하는 단계; (d) 상기 시스템 모델 자세 데이터와 상기 센서 출력 자세 데이터의 차이값(이하, '오차'라 한다)이 기 설정된 정상 범위에 있는지 여부를 판단하는 단계; 및, (e) 상기 오차가 정상 범위에 있는 경우 상기 센서 출력 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하고, 정상 범위에 있지 않은 경우 상기 시스템 모델 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하는 단계를 포함한다.
상기 자세 제어 목표값은, 롤(roll), 피치(pitch) 및 요(yaw) 각각에 대한 제어 목표값을 포함할 수 있다.
상기 시스템 모델 자세 데이터는,
에 의해 y(t)로 결정되며, 여기서,
, 이고,
u(t)는 상기 시스템 모델의 입력으로서, 상기 자세 제어 목표값이며,
,,
이다.
상기 단계(e)에서, 상기 제어기에 입력될 피드백 자세 데이터는, 로 결정될 수 있고, 여기서 yref는 상기 시스템 모델 자세 데이터, ys는 상기 센서 출력 자세 데이터이고, 상기 α는 고장 결정계수로서, 에 의해 결정될 수 있으며, e는 상기 오차를 의미하고, ε는 기 설정된 임계값을 의미한다.
본 발명의 다른 측면에 따르면, 멀티콥터의 센서 고장 탐지 및 비행 회복 장치는, 적어도 하나의 프로세서; 및 컴퓨터로 실행가능한 명령을 저장하는 적어도 하나의 메모리를 포함하되, 상기 적어도 하나의 메모리에 저장된 상기 컴퓨터로 실행가능한 명령은, 상기 적어도 하나의 프로세서에 의하여, (a) 제어기에서 출력된 자세 제어 목표값을 수신하는 단계; (b) 상기 자세 제어 목표값으로부터 시스템 모델을 통하여 최종 자세 데이터(이하, '시스템 모델 자세 데이터'라 한다)를 산출하는 단계; (c) 센서에서 출력된 자세 데이터(이하, '센서 출력 자세 데이터'라 한다)를 수신하는 단계; (d) 상기 시스템 모델 자세 데이터와 상기 센서 출력 자세 데이터의 차이값(이하, '오차'라 한다)가 기 설정된 정상 범위에 있는지 여부를 판단하는 단계; 및, (e) 정상 범위에 있는 경우 상기 센서 출력 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하고, 정상 범위에 있지 않은 경우 상기 시스템 모델 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하는 단계가 실행되도록 한다.
본 발명의 또 다른 측면에 따르면, 멀티콥터의 센서 고장 탐지 및 비행 회복을 수행하기 위한 컴퓨터 프로그램은, 비일시적 저장 매체에 저장되며, 프로세서에 의하여, (a) 제어기에서 출력된 자세 제어 목표값을 수신하는 단계; (b) 상기 자세 제어 목표값으로부터 시스템 모델을 통하여 최종 자세 데이터(이하, '시스템 모델 자세 데이터'라 한다)를 산출하는 단계; (c) 센서에서 출력된 자세 데이터(이하, '센서 출력 자세 데이터'라 한다)를 수신하는 단계; (d) 상기 시스템 모델 자세 데이터와 상기 센서 출력 자세 데이터의 차이값(이하, '오차'라 한다)가 기 설정된 정상 범위에 있는지 여부를 판단하는 단계; 및, (e) 정상 범위에 있는 경우 상기 센서 출력 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하고, 정상 범위에 있지 않은 경우 상기 시스템 모델 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하는 단계가 실행되도록 하는 명령을 포함한다.
본 발명의 또 다른 측면에 따르면, 멀티콥터의 센서 고장 탐지 및 비행 회복 장치는, 제어기에서 출력된 자세 제어 목표값으로부터 최종 자세 데이터(이하, '시스템 모델 자세 데이터'라 한다)를 산출하는 시스템 모델 모듈; 센서에서 출력된 자세 데이터(이하, '센서 출력 자세 데이터'라 한다)와, 상기 시스템 모델 자세 데이터의 오차를 산출하는 오차 산출 모듈; 상기 시스템 모델 자세 데이터와 상기 센서 출력 자세 데이터의 차이값(이하, '오차'라 한다)이 기 설정된 정상 범위에 있는지 여부를 판단하는 고장 결정 모듈; 및, 상기 오차가 정상 범위에 있는 경우 상기 센서 출력 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하고, 정상 범위에 있지 않은 경우 상기 시스템 모델 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하는 비행 회복 모듈을 포함한다.
상기 자세 제어 목표값은, 롤(roll), 피치(pitch) 및 요(yaw) 각각에 대한 제어 목표값을 포함할 수 있다.
상기 시스템 모델 자세 데이터는,
에 의해 y(t)로 결정되며, 여기서,
, 이고,
u(t)는 상기 시스템 모델의 입력으로서, 상기 자세 제어 목표값이며,
,,이다.
상기 제어기에 입력될 피드백 자세 데이터는,
로 결정될 수 있고, 여기서 yref는 상기 시스템 모델 자세 데이터, ys는 상기 센서 출력 자세 데이터이고, 상기 α는 고장 결정계수로서, 에 의해 결정될 수 있으며, e는 상기 오차를 의미하고, ε는 기 설정된 임계값을 의미한다.
본 발명에 의하면, 멀티콥터에 장착된 물리적 센서에 대한 공격을 받은 경우, 또는 온도에 민감하고 내구성이 약한 특성에서 비롯된 센서의 불특정한 고장 현상 발생시, 나아가 다중센서 고장이 발생한 경우나 센서 판독이 중단된 경우에도, 특정 시간 동안 우수한 정지 비행이 가능하게 하는 방법 및 그러한 방법을 수행하는 장치를 제공하는 효과가 있다.
도 1은 멀티콥터의 시뮬레이션 모델의 블럭 다이어그램.
도 2는 멀티콥터의 일 실시예로서의 형상을 나타내는 도면.
도 3은 모터 역학 모델에 대한 관계식을 나타내는 도면.
도 4는 자세 제어기의 일 실시예로서의 구조를 나타내는 도면.
도 5는 고도 제어기의 일 실시예로서의 구조를 나타내는 도면.
도 6은 위치 제어기의 일 실시예로서의 구조를 나타내는 도면.
도 7은 본 발명의 멀티콥터의 센서 고장 탐지 및 비행 회복 장치의 구성을 나타내는 도면.
도 8은 본 발명의 멀티콥터의 센서 고장 탐지 및 비행 회복을 수행하는 방법을 나타내는 순서도.
도 9는 정상 상태인 경우의 멀티콥터의 위치 및 자세 결과를 나타내는 도면.
도 10은 정상 상태인 경우의 고장 결정 계수(α) 및 추정 상태를 비교한 도면.
도 11은 본 발명의 센서 고장 탐지 및 비행 회복 알고리즘을 적용하지 않고 센서에 고장을 주입한 경우의 결과를 나타내는 도면.
도 12는 본 발명의 센서 고장 탐지 및 비행 회복 알고리즘을 적용하지 않고 고장 상태인 경우, 멀티콥터의 위치 및 자세 결과를 나타내는 도면.
도 13은 본 발명의 센서 고장 탐지 및 비행 회복 알고리즘을 적용하지 않고 고장 상태인 경우, 고장 결정 계수(α) 및 추정 상태를 비교한 도면.
도 14는 본 발명의 센서 고장 탐지 및 비행 회복 알고리즘을 적용하고 고장 상태인 경우, 멀티콥터의 위치 및 자세 결과를 나타내는 도면.
도 15는 본 발명의 센서 고장 탐지 및 비행 회복 알고리즘을 적용하고 고장 상태인 경우, 멀티콥터의 위치 및 자세 결과를 나타내는 도면.
이하 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 1은 멀티콥터의 시뮬레이션 모델의 블럭 다이어그램이다.
이하에서 드론 또는 멀티콥터는 동일한 의미로 혼용하여 사용하기로 한다.
대부분의 드론은 단일 센서의 고장을 우려하여 신뢰할 수 있는 데이터 제공을 위해 다중 센서 측정을 사용함으로써 물리적 상태를 더 정확하게 파악한다. 따라서 다중 센서 또는 이중 센서(예 : 자이로스코프, 가속도계 및 GPS)를 통해 제어기가 현재 물리적 상태와 환경을 인식하고 그에 따라 안정적인 비행을 위해 모터 신호를 제어할 수 있다.
센서 융합은 정확도를 향상시키고 특정 종류의 센서 하위 집합의 고장을 허용할 수 있지만, 물리적인 공격에는 효과적이지 않다. 가중 평균 기법(Weighted Average Technique)의 센서 융합의 경우에는 단일 손상 센서로 인해 제어 성능이 크게 저하될 수 있다.
일 실시예로서 확장 칼만 필터(EKF, Extended Kalman Filter)와 같은 전통적인 센서 융합 기반의 기술은, 손상된 센서를 포함한 실제 물리적 센서에 의존하므로 같은 종류의 다수의 센서를 손상시키는 공격에 대처하는 데에는 어려움이 있다.
본 발명은 이와 같은 센서 고장에 대응하기 위하여 시스템 모델에 기반한 대응 기술을 제안한다. 이 경우, 시스템 입력과 현재 상태가 주어지면 다음 물리적 상태를 예측하는 것을 기반으로 한다. 본 발명의 방법은 물리적 환경과 상호작용하지 않으므로 물리적 공격에서 면역된다. 그 이유는 다음과 같다.
센서가 실제 센서와 동기화(제어 입력값 기반)되어 작동하며 복구 스위치를 이용하여 실제 센서 측정값과 본 알고리즘 측정값의 차이를 모니터링하여 고장을 결정한다. 센서 고장 발생시 실제 센서를 본 발명의 알고리즘으로 대체하고, 고장 주입이 일시적인 경우에도 작동하도록 고장 잔차를 모니터링하여 일시적 고장 종료시 실제 센서로 다시 전환하도록 한다.
센서 고장에 대한 본 알고리즘을 검증하기 위해 시뮬레이션 시에 센서 스푸핑 공격을 고장으로 주입한다. 시뮬레이션을 위한 드론에는 자이로스코프, 가속도계 및 자력계를 포함한 관성 측정 장치(IMU)가 있다.
자이로스코프에 대한 센서 공격으로 인한 고장은 각속도 측정을 손상시킨다. 손상된 자이로스코프 판독값은 전체 제어 루프를 방해할 수 있다. 공격은 현재 각도를 손상시켜 오류를 증가시킨다. 제어기는 이러한 제어 입력 오류를 줄이기 위해 모터 입력을 급격히 보상하게 되고 결과적으로 제어 능력을 상실한다. 손상된 센서는 실제 유효한 측정값을 제공할 수 없으므로 루프 반복을 통해 오류가 누적된다.
멀티콥터의 시뮬레이션 모델을 설계하기 위해 도 1과 같은 구조를 기반으로 한다. 주요 구분되는 구성으로 동역학 모델(Dynamic Model), 도시된 바와 같이 추력 할당 행렬(Allocation Matrix), 제어기(Controller)를 포함한다.
도 2는 멀티콥터의 일 실시예로서의 형상을 나타내는 도면이고, 도 3은 모터 역학 모델에 대한 관계식을 나타내는 도면이다.
본 발명의 알고리즘을 적용할 드론 플랫폼의 일 실시예로서 도 2와 같은 쿼드콥터를 사용할 수 있다. 여기서 {E}는 지구고정 좌표계이고, {B}는 동체 고정 좌표계이다. 구성 모터의 방향은 위 그림과 같으며 상세한 설계 변수는 아래 표와 같다.
- 동체 역학 모델 (Body Dynamic Model)
드론(쿼드콥터 또는 멀티콥터)의 동체 역학은 병진운동, 회전운동, 좌표계 변환으로 구성되며 수학식 1과 같이 수학적으로 해석할 수 있다.
[수학식 1]
- 공기 역학 모델 (Aerodynamic Model)
드론은 공기 역학 모델을 고려해야하는 특징이 있다. 도 2에 형상화된 모터 방향에 따라 뉴턴 역학을 적용하면 수학식 2 및 3과 같이 수학적 모델이 유도된다. 이때, 프로펠러의 탄성효과는 무시한다.
[수학식 2]
[수학식 3]
여기서 추력 , 으로 적용한다. 이때, kth는 추력 상수이고, kd는 항력 모멘트 상수, ui는 제어 입력변수이다. 모터 역학 모델에 대하여는 이하에서 도 3을 참조하여 설명한다.
모터 역학 모델은 1차 전달함수 모델을 기반으로 수학적 모델링이 확보된다. 본 발명의 알고리즘을 적용할 모터 역학 모델에 대해서는 도 3과 같은 관계식을 사용한다.
- 추력 할당 행렬 (Allocation Matrix)
본 발명은 이하의 수학식들과 같은 제어 법칙을 통해 추력 할당 행렬을 구성한다.
[수학식 4]
[수학식 5]
먼저 정지 비행 조건에서 각 회전운동과 병진운동에 대한 선형화를 실시한다. 주어진 정지비행 조건은 수학식 6과 같다.
[수학식 6]
정지 비행 조건을 고려하여 수학식 4를 재정립하면 수학식 7과 같다.
[수학식 7]
도 2와 공기역학 모델을 고려하여 비행제어 법칙을 적용하면 아래와 같이 유도된다.
a) Roll Motion
[수학식 8]
b) Pitch Motion
[수학식 9]
c) Yaw Motion
[수학식 10]
d) Altitude Motion
[수학식 11]
이후 각 운동에 대한 관계식에 의해 추력 할당식을 유도한다.
a) Roll Motion
[수학식 12]
b) Pitch Motion
[수학식 13]
c) Yaw Motion
[수학식 14]
d) Altitude Motion
[수학식 15]
이제 각 관계식을 각각 u1, u2, u3, u4에 대해 정리하면 아래와 같은 추력 할당 행렬을 구성할 수 있다.
[수학식 16]
즉, 여기서 'δ'는 'desired', 즉, 목표값이라는 의미를 가진다. 예를 들어 δroll은 roll 값의 목표치를 의미한다. 출력되는 u1, u2, u3, u4은 각각 드론의 4개의 모터에 할당되는 추력 값을 의미한다.
도 4는 자세 제어기의 일 실시예로서의 구조를 나타내는 도면이고, 도 5는 고도 제어기의 일 실시예로서의 구조를 나타내는 도면이며, 도 6은 위치 제어기의 일 실시예로서의 구조를 나타내는 도면이다.
제어기 (Controller)에는 이하와 같이 자세 제어기, 고도 제어기, 위치 제어기 등을 포함할 수 있다.
a) 자세 제어기 (Attitude Controller)
자세제어기는 Attitude Loop와 Angle Rate Loop로 구성된다. 도 4와 같은 제어기 형상을 가지고 있으며 int16값 범위 (-32768 ~ 32767)을 가진다.
b) 고도 제어기 (Altitude Controller)
고도 제어기는 도 5와 같이 Position Loop와 Velocity Loop로 구성되며, 최종 δth값을 출력할 때 Scaleth값을 1000으로 곱한 후 출력된다.
c) 위치 제어기 (Position Controller)
위치 제어기는 도 6과 같이 Postion Loop와 Velocity Loop로 구성되며, P-PI 구조를 가진다. 하지만 최종 출력 시에는 정지비행 기준의 좌표계 변환을 적용하여 φd, θd가 계산된다.
- 위치 제어기로부터 φd, θd 계산
위치 제어기는 정지 비행 조건하에서 계산되는 φd, θd를 출력하도록 시뮬레이션 모델을 설계하게 된다. 따라서 아래의 병진운동 역학식으로부터 수학식 22가 유도된다.
[수학식 17]
여기서 Tx, Ty, Tz 는 {B}에서의 x축, y축, z축에 대한 추력 값이다. 는 {B}에서 {E}로 변환하는 좌표계 변환 행렬이다. 여기서 U1은 추력 할당 행렬을 통해 출력되는 z축 운동을 제어하기 위한 제어 입력값이다. 수학식 17을 수학식 18과 같이 재정립할 수 있다.
[수학식 18]
여기서 Rx(φ)는 x축 좌표계 변환 행렬, Ry(θ)는 y축 좌표계 변환 행렬, Rz(Ψ)는 z축 좌표계 변환 행렬이다. 행렬의 곱 연산을 통해 수학식 19의 관계식으로 정리할 수 있다.
[수학식 19]
이후 행렬 곱 연산을 전개하여 표현하면 수학식 20을 유도할 수 있다.
[수학식 20]
여기서 작은 각도 근사를 적용하여 선형화 작업을 적용한다. ()
[수학식 21]
여기서 x축과 y축으로의 위치만을 제어하기 위한 출력을 사용하므로 아래와 같이 φd, θd가 정립된다.
[수학식 22]
도 7은 본 발명의 멀티콥터의 센서 고장 탐지 및 비행 회복 장치(100)의 구성을 나타내는 도면이고, 도 8은 본 발명의 멀티콥터의 센서 고장 탐지 및 비행 회복을 수행하는 방법을 나타내는 순서도이다.
본 발명의 알고리즘은 도 7 및 도 8과 같이 수행된다.
시스템 모델 모듈(110)을 통해 센서 출력 자세 데이터와 유사하게 상태 모니터링이 시행된다. 즉, 시스템 모델 모듈(110)은 제어기(210)로부터 자세 제어 목표값을 수신한다(S101). 제어기(210)에는 전술한 바와 같이, 자세 제어기, 고도 제어기, 위치 제어기 등을 포함될 수 있다. 시스템 모델 모듈(110)에서 연산하는 시스템 모델식은 드론의 회전운동 역학 모델을 선형화한 식에서 비롯되며, 센서와 같이 물리적인 영향을 받지 않는, 드론의 최종 자세 데이터(이하, '시스템 모델 자세 데이터'라 한다)를 출력한다(S102). 이때 '자세 데이터'라 함은, 롤(roll), 피치(pitch), 요(yaw) 데이터를 포함하고, 고도 데이터, 위치 데이터 등을 포함하는 데이터를 포함할 수도 있다. 센서(240)에는 센서 고장을 일으키는 공격이 주입될 수 있다. 즉, 실제적으로 공명 현상 등에 의한 공격이 이루어질 수 있고, 시뮬레이션을 위해 그러한 공격을 공격 주입부(300)를 통해 주입시킬 수도 있다.
이후 오차 산출 모듈(120)에서 yref(시스템 모델 자세 데이터)와 센서(240)에서 출력되어 수신한(S103) ys(센서 출력 자세 데이터)의 오차(e)를 산출하고(S104), 이러한 오차와 임계값 ε 설정을 통해 고장 결정 모듈(130)에서 고장 여부가 결정된다(S105).
α가 1이면(고장인 경우) yref(시스템 모델 자세 데이터)가 출력되어 피드백 데이터(yfb)로서 제어기(210)에 입력되고(S106,S108), α가 0이면(고장 아닌 경우) ys(센서 출력 자세 데이터)가 출력되어 피드백 데이터(yfb)로서 제어기(210)에 입력된다(S107,S108). 이러한 절차를 통해 센서 고장에 대한 고장 탐지와 비행 회복 알고리즘이 작동한다.
1) 시스템 모델 모듈 (System Model Module)(110)
추력 할당 행렬부(220)와 동력학 모델부(230)는 실물 기체 모델이다. 따라서 본 발명의 멀티콥터의 센서 고장 탐지 및 비행 회복 장치(100)는, 센서가 포함된 실제 멀티콥터 기체가 공격을 당했을 때 실물 기체 모델을 사용하지 않고, 실물 기체 모델을 선형화하여 제작한 소프트웨어인 시스템 모델 모듈을 통과하여 나오는 값을 사용한다. 즉, 공격당한 모델을 사용하는 것이 아닌, 미리 제작한 실물 모델과 비슷한 시스템 모델 모듈을 통해 자세, 위치 등의 데이터를 계산하는 것이다. 이로써 공격을 당하지 않았을 경우의 멀티콥터의 자세, 위치 등의 데이터를 제어기(210)로 제공함으로써, 정상 비행이 되도록 제어할 수 있게 된다.
시스템 모델은 제어기(210)의 Angle Rate Loop에 피드백되는 에 대해 수학식 23과 같이 설계하게 된다.
[수학식 23]
여기서 , 이고,
u(t)는 시스템 모델의 입력으로서, 제어기(210)로부터 수신한 자세 제어 목표값이다. 시스템 모델의 각 행렬은 수학식 24와 같이 구성된다.
x(t)는 상태벡터로서, 최초에는 시스템 모델 모듈(110)이 설정한 초기값으로 상태행렬 A와 곱하고, 여기에 입력행렬 B와 입력벡터 u(t)를 곱한 것을 더하여 를 도출하게 된다. 그 후 를 적분하여 새로운 x(t)를 구하게 되고 이를 출력행렬 C와 곱하여 시스템 모델 모듈(110)에서의 최종 출력인 y(t)를 도출하게 된다.
즉, 에서의 x(t), A와 곱하는 x(t) 및, y(t) 계산시 C와 곱하는 x(t)는 모두 같은 값이며, 를 적분하여 x(t)를 도출하고, 도출된 x(t)를 다시 계산 및 y(t) 계산에 사용하는 과정을 무한 루프로 반복하게 되는 것이다.
요약하면, 시스템 모델 모듈(110)은 드론의 상태 A·x(t)에 입력 B·u(t)를 더하여 를 구하고, 이를 적분한 값인 x(t)을 이용하여 원하는 값인 y(t), 즉 yref를 출력하는 모듈이다.
[수학식 24]
,,
위 시스템 모델식은 드론의 회전운동 역학 모델을 선형화한 식에서 비롯되며, 실제 는 시스템 모델 입력시 107을 나누어 Scaling을 하게 된다. 이 모듈을 통해 yref을 출력한다. 여기서 yref는 수학식 23에서 산출되는 y(t)가 된다.
도 7에서, dr, dp, dy는 δr, δp, δy를 의미하며, 제어기(210)에서 출력된, 각각 목표(desired) roll, pitch, yaw 값을 의미한다. yref는 목표 roll, pitch, yaw값으로부터 드론의 회전운동 역학이 고려된 최종 자세 데이터로서의 roll, pitch, yaw를 포함하는 데이터이다. 고도, 위치 값들도 포함될 수 있으나, 본 도면에서는 생략하였다.
2) 고장 결정 모듈 (Fault Decision Module)(130)
고장 결정 모듈(130)에서는 yref(시스템 모델 자세 데이터)와 ys(센서 출력 자세 데이터)의 오차의 절대값을 설정된 ε(임계값)에 의해 수학식 25와 같이 α라는 결정계수로 고장을 결정한다. 여기서 α가 1이면(고장인 경우) yref(시스템 모델 자세 데이터)를 자세 제어기로 출력하고, α가 0이면(고장 아닌 경우) ys(센서 데이터)가 자세 제어기로 출력된다. 따라서 이 모듈을 통해 α가 출력된다.
[수학식 25]
이때, yref에 roll, pitch, yaw로 구성된 경우, roll, pitch, yaw 중 하나라도 |e|가 ±ε범위를 벗어나는 경우 α는 1로 설정된다.
3) 비행 회복 모듈 (Flight Recovery Module)(140)
비행 회복 모듈(140)에서는 고장 결정 모듈에서 출력된 α로 수학식 26을 통해 자세 제어기의 Angle Rate Loop에 대한 피드백 데이터 의 회복 결정을 한다.
[수학식 26]
이로써, 전술한 바와 같이, α가 1이면(고장인 경우) yref(시스템 모델 자세 데이터)가 출력되어 피드백 데이터(yfb)로서 제어기(210)에 입력되고(S106,S108), α가 0이면(고장 아닌 경우) ys(센서 출력 자세 데이터)가 출력되어 피드백 데이터(yfb)로서 제어기(210)에 입력된다(S107,S108). 이러한 절차를 통해 센서 고장에 대한 고장 탐지와 비행 회복 알고리즘이 작동한다.
도 9는 정상 상태인 경우의 멀티콥터의 위치 및 자세 결과를 나타내는 도면이고, 도 10은 정상 상태인 경우의 고장 결정 계수(α) 및 추정 상태를 비교한 도면이다.
정상 상태로 정지비행의 경우, yref(시스템 모델 자세 데이터)와 ys(센서 출력 자세 데이터)은 거의 유사하게 출력됨을 알 수 있다. 이를 통해 충분히 yref가 ys을 추정한다.
도 11은 본 발명의 센서 고장 탐지 및 비행 회복 알고리즘을 적용하지 않고 센서에 고장을 주입한 경우의 결과를 나타내는 도면이다.
고장 주입은 위 그림과 같이 사인파 형태의 Time-varying Fault가 발생한 경우를 설정한 것이다.
도 12는 본 발명의 센서 고장 탐지 및 비행 회복 알고리즘을 적용하지 않고 고장 상태인 경우, 멀티콥터의 위치 및 자세 결과를 나타내는 도면이고, 도 13은 본 발명의 센서 고장 탐지 및 비행 회복 알고리즘을 적용하지 않고 고장 상태인 경우, 고장 결정 계수(α) 및 추정 상태를 비교한 도면이다.
본 발명의 센서 고장 탐지 및 비행 회복 알고리즘을 적용하지 않은 경우, 시뮬레이션 결과 추락하는 것을 확인할 수 있다.
도 14는 본 발명의 센서 고장 탐지 및 비행 회복 알고리즘을 적용하고 고장 상태인 경우, 멀티콥터의 위치 및 자세 결과를 나타내는 도면이고, 도 15는 본 발명의 센서 고장 탐지 및 비행 회복 알고리즘을 적용하고 고장 상태인 경우, 멀티콥터의 위치 및 자세 결과를 나타내는 도면이다.
제안된 알고리즘을 통해 yref(시스템 모델 자세 데이터)가 센서 입력으로 출력된다. 이에 따라 시뮬레이션 결과 추락을 방지하고 정지 비행을 유지할 수 있음이 확인됐다.
10: 멀티콥터
100: 멀티콥터의 센서 고장 탐지 및 비행 회복 장치

Claims (10)

  1. 멀티콥터의 센서 고장 탐지 및 비행 회복 장치가, 멀티콥터의 센서 고장 탐지 및 비행 회복을 수행하는 방법으로서,
    (a) 제어기에서 출력된 자세 제어 목표값을 수신하는 단계;
    (b) 상기 자세 제어 목표값으로부터 시스템 모델을 통하여 최종 자세 데이터(이하, '시스템 모델 자세 데이터'라 한다)를 산출하는 단계;
    (c) 센서에서 출력된 자세 데이터(이하, '센서 출력 자세 데이터'라 한다)를 수신하는 단계;
    (d) 상기 시스템 모델 자세 데이터와 상기 센서 출력 자세 데이터의 차이값(이하, '오차'라 한다)이 기 설정된 정상 범위에 있는지 여부를 판단하는 단계; 및,
    (e) 상기 오차가 정상 범위에 있는 경우 상기 센서 출력 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하고, 정상 범위에 있지 않은 경우 상기 시스템 모델 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하는 단계
    를 포함하는 멀티콥터의 센서 고장 탐지 및 비행 회복 방법.
  2. 청구항 1에 있어서,
    상기 자세 제어 목표값은,
    롤(roll), 피치(pitch) 및 요(yaw) 각각에 대한 제어 목표값을 포함하는 것
    을 특징으로 하는 멀티콥터의 센서 고장 탐지 및 비행 회복 방법.
  3. 청구항 2에 있어서,
    상기 시스템 모델 자세 데이터는,

    에 의해 y(t)로 결정되며, 여기서,
    , 이고,
    u(t)는 상기 시스템 모델의 입력으로서, 상기 자세 제어 목표값이며,
    ,,
    인 것을 특징으로 하는 멀티콥터의 센서 고장 탐지 및 비행 회복 방법.
  4. 청구항 1에 있어서,
    상기 단계(e)에서, 상기 제어기에 입력될 피드백 자세 데이터는,

    로 결정되고, 여기서
    yref는 상기 시스템 모델 자세 데이터, ys는 상기 센서 출력 자세 데이터이고,
    상기 α는 고장 결정계수로서,

    에 의해 결정되며,
    e는 상기 오차를 의미하고, ε는 기 설정된 임계값을 의미하는 것
    을 특징으로 하는 멀티콥터의 센서 고장 탐지 및 비행 회복 방법.
  5. 멀티콥터의 센서 고장 탐지 및 비행 회복 장치로서,
    적어도 하나의 프로세서; 및
    컴퓨터로 실행가능한 명령을 저장하는 적어도 하나의 메모리를 포함하되,
    상기 적어도 하나의 메모리에 저장된 상기 컴퓨터로 실행가능한 명령은, 상기 적어도 하나의 프로세서에 의하여,
    (a) 제어기에서 출력된 자세 제어 목표값을 수신하는 단계;
    (b) 상기 자세 제어 목표값으로부터 시스템 모델을 통하여 최종 자세 데이터(이하, '시스템 모델 자세 데이터'라 한다)를 산출하는 단계;
    (c) 센서에서 출력된 자세 데이터(이하, '센서 출력 자세 데이터'라 한다)를 수신하는 단계;
    (d) 상기 시스템 모델 자세 데이터와 상기 센서 출력 자세 데이터의 차이값(이하, '오차'라 한다)가 기 설정된 정상 범위에 있는지 여부를 판단하는 단계; 및,
    (e) 정상 범위에 있는 경우 상기 센서 출력 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하고, 정상 범위에 있지 않은 경우 상기 시스템 모델 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하는 단계
    가 실행되도록 하는 멀티콥터의 센서 고장 탐지 및 비행 회복 장치.
  6. 멀티콥터의 센서 고장 탐지 및 비행 회복을 수행하기 위한 컴퓨터 프로그램으로서,
    비일시적 저장 매체에 저장되며, 프로세서에 의하여,
    (a) 제어기에서 출력된 자세 제어 목표값을 수신하는 단계;
    (b) 상기 자세 제어 목표값으로부터 시스템 모델을 통하여 최종 자세 데이터(이하, '시스템 모델 자세 데이터'라 한다)를 산출하는 단계;
    (c) 센서에서 출력된 자세 데이터(이하, '센서 출력 자세 데이터'라 한다)를 수신하는 단계;
    (d) 상기 시스템 모델 자세 데이터와 상기 센서 출력 자세 데이터의 차이값(이하, '오차'라 한다)가 기 설정된 정상 범위에 있는지 여부를 판단하는 단계; 및,
    (e) 정상 범위에 있는 경우 상기 센서 출력 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하고, 정상 범위에 있지 않은 경우 상기 시스템 모델 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하는 단계
    가 실행되도록 하는 명령을 포함하는 멀티콥터의 센서 고장 탐지 및 비행 회복을 수행하기 위한 컴퓨터 프로그램.
  7. 멀티콥터의 센서 고장 탐지 및 비행 회복 장치로서,
    제어기에서 출력된 자세 제어 목표값으로부터 최종 자세 데이터(이하, '시스템 모델 자세 데이터'라 한다)를 산출하는 시스템 모델 모듈;
    센서에서 출력된 자세 데이터(이하, '센서 출력 자세 데이터'라 한다)와, 상기 시스템 모델 자세 데이터의 오차를 산출하는 오차 산출 모듈;
    상기 시스템 모델 자세 데이터와 상기 센서 출력 자세 데이터의 차이값(이하, '오차'라 한다)이 기 설정된 정상 범위에 있는지 여부를 판단하는 고장 결정 모듈; 및,
    상기 오차가 정상 범위에 있는 경우 상기 센서 출력 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하고, 정상 범위에 있지 않은 경우 상기 시스템 모델 자세 데이터를 상기 제어기에 입력될 피드백 자세 데이터로 결정하는 비행 회복 모듈
    을 포함하는 멀티콥터의 센서 고장 탐지 및 비행 회복 장치.
  8. 청구항 7에 있어서,
    상기 자세 제어 목표값은,
    롤(roll), 피치(pitch) 및 요(yaw) 각각에 대한 제어 목표값을 포함하는 것
    을 특징으로 하는 멀티콥터의 센서 고장 탐지 및 비행 회복 장치.
  9. 청구항 8에 있어서,
    상기 시스템 모델 자세 데이터는,

    에 의해 y(t)로 결정되며, 여기서,
    , 이고,
    u(t)는 상기 시스템 모델의 입력으로서, 상기 자세 제어 목표값이며,
    ,,
    인 것을 특징으로 하는 멀티콥터의 센서 고장 탐지 및 비행 회복 장치.
  10. 청구항 7에 있어서,
    상기 제어기에 입력될 피드백 자세 데이터는,

    로 결정되고, 여기서
    yref는 상기 시스템 모델 자세 데이터, ys는 상기 센서 출력 자세 데이터이고,
    상기 α는 고장 결정계수로서,

    에 의해 결정되며,
    e는 상기 오차를 의미하고, ε는 기 설정된 임계값을 의미하는 것
    을 특징으로 하는 멀티콥터의 센서 고장 탐지 및 비행 회복 장치.
KR1020220160813A 2022-11-25 2022-11-25 멀티콥터의 센서 고장 탐지 및 비행 회복 방법 및 장치 KR20240095551A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220160813A KR20240095551A (ko) 2022-11-25 2022-11-25 멀티콥터의 센서 고장 탐지 및 비행 회복 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220160813A KR20240095551A (ko) 2022-11-25 2022-11-25 멀티콥터의 센서 고장 탐지 및 비행 회복 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20240095551A true KR20240095551A (ko) 2024-06-26

Family

ID=91689566

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220160813A KR20240095551A (ko) 2022-11-25 2022-11-25 멀티콥터의 센서 고장 탐지 및 비행 회복 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20240095551A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102261899B1 (ko) 2019-11-15 2021-06-07 주식회사 스마티 드론의 이상 진단장치 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102261899B1 (ko) 2019-11-15 2021-06-07 주식회사 스마티 드론의 이상 진단장치 및 그 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1. Yunmok, S., Hocheol, S., Dongkwan, K., Youngseok, P., Juhwan, N., Kibum, C., Jungwoo, C. and Yongdae, K.: Rocking Drones with Intentional Sound Noise on Gyroscopic Sensors, USENIX, 2015, Wasington D.C., pp. 881-896.
2. Hongjun, C., Sayali, K., Yousra, A., Xiangyu, Z. and Dongyan, X.: Software-based Realtime Recovery from Sensor Attacks on Robotic Vehicles, RAID, 2020, pp. 349-364.

Similar Documents

Publication Publication Date Title
US9676464B2 (en) Stabilized directional control systems and methods
Hajiyev et al. Robust adaptive Kalman filter for estimation of UAV dynamics in the presence of sensor/actuator faults
Choi et al. Software-based realtime recovery from sensor attacks on robotic vehicles
Zhong et al. Sensor fault detection and diagnosis for an unmanned quadrotor helicopter
CA2642803C (en) Robust control effector allocation
Hajiyev et al. Robust estimation of UAV dynamics in the presence of measurement faults
Jackson Overview of missile flight control systems
US11753147B2 (en) System and method for monitoring the state of an unmanned aircraft
Lu et al. Double-model adaptive fault detection and diagnosis applied to real flight data
CN113128035B (zh) 民用飞机飞控传感器信号重构容错控制方法
Chang et al. Analysis and design of second-order sliding-mode algorithms for quadrotor roll and pitch estimation
Gayaka et al. Output feedback based adaptive robust fault-tolerant control for a class of uncertain nonlinear systems
CN112068444B (zh) 一种采用非线性自适应滑模的飞行器攻角控制方法
CN117452831B (zh) 一种四旋翼无人机控制方法、装置、***及存储介质
Li et al. A new robust fault-tolerant controller for self-repairing flight control system
Wang et al. Sliding mode reconfigurable control using information on the control effectiveness of actuators
KR20240095551A (ko) 멀티콥터의 센서 고장 탐지 및 비행 회복 방법 및 장치
Liu et al. Adaptive compensation of aircraft actuation failures using an engine differential model
KR102093745B1 (ko) 변화하는 무게중심에 대처하는 항공기의 비행성 및 안정성 향상을 위한 제어방법
Ossmann et al. Optimization-based tuning of LPV fault detection filters for civil transport aircraft
KR102665780B1 (ko) 상호 다중 모델을 이용한 무인 비행체 고장 감지 장치 및 방법
KR20150107664A (ko) 쿼드 로터 자세 제어 시스템 및 그의 제어 방법
Bakori et al. UAS Model Identification and Simulation to Support In-Flight Testing of Discrete Adaptive Fault-Tolerant Control Laws
Blue et al. Linear parameter-varying control for active flutter suppression
CN116859981B (zh) 一种运载火箭姿态控制方法、装置及计算设备