저가형 RTK 모듈, 휠펄스 및 IMU 센서를 이용한 차량 위치 추정
*This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium provided the original work is properly cited.
Abstract
A highly accurate localization solution is essential in autonomous driving and ADAS systems. In a localization solution, GPS Real-Time Kinematics(RTK) and Dead-Reckoning(DR) estimation are required in simultaneously achieving high accuracy and obtaining reliability in harsh environments(tunnels, urban roads, etc.). However, most of the commercial GPS-RTK(with DR) products are too expensive to be adopted in automotive systems. Therefore, this paper proposed a low-cost vehicle position estimation system, including a fusion algorithm that uses only a low-cost GPS-RTK module, wheel pulse, and IMU sensors. To implement the RTK-DR fusion algorithm, this paper also proposed a correction method to real-time sensor data, a GPS position validation method, and a DR estimation method. To verify the estimated position result, an HD map and a high-cost reference GPS-INS system were used. This experiment showed significant improvement in GPS position accuracy in harsh environments.
Keywords:
Positioning, RTK, DR, GPS, Wheel pulse, Yaw rate키워드:
측위, 실시간 이동측위, 추측항법, 지피에스, 휠펄스센서, 요레이트센서1. 서 론
최근 자율주행 및 첨단 운전자 보조 시스템(Advanced Driver Assistant System, ADAS)에 대한 연구들이 활발히 이루어지고 있으며 차량의 정밀한 위치 인식은 자율주행 시스템에서 중요한 요소이다. 차량의 정밀한 위치 인식을 위해 위성항법시스템(Global Positioning System, GPS), 라이다(LiDAR), 카메라 및 관성항법장치(Inertial Navigation System, INS) 등 다중 센서 융합과 3차원 정밀지도와의 맵매칭 방식이 주로 연구되고 있다. 센서 기반의 자율주행 기술은 주변 환경 인식, 주행전략에 대한 판단, 차량을 제어하는 세 가지 기술로 구성되며 차량 위치가 부정확하게 인식되는 경우에는 자율주행의 안정성 확보가 어렵기 때문에 최소한 차선 레벨 내의 정확한 차량 위치 인식이 요구된다.1-3)
차량 위치 인식의 기본이 되는 GPS 위치정보를 신뢰성 있게 산출하기 위해서는 위성 시계 오차, 전리층 오차 등 위성 정보 오차에 대한 보정 처리가 수행되어야 한다. 가상 기준점 방식(Virtual Reference Station, VRS)의 네트워크 기반 이동측위(Network Real Time Kinematic, Network RTK) 보정 처리가 대표적이며, 이를 통해 개활지 주행 환경에서 자율주행 시스템의 요구 수준을 만족할 수 있다.4)
다만, RTK를 적용한다 하여도 GPS 단독으로는 환경에 매우 민감하다는 단점이 있다. 예를 들어, 도심지와 같이 장애물이 많은 상황에서는 위치 정보의 정밀도가 낮아진다. 특히 터널 구간은 위성 정보수신이 불가하기 때문에 GPS를 통한 위치 추정이 불가능하다. 이를 위해 추가적인 센서 정보를 이용하여 위치 정보를 개선하는 방식인 추측항법(Dead Reckoning, DR)을 기존의 위치 추정 방식에 결합하는 방법이 있다. 이에 대한 구성으로는 대표적으로 GPS 모듈과 가속도 및 자이로 센서가 더해진 관성측정 센서(Inertial Measurement Unit, IMU)를 이용하는 형태가 가장 일반적이다.5,6) 하지만, 가속도 센서로 이동거리를 계산하는 과정에서 적분 연산으로 인한 누적 오차가 발생하는 문제점이 있다.7) 차량 환경에서는 각 바퀴마다 가속도 센서를 대신하여 이동거리를 측정할 수 있는 휠펄스 센서가 있기 때문에 이를 대체하여 극복할 수 있다.
RTK 보정과 DR이 동시에 이루어지는 기존 제품군이 존재하지만 이들은 대부분 군용 혹은 연구목적이며 고가의 IMU센서와 RTK모듈을 이용하기에 경제적 측면에서 차량 시스템에 적용이 어렵다. 차량 시스템에서의 상용화를 위해서는 경제적 측면이 고려된 저가 시스템으로의 구성이 필요하다.
본 연구에서는 이에 초점을 맞추어 RTK 보정이 지원되는 저가 RTK 수신 칩을 탑재한 저가 임베디드 시스템을 구축하였다. RTK가 적용된 GPS 위치 정보와 휠펄스 등의 차량 정보 및 IMU센서 정보를 융합하는 자체 DR 로직을 통해 실시간으로 정밀한 차량 위치를 산출 할 수 있다.8)
또한, 개발 시스템의 성능을 객관적으로 판단하기 위해서 정밀지도 및 고가 레퍼런스 GPS-INS 장비를 사용하여 실차 주행 환경에서 산출된 차량 위치 정보의 신뢰성에 대하여 평가를 진행하였다.
2. 시스템 개요
2.1 HW 구성
Fig. 1은 개발한 HW(Hardware) 구성을 보여주고 있다.
HW는 크게 저가 RTK 수신칩, IMU센서, 그리고 MCU(Micro Controller Unit)로 구성되어 있다. 저가 RTK 수신칩은 GPS 위성 정보를 패치안테나로 수신받고 외부통신 모듈을 통해 VRS 서버로부터 RTCM(Radio Technical Committee for Maritime Service) 보정정보를 입력받는다. 보정정보를 통해 RTK가 적용된 GPS 위치정보를 산출하고 이를 SPI 통신을 이용하여 MCU로 보내준다. IMU 센서는 차량 수직방향과 진행 방향(종방향)으로의 2축 가속도 센서, 차량 피치방향으로의 1축 자이로 센서가 포함된 3축 센서로 시리얼 통신을 통해 센서 정보를 MCU로 보내준다. MCU는 차량용 MCU를 채택하였고, AUTOSAR(Automotive Open System Architecture) 표준 플랫폼을 기반으로 개발되었다. MCU에서는 IMU센서정보, GPS 위치정보와 함께 차량 정보인 휠펄스 센서정보, Yawrate 센서 정보 등을 CAN 통신 연결을 통해 입력받는다. 이러한 정보들을 이용하여 처리된 SW(Software) 로직 최종 위치 결과는 CAN 통신을 통해 출력한다.
3. 차량 위치 추정 로직
3.1 2D 변위 산출
본 연구에서는 차량의 이동변위 산출을 가속도 센서가 아닌 차량 휠펄스 정보를 이용하여 산출하고 있다. 가속도 센서의 경우 차량의 이동거리 산출을 위해 2번의 적분과정을 거쳐야한다. 이 과정에서 오차 발생 요인이 많기에 단점이 있다. 이에 비해 차량 휠펄스 정보는 차량의 이동거리에 대한 정보이기에 실질적인 차량의 이동정보를 얻을 수 있다. 하지만, 차량의 이동거리에는 노면 기울기에 따른 높낮이 성분이 포함되기 때문에 GPS 궤적 이동거리와의 비교 및 결합을 위해서는 2D 좌표로의 변환이 필요하다.
휠펄스 센서 값과 IMU 센서 값을 이용하여 노면 기울기를 산출한다. 휠펄스 센서 값의 누적 합을 통해 구한 이동거리에 노면기울기를 반영하여 2D 변위를 산출하는 방법을 사용한다.
노면 기울기 산출을 정지 상태에서는 차량 수직방향과 차량 종방향 가속도 2축의 정보를 이용하여 할 수 있다. 하지만, 차량이 이동하는 경우 차량의 가감속 성분으로 인해 가속도 센서를 이용한 노면기울기 값에 오차가 발생한다. 이러한 오차를 제거하기 위해 휠펄스 센서 값을 두 번 미분하여 종방향으로의 가감속 성분을 구하고 이를 가속도 센서 값에서 제거한다. 가감속 성분이 제거되면 중력 가속도 성분만 남게 되기 때문에 정지 상태와 마찬가지로 가속도 2축의 정보로 노면 기울기를 산출할 수 있다.
휠펄스 센서 정보를 이용한 가감속도 산출 정확도에는 한계가 있기 때문에 가감속 양에 따라 가감속에 강건한 자이로센서 데이터를 보조적으로 활용하는 상보필터로 최종 노면 기울기를 산출한다.
상보필터에는 0에서 1사이의 가중치를 가지는 α값을 이용하며, α값은 휠펄스 센서값으로 구한 가감속 값에 반비례하도록 설계한다.
(1) |
산출된 노면 기울기를 반영하여 2D 변위를 산출한다.
(2) |
3.2 DR 위치 추정
DR 위치 추정은 실시간 DR 위치 추정 방식과 구간 DR 위치 추정 방식을 병행하여 활용한다.
실시간 DR 위치 추정은 이전 헤딩과 위치를 기준으로 YawRate 센서와 휠펄스 센서로 산출한 헤딩변화량과 변위를 반영하여 X, Y좌표를 갱신하는 방법이다.
(3) |
구간 DR 위치 추정은 GPS 정보의 갱신 주기마다 저장하는 헤딩변화량과 변위량을 이용하여 실시간 DR 위치 추정과 동일한 방식으로 X, Y 좌표를 갱신해 나가는 방법이다. 이 방법을 통해 GPS 위치점 간의 추정 궤적을 산출할 수 있다.
3.3 GPS 정보 신뢰도 검증
저가 GPS 수신 칩에서는 보정 상태와 예상 위치 오차 등의 정보가 출력 되지만 위성정보의 왜곡으로 인해 이러한 정보들을 신뢰하기 어려운 면이 있다. 따라서 GPS 정보에 대한 추가 적인 신뢰도 검증과정이 필요하다.
신뢰도 검증 방법으로 구간 DR을 이용한 추정 궤적과 GPS 궤적의 변화량 차이로 신뢰성을 판단하는 방법을 이용한다. 먼저, GPS 위치 값을 통해 차량 헤딩 값을 산출한다. Fig. 3과 같이 최근 5개의 위치점을 이용하여 근사곡선을 생성하고 중간점에서의 접선의 기울기로 헤딩값을 추정한다.
산출된 헤딩값은 GPS 위치와 함께 버퍼에 저장한다. Fig. 4와 같이 과거 시점의 GPS 좌표와 헤딩을 기준으로 저장된 헤딩변화량과 변위량을 이용하여 현재 시점에서의 구간 DR 추정 좌표를 산출한다.
DR 추정 좌표(수식 (4)의 (TMXDR,TMYDR))와 GPS 좌표(수식 (4)의 (TMXGPS,TMYGPS))의 차이 값(Error)을 계산한다.
(4) |
계산된 Error 값을 버퍼에 저장하고, Error 값이 연속적으로 안정적인 경우에는 GPS 데이터의 궤적이 구간 DR 궤적과 일치하는 것을 의미하기 때문에 GPS 정보를 신뢰할 수 있다고 판단한다.
3.4 센서 오차 보정
센서값의 참값 대비 오차로 인해 산출 위치의 정확도가 저하될 수 있다. IMU센서에는 센서 장착각도로 인한 오차, Yawrate센서에는 Drift offset로 인한 오차가 대표적으로 존재하며 더 정확한 GPS-DR 위치 산출을 위해서는 이러한 오차 요인들을 보정해줘야 한다.
Yawrate센서의 Drift offset으로 인해 DR에서의 헤딩값이 한쪽 방향으로 누적 발산하게 된다.
GPS 신뢰도 검증 과정에서 산출한 GPS 헤딩의 변화량을 참값으로 활용한다. GPS 헤딩변화량의 경우에도 오차가 존재하지만 Yawrate 센서로 산출하는 헤딩 변화량처럼 한쪽으로 치우친 것이 아니기에 비교 대상으로 활용이 가능하다. 일정 구간 동안의 GPS 헤딩변화량을 기준으로 일정 구간 동안의 Yawrate센서로 추정한 헤딩변화량이 더 크다면 Drift offset을 줄여주고. 그 반대라면 Drift offset을 키워준다. 이를 HDR(Heuristic drift reduction)9)의 보상값 산출 방법을 응용하여 Fig. 5와 같이 Binary I-controller를 이용하는 방법으로 구현하였다(기 산출된 Drift offset값을 Sensor에서 차분하고, GPS데이터와 Sensor데이터를 버퍼에 저장하고, 이전 데이터와의 비교를 통해 GPS기준 변화각도(dθGPS), Sensor 기준 변화각도(dθSensor) 산출하고, 이 둘을 차분한 값의 부호에 따라 기 산출된 Drift offset값에 특정값을 더하거나 빼는 과정을 포함한다.).
IMU센서의 장착각도를 보정하기 위해 휠펄스센서와 IMU센서로 산출한 2D 변위와 GPS 변위 차이를 비교한다. Fig. 6을 참고, 만약 2D 변위가 GPS 변위보다 크거나 작은 경우에는 실제 노면 기울기보다 작거나 크게 인지되었다고 볼 수 있으며 그에 따라 IMU센서 장착각도를 추정해가며 보정하여 준다.
이러한 보정과정은 GPS 신뢰도 검증 후 신뢰할 수 있을 때에 행해지며 GPS가 양호한 상황이라면, GPS 출력 주기마다의 비교와 보상이 가능하다. Fig. 7처럼 Binary I-controller를 통해 비교 결과에 따라 반복적으로 장착각도 보상값을 키우거나 줄이는 방식을 사용한다.
3.5 GPS-DR 퓨전
GPS와 DR의 장점이 결합된 최종 위치를 산출하기 위해 실시간 DR 위치 추정 중 GPS 헤딩과 위치가 신뢰 할 수 있다고 판단되는 경우에는 추정 위치값에 GPS 정보를 반영한다. 즉, GPS가 신뢰도가 높을 때에는 GPS, 아닐 경우엔 DR로 값이 산출되도록 한다. 또한, 사용자가 활용할 수 있는 추정 오차를 산출하여 제공한다.
GPS 수신칩으로부터 제공 받은 보정 상태를 고려하며 GPS 위치정보로부터 산출한 GPS 헤딩이 연속적으로 같은 값이 산출된다면, 이때의 GPS 헤딩을 추정 위치에 반영한다. 최근의 GPS 헤딩 반영 시점과 거리를 고려하여 반영 비율을 조절하여 안정적인 헤딩이 반영될 수 있도록 한다.
GPS 수신칩으로부터 제공 받은 보정 상태를 고려하며 GPS 수신칩으로부터 안내 받는 2D 오차가 DR 추정 오차 보다 작고, 앞 장 3.3에서 산출한 Error값의 범위가 연속적으로 특정 값 이하 일 경우의 GPS 위치를 추정 위치에 반영한다. 부자연스러운 위치 이동을 막기 위해 현재의 추정위치와 새로 반영할 GPS 위치와의 거리에 따라 선형적으로 이동되며 반영될 수 있도록 한다.
GPS 위치 반영과 사용자에게 필요한 정보를 제공하기 위해 DR 추정 오차를 산출한다. 우선, GPS 헤딩의 최근 산출 값들의 표준편차를 기준으로 DR이 진행되는 동안 예상되는 잔여 Drift offset오차를 시간에 따라 가해줘서 헤딩 추정 오차를 산출한다. GPS 위치가 반영될 때의 2D 추정 오차를 기준으로 이동거리와 헤딩 추정 오차를 고려하여 누적되는 오차를 가해줘서 DR 추정 오차를 산출한다. GPS 헤딩/위치가 반영되는 시점에는 누적된 오차값에 GPS 수신칩에서 제공되는 STD(Standard Deviation)값을 덮어써준다(Fig. 8).
4. 성능 평가
성능 평가를 위해 개발 HW를 차량에 장착하고 실차 검증을 실시하였다. 고가 레퍼런스 장비와 동시에 데이터를 취득하고 레퍼런스 장비의 위치 데이터를 기준으로 횡방향 오차를 산출하였다. 또한, 저가 RTK 모듈의 단독 성능과 RTK-DR 퓨전 위치 값을 비교하여 성능 개선 정도를 평가하였다.
4.1 평가 환경
실차 검증을 위해 실험 차량(K5)에 개발 HW, 고가 레퍼런스 장비, 데이터 취득용 CAN장비와 노트북을 설치하였다. 레퍼런스 장비는 NovAtel 사의 고정밀 GNSS-INS 장비인 ‘SPAN-CPT’를 활용했으며 ‘SPAN-CPT’의 헤딩 인지 기능 활용을 위해 2개의 안테나를 장착하였다. 개발 HW는 저가 패치 안테나를 사용하였다. Fig. 9는 실험 차량에 SPAN-CPT용 안테나 2개와 개발 HW용 패치 안테나가 장착된 모습이다. 두 장비 모두 국토지리정보원의 VRS 보정정보를 이용하여 RTK 보정을 처리하게 하였다. 성능 평가를 위한 데이터는 CAN 장비를 이용해 취득하였다.
고가의 레퍼런스 장비도 오차가 존재할 수 있기에 이에 대한 신뢰성 확보를 위해서 레퍼런스 장비의 성능에 대한 검증도 필요하다. 이를 위해 Fig. 10에서처럼 시험 구간에 대해 20 cm의 정확도를 갖는 차선 정보 단위의 정밀지도를 제작하였다. 정밀지도를 통해 차선 단위의 차량 위치 확인이 가능하며, 실차 주행한 차선과 레퍼런스 장비 궤적의 차선위치를 비교하였다.
Fig. 11에서는 앞서 설명한 정밀지도를 포함하며 실차 주행 데이터를 실시간으로 모니터링 및 취득할 수 있는 툴을 보여주고 있다. 위치 정보를 최대 4개 까지 동시 모니터링 할 수 있으며 차량 위치와 현재 차선의 주행 상황을 파악하기 위해 영상 동시 녹화 기능을 지원한다. 이 툴을 이용하여 실 주행 차선, 정밀지도 내 주행 차선과 레퍼런스 장비의 위치 정확도를 확인하였다. 이를 근거로 시험 구간 주행환경에서의 레퍼런스 장비 최대 오차가 차선폭 절반 이내(1.8 m) 임을 알 수 있었다.
4.2 평가 결과
시험 구간에서 취득한 레퍼런스 데이터를 기준으로 RTK 수신칩에서 바로 출력된 데이터(RTK only)와 RTK-DR 퓨전 로직 데이터(RTK+DR)의 성능을 비교하였다. 차량 주행 궤적을 비교하여 위치 산출의 안정성을 파악했으며 레퍼런스 장비 대비 횡방향 오차를 측정하여 성능을 평가하였다.
Fig. 16에서처럼 RTK only의 경우 터널 구간에서의 위성정보 미수신 현상과 도심구간에서의 멀티패스 현상으로 인해 레퍼런스 위치보다 오차가 크게 발생하게 된다. 그에 비해 DR을 같이 고려한 경우 레퍼런스 위치와 유사한 궤적을 보이게 된다.
Fig. 17은 레퍼런스 궤적을 기준으로 누적 이동거리에 따른 횡방향 오차를 나타낸다. 터널 구간에서 위치 추정이 불가하던 상태에서 로직 적용 후 위치추정이 가능하게 되었으며 도심지 구간에서는 평균 2.7 m의 횡방향 오차가 1.5 m로, 최대 오차는 12.7 m에서 5.2 m로 개선됨을 확인하였다.
5. 결 론
- 1) 본 연구에서는 RTK가 지원되는 저가 RTK 모듈, IMU센서 및 차량 정보를 이용하여 차량 위치 추정 알고리즘을 포함하는 저가 고정밀 RTK-DR 시스템을 개발하였다.
- 2) DR 위치 추정 시 발생할 수 있는 센서로 인한 오차 요소들을 제거하기 위한 센서 보정 알고리즘을 제안했으며 GPS 위치와 DR 추정 위치를 융합하는 방법에 대해 기술하였다.
- 3) 실차 검증을 통한 성능 평가 결과 고속도로 및 개활지에서는 동적 측위임을 감안하더라도 0.5 m이내의 정확도를 확인 할 수 있었다. 터널 및 도심지의 경우에는 특정 구간을 제외하고 차선 수준의 정확도성능을 확인할 수 있었다.
- 4) RTK 위치정보와 DR의 결합을 통해서는 RTK 모듈의 성능으로 인해 특정 구간에서의 성능 한계가 발생하며 이에 대한 해결을 위해 위성 정보처리단계에서의 DR 적용이 필요할 것으로 보인다.
- 5) 앞서 소개한 센서 보정 방법뿐만 아니라 다양한 예외 상황(ex. 과속방지턱)으로 인한 추가적인 오차 요인이 발생할 수 있으며 이에 대한 해결을 위해서 추가적인 알고리즘 개발 및 개선 작업을 계속적으로 진행해 나가고자 한다.
Nomenclature
SlopeAngle : | slope angle, ° |
Distance, Dist : | 2D-displacement, m |
accY, accZ : | accelerometer data of Y-axis, Z-axis, m/s2 |
gyrX : | gyroscope data of X-axis, ° / s2 |
whpAcc : | acceleration calculated by using wheel pulse sensor data, m/s2 |
TMX, TMY : | (x, y) in TM-coordinates system, m |
DRX, DRY : | dead-reckoning position (x, y) in TM-coordinates system, m |
Datan : | the n-th value of buffered data |
Subscripts
°, deg. : | degree, unit of measurement for angles |
Δ,d : | delta, variation in unit time |
References
- J. Lee, K. Park, and W. Jeong, “Analysis of Positioning Accuracy for DGNSS-based Land Navigation Using GPS/BDS Navigation Satellite System”, Transactions of KSAE, 25(4), p422-429, (2017). [https://doi.org/10.7467/ksae.2017.25.4.422]
- S. Moon, S. Lee, J. Kim, and B. Kim, “Detecting Lane Departure Based on GIS Using DGPS”, Transactions of KSAE, 20(4), p16-24, (2012). [https://doi.org/10.7467/ksae.2012.20.4.016]
- J. Yang, J. Lee, C. Kim, and K. Huh, “An Adaptive Estimation Algorithm for Vehicle Positioning Based on GPS and In-Vehicle Sensors”, KSAE Spring Conference Proceedings, p377-380, (2015).
- W. Choi, and H. Yoo, “Accuracy Analysis of Cadastral Supplementary Control Points by Using Virtual Reference Station-Real Time Kinematic GPS Surveying”, Journal of the Korean Society for Geospatial Information Science, 19(4), p65-70, (2011).
- B. Woon, D. Lee, and S. Lee, “Network-RTK GNSS for Land Vehicle Navigation Application”, The Journal of Korean Institute of Communications and Information Sciences, 42(2), p424-431, (2017). [https://doi.org/10.7840/kics.2017.42.2.424]
- H. Jung, D. Lee, S. Kim, C. Kim, and K. Huh, “Development of Vehicle Position Estimator using Dead Reckoning Algorithm”, KSAE Annual Conference Proceedings, p1255-1257, (2012).
- H. Ha, and J. Lee, “A Control of Mobile Inverted Pendulum using Single Accelerometer”, Journal of Institute of Control, 16(5), p440-445, (2010). [https://doi.org/10.5302/j.icros.2010.16.5.440]
- J. Yee, T. Kim, and H. Kim, “Vehicle Position Estimation using Low-cost GPS Reciever, Wheelpulse, and IMU Sensor”, KSAE Fall Conference Proceedings, p720, (2017).
- J. Borenstein, L. Ojeda, and S. Kwanmuang, “Heuristic Reduction of Gyro Drift For Personnel Tracking System”, Journal of Navigation, 62(1), p41-58, (2009). [https://doi.org/10.1017/s0373463308005043]