## 0.1 무인항공기 상태 추정(State Estimation)에서 로컬 센서의 역할과 한계
상태 추정(State Estimation) 알고리즘(PX4의 EKF2 모델)은 드론이 현재 3차원 공간상의 어디에 있고(P_x, P_y, P_z), 어느 방향으로 얼마나 빨리 이동하고 있으며(V_x, V_y, V_z), 어떤 자세로 기울어져 있는지(Roll, Pitch, Yaw)를 각인하는 두뇌의 중추다. 이 거대한 행렬 추정식 내부에서 거리 측정기와 옵티컬 플로우 같은 ‘로컬 센서(Local Sensor)’ 연동망은 치명적이면서도 섬세한 역할을 수행한다.
로컬 센서의 역할: 민첩성과 고정밀 상대 변위 추정
로컬 센서 연동의 가장 큰 존재 가치는 ’지면 효과(Ground Effect)’나 돌풍에 의해 발생하는 미세하고 급격한 동적 변화(High Dynamic Change)의 포착이다.
- 옵티컬 플로우 카메라 센서는 지면의 픽셀 패턴 이동량을 나노초(ns) 급으로 적분하여 바닥 대비 수평 속도(V_x, V_y)를 알아낸다.
- 하방을 향한 LiDAR나 Sonar는 수밀리미터(mm) 해상도로 실시간 AGL(지면 지상고, Above Ground Level) 거리를 쏴 올린다.
이 두 센서가 합쳐질 때(옵티컬 플로우의 각도 변위를 LiDAR의 고도 데이터로 tan(\theta) 변환), 제어기는 GPS가 줄 수 없는 수 센티미터 급의 고주파수(High Frequency) 변위 데이터를 확보하게 되고, 이는 짐벌(Gimbal) 흔들림 없는 완벽한 실내 제자리 비행(Indoor Loiter)을 가능케 한다.
로컬 센서의 물리적 한계: 누적 오차(Drift)와 환경 종속성
하지만 로컬 센서는 본능적으로 치명적인 2대 결함을 내재하고 있다. 상태 추정 설계자는 이 한계를 우회하기 위한 아키텍처를 짜야만 한다.
- 적분 누적 오차 (Drift over time):
옵티컬 플로우는 절대적인 위경도 좌표를 알려주지 않는다. 오직 전역 프레임 대비 dt 초 동안의 cm 단위 이동 거리 파편만을 쉴 새 없이 뱉어낼 뿐이다. 이를 누적(Integral)하여 현재 위치를 산출하는 추측 항법(Dead Reckoning)을 사용하게 되므로, 필연적으로 조명 노이즈나 렌즈 왜곡이 쌓여 수십 초 후에는 절대 좌표가 엉뚱한 곳으로 밀려버리는 드리프트(Drift) 현상이 발생한다. 즉, 독립적으로는 장시간 비행의 뼈대가 될 수 없다. - 가혹한 환경 종속성 (Illumination & Texture Target Dependency):
로컬 방사선/음파/광선을 발사하고 반사파를 수신하는 원리이기 때문에 바닥 재질에 전적으로 지배당한다.
- Optical Flow: 조도가 어둡거나(야간 비행), 매끈한 대리석 바닥, 단색의 눈밭이나 아스팔트 등 특징점(Feature/Texture) 추출이 불가능한 표면에서는 프레임 매칭률이 0\%로 떨어져 통계를 박살 낸다.
- LiDAR: 강한 적외선 태양광이나 짙은 안개, 혹은 유리를 만나면 광자가 흡수되거나 흩어져 거리를 0으로 읽어버린다(Zero-distance Drop-out).
- Sonar: 소리 흡수율이 높은 잔디밭 위에서는 초음파 펄스가 되돌아오지 못하는 신호 상실(Acoustic Absorption)을 겪는다.
결과적으로, PX4의 EKF2는 결코 이 로컬 센서들의 관측치를 무오류의 신진 진리(Ground Truth)로 맹신하지 않는다. 반드시 이 센서들의 품질 지표(Quality Factor) 임계값을 실시간 검출하여, 악화되는 순간 가중치 행렬(Covariance Matrix)에서 국소 센서 스위치를 차단해 버리는 정교한 생존 로직을 구현하게 된다.