### 0.0.1 센서 거부(Sensor Rejection), Failsafe 및 트러블슈팅 로직
비행 제어기(FC)에게 있어 세상에서 가장 위험한 센서는 ’완전히 죽어버린 센서’가 아니다. 오히려 ’살아있으면서 교묘하게 거짓말을 하는 센서’가 백배는 더 끔찍하다.
PX4-Autopilot의 센서 융합 코어(EKF2)는 이러한 철학적 대전제 아래 설계되었다. 수백 미터 상공에서 GPS가 위치 스푸핑(Spoofing)을 당하거나 지자기 센서가 철골 구조물에 의해 완전히 왜곡되었을 때, 펌웨어는 고장 난 센서의 숨통을 끊어버리고(Rejection), 기체를 살리기 위한 최후의 비상 절차(Failsafe)로 이행해야만 한다.
본 절에서는 단일 센서의 에러가 전역 시스템의 붕괴로 이어지지 않도록 PX4가 구축해 둔 겹겹의 방어벽, 즉 센서 거부(Rejection) 알고리즘과 이로 인해 파생되는 안전 장치(Failsafe) 발동 메커니즘, 그리고 비행 후 로그 분석을 통한 트러블슈팅(Troubleshooting) 방법론의 거시적 뼈대를 살펴본다.
0.1 센서 거부(Rejection) 알고리즘의 대원칙: 확률과 혁신(Innovation)
센서 거부 로직의 핵심은 ’배신의 징후’를 조기에 포착하는 것이다. EKF2는 절대 특정 센서를 무조건 신뢰하지 않으며, 끊임없이 의심하고 교차 검증한다.
- 상태 예측(Prediction)과 관측(Observation)의 줄다리기: IMU(가속도/자이로)는 현재 상태를 바탕으로 다음 1 밀리초(ms) 뒤의 기체 위치를 예측한다. 그리고 GPS는 실제 그 위치에 도달했는지를 관측하여 보고한다.
- 혁신(Innovation)과 게이트 통과(Gate Test): EKF 예측치와 GPS 관측치 사이의 오차를 혁신(Innovation) 이라 부른다. PX4는 이 오차가 통과해야 하는 엄격한 임계값(Threshold Gate)을 수학적으로 정의해 두었다. 예를 들어 “속도 혁신 오차가 3 standard deviations(표준편차) 이상 벌어지면 이 GPS 데이터는 버부(Reject)한다!“는 식이다.
- 거부(Rejection)의 확정: 혁신 게이트를 한 번 통과하지 못했다고 해서 바로 센서를 죽이지는 않는다. 그러나 에러가 누적되어 특정 시간 이상(예: 5초) 게이트 밖으로 데이터가 튕겨 나가면, EKF2는 해당 센서에 거부(Rejection/Timeout) 판정을 내리고 가중치를 0으로 깎아버린다.
0.2 거부 이후의 연쇄 반응: Fallback과 Failsafe
하나의 핵심 센서(예: GPS)가 거부당하면, 기체는 즉각 살아남기 위한 생존 모드로 전환한다.
- 센서 폴백(Sensor Fallback): 듀얼 GPS 셋업이라면, EKF2는 고장난 메인 GPS를 즉시 버리고 건강한 서브 GPS로 데이터 소스를 부드럽게 스위칭(Blending -> Switching)하여 비행을 이어간다. 만약 나침반(Compass)이 거부당했다면, GPS의 이동 궤적(Course Over Ground)을 이용한 가상 헤딩(Heading) 추정 모드로 폴백한다.
- 내비게이션 상실(Navigation Loss): 만약 모든 GPS가 먹통이 되거나 스푸핑 당해 위치 추정(Local/Global Position) 자체가 불가능해지면, PX4는 커맨더(Commander) 모듈에 비상사태를 선포한다.
- Failsafe 발동: 자동 비행(Mission)이나 위치 제어(Position) 모드에 있던 기체는 즉시 제동(Braking)을 걸 수 없음을 깨닫고, 파라미터(
COM_POS_FS_*)에 정의된 안전 조치를 실행한다. 보통 위치 제어를 포기하고 고도만 유지하며 수동 조종을 기다리는 고도 모드(Altitude Mode) 강제 강등(Fallback) 이 일어나거나, 최악의 경우 그 자리에서 천천히 자유 낙하하는 강제 착륙(Land) 모드로 진입한다.
0.3 사후 디버깅과 트러블슈팅(Troubleshooting) 철학
비행 중 덜컥거리며 Failsafe에 걸렸던 기체를 무사히 수거했다면, 엔지니어의 진짜 싸움은 지금부터다. PX4는 SD 카드에 남겨진 ULog 파일을 통해 센서가 죽어갔던 그 긴박한 순간들을 나노초(ns) 단위로 부검(Autopsy)할 수 있는 완벽한 증거를 제공한다.
- Flight Review 로그 분석기: 웹 기반의 Flight Review 툴을 통해 ULog를 열어보면, EKF2의
innovation그래프가 특정 시점에 폭발적으로 솟구친(Spike) 것을 볼 수 있다. - 진단(Diagnostic) 시나리오:
- 자력계 혁신(Mag Innovation)이 치솟고 GPS는 멀쩡하다면? \rightarrow 비행경로 근처의 고압선 간섭을 의심하라.
- 가속도계 혁신(Acc Innovation)이 치솟는다면? \rightarrow 기체의 물리적 진동 댐핑(Damping)이 무너진 것이다.
- GPS 위치 혁신(Pos Innovation)이 계곡을 지날 때 치솟았다면? \rightarrow 전형적인 다중 경로(Multipath) 반사파 에러다.
이처럼 PX4의 트러블슈팅은 짐작이나 감(Feeling)에 의존하지 않는다. 철저하게 EKF2 신경망이 토해낸 ’혁신(Innovation) 오차율’과 ’거부(Rejection) 플래그’라는 수학적 단서를 거슬러 올라가, 근본적인 물리적/환경적 결함을 찾아내고 파라미터를 수정하는 고도의 데이터 과학이다.