### 0.0.1 센서 거부(Sensor Rejection), Failsafe 및 트러블슈팅 로직

### 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)가 거부당하면, 기체는 즉각 살아남기 위한 생존 모드로 전환한다.

  1. 센서 폴백(Sensor Fallback): 듀얼 GPS 셋업이라면, EKF2는 고장난 메인 GPS를 즉시 버리고 건강한 서브 GPS로 데이터 소스를 부드럽게 스위칭(Blending -> Switching)하여 비행을 이어간다. 만약 나침반(Compass)이 거부당했다면, GPS의 이동 궤적(Course Over Ground)을 이용한 가상 헤딩(Heading) 추정 모드로 폴백한다.
  2. 내비게이션 상실(Navigation Loss): 만약 모든 GPS가 먹통이 되거나 스푸핑 당해 위치 추정(Local/Global Position) 자체가 불가능해지면, PX4는 커맨더(Commander) 모듈에 비상사태를 선포한다.
  3. 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) 시나리오:
  1. 자력계 혁신(Mag Innovation)이 치솟고 GPS는 멀쩡하다면? \rightarrow 비행경로 근처의 고압선 간섭을 의심하라.
  2. 가속도계 혁신(Acc Innovation)이 치솟는다면? \rightarrow 기체의 물리적 진동 댐핑(Damping)이 무너진 것이다.
  3. GPS 위치 혁신(Pos Innovation)이 계곡을 지날 때 치솟았다면? \rightarrow 전형적인 다중 경로(Multipath) 반사파 에러다.

이처럼 PX4의 트러블슈팅은 짐작이나 감(Feeling)에 의존하지 않는다. 철저하게 EKF2 신경망이 토해낸 ’혁신(Innovation) 오차율’과 ’거부(Rejection) 플래그’라는 수학적 단서를 거슬러 올라가, 근본적인 물리적/환경적 결함을 찾아내고 파라미터를 수정하는 고도의 데이터 과학이다.