# 구축 사례: 드론(UAV) 측위

드론(UAV, Unmanned Aerial Vehicle)은 GNSS 측위를 통해 지상국과의 통신 없이도 자율적으로 위치를 파악하고 이동 경로를 계획할 수 있다. 이러한 운용을 위해서는 GNSS 수신기, 안테나, 보정신호 수신 장치(RTK, PPP 등), 내부 IMU(Inertial Measurement Unit) 등 다양한 요소들이 정밀하게 조합되어야 한다. 특히 드론의 경우 크기와 무게 제한이 존재하므로, GNSS 장비 선정 시 전력 소모와 부피, 기능적 성능을 모두 고려해야 한다.

#### 드론에서 요구되는 GNSS 측위 성능

* **위치 정확도**: 높은 정확도(수 cm\~수십 cm)가 필요한 업무(지도 제작, 항공 촬영 등)에서는 RTK나 PPP 기술이 필수적이다.
* **측위 안정성**: 드론은 고속으로 움직이므로, 신호 끊김이나 위성 가림(遮蔽)에 의한 오차 발생을 최소화해야 한다.
* **경량화 및 저소비전력**: 소형 드론일수록 배터리 용량이 제한적이므로, 소모 전력이 낮고 경량화된 GNSS 모듈이 선호된다.
* **다중위성시스템 호환성**: GPS, GLONASS, Galileo, BeiDou 등을 모두 수신하여 가시 위성 수와 기하구조를 개선한다.

#### GNSS 신호 수신 및 안테나 배치

드론의 GNSS 수신 안테나는 기체 상부 또는 간섭이 적은 위치에 배치되며, 다음과 같은 요소들을 종합 고려한다.

* **위성 가시성**: 프로펠러나 본체 등에 의한 신호 가림을 방지하기 위해 시야가 트인 위치를 선정한다.
* **진동·충격 영향**: 이착륙 과정에서 발생하는 진동으로 안테나가 흔들리면 신호 추적 안정성에 문제가 발생할 수 있다.
* **멀티패스 억제**: 기체 표면이나 지면으로부터 반사된 신호가 수신 안테나에 중첩되지 않도록 하기 위해 적절한 재질, 방해요소 차폐 등을 적용한다.

#### GNSS 측정 모델

드론에서 측정되는 GNSS 위성별 관측값은 일반적으로 다음과 같이 수학적으로 표현된다. 예를 들어 각 위성에 대한 가시선(LOS, Line Of Sight) 단방향 pseudorange 측정 식은 다음과 같다.

$$
\rho\_i = |\mathbf{p}*r - \mathbf{p}*{s\_i}| + c (\delta t\_r - \delta t\_{s\_i}) + \epsilon\_i
$$

* $\rho\_i$ : $i$번째 위성에 대한 측정된 pseudorange
* $\mathbf{p}\_r$ : 드론(수신기)의 3차원 위치 벡터
* $\mathbf{p}\_{s\_i}$ : $i$번째 위성의 3차원 위치 벡터
* $c$ : 빛의 속도
* $\delta t\_r$ : 수신기의 시계 오차
* $\delta t\_{s\_i}$ : $i$번째 위성의 시계 오차
* $\epsilon\_i$ : 잡음 및 기타 잔여 오차(전리층, 대류권, 멀티패스 등)

일반적으로 이 측정식을 여러 위성에 대해 동시적으로 풀어야 하며, 이를 통해 드론의 위치와 시계 오차 등을 추정한다.

#### 이동체 환경에서 GNSS 오차 요소

드론처럼 고속 이동체에서는 다음과 같은 오차 요소들이 보다 복합적으로 작용한다.

* **도플러 효과**: 드론이 위성을 향해 움직이거나 반대 방향으로 움직이면, 수신 주파수의 도플러 편이가 측정된 주파수에 영향을 미친다. 반송파 추적 과정에서 이 도플러 효과를 반영해야 한다.
* **가속도 변화**: 드론의 급격한 가속·감속으로 인해 GNSS 추적 루프(Tracking Loop)가 불안정해질 수 있으므로, 루프 필터 설계가 중요하다.
* **안테나 자세 변화**: 기체 기울어짐 등에 의해 위성 신호 수신 세기가 달라질 수 있다. 드론이 기울어지면 지향성 안테나의 이득 패턴이 변화하기 때문이다.

