Ⅰ. 서 론
자율주행 기술 개발을 위해 드라이빙 시뮬레이터를 사용하면 안전한 개발 환경을 제시함으로써 비용과 시간을 획기적으로 절약할 수 있다. 현실에서 재현하기 어려운 각종 위험 상황 및 환경을 용이하게 구현할 수 있기 때문에 다양한 코너 케이스에 대한 테스트가 가능하다. 따라서, CALRA (Dosovitskiy et al., 2017), AIRSIM (Shah et al., 2018), LGSVL (Rong et al., 2020), VTD (Roth et al., 2011), MORAI Sim(MORAI, 2023a) 등의 다양한 드라이빙 시뮬레이터가 널리 사용되고 있다. 하지만 시뮬레이션에서 개발한 내용들을 실차에 곧바로 적용시키기 어려운 경우가 대부분이며, 결국 추가적인 시간과 비용이 발생하여 시뮬레이션의 장점이 희석되는 경우가 존재한다. 반면 실차를 이용한 개발은 곧바로 적용 가능하다는 장점이 있지만, 사고 위험 성, 환경 구성의 어려움 등의 이유로 다양한 케이스에 대하여 테스트하기 힘드며, 시간 및 비용적인 문제가 존재한다. 이러한 문제는 Sim2Real1) 문제로 정의되며, 이를 해결하기 위해 시뮬레이터의 성능을 높이기 위한 정밀 시뮬레이션 기술에 대한 연구가 활발히 이루어지고 있다 (Lee et al., 2021).
Sim2Real 문제는 크게 시나리오 부분, 차량 동역학 부분, 센서 부분으로 나눌 수 있다. 시나리오 부분은 도 로에서 차량이 주행할 때 드라이빙 시뮬레이터의 주변 환경, 주변 차량, 보행자, 교통 신호 등에 대응하며 정 지와 차선 변경 등을 수행하는 것을 뜻한다. 시나리오 문제는 드라이빙 시뮬레이터 내에서 현실의 시나리오 를 동일하게 모사할 수 없는 문제이며, 이를 해결하기 위해 주변환경과 주행 시나리오를 동일하게 모사하는 기법이 필요하다. 차량 동역학 부분은 현실 차량의 복잡한 비선형성 동역학 모델을 드라이빙 시뮬레이터에 모사하기 어려운 문제이다. 시뮬레이터는 언리얼 엔진, 유니티 엔진 등을 기반으로 제작되기 때문에 현실 차 량의 복잡한 동역학 모델을 시뮬레이터에 실시간으로 반영하기에 한계가 있다. 센서 부분은 날씨, 온도 등에 영향을 받은 현실 센서 특성을 드라이빙 시뮬레이터의 센서가 반영하지 못하는 문제이다. 센서는 자율주행 자동차가 주변을 인식하거나 위치를 파악하여 차량을 제어하기 위해 필수적이다. 센서의 고장이나 성능 저 하는 자율주행 자동차의 안정성에 영향을 미치기 때문에 현실과 유사한 센서 모사가 필요하지만, 드라이빙 시뮬레이터의 센서는 이를 반영하지 못한다.
위와 같은 문제점들은 드라이빙 시뮬레이터를 이용한 개발에 큰 걸림돌이 된다. 이러한 문제를 해결하기 위해 시나리오 부분은 디지털 트윈 기법을 통해 다양한 시나리오를 구성하는 연구가 진행되었다 (Bhatti et al., 2021). 차량 동역학의 경우 SILS2) 또는 HILS3) 와 같은 방법을 사용한 연구가 이루어졌으며, 최근에는 실 제 차량과 드라이빙 시뮬레이터를 연계하는 Co-Simulation을 통해 실제 차량의 동역학 정보를 직접 이용함으 로써, 시뮬레이터와 실차의 동역학 차이를 줄이는 방법에 대한 연구도 진행되고 있다 (Park and Won, 2022). 하지만, 센서 부분의 경우 자율주행 자동차에 사용되는 센서의 종류가 다양하고 동일한 센서 종류 내에서도 오차 특성이 다르기 때문에 시뮬레이터에 모사하는데 한계가 있다. 따라서, 센서를 드라이빙 시뮬레이터에 모사하기 위해서는 각각의 센서에 맞는 모사 기법이 필요하다.
자율주행 차량에 사용되는 센서로는 GNSS4), IMU5), 카메라, 레이더, 라이다 등이 있으며, 최근에는 V2X6) 도 추가적으로 사용되는 추세이다. 드라이빙 시뮬레이터는 이러한 차량용 센서들의 데이터를 제공한다. 센서 들을 이용한 인지 및 판단 기술에 대한 개발이 시뮬레이터 상에서 이루어지고 있는데, 드라이빙 시뮬레이터 내에서 모델링된 센서들의 정확도 및 현실성이 실제 차량에 탑재되는 인지 및 판단 알고리즘의 검증에 중요 하게 작용한다. 즉, 드라이빙 시뮬레이터 내의 모델링된 센서의 현실성에 따라 드라이빙 시뮬레이터와 실제 시스템과의 차이가 발생하게 된다. 따라서, Sim2Real 문제 중 센서 측면에서의 문제를 해결하기 위해서는 현 실을 반영한 센서 모델링 기술이 필수적이다.
하지만, 현재 대부분의 드라이빙 시뮬레이터에서 제공하는 센서는 이를 반영하지 못한다. 특히, 위치와 자 세 추정 시 필요한 IMU 센서의 경우 최종 출력에 White Gaussian Noise만을 추가한 간단한 형태로만 모델링 되어있는 경우가 대부분이다 (MORAI, 2023b). 실제 IMU는 다양한 오차 요인을 가지고 등급에 따라 오차 특 성이 다른 점을 고려하면 현재의 드라이빙 시뮬레이터의 IMU 센서는 현실 IMU 센서의 특성을 반영하지 못 하기 때문에 Sim2Real 문제가 발생하고 이는 드라이빙 시뮬레이터를 이용한 실험의 신뢰도를 떨어트리게 된 다. 따라서, Sim2Real 문제를 해결하기 위해 현실 IMU 센서의 오차 특성을 반영한 오차 모델링을 적용함으 로써 드라이빙 시뮬레이터의 IMU 센서의 현실성을 실현해야한다.
본 논문에서는 IMU 센서에서 발생하는 오차 요인을 정리하고 IMU 센서의 오차 특성에 따른 오차 모델링 을 적용한 IMU 에뮬레이터 설계 기법을 소개한다. IMU 에뮬레이터는 실제 IMU의 오차 특성을 반영함으로 써 드라이빙 시뮬레이터의 IMU 센서의 문제를 해결하고 Sim2Real 문제를 극복한다. 본 논문은 2장에서 IMU 센서 에뮬레이터 시스템 구성 방안과 설계 기법을 소개한다. 3장에서는 실제 IMU 오차 특성을 반영한 IMU 오차 모델링을 이용하여 진행한 실험 및 실험결과를 서술하고 4장에서는 결론을 맺는다.
Ⅱ. IMU 센서 에뮬레이터
1. 시스템 구성
IMU 에뮬레이터는 IMU 측정치 참값 생성부와 IMU 센서 오차 생성부로 구성되며, 드라이빙 시뮬레이터 에서 출력되는 자차의 위치, 자세, 시각정보를 포함한 GT7)를 입력으로, IMU 센서 등급에 따른 IMU 센서 오 차 파라미터를 초기 세팅을 통해 입력받는다. IMU 측정치 생성은 우선 INS8) Inverse Mechanization을 통해 GT를 가공하여 가속도와 각속도 참값을 생성한다 (Bochkati et al., 2017). INS Inverse Mechanization을 이용하 여 생성한 가속도와 각속도 참값은 기존 드라이빙 시뮬레이터에서 출력되는 가속도와 각속도와 달리 Ellipsoid Earth Model을 포함하기 때문에 실제 IMU의 데이터와 유사하다 (Siouris, 1993). IMU 센서 오차 생성 은 IMU 등급에 따른 오차로 작용하는 요인에 대해 각각 모델링 후, 이를 앞서 생성한 가속도와 각속도 참값 에 추가한다. 이는 실제 IMU에서 발생하는 오차 파라미터를 적용하기 때문에 실제 IMU에서 발생하는 오차 와 환경 요인에 대한 영향을 포함한 IMU 출력을 생성할 수 있다. <Fig. 1>은 IMU 에뮬레이터의 프로세스를 나타낸다. 우선 IMU 에뮬레이터는 드라이빙 시뮬레이터와 설계하고자 하는 IMU 센서의 오차 파라미터가 필요하며, 오차 파라미터는 실제 IMU 센서의 사양 또는 등급을 참고하여 정의한다. 이때 본 논문에서 고려 한 IMU 센서 오차 특성은 Scale Factor, Bias, Random Walk, Misalignment, Bias Instability 이다. 최종적으로 IMU 에뮬레이터는 실제 센서의 사양을 오차 모델링 기법을 통해 반영함으로써 현실과 유사한 IMU 센서 출 력을 생성한다.
2. IMU 측정치 참값 생성
IMU 측정치 참값 생성은 위치를 미분하여 속도와 가속도를 구하는 간단한 원리를 기초로 한다. 하지만, 현실의 IMU는 지구 중력 및 코리올리 효과 등에 의해 영향을 받기 때문에 수학적인 미분만으로 IMU 측정 치 참값을 생성하기에 한계가 있다. 이에 따라, 본 논문에서는 가속도와 각속도를 입력으로 하여 자세, 속도, 위치를 계산하는 INS Mechanization을 응용하여 INS Inverse Mechanization을 적용한다. INS Mechanization은 INS 사용 목적과 설계 방식에 따라 차이가 있으며 본 논문에서는 Strapdown INS Mechanization을 이용하고 INS Mechanization의 자세한 내용은 Appendix에 기술한다.
INS Inverse Mechanization은 INS Mechanization 과정을 반대로 수행한다. 이에 따라 위치와 자세로부터 가 속도와 각속도를 계산할 수 있으며 이는 식 (1), (2)와 같다.
여기서 , 은 각각 오차가 포함되지 않은 가속도와 각속도, 은 Navigation Frame에서 Body Frame에 대한 DCM9), V 는 항체의 속도, 와 은 Earth Rate와 Transport Rate로 위치와 코리올리 효과를 이용해 식 (3), (4)과 같으며, gn 은 식 (5)와 같으며 g 는 중력가속도를 의미한다(Siouris 1993).
여기서 L, l,h는 각각 위도, 경도, 고도, Ω는 ω의 반대칭 행렬, gn 는 중력이며, 기호의 윗첨자는 각각 n은 Navigation Frame, b는 Body Frame을 의미한다. 이러한 과정을 통해 IMU 오차 생성 시 필요한 오차가 포함되 지 않은 가속도와 각속도를 생성한다.
3. IMU 오차 생성
IMU는 가속도계와 각속도계로 나뉘어 항체의 움직임에 따라 가속도와 각속도를 측정한다. 또한, 각속도 계의 경우 작동방식에 따라 MEMS10) FOG11), RLG12)로 나뉘며, 작동방식에 따라 정확도에 차이가 있다. MEMS IMU는 MEMS 기술을 이용하여 크기가 작고 저렴하여 자동차, 로봇, 드론 등에 광밤위하게 이용되지 만 정확도가 낮다 (Prikhodko et al., 2018). FOG IMU와 RLG IMU는 Segnac Effect를 기반으로 빛의 변화를 감 지하여 가속도와 각속도를 측정하는 방식으로 MEMS보다 정확도가 높으며 특히, 빛의 경로가 Closed-Loop를 가지는 RLG IMU가 FOG IMU보다 성능이 좋은 것으로 알려져 있다(Titterton and Weston, 2004). IMU는 작동 방식에 따라 성능이 다르고 동일한 작동방식임에도 다른 성능을 갖기 때문에 제조사들은 성능에 따라 등급 을 정의하고 IMU를 분류한다. 본 논문에서 IMU 센서 등급은 Consumer, Industrial, Tactical, Navigation으로 나 뉘며 GNSS-denied 상황에서 IMU의 출력값을 이용하여 추정한 위치에 대한 오차를 통해 <Table 1>과 같이 IMU 센서 등급을 분류할 수 있다 (Tanil, 2016). 이와 같이 IMU 등급에 따라 명확한 위치 오차 차이를 가지 기 때문에 등급에 따른 오차 요인을 고려한 IMU 센서 오차 모델링이 필요하다.
<Table 1>
Grade | Consumer | Industrial | Tactical | Navigation |
---|---|---|---|---|
10sec | 60m | 1.5m | 150mm | 12mm |
1min | 2.2km | 53m | 5.3m | 0.44m |
10min | 200km | 20km | 2km | 100m |
1hour | 7900km | 190km | 19km | 1.6km |
Applications | Smartphones | UAVs | Smart Munitions | Military |
IMU 센서 오차는 다양한 요인에 의해 발생하며 이는 크게 Deterministic Error와 Stochastic Error로 구분된 다 (Yang et al., 2007). Deterministic Error에는 Bias, Scale Factor, Misalignment 등이 있다. Bias는 실제 값과 출 력 값의 일정한 차이를 의미하며, Scale Factor는 실제 값과 출력 값의 비율을 의미한다. Misalignment는 센서 를 차량에 장착할 때 또는 센서 마운트에 개별 축 센서를 장착할 때, 센서와 축이 일치하지 않는 것에서 발 생하는 오차이다. Stochastic Error에는 Bias Instability, Scale Factor Instability, Random Walk 등이 있다. Bias Instability는 Bias가 온도 및 시간에 따라 느리게 변화하는 것을 나타내며, 장비를 켤 때마다 달라질 수 있다. Scale Factor Instability는 Scale Factor가 온도에 따라서 달라지는 것을 의미하며, 비선형성 오차 또한 발생할 수 있다. Random Walk는 흔히 노이즈라고 부르는 오차이며, 일반적으로 표준편차 값으로 특정 지어진다 (Titterton and Weston, 2004).
본 논문에서는 기존 연구에서 제안한 모델에서 드라이빙 시뮬레이터에서 적용이 어려운 Thermal Noise, Non-Linearity, g-Sensitivity를 제외한 IMU 오차 모델링을 적용한다 (Yang et al., 2007). 오차 모델링에 포함한 오차 요소들은 일반적으로 제조사에서 제공하는 센서 스펙에서 알 수 있는 정보이기 때문에 간단하면서도 실제와 유사한 센서 출력 생성이 가능하다. 본 논문에서 사용한 IMU 센서 오차 모델은 식 (6), (7)와 같다.
여기서 fout, ωout 은 각각 오차가 반영된 가속도와 각속도, Sa,Sg는 가속도와 각속도에 대한 Scale Factor, Na, Ng는 가속도와 각속도에 대한 Misalignment, ba,bg는 가속도와 각속도에 대한 Bias, bam,bgm는 가속도와 각속 도에 대한 Bias Instability, na,ng은 각각 Velocity Random Walk외 Angle Random Walk를 의미한다. 본 논문에 서 Bias와 Scale Factor는 상수, Random Walk는 White Gaussian Noise를 이용한다. Bias Instability는 식 (8)를 이용하여 1차 Gauss-Markov Process로 모델링한다 (Bochkati, 2014).
여기서 τ는 Correlation Time, w는 Bias Instability에 해당하는 White Gaussian Noise이다. Misalignment 오차 는 Body Frame에서 Sensor Frame으로의 변환을 통해 모델링한다. 작은 Misalignment 오차에 대해서 식 (9)과 같이 표현 가능하다.
여기서 ϕ,θ,ψ는 각각 Roll, Pitch, Yaw를 의미한다. 최종적으로, 센서 오차 모델링을 통해 IMU 에뮬레이터 를 구성하고 현실과 유사한 가속도와 각속도를 생성할 수 있으며 IMU 측정치 생성과 IMU 오차 생성 과정 을 <Fig. 2>과 같이 나타낼 수 있다.
Ⅲ. 실 험
1. 실험 환경 구성
<Fig. 1>과 같이 IMU 에뮬레이터를 위해 드라이빙 시뮬레이터 연결과 인터페이스 연동이 필요하다. 본 논문 에서는 MORAI 상용 드라이빙 시뮬레이터를 이용하였다. MORAI 시뮬레이터의 가상 차량에 GNSS 수신기 위 치가 고정되어 있음을 가정하고 해당 위치를 IMU 에뮬레이터의 센서 출력 위치로 설정한다. 위치 데이터 샘플 링 주기는 100Hz로 설정하였으며 다양한 특성을 반영하기 위해 차량은 가속, 감속, 정지, 좌회전, 우회전 등 다양한 시나리오를 포함하며 2분간 주행하였으며, 주행에 사용한 차량과 궤적은 <Fig. 3>과 <Fig. 4>와 같다.
2. IMU 오차 모델링 파라미터 설정
앞서 설명한 센서 오차 모델링 기법과 이를 드라이빙 시뮬레이터와 연동하여 사용하는 IMU 에뮬레이터 검증을 위해 각 IMU 센서 등급에 따른 상용 IMU를 선정하였으며 오차 요소는 제조사에서 제공하는 기술 사양을 참고하였다. IMU 측정치 생성 과정에서 위치와 자세는 드라이빙 시뮬레이터 내의 차량에 설치된 수 신기를 기준으로 하며, 생성된 가속도와 각속도를 출력하는 가상의 IMU 위치를 이와 동일하게 가정한다. 이 에 따라 식 (4)에 대한 Misalignment 오차는 0으로 가정할 수 있다. 최종적으로 IMU 센서 등급에 대한 오차 파라미터를 <Table 2>와 같이 설정하였으며, 이때 Navigation 등급 IMU 센서는 군에서 이용되는 만큼 정보가 제한적이기 때문에 군용 고성능 Navigation 등급 IMU 제품인 HG9900와 HG5700를 참고하여 오차 요소를 설 정하였다.
<Table 2>
IMU Data | Parameter | Unit | Consumer | Industrial | Tactical | Navigation |
---|---|---|---|---|---|---|
Accelerometer | Sa | ppm | 2000 | 300 | 120 | 100 |
Na | deg | 0 | 0 | 0 | 0 | |
ba | μg | 20000 | 2000 | 325 | 25 | |
bam | μg | 250 | 40 | 45 | 35 | |
h | 0.5 | 0.5 | 1 | 1 | ||
na | 1700 | 1400 | 102 | 0.3 | ||
Gyroscope | Sg | ppm | 1000 | 500 | 200 | 5 |
Ng | deg | 0 | 0 | 0 | 0 | |
bg | deg/h | 100 | 10 | 2 | 0.035 | |
bgm | deg/h | 14.5 | 8 | 0.1 | 0.01 | |
h | 0.5 | 0.5 | 1 | 1 | ||
NG | deg/h/g | 0 | 0 | 0 | 0 | |
ng | 2 | 0.21 | 0.012 | 0.002 | ||
Reference IMU | - | - | ADIS16448 (Analog devices 2023;Vectornav 2023) | VN200 (Vectornav, 2023) | P1750 (Novatel, 2023) | HG9900. HG5700 (Honeywell, 2023) |
3. IMU 오차 모델링 결과
앞서 생성한 주행 경로의 위치 데이터와 IMU 센서 등급에 따른 Bias, Bias Instability, Scale Factor, Random Walk를 오차 요인으로 하여 IMU 오차 모델링을 진행하였다. 차량이 다양한 동적 움직임을 갖는 시나리오로 주행하였기 때문에 가속도와 각속도의 변화가 크며 이는 <Fig. 5>와 <Fig. 6>와 같이 확인할 수 있다. 오차 모델링이 적절히 이루어졌는지 확인하기 위해 오차가 포함되지 않은 IMU 측정치 과 을 나타내는 Error-Free를 기준으로 오차 생성치의 경향을 비교한다. 등속 주행 구간을 나타낸 <Fig. 7>과 <Fig. 8>에서 IMU 센서 등급이 낮을수록 Bias, Bias Instability 및 Scale Factor의 영향으로 Error-Free에서 멀어지는 경향을 확인할 수 있다. 또한, Random Walk로 인해 출력값의 불규칙성이 IMU 센서 등급이 높을수록 작아지는 것을 확인할 수 있다.
IMU 에뮬레이터의 오차를 포함한 가속도와 각속도 출력값이 실제 IMU와 얼마나 유사한 지 확인하기 위해 GNSS-Denied 상황에서 IMU만을 이용하여 추정한 위치 정확도를 <Table 1>에서 제시한 시간 경과에 따른 수평 방향 위치 드리프트 경향과 비교한다. 오차 모델링을 통해 생성한 가속도와 각속도를 INS Mechanization을 이 용하여 위치 및 궤적을 구한다. <Fig. 9>은 각 등급에 대한 위치를 그린 결과로 <Table 1>에서 제시한 것과 같이 Consumer 등급과 Industry 등급의 위치 오차가 큰 것을 확인할 수 있다. 특히 Consumer 등급의 경우 오차 가 눈에 띄게 큰것을 확인할 수 있다. <Fig. 10>는 차량이 주행한 경로와 가깝게 확대한 결과로 Tactical 등급에 비해 Navigation 등급의 IMU 센서값 처리 결과가 차량이 주행한 경로와 경향이 유사함을 확인할 수 있다. 수치 적인 위치 오차 확인을 위해 <Fig. 11>은 시간 경과에 따른 IMU 에뮬레이션 출력치 처리 결과를 나타낸다. <Fig. 12>는 <Fig. 11>의 결과에서 오차 범위가 0m부터 10m 사이일 때에 대해 나타낸 것이다. 앞선 내용과 동 일하게 Consumer 등급에서 오차가 가장 큼을 확인할 수 있으며, <Fig. 12>에서는 Navigation 등급이 가장 작은 위치 오차를 가짐을 확인할 수 있다. <Table 3>은 <Table 1>에서 제시한 수치와 IMU 에뮬레이터의 위치 오차 결과를 함께 제시하였다.
IMU 에뮬레이터는 실제 IMU 센서의 오차 파라미터를 오차 모델링에 적용하고 이를 반영한 오차가 포함 된 출력치를 생성하기 때문에 실제 IMU 센서의 사양서에서 제시하는 오차 특성을 반영하여야 한다. <Table 2>에서 제시한 것과 같이 IMU 센서 등급이 높아짐에 따라 오차에 영향을 미치는 파라미터의 값은 작아지기 때문에 IMU 에뮬레이터는 IMU 센서 등급이 높아지면서 Error-Free에 가까운 출력을 생성해야 한다.
<Fig. 5>와 <Fig. 6>에서 제시한 결과는 IMU 센서 등급에 따라 Error-Free와의 차이와 출력값의 불규칙성 을 보이고 있다. 또한, 해당 출력을 이용하여 추정한 위치 정확도 역시 IMU 센서 사양에 따라 명확한 차이 를 보이고 있다. 이는 본 논문에서 제안한 오차 모델링 기법이 실제 IMU 센서의 오차 파라미터를 적절히 반 영하였기 때문에 나타난 결과이다. 이를 통해 IMU 에뮬레이터가 실제 IMU 센서와 유사한 출력을 생성함을 확인할 수 있다.
제안한 IMU 에뮬레이터 기법이 장기간 운용됨에도 <Table 1>과 같은 경향을 갖는지 확인하기 위해 동일 한 경로와 시나리오로 11분간 주행하였으며 주행 궤적과 이를 확대한 결과는 <Fig. 13>과 <Fig. 14>이며 <Table 4>에서 Reference와 IMU 에뮬레이터 위치 오차 결과를 제시하였다. <Fig. 13>은 Consumer 등급이 GNSS-Denied 상황에서 장시간 운용에 따른 위치 오차가 발산하였기 때문에 나온 궤적이다. <Fig. 14>에서 IMU 센서 등급에 따라 주행 궤적에서 멀어지는 정도의 차이를 볼 수 있으며 Navigation 등급에서 주행 궤적 과 멀어지는 정도가 가장 적음을 확인할 수 있다. <Fig. 15>와 <Fig. 16>은 수치적인 위치 오차를 나타낸 것 으로 앞선 실험 결과와 동일한 경향을 확인할 수 있으며, <Table 4>를 통해 Reference와 같이 등급에 따른 명 확한 오차 경향을 확인할 수 있다. 실험 결과를 통해 IMU 에뮬레이터가 실제 IMU 센서의 오차 특성을 반영 하고 있음을 알 수 있으며, 가상 IMU 센서가 실제 IMU 센서와 유사한 경향을 가지는 것을 확인할 수 있다.
다만, <Table 3>에서 Reference와 각각의 등급에 대한 IMU 에뮬레이터 결과가 약간의 차이를 보이는데, 이 는 3가지 이유가 있다. 첫번째 이유는 등급 내에서 IMU 센서 간의 성능 차이가 존재하기 때문이다. 같은 등 급에 속하더라도 제조사 또는 설계 목적에 따라 각각의 오차 요인에 대한 파라미터가 차이가 있으며 이는 동일한 등급 내에서 성능 차이가 발생하는 원인이 된다 (Movella, 2023). 따라서, IMU 에뮬레이터 설계 시 설 정한 등급을 기준으로 낮은 등급의 Reference 지표와 높은 등급의 Reference 지표 내에서 IMU 에뮬레이터의 결과가 도출된다면, 설계한 IMU 에뮬레이터가 실제 IMU 센서의 오차 파라미터를 적절히 반영한 것으로 볼 수 있으며 <Table 3>과 <Table 4>에서 제시한 결과는 이를 만족한다. 두번째 이유는 드라이빙 시뮬레이터에 서 IMU 센서의 운용 시나리오를 고려하였기 때문이다. IMU 센서는 GPS 센서와 함께 사용하는 통합항법시 스템으로 이용되는데, GPS를 사용할 수 없을 때 대체항법으로 IMU 센서를 이용한다. 자율주행 자동차에서 10분 이상 IMU 센서만을 이용해 위치를 추정하는 것은 GPS를 10분간 이용하지 못함을 의미하고 이러한 운 용 시나리오는 실제 운용 시나리오와 차이가 있다. 이에 따라 IMU 센서를 차량에 운용함을 가정하고 10분 동안 추정한 위치 결과는 Reference 지표와 차이가 발생할 수 있다. 다만, 해당 결과에서는 IMU 센서 등급에 따른 누적오차의 명확한 차이와 경향을 확인하는 것이 목적이며 실험결과는 이를 만족한다. 세번째 이유는 차량의 주행 경로이다. 차량의 주행 경로에 따라 IMU 센서는 다른 오차 경향을 나타내며 특히, Z축의 회전 에 대한 오차는 등급에 따라 차이가 크기 때문에 회전이 포함된 경로에 따라 오차 발생 추이가 달라질 수 있다. 이에 따라 첫번째 이유와 마찬가지로 Reference의 수치 경향을 기반으로 검증이 필요하며 제시한 결과 는 이를 만족하는 것을 확인할 수 있다. 따라서, IMU 에뮬레이터는 실제 IMU 센서의 오차 특성을 잘 반영하 고 있으며, 실제 IMU 센서의 등급에 따른 오차 성능 지표를 만족하고 있음을 보임에 따라 IMU 에뮬레이터 가 실제 IMU와 유사한 출력 생성하는 것을 확인할 수 있다.
Ⅳ. 결 론
본 논문에서는 자율주행 드라이빙 시뮬레이터와 현실 사이의 차이에서 발생하는 Sim2Real 문제 중 IMU 센서의 문제를 해결하기 위해 IMU 센서 에뮬레이터 설계 기법을 소개하였다. 드라이빙 시뮬레이터에서 실 시간으로 출력되는 위치 데이터를 이용하여 IMU 센서 측정치를 생성하였으며, 실제 IMU 센서의 특성을 반 영한 오차 모델링을 통해 실제 오차 요인이 반영된 가속도와 각속도를 생성하였다. Bias, Scale Factor, Misalignment, Random Walk에 따른 오차를 IMU 등급에 따라 모델링하였으며, 사용자가 원하는 사양의 IMU 센서 출력치를 생성할 수 있기 때문에 드라이빙 시뮬레이터를 활용한 자율주행 개발을 촉진할 수 있다. 또 한, 제조사에서 제공하는 센서 사양을 이용하여 등급에 따라 발생하는 IMU 센서 경향을 보임으로써 드라이 빙 시뮬레이터 IMU 센서의 Sim2Real 문제를 완화할 수 있음을 보였다. 다만, 제안한 기법은 미분과 적분 원 리에 기반하였고, 드라이빙 시뮬레이터가 차량의 다이나믹을 현실과 동일하게 묘사할 수 없기 때문에 별도 의 오차가 발생할 수 있다. 하지만, 이러한 오차는 위성, 잠수함 등 매우 정밀한 Navigation 등급을 요구하는 시스템이 아닌 드라이빙 시뮬레이터의 경우 자율주행 차량의 연구개발을 목적으로 하기 때문에 문제 요소로 작용하지 않는다. 이에 따라 본 논문이 제안하는 IMU 센서 에뮬레이터 설계 기법은 드라이빙 시뮬레이터에 적용하기 적합하며 현실과 유사한 IMU를 드라이빙 시뮬레이터에 실현 가능하다.