### 0.0.1 비행 데이터 심층 분석(Flight Review/PlotJuggler)을 통한 사후 트러블슈팅

### 0.0.1 비행 데이터 심층 분석(Flight Review/PlotJuggler)을 통한 사후 트러블슈팅

아무리 뛰어난 EKF2 필터와 정교한 Failsafe 로직이 기체를 살려냈다고 하더라도, “왜 비행 중에 GPS 플래그가 빨간색으로 점멸했는가?“라는 근본적인 원인을 규명하지 못하면 다음 비행은 온전히 운(Luck)에 맡기는 꼴이 된다.

전문적인 무인기 제어 엔지니어에게 추락이나 비상 착륙은 끝이 아니라 원인 분석(Root Cause Analysis)의 시작이다. PX4는 이를 위해 기체 내부에서 벌어졌던 모든 센서 데이터와 EKF2의 의사결정 과정을 나노초(ns) 단위로 SD 카드에 기록해 두는데, 이것이 바로 ULog 파일이다.

본 절에서는 비행이 끝난 후 이 ULog 파일을 뜯어보고, Flight ReviewPlotJuggler 같은 전문 데이터 로깅 분석 툴을 이용하여 보이지 않는 전파 공해와 하드웨어의 결함을 시각화(Visualization)하는 사후 트러블슈팅 철학을 살펴본다.

0.1 트러블슈팅의 두 가지 무기: Flight Review와 PlotJuggler

PX4 생태계는 로그 분석을 위해 접근성과 전문성을 각각 만족시키는 두 가지 강력한 툴을 제공한다.

  • Flight Review (웹 기반): 가장 빠르고 대중적인 방법이다. SD 카드에서 뽑아낸 .ulg 파일을 logs.px4.io 웹사이트에 업로드하기만 하면, 브라우저 상에서 기체의 3D 비행 궤적, 위치 혁신(Innovation) 그래프, 진동 수준 조화(Vibration metrics) 등 핵심 트러블슈팅 지표들을 보기 좋게 렌더링해 준다. 1차적인 문제의 윤곽을 잡는 데 아주 훌륭하다.
  • PlotJuggler (독립 실행형 프로그램): Flight Review가 보여주지 않는 EKF2 내부 깊숙한 토픽(Topic) 데이터나 상태 변화를 타임라인 위에 겹쳐서 수학적으로 정밀 분석해야 할 때 사용하는 오프라인 툴이다. 복잡한 센서 폴백 시점의 지연 시간이나, 각 속도 데이터의 노이즈 주파수 대역폭(FFT 변환) 분석 등 전문가 레벨의 트러블슈팅을 가능케 한다.

0.2 혁신(Innovation) 오차율 기반의 진단 시나리오

PX4 트러블슈팅의 핵심은 “어떤 센서의 혁신값이, 언제, 얼마나 치솟았는가?“를 찾아내는 것이다.

  • 가속도계 진동 폭주 (High Vibration): estimator_status의 가속도 혁신 그래프가 두껍게 칠해져 있다면, 모터나 프로펠러의 물리적 밸런스가 무너져 진동(Vibration)이 FC(Flight Controller)로 들이치고 있다는 뜻이다. 이 진동 노이즈가 EKF2를 혼란에 빠뜨리면, 정작 멀쩡하게 수신되는 GPS 데이터까지 못 미더운 것으로 취급받고 거부(Rejection)당하는 억울한 현상이 벌어진다. 이 경우 방진재(Damping)를 교체해야 한다.
  • 자력계 간섭 (Magnetic Interference): 기체가 스로틀(Throttle)을 올려 전류를 강하게 들이켤 때마다 자력계 혁신(Mag Innovation) 곡선이 스로틀 곡선과 똑같이 춤을 친다면, 전원선이 뿜어내는 수십 암페어(A)의 전자기장이 나침반 센서에 직격하고 있다는 증거다. 나침반 위치를 전원선으로부터 물리적으로 멀리 이격시키거나 차폐(Shielding)해야 한다.
  • GPS 위치 튐 (Multipath/Glitch): 특정 협곡이나 건물을 지날 때 vehicle_gps_position의 위성 수(Num Sats)는 충분한데, 일시적으로 위치 혁신(Pos Innovation) 봉우리가 치솟는다면 이는 전형적인 반사파 에러다. 코스팅(Coasting) 모드로 잘 넘겼는지, 빗장이 찢어져 기체가 튕겼는지를 분석해야 한다.

0.3 하드웨어적 결함 vs 소프트웨어 파라미터 튜닝의 판별

초보 엔지니어들은 기체가 이상 작동을 하면 무조건 파라미터(게이트 임계값 넓히기, 필터 주기 변경 등)를 건드려 소프트웨어적으로 덮으려는(Masking) 경향이 있다.

그러나 훌륭한 로깅 분석은 문제가 발생한 레이어(Layer)를 정확히 타격하는 것이다.

  • GPS 안테나 커넥터 접촉 불량으로 데이터가 끊어지는 하드웨어 결함을, EKF2 타임아웃 파라미터를 늘려서 해결하려 하면 결국 기체는 추락한다.
  • 로그 분석을 통해 ’잡음(Noise)의 근원’이 물리적인 데 있는지, 전자기적인 데 있는지 명확히 판별하고, 하드웨어적인 수정이 불가능할 경우에 한하여 마지막 수단으로 EKF 파라미터 튜닝에 돌입하는 것이 올바른 사후 트러블슈팅의 정석이다.