포스팅 목차
자율 주행 자동차에서 가장 핵심적인 태스크는 자동차의 위치를 실시간으로 정확하게 알아내는 로컬라이제이션입니다. GNSS, 라이다, HD 맵, 비주얼 오도메트리, 추측 항법, 센서 등을 사용하는 다양한 로컬라이제이션 기법에 대해서 한 번 살펴보도록 하겠습니다. 로컬라이제이션의 정확도를 높이기 위해 다양한 센서를 조합하여 실전에 적용한 사례도 알아두면 좋을 것 같습니다.
사람이 운전할 때 주로 위성 항법 시스템을 활용해 로컬라이제이션을 수행합니다. 자율 주행 자동차의 로컬라이제이션 작업도 GNSS로 처리할 수 있습니다. 지금부터 GNSS 기술을 알아보고 자율 주행에 GNSS를 적용할 때 나타나는 장점과 단점을 한 번 살펴보도록 하겠습니다.
GNSS 개요
GNSS에는 GPS, GLONASS, Galileo, BeiDou 등이 있습니다. 개념을 이해하기 쉽도록 GPS를 예로 들어 보겠습니다. GPS는 수신기가 처리할 수 있는 형태로 부호화된 위성 신호를 보냅니다. GPS 수신기는 이 신호를 받아서 위치와 속도와 시간을 추정합니다. 이 작업을 제대로 처리하려면 4개의 GPS 신호를 받아서 3차원상의 위치와 수신기 클록 기준으로 발생한 시간차를 계산해야 합니다.
GPS 위성은 지표면으로부터 약 20,200km 높이에 있는 원형에 가까운 6개의 궤도에 분산 배치됩니다. 각 궤도는 적도를 기준으로 55도 기울어져 있으며 지구 한 바퀴를 도는 데 약 11시간 58분이 걸립니다. 위성이 송신하는 신호는 F0=10.23 MHz의 기본 주파수를 갖도록 생성합니다. 이때 신호는 원자시계를 기준으로 정확하게 동기화되는데 오차는 하루에 약 10~13초에 불과합니다. L1, L2로 표현하는 위성의 L 밴드 캐리어 신호는 기본 주파수에 대한 정수곱으로 생성됩니다. L1 및 L2 캐리어 신호는 이진 위상 변도를 통해 코드로 변환해 수신기에게 위성의 시계 정보와 궤도 매개변수 등의 정보를 보냅니다. 이렇게 전달된 코드 신호는 +1과 -1로 이뤄진 시퀀스로 구성되며 각각 이진 값 0과 1에 대응됩니다. 이진 위상 변조는 캐리어 신호에서 코드 위상이 변할 때마다 캐리어 위상을 180도 반전시킵니다. 위성 신호에는 위성 궤도, 궤도의 섭동, GPS 시간, 위성의 시계, 이온층 매개변수, 시스템 상태 메시지 등과 같은 정보가 담겨 있습니다. 항법 메시지는 25개의 프레임으로 구성되며 한 프레임의 길이는 1,500비트입니다. 각 프레임은 300비트의 길이를 갖는 5개의 서프레임으로 이뤄져 있습니다.
GNSS에서 두 번째로 중요한 부분은 기준 좌표계의 정의입니다. 기준 좌표계는 위성의 움직임을 표현하고 관측 대상을 모델링하고 측정 결과를 해석하는 데 핵심적인 역할을 합니다. GNSS가 제대로 작동하려면 2개의 기준 좌표계가 필요합니다. 하나는 위성의 움직임을 표현하는 공간 고정 관성 좌표계이고 다른 하나는 관측 위치와 위성 측지의 결과를 표현하는 지구 고정 지형 기준 좌표계입니다.
GNSS 오차 분석
이상적인 GNSS라면 오차가 전혀 없는 정확한 로컬라이제이션 결과를 얻을 수 있습니다. 하지만 수많은 요인으로 인해 GNSS에 오차가 발생합니다. 지금부터 오차를 발생시키는 요인에 대해 간단하게 살펴보겠습니다.
1. 위성 시계 오차
GNSS 위성 내부의 원자시계에 조금이라도 오차가 발생하면 수신기에서 계산한 위치에 오차가 크게 발생합니다. 대략 10ns 정도의 시계 오차로 3m가량의 위치 오차가 발생하게 됩니다.
2. 궤도 오차
GNSS 위성은 정해진 궤도를 정확히 따라서 움직입니다. 하지만 위성 시계와 마찬가지로 궤도에도 약간씩 오차가 발생합니다. 위성의 궤도에 오차가 발생하면 지상의 컨트롤 시스템은 이를 보정하는 신호를 보내서 위성의 예상 위치를 나타내는 위성 궤도력을 업데이트합니다. 이렇게 지상 컨트롤 시스템을 통해 교정해도 미세한 궤도 오차는 여전히 남아 있습니다. 이로 인해 최대 2.5m의 위치 오차가 발생할 수 있습니다.
3. 이온층 지연
이온층은 지구 표면으로부터 80~600km 떨어진 대기층입니다. 이온이라 불리는 전기적 성질을 띠는 입자로 이뤄져 있습니다. 이러한 이온의 영향으로 인해 위성의 신호가 지연되는 현상이 발생해 대략 5m 범위로 상당히 큰 위치 오차가 발생합니다. 이온층 지연의 정도는 태양의 활동, 연도, 계절, 시간, 위치 등에 따라 달라집니다. 그래서 이온층 지연이 위치 오차에 미치는 영향을 정확히 파악하기 힘듭니다. 또한 이온층을 통과하는 인공위성 신호의 주파수에 따라 이온층 지연 시간이 달라질 수 있습니다.
4. 대류층 지연
대류층은 지구 표면과 가까운 대기층입니다. 대류층 지연의 정도는 대류층 내부의 습도, 온도, 대기압에 따라 달라집니다. 대류층의 환경은 지표에서의 환경과 상당히 비슷합니다. 그렇기 때문에 기지국과 수신기에서 발생하는 대류층 지연은 상당히 비슷합니다. 그래서 RTK GNSS로 대류층 지연을 보정합니다.
5. 다중 경로 오차
다중 경로 오차란 빌딩의 벽과 같은 물체에 반사된 GNSS 신호를 안테나가 수신할 때 발생합니다. 반사된 신호의 이동거리가 더 길기 때문에 다른 신호보다 수신기에 더 늦게 입력됩니다. 이렇게 지연된 신호로 인해 수신기에서 계산한 위치에 오차가 발생하는 것입니다.