#### IMU와의 통합 항법

GNSS 수신 정보만으로는 순간 신호 끊김 등에 대응하기 어려우므로, 드론에는 일반적으로 IMU가 탑재되어 GNSS-INS 융합 항법이 적용된다. 여기서 드론의 상태벡터 $\mathbf{x}$는 다음과 같이 정의될 수 있다.

$$
\mathbf{x} =  \begin{bmatrix} \mathbf{p}\_r \ \mathbf{v}\_r \ \mathbf{\phi}\_r \ \mathbf{b}\_g \ \mathbf{b}\_a \ \cdots \end{bmatrix}
$$

* $\mathbf{p}\_r$: 드론의 위치(position)
* $\mathbf{v}\_r$: 드론의 속도(velocity)
* $\mathbf{\phi}\_r$: 드론의 자세(roll, pitch, yaw 각도 등을 포함)
* $\mathbf{b}\_g$, $\mathbf{b}\_a$: 자이로 및 가속도계 바이어스(bias)

INS로부터 예측(prediction)된 상태값을 GNSS 측정으로 보정(update)하는 과정을 실시간으로 수행하여, 드론의 위치와 자세를 안정적으로 추정한다.

#### RTK 방식 활용 시 고려 사항

정밀도가 필요한 항공측량, 3D 모델링 등에서는 RTK(Real Time Kinematic) 기법이 널리 활용된다. 이를 위해서는:

* **기준국 설치**: 교정신호를 제공할 고정국(Reference Station)을 지면에 설치하거나, 인근의 기존 네트워크 RTK 서비스를 사용한다.
* **통신 환경**: 기준국에서 제공되는 보정 데이터를 드론으로 실시간 전송해야 하므로, 긴밀한 무선 통신 환경이 필요하다.
* **추가 하드웨어**: RTK 모듈이 내장된 GNSS 수신기가 필요하며, 위상 측정 정밀도를 높이기 위해 고성능 안테나와 저잡음 증폭기(LNA)가 요구되기도 한다.

