13.6.3.1. Age of Differential (보정 데이터 지연, 통상 10~15초 한계) 초과 시: EKF2 추정기의 상태 공분산(State Covariance, P) 증가 및 관성 항법(INS) 신뢰도 가중치 조절 행렬 연산
RTK(Real-Time Kinematic) 시스템의 근본적인 취약성은 “실시간(Real-Time)“이라는 단어 자체에 내포되어 있다. 로버(Rover, 무인기)가 밀리미터 단위의 정밀도를 도출하기 위해서는 베이스 스테이션(Base Station)이 발송하는 RTCM 3.x 포맷의 보정 데이터가 끊임없이 텔레메트리(Telemetry)를 타고 넘어와야만 한다. 그러나 도심지 통신 음영, 고압선 간섭, 혹은 무선 링크의 대역폭 한계로 인하여 보정 데이터의 도착이 지연되는 순간, 비행체는 즉각적인 생존 모서리(Edge Case)로 내몰린다.
이를 명세화한 핵심 지표가 바로 보정 데이터 연령, 즉 Age of Differential(차분 데이터 지연시간) 이다.
0.1 Age of Differential의 물리적 의미와 허용 한계
RTK 수신기는 마지막으로 도착한 RTCM 데이터 패킷으로부터 시간이 흐를 때마다 자체적인 카운터를 증가시킨다. 일반적으로 이 카운터가 임계값(10 \sim 15초, 칩셋 파라미터로 조절)을 돌파하게 되면, 과거의 대기권 지연 상태나 전리층 수치가 현재 상태와 너무 다르게 틀어졌다고 판정하여 RTK Fixed 상태 유지를 포기한다.
이 시그널은 vehicle_gps_position_s 토픽을 타고 즉각적으로 PX4 엔진의 핵인 EKF2 필터로 흘러 들어간다.
0.2 EKF2 추정기 내부의 상태 공분산(P) 팽창 메커니즘
새로운 위치 확정(Fix) 정보가 들어오지 않거나, 오차 확률이 폭등했다는 플래그가 수신되면 EKF2의 칼만 필터 예측 방정식(Prediction Equation)은 관성 항법 장치(INS, 즉 가속도계와 자이로센서)의 적분값에 전적으로 기대어 동작하기 시작한다.
수학적으로, 칼만 필터의 상태 공분산 예측 단계는 다음과 같이 정의된다.
P_{k|k-1} = F_k P_{k-1|k-1} F_k^T + Q_k
여기서 Age of Differential 초과로 인해 유효한 업데이트(Update) 단계(즉, GPS 측정치에 의한 P 감소 및 증폭 억제)가 누락되면, 상태 공분산 행렬 P는 오직 공정 잡음 공분산 매트릭스(Process Noise Covariance Matrix, Q_k)에 의해서 물리적으로 매 프레임(\Delta t)마다 양의 방향으로 무한 팽창(Bloating)하게 된다.
이 현상은 ULog 분석기(PlotJuggler) 상에서 estimator_status.states_cv_pos (예: 위치 상태 추정 오차율) 라인그래프가 부드럽게 유지되다가 점진적으로 비탈길을 오르듯 급상승(Ramp up)하는 궤적을 남기는 현상으로 확인된다.
3. 관성 항법(INS) 가중치 조절 행렬 연산
보정 지연 임계 시간이 만료되어 GPS 기반 데이터가 폐기(Rejection)된 뒤, EKF2는 파멸적인 필터 발산(Filter Divergence)을 피하기 위해 INS에 가해지는 신뢰도 가중치를 역동적으로 조절한다. 즉, 혁신 분산(Innovation Variance, S_k = H P_k H^T + R) 방정식 내부에서 위치 계측 노이즈 행렬 R을 극단적으로 키워버림으로써, 간헐적으로 수신되는 낡은 GPS 데이터의 칼만 이득(Kalman Gain, K) 통제권을 박탈한다.
graph TD;
A[Telemetry Link 방해파 유입 / 단절] --> B[Age of Differential 카운터 15초 돌파]
B --> C[RTK 수신기 상태 Downgrade: Fixed ➡️ Float ➡️ 3D]
C --> D[vehicle_gps_position_s: epv, eph 오차 팽창]
D --> E[EKF2 방정식: Update 누락 및 공분산 P 무한 누적 증가]
E --> F[측정 노이즈 행렬 R 재계산 (의도적 팽창)]
F --> G[Kalman Gain 하락. GPS 관여도 최소화]
G --> H[INS(관성 항법) 적분 의존 모드 강제 전이]
소프트웨어 아키텍트 관점에서, 이러한 시스템의 동작 로직은 오작동이 아니라 지극한 연산의 승리이다. 데이터가 죽어가는 상황에서 어설픈 찌꺼기 추정치에 기체를 맡기기보다는, 당장 몇 분 내로 드리프트(Drift)가 나더라도 일단 연속성을 보장하는 관성 가속도 관성 기반 블라인드 비행(Blind Flight/Coast)으로 매끄럽게 페일오버(Fail-over)하는 기술. 바로 이것이 고급 비행 제어 기술의 본질이다.