## 0.1 측위 오차 모델 및 품질 지표(Quality Metrics)의 통계적 접근
위성 항법 시스템(GNSS) 기반의 절대 측위(Absolute Positioning)는 위성 신호가 우주 공간에서 지구 표면의 수신기에 도달하기까지 거치는 수많은 물리적 교란 요소구조에 노출되어 있다. 무인기(UAV)의 항법 시스템이 이러한 위치 추정 데이터를 무비판적으로 신뢰할 경우, 다중 경로(Multipath)나 전리층(Ionosphere) 교란과 같은 일시적 오차 급증으로 인해 기체가 추락(Crash)하거나 경로를 이탈(Flyaway)하는 치명적인 결과를 낳는다.
PX4-Autopilot은 단순한 좌표 변환을 넘어, 이러한 센서의 불확실성을 통계적 수학 모델로 계량화하고 비행 제어기(EKF2)의 가중치 조절에 실시간으로 반영하는 거대한 오차 필터링 파이프라인(Error Filtering Pipeline)을 가지고 있다.
0.1.1 GNSS 측위 오차의 주요 소스(Error Sources)
수신기가 계산한 의사거리(Pseudorange)에는 다음과 같은 다양한 오차 성분들이 포함되어 있으며, 통계적으로 이는 정규 분포(Normal Distribution)를 따르는 백색 잡음(White Noise)과 시간 상관성을 가지는 편향(Bias)으로 나눌 수 있다.
- 위성 궤도 오차 (Ephemeris Error): 항법 메시지에 포함된 위성의 예측 위치와 실제 위치 간의 차이 오차.
- 위성 시계 오차 (Satellite Clock Error): 위성에 탑재된 원자 시계와 GPS 시스템 타임 간의 미세한 동기화 불일치.
- 전리층 지연 (Ionospheric Delay): 50~1000km 고도의 자유 전자들에 의한 신호 굴절 지연 현상.
- 대류권 지연 (Tropospheric Delay): 대기층의 수증기와 건조 공기에 의한 전파 속도 저하 현상.
- 다중 경로 에러 (Multipath Error): 지형지물(건물 복도, 금속 구조물 등)에 반사된 신호가 직접파보다 늦게 도착하여 발생하는 상관루프 왜곡 현상.
- 수신기 잡음 (Receiver Noise): 하드웨어 안테나 및 회로 소스에서 발생하는 열잡음(Thermal Noise).
각 독립적인 오차 요소들은 평균적으로 결합되어 UERE(User Equivalent Range Error, 사용자 등가 거리 오차)라는 하나의 통계적 거리 오차 예산으로 병합된다.
0.1.2 EKF2 추정기의 통계적 신뢰도 평가 모델 (Quality Metrics)
PX4의 src/modules/ekf2 (Extended Kalman Filter 2) 아키텍처는 센서 드라이버로부터 원시 좌표계 데이터만 받아들이지 않는다. 반드시 해당 좌표의 통계적 불확실성(Uncertainty)을 나타내는 **품질 지표(Quality Metrics)**를 함께 입력받아 노이즈 공분산(Noise Covariance) 매트릭스 \mathbf{R} 에 반영한다.
센서 드라이버가 MAVLink GPS_RAW_INT 메시지 내지 sensor_gps uORB 토픽으로 퍼블리싱(Publishing)하는 주요 품질 지표는 다음과 같다.
- eph / s_variance_m_s (수평/수직 위치 분산): 수신기 내부 필터가 자체 예측한 1-Sigma(1표준편차) 수준의 수평 단위 위치 오차(m 단위). PX4는 이 값이 3~5m 이상으로 튀면 추정치 블렌딩 과정에서 가중치를 삭감한다.
- epv (수직 고도 분산): 고도 데이터의 불확실 지표. 하방향 오차에 훨씬 민감하므로
eph보다 큰 가중치 패널티가 설정된다. - vel_ned_valid: 속도 측정값의 유효성. GNSS 도플러 효과(Doppler Effect)로 산출된 속도는 미분 위치 오차보다 훨씬 정밀하므로, 이 플래그가 참(True)일 때 EKF2의 속도 혁신(Velocity Innovation) 계산이 극대화된다.
- DOP(Dilution of Precision): 위성의 하늘 배치 기하학(Geometry)이 측위 정밀도에 미치는 저하 계수. (HDOP, VDOP, PDOP 등으로 세분화됨) 위성이 특정 방향에만 몰려 있을 경우, UERE가 낮더라도 최종 위치 오차는 DOP 계수에 비례해 커진다.
0.1.3 PX4와 다른 시스템(Ardupilot)의 철학적 차이
두 오픈소스 모두 이중 GPS 융합이나 에러 폴링 기능이 존재하지만, EKF를 처리하는 패러다임에서 차이를 보인다. Ardupilot의 EKF3 구조는 여러 개의 레인(Multi-lane)을 생성하여 각각 병렬로 상태를 추정하고 코어 수준에서 최상위 하나를 선택(Selection)하는 구조를 선호한다. 반면에 PX4의 EKF2는 GPS 드라이버 측(ekf2_gps_blending.cpp)에서 각 GPS 모듈이 산출한 에러 분산역수를 토대로 사전 블렌딩(Pre-blending)을 수행해 단일한 합성 가상 좌표와 합성 가중치를 EKF 추정기에 단일 주입(Injection)하는 아키텍처를 선호한다.
이러한 사전 처리(Blended Quality) 접근법은 CPU 리소스 점유율을 대폭 낮추고 센서 단위의 스무딩(Smoothing)을 가능케 함으로써 저사양 프로세서(MCU)를 사용하는 무인기에서도 매우 안정적인 수치 해석을 유지할 수 있다는 장점을 시사한다.