{% @mermaid/diagram content="flowchart TB
A\["GNSS + INS 데이터 수집"] --> B\["RTK/PPP 보정 적용"]
B\["RTK/PPP 보정 적용"] --> C\["드론 위치/자세 추정"]
C\["드론 위치/자세 추정"] --> D\["실시간 제어/경로 계획"]" %}

#### PPP(Precise Point Positioning) 방식 활용 시 고려 사항

드론 운용 시 PPP 방식을 적용하면 별도의 기준국(Reference Station)을 직접 구축하지 않고도, 정밀 궤도·시계 보정치를 활용하여 센티미터\~데시미터 급 정확도를 확보할 수 있다. 다만, 다음과 같은 특성을 고려해야 한다.

* **초기 수렴 시간**: PPP 방식은 정밀한 위성 궤도와 시계 보정값을 받아 위상 측정을 통해 오차를 줄이는 기법이므로, 초기 수렴에 수분 이상이 소요될 수 있다. 드론 운용 시 이 수렴 시간 동안 정확도가 떨어질 수 있으므로, 임무 계획 단계에서 대기 시간이나 임무 패턴을 설계할 필요가 있다.
* **통신 환경**: PPP 보정 정보를 주기적으로 수신하거나, Post-processing 방식으로 임무 완료 후 데이터를 처리해야 한다. 실시간 정밀도를 확보하려면, 준실시간(near real-time) 또는 실시간(Real-Time) PPP 데이터 서비스를 활용한다.
* **관성항법과의 조합**: PPP에서 초기 수렴 시간을 단축하거나 신호 가림 시 정확도를 유지하기 위해, INS(관성항법장치)와의 융합 운용이 필수적이다.
* **반송파 위상 측정**: PPP는 반송파 위상을 활용하므로, 위상 사이클 슬립(cycle slip)을 정확히 감지하고 보정해야 한다. 드론이 급격한 회전·가속 시 이러한 슬립이 발생하기 쉽다.

드론에 PPP 방식을 적용했을 때의 측정 방정식을 간단히 나타내면 다음과 같다.

$$
\rho\_i^{\text{PPP}} = |\mathbf{p}*r - \mathbf{p}*{s\_i}| + c (\delta t\_r - \delta t\_{s\_i}^\text{precise}) + I\_i - T\_i + \lambda N\_i + \epsilon\_i
$$

* $\delta t\_{s\_i}^\text{precise}$ : 정밀 위성 시계 오차
* $I\_i$ : 전리층 지연(ionospheric delay)
* $T\_i$ : 대류권 지연(tropospheric delay)
* $\lambda$ : 반송파 파장
* $N\_i$ : 반송파 정수치(ambiguous integer)

PPP 알고리즘에서는 정밀 위성 궤도, 시계, 전리층 모델 등이 추가로 고려되어야 하므로, 구현 난이도가 RTK 대비 높고 계산 비용도 증가할 수 있다.

#### DGNSS(differential GNSS) 활용

드론 운용에서 PPP와 RTK 외에도, 단순한 DGPS 또는 DGNSS 방식으로도 오차를 수 m 단위에서 수십 cm 단위까지 낮출 수 있다. 이 기법은 기준국 한 곳에서만 측정한 범위 오차를 동일하게 보정한다는 가정에 기반하며, 다음과 같은 장단점을 갖는다.

* 장점:
  * 기준국 한 기지국만 있으면 되므로 RTK 대비 시스템 구성이 단순하다.
  * PPP처럼 정밀 궤도·시계 보정 필요가 없으므로, 운용 과정이 비교적 용이하다.
* 단점:
  * 기준국 근처(통상 수십 km 이내)에서만 유효한 보정 정확도를 기대할 수 있다.
  * 반송파 위상을 활용하는 RTK만큼의 정밀도(수 cm급)를 얻기 어렵다.

#### 정확도 향상을 위한 RAIM 적용

드론 GNSS 측위에서 RAIM(Receiver Autonomous Integrity Monitoring)을 적용하면, 고장 위성 또는 품질 저하 위성을 자동으로 검출하고 배제할 수 있다. RAIM 알고리즘은 일반적으로 다음과 같이 오차 검출 시험량(Test Statistic)을 정의한다.

$$
T = |\mathbf{v}|^2 = (\mathbf{y} - \mathbf{H}\hat{\mathbf{x}})^T (\mathbf{y} - \mathbf{H}\hat{\mathbf{x}})
$$

* $\mathbf{y}$: GNSS 측정 벡터 (pseudorange 측정들)
* $\hat{\mathbf{x}}$: 최소자승법(LSQ) 또는 칼만필터에서 추정된 수신기 상태(위치, 시계 오차 등)
* $\mathbf{H}$: 선형화된 측정 행렬
* $\mathbf{v}$: 잔차(residual) 벡터

$T$가 미리 설정된 임계값(threshold)을 초과하면, 하나 이상의 위성 측정에 이상이 있다고 판단하여 해당 위성을 배제하거나 경고를 발생시킨다. 드론과 같이 빠르게 움직이는 플랫폼에서는 RAIM의 검출 속도와 정확도가 매우 중요하다.

#### 사이클 슬립(cycle slip) 검출·보정

반송파 위상을 기반으로 한 정밀 측위(예: RTK, PPP)에서는 사이클 슬립(cycle slip) 문제를 적절히 다룰 필요가 있다.

* **발생 원인**: 급격한 자세 변화, 신호 차단, 세기의 급감 등으로 인해 반송파 위상의 연속성이 깨지는 현상
* 검출 방식:
  * 위상과 코드를 비교하는 방법
  * 연속 관측 세션에서 위상 차를 비교하는 방법
  * IMU와의 관성 관측량 비교
* 보정 방식:
  * 사이클 슬립이 일어난 구간을 재초기화
  * 슬립의 크기(정수치 변화량)를 추정하여 반영

드론은 통상 GPS 뿐 아니라 GLONASS, Galileo, BeiDou 등 다중 위성시스템을 활용하므로, 사이클 슬립 검출·보정 알고리즘이 더욱 복잡해진다.

{% @mermaid/diagram content="flowchart LR
A\["수신기에서 반송파 위상 추적"] --> B{"사이클 슬립 발생 여부\n검출 알고리즘 적용"}
B -- "검출 O" --> C\["슬립 보정 및\n위상 재초기화"]
B -- "검출 X" --> D\["연속 추적 유지"]" %}

#### GNSS-INS 융합 필터 설계

드론과 같이 빠른 동체 이동, 회전, 가속 등이 발생하는 환경에서는 단순한 GNSS 단독 측위만으로는 안정적인 추정이 어려우므로, 일반적으로 INS(관성항법장치)를 함께 사용한다. 이때 융합 필터(예: 확장 칼만필터, EKF)를 적용하면, INS에서 예측(Prediction)한 상태를 GNSS 측정으로 갱신(Update)함으로써 정확하고 연속적인 항법 해를 얻을 수 있다.

* **시스템 모델(System Model)**

  * INS 측정에 기반한 상태 예측식은 일반적으로 비선형 동역학 방정식을 포함한다.
  * 예를 들어, 드론의 상태벡터를 $\mathbf{x}$라 할 때,

  $$
  \mathbf{x}\_{k+1} = f(\mathbf{x}\_k, \mathbf{u}\_k, \mathbf{w}\_k)
  $$

  로 나타낼 수 있다. 여기서 $\mathbf{u}\_k$는 INS가 측정한 가속도·각속도(gyro, accelerometer) 값이며, $\mathbf{w}\_k$는 시스템 모델의 잡음 벡터다.
* **측정 모델(Measurement Model)**

  * GNSS에서 수신한 pseudorange(또는 위상) 측정을 통해 수신기 위치·시계오차를 보정한다.
  * 예를 들어, 드론의 위치 $\mathbf{p}*r$와 위성 위치 $\mathbf{p}*{s\_i}$에 대해,

  $$
  z\_{i,k} = |\mathbf{p}*r - \mathbf{p}*{s\_i}| + c(\delta t\_r - \delta t\_{s\_i}) + \eta\_{i,k}
  $$

  와 같은 식으로 측정 모델이 정의되며, $\eta\_{i,k}$는 측정 잡음이다.
* **확장 칼만필터(EKF) 적용**
  * 상태 및 측정 방정식이 비선형이므로, 일차 테일러 전개를 통해 선형화한 후 필터를 구현한다.
  * 예측 단계(Predict)에서 INS로부터 상태를 예측하고, 공분산을 갱신한다.
  * 갱신 단계(Update)에서 GNSS 관측치를 반영하여 상태 오차를 줄인다.

#### 드론 운용 환경에서 전파 간섭(RFI, EMI) 고려

드론은 통상 전자파 간섭(Radio Frequency Interference, RFI)과 전자기 간섭(Electromagnetic Interference, EMI)에 노출될 수 있으며, 특히 GNSS 신호는 매우 약한 전력을 수신하므로 간섭에 취약하다.

* **자체 발생 간섭**:
  * 드론 내 ESC(Electronic Speed Controller), 모터 드라이버, 통신 모듈 등에서 강한 전자파가 발생할 수 있어, GNSS 안테나로 유입되는 경우 신호 대 잡음비(SNR)가 크게 저하될 위험이 있다.
  * 내부 PCB 레이아웃, 쉴딩(Shielding) 설계 등을 통해 간섭을 최소화한다.
* **외부 발생 간섭**:
  * 지상국 레이더, 다른 통신기기, 심지어 의도적·비의도적 재밍(jamming) 신호가 GNSS 대역을 방해할 수 있다.
  * 주파수 도약(Spread Spectrum) 기법, 협대역·광대역 간섭 검출 알고리즘, 안테나 빔포밍(Beamforming) 등으로 간섭을 완화할 수 있다.
* **안테나 선택**:
  * GNSS 신호 전용 대역필터(LNA 및 Band-pass filter)와 방사 패턴 특성이 우수한 안테나(예: 헬릭스, 패치 안테나)를 사용하여 간섭을 줄인다.
  * 드론의 여유 중량과 크기에 맞춰, 성능과 무게 간 균형을 찾는다.

#### 열 환경과 온도 보상

드론은 공중에서 다양한 온도 조건에 노출될 수 있다. 고고도, 저온 환경, 또는 고온의 직사광선 아래서 센서가 오작동할 위험이 있으므로, 다음을 고려한다.

* **온도 보상 회로**: GNSS 모듈, IMU 센서 등은 온도 변화에 따른 이득(Amplifier gain)이나 오프셋(Offset)이 달라질 수 있으므로, 온도 보상(TC, Temperature Compensation) 회로를 적용한다.
* **센서 캘리브레이션**: IMU 센서(자이로, 가속도계)는 온도에 따라 바이어스가 변하므로, 드론의 운용 온도 범위에서 미리 캘리브레이션 데이터를 측정하고 필터에 반영한다.
* **기체 열관리**: 내부 전자장치가 발열하는 경우, 방열판이나 환기 구조(duct)를 통해 내부 온도 상승을 억제하고 센서 오차 증가를 방지한다.

#### 안테나 배치와 기체 구조의 상호 영향

드론의 기체 설계 시 GNSS 안테나가 차지하는 부피와 무게는 매우 제한적이다. 이로 인해 다음과 같은 문제가 생길 수 있다.

* **프로펠러 유발 난류**: 프로펠러가 회전하면서 형성하는 에어로졸(Aerosol)이나 구조적 진동이 GNSS 안테나를 물리적으로 흔들거나, 전파 수신 환경에 영향을 줄 수 있다.
* 지향성 안테나 vs. 무지향성 안테나:
  * 지향성 안테나는 특정 방위각(azimuth)·고각(elevation) 범위에서 이득이 크지만, 드론이 회전하면 이득 패턴이 바뀌어 신호 추적에 영향을 줄 수 있다.
  * 무지향성 안테나는 모든 방향에서 일정 이득을 제공하지만, 절대 이득이 낮을 수 있어 선택 시 주의가 필요하다.
* 에러 소스 분리:
  * GNSS와 통신 모듈(5.8 GHz, 2.4 GHz 등)이 서로 간섭을 일으킬 수 있으므로, 가능한 안테나 간격을 넓히고 중간에 차폐 재질을 배치하여 상호 간섭을 줄인다.

{% @mermaid/diagram content="flowchart LR
subgraph 드론 기체
A1\["GNSS 안테나"] --> A2\["통신 안테나"]
A2\["통신 안테나"] --> A3\["배터리/전원부"]
A3\["배터리/전원부"] --> A4\["IMU 모듈"]
end" %}

#### GNSS 수신기 유지·보수 및 펌웨어 관리

드론에 장착된 GNSS 수신기는 장비 성능과 안정성 유지를 위해 정기적인 점검과 펌웨어 관리를 수행해야 한다.

* 펌웨어 업데이트
  * 제조사에서 제공하는 최신 펌웨어는 GNSS 알고리즘, 멀티위성 지원, SBAS 업데이트 등 향상된 기능을 포함할 수 있다.
  * 업데이트 시 호환성 문제가 없는지(드론 비행 제어 소프트웨어와의 연동 등) 점검하고, 비행 테스트를 통해 안정성을 재확인한다.
* 정기 점검
  * GNSS 안테나 케이블, 커넥터(Connectors), 배선 상태 등을 확인하고, 물리적 마모나 부식이 발생했는지 살핀다.
  * 장시간 보관 후 재사용 전에는 내부 습기나 먼지 제거, 안테나 표면 청소 등을 수행하여 신호 수신 특성을 복원한다.
* 배터리 수명 관리
  * 드론 전력 공급이 불안정하면 GNSS 모듈이 재부팅될 수 있고, 위성 재획득 시간이 증가하여 임무 중 측위 정확도가 떨어진다.
  * 임무 전후로 배터리 전압 상태, 충전·방전 사이클 횟수 등을 모니터링하며, 소모품 교체 주기를 관리한다.

#### 다중 주파수 수신기(L1, L2, L5 등) 적용 사례

최근 드론에서는 GPS L1뿐 아니라 L2, L5 대역까지 지원하는 다중 주파수 수신기가 확대되는 추세다. 이는 불필요한 전리층 오차를 제거하거나(이중 주파수 측정), 측위 성능을 개선하는 데 유리하다.

* 이점
  * 전리층 지연 보정을 위한 이중 주파수 측정 가능 → RTK·PPP 정밀도가 향상
  * 고급 신호(L5 등)는 신호 구조가 향상되어 고층 빌딩 반사 등 멀티패스 영향이 줄어든다.
* 주의사항
  * 멀티 밴드 안테나는 단일 대역 안테나보다 크기가 커지고 무게가 증가하기 쉬우므로, 드론에 적합하도록 경량화·소형화된 모델을 선택해야 한다.
  * 하드웨어 비용이 높고, 전력 소비량도 증가할 수 있으므로 임무 예산·중량 한계를 고려한다.

#### 대형 드론 vs. 소형 드론 GNSS 장비 구성 차이

* 대형 드론(Industrial/Commercial Grade)
  * 기체 규모가 크므로 GNSS 안테나와 통신 안테나를 물리적으로 분리·배치하기 용이하다.
  * 페이로드(Payload) 용량이 넉넉하므로, RTK 전용 모듈, 고정밀 IMU, 다중 안테나 구성 등 정밀·복잡한 장비를 탑재할 수 있다.
  * 배터리 용량이 상대적으로 크므로 GNSS 모듈 소비전력이 다소 높아도 문제되지 않는 편이다.
* 소형 드론(Consumer/Hobby Grade)
  * 무게 및 부피 제약이 크므로 안테나·수신기 일체형 제품을 사용하는 경우가 많다.
  * 배터리 용량이 제한적이므로 저전력 모드가 지원되는 GNSS 칩셋을 선호한다.
  * 중저가형 단일 주파수 GPS/GLONASS 모듈만으로도 임무를 수행하되, 멀티센서(Visual SLAM 등)로 부족한 오차를 보충하는 사례가 많다.

#### 드론 비행 제어와 GNSS 고장 대처 방안

GNSS 신호가 예기치 못하게 끊기거나 오차가 과도하게 증가하는 상황을 대비해, 드론에는 다양한 Failsafe 로직이 마련된다.

* GNSS 신호 품질 모니터링
  * SNR(Signal-to-Noise Ratio), 위성 수, DOP( Dilution of Precision ) 등을 실시간으로 확인한다.
  * 임계값 이하로 떨어지면 곧바로 INS만으로 항법을 유지하거나, 지면 착륙 모드로 전환한다.
* 보조 센서 의존
  * 컴퍼스(전자 나침반)와 기압계, 비전 센서 등을 통해 임시로 자세 및 고도를 유지한다.
  * 내부 맵 데이터 혹은 사전에 설정한 안전 착륙 지점으로 복귀하도록 설정한다.
* 조종자 개입
  * 특정 임무(산악 조사, 건물 외벽 점검 등)에서 GNSS 음영 지역이 예상되면, 해당 구간은 수동 조종(Manual)이나 지상 유도(지면 유도 표식 등)를 활용하도록 설계한다.

#### 드론 GNSS 데이터 기록 및 후처리

* 로그 기록
  * 임무 도중 수집된 GNSS 원시 관측값(RINEX 포맷 등)을 저장해 두면, 사후(Post-processing)로 정확한 궤적(trajectory)을 재구성할 수 있다.
  * IMU 원시 값, 드론의 내장 파라미터(roll, pitch, yaw 등)도 동시에 기록하여 정밀 궤적 재현에 활용한다.
* 후처리 기법
  * PPK(Post Processed Kinematic) 기법을 적용하면, 고정된 기준국 데이터와 드론 로그 데이터를 오프라인으로 결합해 cm 단위 해를 얻을 수 있다.
  * PPP 후처리 역시 가능하며, 정밀 궤도·시계 파일(IGS 등)을 활용해 임무 완료 후 고정밀 궤적을 산출한다.
* 데이터 관리
  * 항공사진, LiDAR 점군 등과 GNSS 궤적 데이터를 연계하여 지도 제작 및 3D 모델링에 활용한다.
  * 작업 후 로그 파일 무결성을 보증하기 위해, 백업·보안 정책을 마련한다.

{% @mermaid/diagram content="flowchart LR
A\["드론 원시 GNSS/IMU 데이터 로그(RINEX 등)"] --> B\["기준국(Reference Station) 데이터"]
B\["기준국(Reference Station) 데이터"] --> C\["오프라인 후처리\n(PPK / PPP)"]
A\["드론 원시 GNSS/IMU 데이터 로그(RINEX 등)"] --> C\["오프라인 후처리\n(PPK / PPP)"]
C\["오프라인 후처리\n(PPK / PPP)"] --> D\["정밀 궤적/자세 복원"]" %}
