### 0.0.1 정표고(AMSL) 추정을 위한 지오이드(Geoid) 간격(Undulation) 모델과 EGM96 룩업 테이블(Look-up Table) 적용 한계

### 0.0.1 정표고(AMSL) 추정을 위한 지오이드(Geoid) 간격(Undulation) 모델과 EGM96 룩업 테이블(Look-up Table) 적용 한계

위성 항법 수신기(GNSS)가 출력하는 3차원 좌표계의 원뿔 좌표인 **고도(Altitude)**는 WGS84 수학 제1 타원체를 기준으로 한 기하학적 수직 거리, 즉 **타원체고(Ellipsoid Height, h)**이다. 그러나 비행기나 드론의 관제, 항법용 지도(Map), 기압계(Barometer) 기준 고도는 모두 평균 해수면(Mean Sea Level)을 영점(Zero Point)으로 하는 **정표고(Orthometric Height, H 또는 AMSL)**를 사용한다. 이 두 기준면 사이의 간격을 **지오이드 간격(Geoid Undulation, N)**이라고 하며, 이들의 관계는 다음과 같은 수학적 단순 덧셈 모델로 표현된다.

h = H + N \quad \text{또는} \quad H = h - N

PX4-Autopilot은 위치 보정 필터인 EKF2(Extended Kalman Filter)에서 GPS의 3D 공간 데이터와 기압계 내지 레이저 고도계 데이터를 융합(Fusion)할 때, 이 서로 다른 두 고도의 참조 평면(Datum)을 물리적으로 일치시키기 위해 지오이드 예측 모델을 시스템에 내장하고 있다.

1. EGM96 (Earth Gravitational Model 1996)의 도입

지구의 중력장은 지역에 따라 밀도 분포가 다르기 때문에 그 등포텐셜면(Equipotential Surface)인 지오이드는 타원체 대비 울퉁불퉁한 형태를 지닌다. 지오이드 간격 N은 전 세계적으로 -106m(스리랑카 남부)에서 +85m(아이슬란드)에 이르는 편차를 갖는다. 이를 무시할 경우, 백 미터 상공의 웨이포인트를 비행하라는 명령에 지면이나 수면에 충돌하는 치명적인 고도 오차가 발생하게 된다.

이를 보정하기 위해 PX4는 전 세계 중력장 모델 표준인 EGM96 데이터를 기반으로 한 룩업 테이블(Look-up table)을 src/lib/geo 라이브러리에 이식해두었다.

  • 동작 원리: 비행 제어 루프 내부의 함수 board_get_geoid_height(lat, lon)가 호출되면, 입력된 위경도와 가장 인접한 격자점(Grid)의 EGM96 수치를 보간법(Bilinear Interpolation)을 통해 계산하여 반환한다.
  • 시스템 융합: EKF2는 GPS가 보내온 타원체고(h)에서 이 지오이드 간격(N) 값을 차감하여 AMSL 기준 고도(H)로 변환한 뒤, 기압계가 산출한 기압 고도(P-Alt)와 센서 융합의 이노베이션(Innovation) 오차 계산식에 투입한다.

2. 룩업 테이블(Look-up Table) 구현의 딜레마와 적용 한계

완전한 EGM96 모델은 15분(15' \times 15') 격자 해상도를 갖추어 수 메가바이트(MB)에 이르는 용량을 차지한다. 이는 Pixhawk와 같은 일반적인 STM32 기반 마이크로컨트롤러(MCU)의 수백 킬로바이트(KB) 남짓인 가용 플래시 메모리(Flash Memory)에 탑재하기에는 무리이다.

따라서 PX4-Autopilot 아키텍처는 고도의 최적화와 더불어 몇 가지 수학적/시스템적 타협을 수반한다.

  1. 압축 및 저해상도화 (Compression & Downsampling):
    PX4 펌웨어에는 EGM96 모델의 배열 좌표 크기를 대폭 잘라낸 다운샘플링 버전이 하드코딩 되어 있다. 이 인해 고해상도 지오이드 맵에 비해 지역적 곡률의 정밀도가 수 미터 가량 떨어지는 내재적 보정 오차 방지 한계점을 지닌다.
  2. Mavlink를 통한 오프로딩 (GCS Offloading via MAVLink):
    메모리 제약의 해법으로, GPS 하드웨어 자체나 QGroundControl (GCS) 측에서 먼저 타원체고를 정표고로 변환(Offloading)하는 우회로를 시스템 표준으로 삼기도 한다. 최근의 u-blox 모듈(예: M8N, F9P)은 내부 ROM 칩에 지오이드 모델을 내장하고 있으므로, GPS_UBX 파서(Parser)가 NAV-PVT 메시지에서 hMSL 파라미터를 파싱할 수 있다면 PX4 내부의 연산을 아예 스킵하고 이 값을 EKF2로 직행시키는 구조를 취한다.
  3. 지형 추종(Terrain Follow) 비행과의 독립성:
    AMSL은 지오이드라는 추상적인 중력면 기준일뿐, 실제 지표(Ground Level)를 담보하지 못한다. 고정밀 DEM(Digital Elevation Model)이 필요한 지형 추종 비행 시나리오에서 이 EGM96 룩업 보정만으로는 지면 충돌 회피를 완벽하게 보장할 수 없으므로, LiDAR와 같은 물리적 광학 거리 센서의 증강이 필수적으로 동반되어야 한다.