연동 시 오차 분석과 보정 요소
오차의 분류
GNSS와 기타 센서(예: 관성측정장치(IMU), 지상기반 보조시스템 등)를 연동할 때, 시스템 간 상호작용 과정에서 다양한 오차가 복합적으로 발생한다. 일반적으로 이 오차는 다음과 같이 분류할 수 있다.
측정 장비(센서) 자체에 기인하는 오차
GNSS 위성 궤도 및 시계 오차
IMU의 바이어스(bias), 스케일 팩터(scale factor) 오차 등
기타 센서(가속도계, 자이로, 바퀴 회전 센서 등) 특유의 랜덤 노이즈
환경 및 전파 경로에 기인하는 오차
전리층(Ionosphere) 편차
대류권(Troposphere) 편차
멀티패스(Multipath)
전파 세기 감소, 전파 장애
연동 알고리즘(퓨전 알고리즘) 내부에서 발생하는 오차
모델링 부정확성
수치적 불안정성
필터 파라미터 추정 오류
이런 오차들이 중첩되어 나타나므로, GNSS 단일 사용 시와 달리 복합 센서 연동 환경에서는 오차를 세분화하여 분석하고, 각 항목에 대응하는 보정을 수행해야 한다.
연동 시 GNSS 측정 오차 모델
GNSS 수신기에서 얻어지는 pseudorange 측정 방정식을 간단하게 표현하면 다음과 같다.
여기서
$\mathbf{x}$는 상태변수 벡터(예: 위치, 속도, 시계 바이어스 등)
$\mathbf{z}$는 측정 벡터(예: GNSS 위성별 관측된 거리 측정치)
$\mathbf{h}(\cdot)$는 비선형 측정 모델(예: 위성 궤도 정보, 사용 중인 좌표계 변환을 포함)
$\boldsymbol{\eta}$는 측정 노이즈 벡터
구체적으로 GNSS Pseudorange 모델을 인라인으로 쓰면, 위성 $i$에 대해
와 같이 표현될 수 있다. 여기서
$\mathbf{r}_i$는 위성 $i$의 위치 벡터
$\mathbf{r}_u$는 수신기(사용자)의 위치 벡터
$c$는 빛의 속도
$\delta t_u$는 수신기 시계 오차
$\epsilon_i$는 잔여 오차 항(대기 오차, 멀티패스, 측정 노이즈 등)
멀티 GNSS 위성을 고려한다면, 위 식이 여러 위성에 대해 확장되어 측정 벡터 $\mathbf{z}$와 상태 벡터 $\mathbf{x}$ 간의 관계식으로 정리된다.
기본적인 오차 모델링과 보정 요소
GNSS 기반 시스템에서 가장 많이 고려하는 오차 모델링 대상은 다음과 같다.
위성 궤도 오차 위성의 궤도력학에 기반한 오차로, 정밀 궤도 정보가 제공되지 않거나 예측 궤도 사용 시 발생한다. 정교한 궤도 보정 파라미터가 필요하다.
수신기 시계(offset, drift) 오차 GNSS 시계와 수신기 내부 시계가 완전히 동일하게 유지되지 못해 발생한다. 상태변수에 시계 바이어스 및 드리프트 항을 추가해 추정 및 보정한다.
전리층 및 대류권 지연(Ionospheric/Tropospheric delay) 신호 전파 경로가 대기 중을 지날 때 굴절, 지연이 발생하여 측정치에 영향을 준다. 모델 기반 보정, 추가 주파수 관측(이중 주파수 측정) 등을 통해 줄일 수 있다.
멀티패스(Multipath) 신호가 사용자의 주변 구조물 등에 반사되어 들어오는 경로가 생기는 현상이다. 안테나 설계, 도플러 차 등을 이용한 신호 추적 알고리즘으로 완화 가능하다.
기타 랜덤 노이즈 측정과정에서 발생하는 가우시안 잡음 등이다. 시스템 설계 시 충분히 고려해야 한다.
이런 각종 오차 요소를 종합적으로 고려하기 위해, 센서 퓨전 알고리즘(예: KF, EKF, UKF 등)에서 노이즈 공분산 행렬을 적절히 구성해 모델링한다. 예를 들어, 시간에 따라 변하는 시스템 노이즈와 측정 노이즈를 각각
로 두고 추정기(필터)가 단계별로 추정값을 갱신하도록 설계한다.
센서 융합 구조 예시 (Mermaid 활용)
위 그림처럼, GNSS에서 들어오는 측정치와 IMU 측정치를 융합하기 위해 KF나 EKF 구조를 사용한다. 이때 오차 요인을 각각 세분화하여 모델 내에 반영해야 하고, 타이밍 동기화(timing synchronization) 과정에서 별도의 보정 단계가 추가로 필요하다.
IMU 오차 요소와 보정
GNSS와 IMU를 연동할 때, IMU(Inertial Measurement Unit)는 관성 센서(가속도계, 자이로스코프)로부터 6자유도(3축 가속도, 3축 각속도) 데이터를 제공한다. 하지만 IMU 측정에는 여러 유형의 오차가 포함된다.
바이어스(bias) 오차
가속도계나 자이로스코프가 영 입력 상태(정지 또는 회전 없음)임에도 측정 출력이 0이 되지 않는 항이다.
일반적으로 시간에 따라 천천히 변하거나, 일정한 잔류값(residual) 형태로 나타난다.
스케일 팩터(scale factor) 오차
실제 입력 대비 측정 출력의 비율에 발생하는 오차다.
기울어진 축이나 센서 제조 공정상의 편차 등으로 인해 측정치가 일정 비율로 과대 혹은 과소 측정된다.
축간 정렬 불량(misalignment) 오차
센서 축이 이론적으로 정의된 좌표축과 약간씩 어긋나 측정치에 교차 결합(cross-coupling)이 생기는 현상이다.
소형 IMU일수록 센서 간 물리적 정렬이 정확하지 않아 오차가 크다.
무작위 보행(random walk), 화이트 노이즈(white noise)
측정치에 포함된 확률적 오차 요소로, 일시적(instantaneous) 노이즈부터 장기간 누적되는 랜덤 보행 형태의 노이즈까지 존재한다.
필터 설계 시 장기간 추정치 편향(bias)을 유발할 수 있으므로 주의해야 한다.
이러한 오차 요소는 아래와 같은 간단한 IMU 측정 모델로 표현할 수 있다. 예를 들어, 3축 가속도계 출력 $\mathbf{a}_m$은 실제 가속도 $\mathbf{a}$, 스케일 팩터 및 축간 정렬 오차 매트릭스 $\mathbf{M}$, 바이어스 $\mathbf{b}_a$, 화이트 노이즈 $\mathbf{\eta}_a$ 등을 포함해
로 나타낼 수 있다. 여기서
$\mathbf{M}$은 $3 \times 3$ 차원의 행렬로, 축간 정렬 오차와 스케일 팩터가 반영됨
$\mathbf{b}_a$는 가속도계 바이어스 벡터
$\mathbf{\eta}_a$는 가우시안 특성을 가정하는 화이트 노이즈 벡터
마찬가지로 자이로스코프 측정 $\mathbf{\omega}_m$에 대해서도
와 같이 표현할 수 있으며, $\mathbf{b}_g$, $\mathbf{\eta}_g$는 자이로스코프 바이어스 및 노이즈를 나타낸다.
IMU 오차가 누적되면, 단독 관성항법(inertial navigation) 시 위치 오차가 시간에 따라 기하급수적으로 증가한다. 따라서 GNSS 정보와 결합해 오차를 정기적으로 보정해야 하며, 필터 단계에서는 바이어스를 추정 변수로 포함시키는 전략이 일반적이다.
센서 융합 시 오차 전파 해석
GNSS 측정 노이즈 및 IMU 노이즈가 센서 융합(예: EKF) 과정에서 상태추정에 어떻게 반영되는지 이해하려면, 연속/이산 시스템 모델에서 오차 상태 방정식을 유도해볼 수 있다. 간단한 예시로, 상태 벡터가
(위치 $\mathbf{p}$, 속도 $\mathbf{v}$, 가속도계 바이어스 $\mathbf{b}_a$, 자이로스코프 바이어스 $\mathbf{b}_g$)로 구성된다고 하자. 연속 모델에서 다음과 같은 오차 상태 방정식을 정의할 수 있다.
여기서
$\mathbf{\delta x}$는 실제 상태 $\mathbf{x}$와 추정 상태 $\hat{\mathbf{x}}$ 간의 차이를 나타내는 오차 상태
$\mathbf{F}$는 상태 전이 행렬(시스템 행렬)
$\mathbf{G}$는 시스템 노이즈 입력 행렬
$\mathbf{w}$는 시스템 노이즈 벡터(가속도계 화이트 노이즈, 자이로 화이트 노이즈, 바이어스 랜덤 워크 등)
GNSS가 측정 업데이트 단계에서 위치, 속도, 시계 오차 등에 대한 관측치를 제공하면, 필터(예: EKF, UKF)는 이를 이용해 위 오차 상태를 보정한다. 이때 측정 모델은
형태로 선형화 또는 적절한 비선형 측정 함수를 통해 구성된다. 여기서
$\mathbf{H}$는 측정 행렬(또는 측정 모델의 선형화 Jacobian)
$\boldsymbol{\eta}$는 측정 노이즈 벡터
센서 융합 시 오차가 어떻게 전파되는지 분석하려면, $\mathbf{F}$, $\mathbf{G}$, $\mathbf{H}$ 행렬을 구체적으로 유도하고 고유값(eigenvalue) 혹은 전파 성능(컨트롤러블, 관측가능도) 등을 확인해야 한다.
타이밍 동기화(Timing Synchronization)
GNSS 수신기와 IMU는 일반적으로 다른 샘플링 속도(주파수)와 내부 시계를 갖는다. 특히
GNSS는 1~10 Hz 정도의 저속 업데이트율
IMU는 50~200 Hz 이상의 고속 샘플링
이처럼 주파수가 크게 다르므로, 두 센서가 동시에 측정한 데이터가 물리적으로 동일 시점에 대한 관측값인지 여부를 판단하기 위한 타이밍 동기화 과정이 필수적이다.
하드웨어 동기화
GNSS의 펄스 신호(1PPS)를 IMU에 입력하여, 물리적으로 동일한 트리거(Trigger) 타이밍에 센서가 데이터를 취득하도록 설계하는 방법.
정확도가 높으나 추가 회로 구성이 필요하다.
소프트웨어 동기화
GNSS 측정치가 들어오는 시각과 IMU 측정치의 타임스탬프를 소프트웨어적으로 매칭.
실시간 보정이나 오프라인 후처리에서 보간(interpolation) 기법 활용.
상대적으로 간단하지만, GNSS 측정 주기 변화나 IMU 내부 지연 등에 대한 세밀한 보정이 필요하다.
동기화가 제대로 이루어지지 않으면, GNSS가 제공하는 측정정보와 IMU 관측이 시간적으로 어긋난 상태로 융합되어 오차가 증가할 수 있다.
레버 암(Lever Arm) 및 보정
GNSS 안테나와 IMU(또는 기타 센서) 간 물리적 설치 위치가 서로 다르면, 두 센서가 측정하는 위치 기준점이 달라진다. 예컨대, 항공기에 GNSS 안테나가 기수(機首)에 부착되고, IMU는 기체 내부 다른 지점에 설치될 수 있다. 이때 두 센서 간 상대 위치를 “레버 암(lever arm)”이라 부르며, 이를 보정해 주지 않으면 오차가 발생할 수 있다.
레버 암 정의
일반적으로, IMU 기준 좌표계에서 GNSS 안테나의 위치(또는 그 반대)를 벡터 $\mathbf{r}_{\text{lever}}$로 정의한다.
보통 기체나 차량의 본체 좌표계(body frame)를 기준으로 하며, 설치 단계에서 측정장비 등을 통해 정확히 계측해야 한다.
보정 필요성
IMU가 측정한 회전, 가속도 정보를 이용해 본체 기준 위치/방위 등을 추정할 때, GNSS의 측정 위치는 IMU와 동일한 지점이 아님을 고려해야 한다.
고속 회전이나 큰 가속이 있는 환경(예: 항공기, 무인기, 차량 급회전 등)에서는 레버 암 효과에 의한 오차가 더욱 두드러진다.
레버 암 적용
센서 융합 알고리즘에서, IMU 관성항법 방정식을 적분할 때 레버 암을 통해 GNSS 좌표계와 본체 좌표계 간의 위치 차이를 동적으로 반영한다.
예를 들어 IMU가 추정한 중심점 위치 $\mathbf{p}{\text{IMU}}$와 GNSS 안테나 위치 $\mathbf{p}{\text{GNSS}}$ 간 관계식을 다음과 같이 쓸 수 있다.
pGNSS=pIMU+Rb2nrlever여기서
$\mathbf{R}_{\text{b2n}}$은 본체 좌표계에서 항법좌표계(또는 지구 좌표계)로 변환하는 회전행렬
$\mathbf{r}_{\text{lever}}$는 IMU 기준에서 GNSS 안테나까지의 고정 벡터
레버 암 오차가 보정되지 않으면, 고속 운동 시 GNSS 측정과 IMU 측정 간의 좌표 불일치가 필연적으로 발생한다.
좌표계 정렬(Alignment) 이슈
GNSS 수신부와 IMU가 서로 다른 좌표계를 기준으로 측정 데이터를 내보낼 때, 이 둘을 융합하기 위해선 동일한 기준(Reference Frame)으로 변환해야 한다.
GNSS는 일반적으로 지구 중심(ECF) 좌표계, 지리학적 좌표계(경위도), 또는 지역 수평좌표계(ENU) 등을 사용한다.
IMU는 센서 본체 좌표계(body frame)를 기준으로 한다.
IMU 초기 정렬(initial alignment) 시, $\mathbf{R}_{\text{b2n}}$ (본체->항법 좌표계 변환행렬)을 추정해야 한다. 지상에서 정적(靜的) 상태로 일정 시간 동안 중력과 지자기(만약 자이로 + 지자기 센서 사용 시)를 측정하거나, GNSS에서 제공하는 속도/방위 정보를 이용해 초기 정렬을 수행한다.
정적 정렬(Static Alignment)
기체(또는 차량)가 정지 상태일 때 IMU 측정치(가속도 $\mathbf{a}_m$, 자이로 $\mathbf{\omega}_m$)를 관측한다.
중력 벡터 방향, 지자기(있다면) 방향 등을 통해 기체의 피치, 롤, 방위각을 결정한다.
동적 정렬(Dynamic Alignment)
기체가 일정한 (또는 예측 가능한) 동작 패턴을 보일 때, GNSS 측정 속도 $\mathbf{v}_{\text{GNSS}}$와 IMU 통합 결과를 비교하여 방위 오차를 추정한다.
항공기의 경우 이륙 전 또는 초기에 정해진 매뉴버(maneuver)로 IMU와 GNSS의 상대적 회전/가속도 관계를 이용한다.
이러한 과정이 부정확하거나, 운용 중 다시 보정할 필요가 있음에도 제대로 하지 않으면, GNSS와 IMU의 데이터가 서로 다른 좌표축 기준으로 혼합되어 오차가 커질 수 있다.
기타 센서(차량 환경) 연동 시 오차 보정
GNSS+IMU 조합 외에도, 실제 차량이나 로봇 등에서는 추가 센서를 활용하여 종합적인 위치/자세 추정을 수행한다. 예컨대, 바퀴 회전속도 센서(odometer), 지자기 센서(magnetometer), 카메라(비전), 라이다(LiDAR) 등도 GNSS와 연동될 수 있다.
Wheel Odometer
바퀴 회전 정보를 통해 주행거리, 회전각 등을 추정한다. 노면 상태나 차량 타이어 마모도에 따라 오차가 달라진다.
GNSS 신호가 끊기는 터널 등에서 관성측정치와 함께 주행거리 기반 추정을 보완한다.
Magnetometer
지자기장을 측정하여 방위각(heading)을 얻을 수 있지만, 도시 지역이나 대형 철 구조물 가까이에서는 지자기 왜곡이 커 오차가 심해질 수 있다.
GNSS/IMU와 융합 시, 자이로 드리프트를 억제할 수 있으나 지자기 교란이 심한 환경에선 보정 알고리즘이 추가로 필요하다.
비전/라이다 센서
외부 환경의 특징점(feature)을 감지해 상대 이동량을 측정(SLAM 등)하거나 절대 위치를 추정할 수 있다.
빛, 날씨, 지형 상황 등 외부 환경 변동에 따라 오차 특성이 크게 달라지므로, GNSS와의 상호 보완적 사용이 중요하다.
각 센서별 오차 특성을 제대로 파악하고, 센서 간 동기화, 좌표계 정렬, 레버 암 보정 등을 통합적으로 수행해야 시스템 전체의 오차가 최소화된다.연동 시 오차 분석과 보정 요소 (계속)
필터 설계 및 노이즈 공분산 조정
GNSS와 IMU(및 기타 센서)를 연동하여 시스템 오차를 최소화하려면, 센서 퓨전 알고리즘(예: KF, EKF, UKF 등)에서 상태공간모델과 노이즈 공분산 행렬($\mathbf{Q}(k)$, $\mathbf{R}(k)$)을 정교하게 설계해야 한다.
시스템 노이즈 공분산 $\mathbf{Q}$
시간에 따른 상태변수(위치, 속도, 자세, 바이어스 등)의 진화 과정에서 발생하는 불확실성을 표현한다.
IMU 노이즈(가속도계·자이로 화이트 노이즈, 바이어스 랜덤 워크 등)의 분산(variance)을 반영해야 하며, 계수 매트릭스($\mathbf{G}$) 등을 통해 실제 $\mathbf{Q}$를 계산한다.
측정 노이즈 공분산 R\mathbf{R}
GNSS pseudorange/위치 측정, 속도 측정 등 각 센서가 제공하는 관측치의 오차 통계를 나타낸다.
환경에 따라 전리층 및 대류권 보정 수준, 수신기 트래킹 상태, 멀티패스 영향 등으로 측정 노이즈 분산이 달라질 수 있으므로 상황별 동적 조정이 필요하다.
적응형 필터(Adaptive Filtering)
노이즈가 시간이나 환경 변화에 따라 크게 달라지는 경우, 적응형 필터(Adaptive Kalman Filter)를 사용한다.
센서 잔류(residual) 분석이나 신뢰도(quality) 지수를 기반으로 $\mathbf{Q}$나 $\mathbf{R}$를 온·오프라인에서 재조정한다.
오차 검출 및 제거 기법 (Fault Detection & Exclusion, FDE)
GNSS+기타 센서 연동 시, 특정 센서 관측치가 갑작스럽게 큰 오차를 보이거나 결함(Fault)이 발생하는 경우가 있다. 이를 적절히 감지하고 시스템 업데이트에서 제외(Exclusion)하거나 보정(Correction)하는 과정을 FDE(Fault Detection & Exclusion)라고 한다.
잔차(residual) 기반 검출
센서 퓨전 필터에서 예측된 관측치 $\hat{\mathbf{z}}$와 실제 측정치 $\mathbf{z}$ 간 차이(잔차 $\mathbf{r} = \mathbf{z} - \hat{\mathbf{z}}$)가 통계적으로 유의미하게 큰 경우, 이상 징후를 판단한다.
잔차 공분산 행렬에 대한 카이제곱(Chi-square) 검정을 활용한다.
다중 센서 비교
유사한 물리량을 측정하는 복수 센서가 있으면, 서로 다른 측정 경로를 비교하여 한쪽 센서만 특이값(outlier)을 보이는지 확인한다.
GNSS 위성별 측정도 위성 하나가 이상값을 내는지 모니터링하여, 건강도(health) 검사 후 Fault 발생 시 제외한다.
추가 검증(Consistency Check)
차량 속도 센서, IMU 추정 속도, GNSS 속도가 물리적으로 양립 가능한지 검사한다.
지형기반 지도(지도 매칭)나 도플러 레이더, 카메라 영상 등 외부 데이터와 비교해 극단적 차이가 있으면 센서 고장을 의심한다.
오차 분석 시 수치 시뮬레이션
실제 시스템 구축 전, 혹은 실험 데이터 분석 과정에서 GNSS+IMU 연동 시 오차를 예측하기 위해 시뮬레이션을 활용한다. 예를 들어,
GNSS 궤도·시계·대기 모델
위성 궤도 데이터(SP3 등), 시계 모델, 전리층·대류권 모델 등을 활용하여, 가상 사용자 위치에 대한 측정치(pseudorange, Doppler)를 생성한다.
멀티패스는 3D 환경 모델 또는 확률적 간소화 기법으로 모의한다.
IMU 가속도·자이로 노이즈 모델
센서 데이터시트로부터 화이트 노이즈 스펙, 바이어스 랜덤 워크 스펙 등을 획득한다.
시뮬레이션에서 진짜 궤적(trajectory)을 가정하고, 이를 적분하여 실제 센서 출력값을 모사한다.
센서 융합 알고리즘 테스트
EKF나 UKF, PF(Particle Filter) 등 다양한 알고리즘을 적용한 뒤, 시뮬레이션 데이터에 대한 위치·속도 오차, 바이어스 추정치 등의 거동을 확인한다.
노이즈 공분산 $\mathbf{Q}$, $\mathbf{R}$ 튜닝, 레버 암 보정, 타이밍 동기화 모델 등을 변경하면서 성능 감도를 분석한다.
대표적인 보정 및 보상 전략
앞서 언급한 오차 요인들을 종합적으로 고려하여, GNSS+IMU 연동 시스템에서는 다음과 같은 대표적 보정 전략들을 사용한다.
바이어스 추정 및 제거
IMU 바이어스는 상시 변화 가능성이 있으므로, 필터 상태에 $\mathbf{b}_a$, $\mathbf{b}_g$를 포함하고 주기적으로 업데이트한다.
동적 모델 기반 전리층·대류권 보정
다주파 GNSS 수신기의 경우, L1/L2 주파수 측정치 차이를 활용하여 전리층 지연량을 추정·보정한다.
대류권 모델(예: Hopfield, Saastamoinen 등)을 사용하여 표고, 기압, 온도 정보를 반영하면 정확도가 향상된다.
멀티패스 저감
안테나 설계(차폐, 지향성), 소프트웨어적 신호 추적(코드·캐리어 위상 추적) 등으로 멀티패스 영향을 줄인다.
차량이나 항공기 주변 구조물 반사로 인한 편향을 최소화하려면 설치 위치 선정이 중요하다.
계통적(Calibrated) 레버 암 및 축간 정렬
사전에 정확한 계측으로 $\mathbf{r}_{\text{lever}}$, $\mathbf{M}$ 행렬(스케일 팩터, 축간 정렬) 등을 파악하고 필터 내에서 상수 또는 점진적 추정값으로 반영한다.
부가 센서(odom, vision 등)와의 크로스체크
GNSS 신호 불안정 시 IMU+추가 센서 기반으로 단기 보완한다.
외부 환경이 좋을 때는 GNSS가 정확하므로, 부가 센서 오차나 바이어스 드리프트를 억제한다.
RAIM (Receiver Autonomous Integrity Monitoring)과 신뢰성 보정
GNSS+기타 센서 연동에서, GNSS 수신기 내부 혹은 상위 알고리즘 레벨에서 신뢰성 분석을 수행하는 것은 매우 중요하다. 이와 관련된 대표적인 기술이 RAIM(Receiver Autonomous Integrity Monitoring)이다.
RAIM의 기본 개념
RAIM은 단일 GNSS 수신기가 측정한 위성 신호로부터, 무결성(integrity) 이상 징후를 스스로 판단하는 방식이다.
일반적으로 위성 4기 이상으로 3차원 위치와 시계 바이어스를 해결하지만, RAIM에서는 5기 이상의 위성을 추적해 여분(redundant) 관측을 이용함으로써 측정 오차를 검출·배제(Fault Detection and Exclusion, FDE)할 수 있다.
오차 검출 방식
다중 위성 측정 방정식을 동시에 풀었을 때, 특정 위성 하나가 이상값을 제공한다면 해당 관측치가 전체 해(solution)에 미치는 영향이 커진다.
측정 잔차(residual)가 통계 임계값(threshold)을 초과하는지 검사하여 Fault 발생 여부를 판단한다.
센서 융합 시 RAIM의 적용
GNSS 단독으로 수행하던 RAIM 알고리즘을, IMU나 다른 센서가 제공하는 보조 정보와 결합할 수 있다.
예컨대, 관성항법 결과와 GNSS 잔차를 비교하여 RAIM에서 더 엄격한 무결성 판단을 수행하거나, 반대로 RAIM이 이상값을 감지한 GNSS 측정치를 센서 퓨전에서 제외함으로써 전체 오차를 줄일 수 있다.
다중위성시스템(Multi-GNSS) 활용과 오차 보정
GPS, GLONASS, Galileo, BeiDou, QZSS 등 다양한 위성항법시스템을 동시에 수신하면, 가용 위성 수가 늘어나 위치 측정 정밀도와 무결성을 높일 수 있다. 그러나 GNSS 간 주파수 대역, 신호 특성, 궤도 특성의 차이로 인해 오차 모델이 복잡해질 수 있으므로 추가적인 보정 요소가 필요하다.
GNSS별 궤도·시계 오프셋 보정
GPS와 GLONASS를 함께 쓰는 경우, GLONASS는 주파수 분할(FDMA) 방식으로 운영되므로 채널별 주파수 편차로 인한 오차 모델이 추가된다.
Galileo, BeiDou 등은 각각 고유한 시계·궤도 보정 계수를 제공한다. 다양한 신호를 융합하려면 각 시스템의 정밀 궤도/시계 보정 정보를 모두 처리할 수 있어야 한다.
좌표계, 시간체계 간 변환
GPS는 WGS-84, GLONASS는 PZ-90 등 서로 다른 지구기준 좌표계를 사용한다. 지구 중심을 기준으로 하되 미세한 기준 차이가 존재하므로, 국지적인 밀리미터~센티미터 오차가 발생할 수 있다.
시간체계도 GPS Time, GLONASS Time, Galileo Time 등이 있어, 서로 간 윤초(Leap Second)나 시작 에포크(epoch) 차이를 보정해야 한다.
추가적인 상관오차 고려
일반적으로 서로 다른 GNSS들은 전파 대역이나 위성배치가 달라서 멀티패스나 전리층/대류권 지연 특성이 약간씩 다를 수 있다.
Multi-GNSS 수신기의 경우, 위성별 통계적 상관관계(correlation)를 모델링하여 측정 노이즈 공분산 행렬 R\mathbf{R}을 구성해야 한다.
SBAS/GBAS 보조시스템 결합
위성기반보정시스템(SBAS: Satellite Based Augmentation System)이나 지상기반보정시스템(GBAS: Ground Based Augmentation System)은 GNSS 오차를 보정하기 위한 보조 신호를 제공한다. 항공이나 고정밀 측위 분야에서 사용이 활발하다.
SBAS (WAAS, EGNOS, MSAS, GAGAN 등)
지구 궤도에 있는 보정 위성이 GNSS 위성 궤도·시계 오차, 대류권·전리층 보정 파라미터 등을 포함한 보정 정보를 방송한다.
수신기는 SBAS 보정 메시지를 받아, 측정치에 추가 보정을 적용함으로써 DGPS(보정된 GPS)급 정확도를 얻을 수 있다.
GBAS (LAAS 등)
공항이나 특정 지역에 설치한 지상 기준국이 매우 정확한 GNSS 측정치를 확보하고, 실시간 보정 정보를 VHF/UHF 링크로 전송한다.
인접 지역(수십 km 이내)에서 이 보정 정보를 받으면, 수십 cm 이하 급 정밀도를 달성할 수 있다.
고정밀 항공착륙, 드론 항법 등에서 활용된다.
센서 융합 시 응용
SBAS/GBAS와 IMU, 지자기, 비전 센서 등이 결합하면, GNSS 환경이 양호할 때는 SBAS/GBAS 보정으로 오차를 크게 줄이고, 전파 음영(遮蔭) 구역에선 IMU, 비전 등을 통한 추정으로 유지하는 식의 하이브리드 시스템 설계가 가능하다.
보조시스템 신호 자체가 수신되지 않는 지역(예: 산악 지대, 대도시 고층빌딩 사이)에서는 자동으로 일반 GNSS 모드로 전환하고, 내부 필터 파라미터($\mathbf{R}$, $\mathbf{Q}$ 등)를 조정하여 추정 안정성을 확보한다.
고정밀 RTK, PPP 기법 결합
최근 차량 자율주행, 무인 항공 분야 등에서 요구되는 수준이 수 센티미터 이내까지 높아지면서, GNSS 정밀 측위 기법인 RTK(Real-Time Kinematic)나 PPP(Precise Point Positioning)를 IMU 등과 결합하는 사례가 많다.
RTK (Carrier-based Differential GNSS)
기준국(Reference Station)과 이동국(Rover)에서 동시에 캐리어 위상(carrier phase)을 측정하여, 기준국-이동국 간 위상 관측 차이를 사용해 센티미터 급 위치 오차를 얻는다.
초기 위상 모호성(ambiguity)을 해결하는 과정이 필요하며, 관측치가 끊기면 재수렴(re-initialization) 시간이 걸릴 수 있다.
IMU 융합 시, 잠시 GNSS 신호가 끊겨도 관성항법으로 위치를 이어가며 재획득 시간을 단축할 수 있다.
PPP (Precise Point Positioning)
국제 GNSS 서비스(IGS) 등에서 제공하는 정밀 궤도·시계·위상 편차 등을 이용하여, 단독 수신기만으로도 수 센티미터~데시미터 급 정밀도를 달성하는 기법이다.
RTK와 달리 기준국-이동국 간 실시간 통신이 필요 없지만, 위성 측정 수와 전리층 환경 등에 따라 초기 수렴 시간이 10~30분 이상 소요될 수 있다.
IMU, 바퀴속도센서, 비전 센서 등과 결합해 PPP가 재수렴하는 동안의 오차 증가를 억제할 수 있다.
오차 요소와 필터 구성이 더욱 복잡해짐
캐리어 위상 측정치가 추가되면, 위상 모호성이라는 정수(或半정수) 변수를 필터에서 다뤄야 한다.
정밀한 전리층 보정, 안테나 위상 중심(PCO/PCV) 보정, 신호 차단(Line-of-sight) 문제 등도 함께 고려해야 하므로, 센서 융합 모델이 고차원화(high-dimensional)될 수 있다.
위까지 살펴본 바와 같이, GNSS와 다른 센서를 연동하는 과정에서는 다양한 오차 원인이 존재하며, 이들의 보정 요소를 종합적으로 고려해야 한다.
고급 센서 퓨전 기법
GNSS와 IMU를 기본으로 하는 센서 융합 알고리즘은 일반적으로 KF(EKF, UKF 등) 구조를 채택하는 경우가 많다. 하지만 실제 환경에서 오차 특성이 비선형·비가우시안적이거나, 측정 데이터가 부분적으로 끊기거나(outage) 왜곡된 경우가 발생할 수 있으므로, 보다 고급 기법이 쓰이기도 한다.
PF (Particle Filter)
오차 분포가 가우시안으로 가정하기 어려울 때 확률 밀도를 입자(Particle) 집합으로 표현하여, 시뮬레이티드 리샘플링(resampling) 과정을 통해 상태를 추정한다.
계산량이 많아 실시간 시스템에 적용하려면 입자 수 제한, 효율적 중요도 분포(importance distribution) 설계 등이 필요하다.
인증 기반 융합(Authentication-based Fusion)
GNSS 스푸핑(spoofing)이나 재밍(jamming) 위협에 대응하기 위해, 센서별 신뢰도(또는 인증 지표)를 추가적으로 고려하는 방식이다.
예를 들어 IMU의 누적 오차와 GNSS 측정치의 순간적 급변을 동시에 살펴, 어느 쪽에 이상이 있는지 판단하고 필터 가중치를 동적으로 조정한다.
Factor Graph/SLAM 기반 기법
비전, LiDAR 등에서 사용하는 Graph SLAM 기법(노드와 에지로 관측관계를 표현)을 GNSS·IMU와 결합할 수도 있다.
상태변수(카메라 포즈, 특징점 좌표, GNSS 위치 등)와 측정·모션 모델을 하나의 그래프로 구성하고, 최소제곱(최대우도 추정)을 반복적으로 수행함으로써 전체 오차를 동시에 추정한다.
실제 구현 시 고려사항
이론적으로 센서 융합 알고리즘을 잘 설계했더라도, 실제 차량·항공기·로봇에 탑재하는 과정에서 구현적 이슈가 발생한다.
실시간성(Real-Time Constraint)
IMU는 고속, GNSS는 저속으로 데이터를 수집하므로, 주기적으로 상태를 예측/업데이트하는 필터 구현 시 스레드(thread) 구조, 우선순위 설정, 버퍼링(buffering) 등이 복잡하다.
레이턴시(latency) 문제가 크면 실제 오차가 단시간 내 급증할 수 있다.
계산 자원 및 전력 제약
무인기나 소형 로봇처럼 경량화된 플랫폼에서는 CPU 파워, 메모리, 전력 소모 등에 제한이 있으므로, 간단한 KF 구조를 사용하거나, PF 등은 입자 수를 크게 줄여야 한다.
GPU 병렬처리를 통해 대규모 입자나 고차원 최적화 문제를 다루는 사례도 있다.
초기값(Initial Condition) 민감도
초기 상태(특히 IMU 바이어스, 자세각 등)가 잘못 설정되면 필터 수렴이 지연되거나 잘못된 극점으로 치우칠 수 있다.
지상 정렬(Static Alignment), GNSS 초기 위치·속도 활용 등을 통해 가능한 정확한 초기값을 부여해야 한다.
오류 모드 분석(FMEA, Failure Mode and Effects Analysis)
센서 하나가 고장 혹은 크게 편향되었을 때 시스템이 어떻게 대응할지, 필터가 발산하지 않고 복원력을 가질 수 있는지 사전에 분석해야 한다.
안전 필수 시스템(Autonomous Vehicle 등)에서는 각종 센서 에러/부재 상황에 대한 시험 절차를 마련해 둔다.
오차 통계 분석 및 튜닝
센서 퓨전의 성능을 최적화하기 위해서는, 필터가 사용하는 노이즈 공분산(Q,R\mathbf{Q}, \mathbf{R})뿐 아니라, 센서 간 레버 암, 축 정렬, 모델 파라미터 등을 주기적으로 튜닝하고 검증해야 한다.
오차 통계 분석
여러 주행 테스트 혹은 비행 테스트에서 위치 오차(RMSE), 속도 오차, 바이어스 추정치 등을 기록한 뒤, 통계적 분석(평균, 분산, 누적 분포 함수 등)을 실시한다.
멀티 GNSS 환경, SBAS/GBAS 사용 여부, 도심 환경, 고속 주행 상황 등 시나리오별 오차 특성을 정리해둔다.
실시간 튜닝(Auto-Tuning)
일부 시스템은 현장 테스트 중, 측정 잔차나 센서 상태 품질 지표를 자동으로 해석해 Q,R\mathbf{Q}, \mathbf{R}를 재설정한다.
적응형 잡음 보정(ANC: Adaptive Noise Compensation)과 유사한 구조로, 필터가 동적으로 노이즈 레벨을 추정해 적용한다.
오차 축적 관측 및 재초기화
IMU 중심의 관성항법은 시간이 지날수록 오차가 누적되므로, GNSS가 재획득되면 일부 상태(위치·속도·바이어스 등)를 강제 리셋(reset)하거나, 필터 공분산을 재조정하는 절차가 유용할 수 있다.
고속 이동체나 장시간 임무 수행 시에는 주기적으로 GNSS 솔루션과 비교하여 관성항법의 편향을 잡아줘야 한다.
단계별 구현 흐름 (Mermaid 예시)
시스템 초기화: GNSS 수신기로 초기 위치·속도를 얻고, IMU 정렬을 수행한다.
예측 단계: IMU 출력(가속도, 각속도)을 적분해 위치·자세 등을 추정한다.
GNSS 업데이트: 일정 주기마다 GNSS 측정치(pseudorange, Doppler, 속도 등)로 오차를 보정한다.
FDE: GNSS 측정 잔차가 일정 임계값을 초과하면 이상값을 검출·배제한다.
레버 암/자세/바이어스 보정: 레버 암이나 IMU 바이어스, 센서 축 정렬 오차를 필터 내에서 적절히 추정/보정한다.
상태추정 결과: 오차가 한계를 초과하면 재초기화 등을 수행한다.
검증 및 품질관리(Validation & Quality Control)
센서 융합을 통해 추정된 최종 결과를 실제 운용 환경에서 신뢰하기 위해서는, 사전에 충분한 검증(Validation) 과정을 거쳐야 한다. 또한 운용 중에는 주기적 모니터링 및 품질관리(Quality Control) 체계를 갖추어야 한다.
실험 설계(Experiment Design)
GNSS 측위 성능은 위성 가시성, 대기 상태, 멀티패스 환경 등 외부 요인에 의해 크게 달라진다. 따라서 다양한 시나리오(도심, 교외, 계곡, 터널 등)에서 실제 주행 또는 비행 테스트를 수행하여 센서 융합 시스템의 범용성과 한계를 파악해야 한다.
IMU 성능 역시 등가속 운행, 급회전, 급정지, 다양한 속도 대역 등을 포함한 시나리오로 평가하는 것이 좋다.
레퍼런스(Reference) 설정
지상 기준국(RTK)이나 고정밀 지상 레이저 측정, 혹은 고가의 항법장비(예: 고등급 INS) 등 “더 정확한” 참값(Truth)을 구하여 비교 평가한다.
만약 정밀 레퍼런스가 어렵다면, 각각의 센서 융합 결과를 상호 비교하거나, 반복 주행(동일 코스)으로 재현성을 살펴볼 수도 있다.
데이터 로깅(Logging) 및 분석 툴
운용 중 센서 원시데이터(IMU raw, GNSS raw, 카메라 영상 등)와 필터 추정 결과(상태 벡터, 공분산, 잔차 등)를 모두 기록한다.
이후 오프라인에서 MATLAB, Python, ROS 등을 활용해 잔차 분석, 시간동기 검증, 센서 노이즈 특성 재추정 등 다양한 분석을 수행한다.
장기 안정성 시험(Long-term Stability Test)
드론이나 자율주행차 같은 응용에서, 하루 이상 연속 운용 시 또는 계절별(온도, 습도, 기압 차이) 환경 변화 등에 대한 오차 변동을 살핀다.
IMU 바이어스가 온도에 민감하거나 GNSS 수신기가 특정 온도영역에서 노이즈 수준이 달라질 수 있음에 유의해야 한다.
표준 및 인증 요구사항
항공, 해상, 자율주행 등 안전과 직결되는 분야에서는 국제·국가별 표준이나 인증을 만족해야 하는 경우가 많다.
민간 항공(FAA, EASA 등) 기준
RAIM, SBAS, GBAS를 활용해 무결성 보증 요구사항을 충족해야 하며, 안전 임계 영역에서는 연간 허용 오차 발생 확률 등을 준수해야 한다.
항공용 IMU는 DO-160(환경시험), DO-178(소프트웨어 안전성) 등 규격을 만족해야 한다.
자율주행 안전성 규격(ISO 26262 등)
차량용 센서퓨전 시스템은 기능 안전(Functional Safety) 요구사항에 따라 설계·검증이 필요하다.
예컨대 GNSS 오차가 특정 수준 이상으로 커지면, 자율주행 기능을 제한(Limp mode)하거나 운전자에게 즉시 알리는 경보 체계가 포함되어야 한다.
해상 인증(IMO, IEC 등)
선박 항법에 GNSS를 활용할 때는 IMO(International Maritime Organization)에서 제정한 성능 표준, 차트 데이터 형식, ECDIS(Electronic Chart Display and Information System) 호환성 등을 고려한다.
오차 요소 간 상호작용
실제로 GNSS와 IMU, 기타 센서가 결합된 환경에서 각 오차 요소가 독립적으로만 작용하는 것이 아니라, 상호작용(Interaction)이 일어날 수 있다.
GNSS + IMU
GNSS가 실내 또는 터널에서 일시적으로 수신 불가능하면, IMU가 해당 구간을 “자유 관성항법(Free Inertial)”으로 추정하게 된다. 이때 IMU 오차(바이어스, 드리프트)가 GNSS 업데이트가 재개될 때까지 누적된다.
GNSS가 재획득된 시점에서 만약 레버 암, 좌표계 정렬 등의 보정이 정확하지 않다면, 필터가 큰 스텝 점프(step jump)를 일으킬 수 있다.
GNSS + 자력계(Magnetometer)
도심 구조물, 철도 근처 등에서 자력계가 심하게 교란되면, GNSS도 고층 건물의 멀티패스로 인해 정확도가 떨어질 수 있다.
센서 간 교차 검증이 불가능해지며, 동시에 오차가 발생해 필터가 발산할 위험성이 있다.
멀티 GNSS + 전리층 이중주파수 보정
한 GNSS 위성이 전리층 교란을 많이 받을 때, 다른 GNSS 위성으로부터의 신호가 상대적으로 안정적일 수 있다.
하지만 전리층 폭발적 교란(스톰) 상황에서는 모든 위성 신호가 고루 영향을 받으므로, 이중주파수 보정 모델의 파라미터 설정이 잘못되면 오차가 크게 늘어난다.
유지보수·갱신(Upgrade) 전략
센서와 알고리즘을 한 번 구성했다고 해서 영구적으로 동일한 성능이 보장되지는 않는다. 장비가 노후화되거나, 새로운 GNSS 위성이 추가되고, 소프트웨어가 업데이트되면서 오차 특성이 달라질 수 있다.
주기적 캘리브레이션(Calibration)
IMU 바이어스, 축 정렬 등은 일정 주기로 캘리브레이션하거나, 현장에서 자가진단(Self-diagnostic) 알고리즘을 실행해 추정치를 보정한다.
안테나 케이블, 커넥터 등의 물리적 상태도 점검해 GNSS 신호 감쇄를 예방한다.
GNSS 모델 업그레이드
SBAS나 GBAS가 새 버전으로 개선되거나, QZSS·Galileo 등 신규 위성 서비스가 활성화되면, 수신기 펌웨어 업그레이드를 통해 보다 정확한 보정 파라미터를 사용할 수 있다.
RTK 네트워크나 PPP 서비스도 데이터 센터 업그레이드에 따라 보정 품질이 달라질 수 있다.
소프트웨어 보완 및 재튜닝
수집된 오차 분석 결과나 현장 운영 로그를 통해 필터 파라미터(Q,R\mathbf{Q}, \mathbf{R}), 바이어스 관측 모델 등을 다시 세팅한다.
코드상에 존재하던 수치적 불안정(overflow, underflow) 문제, 혹은 센서 데이터 처리 순서 오류 등을 수정하여 신뢰도를 향상한다.
위와 같은 각종 오차 요인과 보정 기법을 체계적으로 정리하고, 센서 퓨전 알고리즘에서 동적으로 대응할 수 있도록 설계·구현하는 것이 GNSS+기타 기술 연계의 핵심 과제다.
Last updated