27.7.2.2. GPS 손실 후 재수신 시 로컬 원점 재정렬 및 글로벌 좌표 오프셋 수정 알고리즘

27.7.2.2. GPS 손실 후 재수신 시 로컬 원점 재정렬 및 글로벌 좌표 오프셋 수정 알고리즘

본 소절에서는 무인항공기가 비행 중 GPS 음영 지대(예: 교량 하부, 터널, 도심 빌딩 숲)에 진입하여 위성 항법 솔루션을 상실(GPS Loss)한 후, 다시 개활지로 이탈하여 GPS 신호를 재수신(Re-acquisition)했을 때 발생하는 공간 좌표계의 심각한 물리적 단차(Position Jump)를 PX4 EKF2 알고리즘이 어떻게 수학적으로 상쇄하고 전역 좌표계(Global Coordinate)를 재정돈하는지 분석한다.

1. GPS 단절에 따른 관성 항법(Dead Reckoning) 표류 역학

비행 스택의 확장 칼만 필터(EKF) 엔진에 GPS 측정치 세트(위치 및 속도 혁신)가 장시간 유입되지 않으면, 필터는 순수하게 IMU(가속도계, 자이로스코프)의 적분에 체공 고도(기압계) 및 방위(지자계)만을 혼합하여 기체의 이동 궤적을 추산하는 관성 전항법(Dead Reckoning) 제제로 폴백(Fallback)한다.
문제는 MEMS(Micro-Electro-Mechanical Systems) 기반 IMU 특유의 바이어스(Bias) 불안정성과 랜덤 워크(Random Walk) 노이즈가 이중 적분(\iint a dt^2)되면서 추정 오차가 기하급수적으로 팽창한다는 점이다. 불과 30초의 GPS 음영 비행만으로도 필터가 스스로 ‘믿고 있는’ 내부 수평 위치와 실제 기체의 물리적 공간 위치 간에는 수십 미터 이상의 드리프트(Drift) 누진 스큐(Skew)가 발생하게 된다.

2. GPS 재수신 시 위치 스파이크(Position Spike)와 복구 과제

관성 표류가 극한으로 진행된 상태에서, 드론이 다시 하늘이 열린 공간으로 나와 양질의 GPS 위성 신호(예: 3D Fix, HDOP < 1.0)를 재수신했다고 가정하자. 이 순간 EKF의 게이팅 알고리즘은 극적으로 상이한 새 측정치를 맞닥뜨리며 ‘혁신 기각(Innovation Reject)’ 한계를 초과하게 되고, 결국 현재의 발산한 공분산을 파기하고 새로운 GPS 측정 위치로 상태 벡터 원점을 순간 이동시키는 로컬 재초기화(Local Re-initialization)를 발동한다.

그러나 로컬 NED 체계 상 기체의 위치가 단 한 틱(Tick)만에 X축으로 30\text{m}, Y축으로 20\text{m} 도약해버리면, 단순히 위치 제어기(Position Controller)가 스텝(Step) 에러로 받아들여 모터 출력을 최대로 쏟아내는 것에서 끝나지 않는다. GCS에 보고되는 글로벌 위도/경도(Global LLA) 역시 순간적으로 워프(Warp)하게 되어 지정된 웨이포인트(Waypoint) 궤적 임무가 통째로 무효화되거나 엉뚱한 방향으로 경로가 재설정되는 치명적 미션 실패(Mission Abort)를 야기한다.

3. 원점 재정렬 및 MAVLink 글로벌 오프셋(Global Offset) 수정 로직

PX4 아키텍처(src/modules/ekf2/EKF/ekf_helper.cpp 및 연관 복구 루틴)는 제어기 단의 스파이크 충격을 흡수하기 위해 앞에서 언급한 ‘리셋 오프셋(Reset Offset)’ 방어를 수행함과 동시에, 전역 좌표(Global Position) 차원에서도 독창적인 오프셋 보정 알고리즘을 연속적으로 수행한다.

  1. 로컬-글로벌 원점 분리 추적 (Origin Decoupling): PX4 EKF는 비행 시작 시점 체득한 홈(Home) 위치의 글로벌 위도/경도를 원점(local_origin_lat, local_origin_lon)으로 삼아 로컬 NED 플랫-어스(Flat-Earth) 투영 좌표계를 운용한다. GPS 재수신 시 EKF 국소 좌표계의 현 위치 파라미터가 +30\text{m} 튀었을 때, 시스템은 기체의 절대 글로벌 위치가 순간 이동한 것이 아니라, 그동안 ‘로컬 기준 좌표계의 원점 자체가 우주 공간에서 반대 방향으로 표류했었다’ 고 수학적 프레임을 재해석한다.
  2. 글로벌 원점 시프트 연산 (Global Origin Shift): 필터는 \Delta x, \Delta y 리셋 변위를 WGS84 타원체(Ellipsoid) 역투영 공식에 대입하여 국소 중심 원점의 위도/경도를 그 변위(-30\text{m})만큼 이동시켜 버린다.
  3. Seamless 연속성 보장: 이로 인해 기체의 현재 로컬 NED 좌표값(x, y)은 새로운 GPS 데이터에 맞게 재정렬(Alignment)되었으면서도, 이를 바탕으로 환산해 내는 현재 기체의 글로벌 위도/경도는 리셋 직전과 직후 사이에서 부드럽게 이어지는(Seamless) 기적적인 수치 일치성을 확보하게 된다.

결과적으로 지상 관제 시스템(QGC) 화면을 모니터링하는 오퍼레이터 입장에서는 GPS 로스에서 복구되는 순간, 드론의 아이콘이 지도 상에서 워프하는 대신, 드론이 출발했던 ‘홈 포인트(Home Point) 아이콘의 위치가 지도 상에서 스윽 이동하는’ 현상으로 관측된다.
이는 Ardupilot이 채택했던 고전적인 GPS 복구 역학과 대비되는 PX4만의 고급 텐서 투영(Tensor Projection) 기법으로, 고속으로 이동 중인 고정익(Fixed-wing)이나 임무 크리티컬(Mission Critical)한 자율 방제 드론이 치명적 통신 및 위성 음영을 극복하고 임무 궤적을 이탈 없이 속행할 수 있도록 보장하는 소프트웨어 공학의 정수이다.