Journal Search Engine

View PDF Download PDF Export Citation Korean Bibliography PMC Previewer
The Journal of The Korea Institute of Intelligent Transport Systems Vol.20 No.6 pp.242-263
DOI : https://doi.org/10.12815/kits.2021.20.6.242

Development of Commercial Game Engine-based Low Cost Driving Simulator for Researches on Autonomous Driving Artificial Intelligent Algorithms

Ji Ung Im*, Min Su Kang**, Dong Hyuk Park**, Jong hoon Won***
*Dept. of Department of Electrical and Computer Eng., Graduate School of Inha University
**Dept. of Department of Electrical and Computer Eng., Graduate School of Inha University
***Dept. of Department of Electrical Eng., Inha University
Corresponding author : Jong hoon Won, jh.won@inha.ac.kr
2 August 2021 │ 27 August 2021 │ 26 November 2021

Abstract


This paper presents a method to implement a low-cost driving simulator for developing autonomous driving algorithms. This is implemented by using GTA V, a physical engine-based commercial game software, containing a function to emulate output and data of various sensors for autonomous driving. For this, NF of Script Hook V is incorporated to acquire GT data by accessing internal data of the software engine, and then, various sensor data for autonomous driving are generated. We present an overall function of the developed driving simulator and perform a verification of individual functions. We explain the process of acquiring GT data via direct access to the internal memory of the game engine to build up an autonomous driving algorithm development environment. And, finally, an example applicable to artificial neural network training and performance evaluation by processing the emulated sensor output is included.



자율주행 인공지능 알고리즘 연구를 위한 상용 게임 엔진 기반 초저가 드라이빙 시뮬레이터 개발

임 지 웅*, 강 민 수**, 박 동 혁**, 원 종 훈***
*주저자 : 인하대학교 대학원 전기컴퓨터공학과 석사과정
**공저자 : 인하대학교 대학원 전기컴퓨터공학과 석사과정
***교신저자 : 인하대학교 전기공학과 부교수

초록


본 논문은 자율주행 알고리즘 개발을 위한 저비용 드라이빙 시뮬레이터 구축 방법을 소개한다. 이는 물리엔진을 적용한 상용게임 소프트웨어인 GTA V를 활용하여 구현되며 자율주행 시스템에 필요한 다양한 센서 출력값 및 데이터를 에뮬레이션하는 기능을 내장한다. 이를 위해 GTA V 내 부 데이터를 취득할 수 있는 Script Hook V의 NF를 활용하여 GT 데이터를 취득하고, 이를 활용하 여 다양한 자율주행용 센서 데이터를 생성한다. 본문에서는 설계된 드라이빙 시뮬레이터의 전반 적인 기능들을 소개하며, 개별 기능에 대한 검증을 수행한다. 자율주행 알고리즘 개발 환경 구축 을 위해 게임 엔진 내부 메모리 접근을 통한 GT 데이터를 취득하는 과정을 설명하고, 에뮬레이션 된 센서값을 처리 및 활용하여 인공 신경망 학습 및 성능평가에 적용 가능한 예시를 제시한다.



    Ⅰ. 서 론

    드라이빙 시뮬레이터는 자율주행 알고리즘 개발 시, 시간과 비용을 획기적으로 단축하여 연구 개발 및 검 증 단계에서 매우 효과적으로 사용되는 도구이다(Blana, 1996). 현재 다양한 드라이빙 시뮬레이터가 상용화되 어 있으며, 차량 동역학뿐만 아니라 다양한 센서 시스템이 모델링되어 ADAS1) 및 AD2) 시스템 개발에 기여 하고 있다. 이는 컴퓨터 기술의 발전으로 이전보다 복잡한 차량 동역학, 센서 시스템, 시나리오 등을 컴퓨터 시뮬레이션 상에 구현하여 드라이빙 시뮬레이터가 자율주행 알고리즘을 구현 및 검증할 수 있는 효과적인 도구임을 의미한다(Godley et al., 2002).

    <Fig. 1>과 같이 IPG의 Automotive Simulation Software(IPG, 2021), TESIS의 DYNAware(Vector, 2021), Mechanical Simulation Coperation의 CarSim및 TruckSim(Mechanical, 2021), TASS의 PreScan(Tass, 2021), AVSimulation의 SCANeR Studio(AV, 2021) 등과 같은 상용 드라이빙 시뮬레이터가 시장에서 주류를 이루며, 이러한 시뮬레이터들은 Camera, LiDAR, Radar, GPS 등과 같은 센서 데이터 에뮬레이션 기능과 차량 동역학 시뮬레이션 기능을 지원하기 때문에, 해당 시뮬레이터를 이용한 자율주행 알고리즘 연구가 다양하게 진행되고 있다. 이 중 TruckSim 시뮬레이터를 사용 한 연구인 6륜의 특수 트럭에 대한 고속 주행 조건에서의 주행 제어 알고리즘과 미끄러짐으로 인한 차량의 제어 기능을 잃지 않기 위한 횡방향 운전자 모델 연구가 있다(Joa et al., 2015). 또한, 지능형 자동차 안전 시스템 개발을 위해 Prescan을 기반으로 HIL3)환경을 구축하여 1000개의 시나리오에 대한 성능 검증 및 평가가 수행되었다 (Hendriks et al., 2010). 이처럼 드라이빙 시뮬레이터를 활용하여 SIL4), HIL, VIL5)까지 개발 환경을 구성할 수 있다. 마찬가지로 Chucholowski et al.(2016)는 게임 엔진인 Unity를 기반으로 실제 환경과 유사한 가상환경을 개발하였다. GPU를 이용하여 시각화 및 센서 유형별 모델링을 수행하였으며, 도심지 환경을 생성함으로써 실제 환경에서 GT6) 데이터를 취득하는 데 필요한 비용을 절감할 수 있다. 하지만 기존 상용 시뮬레이터의 경우 그래픽 성능이 부족하 거나, 고가의 비용이 지출된다는 문제점이 있다. 또한, 스마트시티와 같은 V2X7) 통신환경을 구현하기 위해서는 상 당한 제약 조건이 발생하며, 이는 기존 상용 시뮬레이터가 앞으로 해결해 나가야 할 과제를 의미한다.

    <Fig. 1>

    Commercial Simulator Examples: (a) IPG, (b) Carsim, (C) Pre-scan and (d) SCANeR Studio

    KITS-20-6-242_F1.gif

    위와 같이 실제 환경과 유사한 가상환경을 구현하기 위해 사용되는 게임 엔진은 현재 다양하게 개발되어 상 용화되고 있다. 이 중 Unity와 Unreal 게임 엔진이 대표적이며, 상반된 장단점을 가지고 있다. 먼저 Unity 게임 엔진의 경우 상대적으로 낮은 기술 진입장벽을 가지고 있어 개발에 대한 적응이 용이하며, PC, 모바일 등 다양 한 플랫폼에서 활용할 수 있는 범용성을 가진다. 하지만 Unity 게임 엔진의 특성상 상대적으로 높은 비용과 계 산 효율성 이슈로 인해 드물게 소프트웨어 버그가 발생하는 경우가 있다. 대표적으로 Unity 게임 엔진 기반 시 뮬레이터 중 MORAI SIM은 자율주행용 데이터셋 구축과 딥러닝 모델 설계를 위해 개발된 드라이빙 시뮬레이 터이다. 이는 실제 국내 도로 환경 정보를 바탕으로 한 가상환경을 제공하며, GT 데이터 취득을 위해 각 센서 를 모델링함으로써 딥러닝 기반 자율주행 시스템을 연구할 수 있는 환경이 설계되어 있다(Yoon et al., 2020). 이 와 반대로 Unreal 게임 엔진은 Github등의 개발 홈페이지에 소스 코드가 공개되어 있으며, 개발자들에게 높은 그래픽 성능의 개발 환경을 제공한다. 그러나 이를 활용하기 위해서는 고성능의 개발 환경이 수반되어야 하며, 상대적으로 적은 개발 자유도를 가지고 있다(Šmíd, 2017). 대표적으로 Unreal 게임 엔진 기반 시뮬레이터 중 AirSim은 Microsoft에서 개발한 시뮬레이터이며, 차량 또는 드론을 개발할 수 있는 시나리오 환경이 구현되어있 다. 이는 차량이나 드론의 상태와 관련한 API8)를 제공해주며, 자율주행 및 영상처리, 인공지능 알고리즘 등의 연구를 진행할 수 있는 환경이 설계되어 있다(Shah, 2018). 이처럼 게임 엔진을 주축으로 한 자율주행 시뮬레이 터 개발 사례와 높은 그래픽 현실성을 반영하는 기술을 통해 게임 엔진의 필요성이 점차 증가하고 있다.

    이처럼 기존 연구들은 상용 드라이빙 시뮬레이터를 활용한 자율주행 알고리즘 및 시스템 개발에 초점이 맞 추어져 있으며, 드라이빙 시뮬레이터 자체 개발에 관한 공개된 문헌 자료는 극히 일부이다. 최근 높은 현실성 을 반영하는 게임 엔진을 활용하여 주로 자율주행 인지 분야에서 연구하는 사례가 보고되고 있으나, 이는 자율 주행에 이용되는 각종 센서를 에뮬레이션하는 드라이빙 시뮬레이터를 자체 개발하는 것이 아닌 가상으로 생성 된 일부 현실성 있는 데이터를 가상으로 처리하는 것에 초점이 맞추어져 있다. 여기에 발생 가능한 다양한 센 서 오차를 효과적으로 모델링하여 포함한 센서 에뮬레이션 및 실차 다이나믹을 현실적으로 반영한 제어부의 추가는 시뮬레이션 기반 가상환경과 실도로 주행 자율주행 자동차 사이의 차이(Gap)을 줄여 자율주행 자동차 알고리즘 및 시스템 개발의 기간과 노력을 획기적으로 줄일 수 있다. 하지만 대부분의 고가 상용 드라이빙 시 뮬레이터는 최신 그래픽 기술을 아직 적응하지 못하고 있으며, 이로 인해 자율주행용 센서 중 가장 중요한 Camera 데이터 에뮬레이션 측면에서 현실과는 큰 괴리감이 존재한다. 그러므로 본 논문에서는 실제 환경과의 정합성 증대를 위해 RAGE9) 게임 엔진을 사용한 GTA V10)를 활용하여, 자율주행 인공지능 알고리즘 연구가 가 능한 드라이빙 시뮬레이터 구현한다. GTA V의 경우 그래픽 성능이 우수하며, 타 상용 시뮬레이션보다 극히 저 렴하다. 또한, FiveM(2021)을 통해 사용자가 용이하게 서버 환경을 구축할 수 있으며, 이를 통해 V2X 환경을 생 성할 수 있다. 이러한 장점으로 GTA V를 이용한 다양한 연구가 진행되고 있다. 대표적으로 Martinez et al.(2017)는 GTA V의 모든 개발자와 협력하여 480,000장 이상의 Labeling 된 이미지 데이터를 획득하고, 이를 통 해 Lane 사이의 거리, 자동차와의 거리, 그리고 차량의 Heading 각도에 대한 CNN11) 학습이 진행되었다. 또한, Yue et al.(2018)은 GTA V 내 LiDAR 센서를 모델링 하였으며, 이를 통해 Annotation 된 데이터셋을 생성하였다. 이후 KITTI와 GTA V에서 생성된 데이터셋을 기반으로 한 신경망을 각각 구성하여 성능을 비교한 결과, 두 개 의 데이터셋을 사용한 신경망 성능이 비교적 향상되었다. 그뿐만 아니라, Im(2020)은 연구의 초기 결과물로써, GTA V 환경에서 자율주행차량을 설계하기 위해 실제 각 센서를 모델링하는 방법을 제시하였으며, 이를 검증 하는 방법 및 결과를 도출하였다. 또한 이를 확장하여 Kang et al.(2020)은 FiveM을 기반으로 서버를 구축하였 고, 다중사용자들이 하나의 시나리오에 접근시킴으로써 상호 간 V2X 통신할 수 있는 환경을 구현하였다.

    본 논문에서는 자율주행 인공지능 알고리즘 연구를 위해 상용게임인 GTA V를 활용하여 초저가 드라이빙 시뮬레이터를 구성하는 방법을 제시한다. 이를 위해 사용된 Script Hook V 및 Native DB를 이용한 GT 데이 터 접근법, Ray Cast Method를 이용한 주변 데이터 취득 방법을 제시한다(AB, 2021). 취득한 GT 데이터 및 이미지 데이터를 통해 절대 위치 측정 센서, 상대 위치 측정 센서, Camera 센서, V2X 센서에 대한 센서 모델 링 방법을 제시하며, 기존에 자체 개발한 Matlab 기반 센서 데이터 처리기 및 소프트웨어를 통해 실제 센서 와의 교차 검증을 수행한다. 또한, 각 센서 모델을 통합한 시뮬레이터의 전반적인 구조와 결과를 서술한다.

    Ⅱ. 시뮬레이터 설계

    1. 데이터 취득

    상용게임 기반으로 드라이빙 시뮬레이터를 구현하기 위해서는 해당 상용 게임 소프트웨어의 내부 프로세 스에 접근하여야 하며, Pipeline 통신을 통해 외부에서 데이터를 취득할 수 있어야 한다. 또한, 적절한 모델링 으로 실제 센서와 유사한 출력을 제공하여야 한다. 본 논문에서 사용한 상용게임 소프트웨어인 GTA V의 내 부 데이터는 Script Hook V로 취득할 수 있으며, Script Hook V의 NF12)을 통해 날씨, 시간 등 외부 환경을 변 경하거나 Ray Cast 함수를 통해 주변 객체 정보를 추출한다. Object의 Position, Roll, Pitch, Yaw, Speed Vector, Rotation Velocity, Type, Steering Angle, Break 등과 같은 정보를 추출할 수 있으며, Tire, Gear, Clutch 등 세부 적인 정보 또한 추출 및 변경을 할 수 있다. 이를 통해 다양한 시나리오 환경 생성과 센서를 모델링할 수 있 다. <Fig. 2>는 Script Hook V를 활용한 내부 데이터 취득 결과를 나타내며, 우측 이미지는 좌측 이미지에 해 당하는 데이터를 표현한다. 상단부터 시간, Object의 종류, ID, ENU13) Position이 출력되며, 하단에는 사용자 의 ENU Position과 Roll, Pitch, Yaw, Speed Vector가 출력되는 것을 확인할 수 있다.

    <Fig. 2>

    Object Information Acquisition Process by NF

    KITS-20-6-242_F2.gif

    이미지 정보 역시 Script Hook V로 취득할 수 있으며, <Fig. 3>과 같이 NF을 활용하여 이미지 및 라벨링 정보 (GT)를 추출할 수 있다. 즉, 대상에 대한 객체 종류 및 다양한 GT 정보가 라벨링 정보에 기입되며, 그림과 같이 종류에 따라 다른 3D Bounding Box 색상이 표시된 것을 확인할 수 있다. 이후 위 정보와 차량 내 센서 장착을 위 한 기하학적 배치를 고려하여 절대 위치 및 상대 위치, Camera 센서에 대한 모델링과 V2X 통신환경을 구현한다.

    <Fig. 3>

    Ground Truth Data and 3D Bounding Boxes by NF

    KITS-20-6-242_F3.gif

    2. 센서 에뮬레이션

    1) GPS/IMU 에뮬레이션

    GPS 센서를 모델링하기 위해 NF 출력 중 사용자의 위치정보를 활용한다. 이때 NF가 출력하는 사용자 위 치정보는 게임 시나리오 내 임의의 Local 평면 직교 좌표계이므로, 이를 ENU 항법 좌표계로 우선 변환 후 최종적으로 GPS가 사용하는 WGS8414)ECEF15)좌표계 또는 LLH16) 좌표계로 <Fig. 4>와 같이 변환한다 (Kaplan and Hegarty, 1996). 이를 변환하기 위해 기준점을 사전에 지정해야 하며, 본 연구에서는 편의성을 위 해 GTA V 도시 중 Little Seoul의 서울정을 현실의 임의의 지점(원점)으로 선정하였다.

    <Fig. 4>

    Coordinate Systems (ECEF, LLH, ENU)

    KITS-20-6-242_F4.gif

    차량에 장착된 GPS 센서는 차량 내 Mount 위치 좌표를 생성하게 된다. 드라이빙 시뮬레이터에서는 이와 같은 특성을 준하여, 센서를 설정할 수 있는 GUI를 통해 Mount 위치를 설정할 수 있는 기능을 추가하였다. 또한, 비의도적 RFI17)로 인해 발생하는 GPS 항법 센서의 측정오차 상황을 구현하여 현실성을 반영하기 위 해, 생성된 GPS 값에 재밍 강도에 따라 선형적으로 증가하는 AWGN18)을 추가하는 기능을 구현하였다.

    다음으로 IMU 센서의 자이로와 가속도 센서를 에뮬레이션하기 위해, IMU 센서가 차량 내부 중심에 있는 것으로 가정하였다(설정을 통해 변경 가능). 이후 NF에서 사용자의 Roll. Pitch, Yaw, Speed Vector, Rotation Velocity를 활용한다. 차량의 회전 관성을 이용하는 자이로 센서는, NF 중 x, y, z축에 대한 차량의 회전속도 값을 가진 Rotation Velocity를 통해 모델링한다. 또한, 자이로 센서의 Grade에 따른 실제 측정 오차 누적을 모 델링하여 현실성을 반영하기 위해 가변적인 임의의 바이어스 및 AWGN을 추가하는 기능을 구현하였다.

    가속도 센서는 자이로 센서와 달리 적은 오차율을 가지며, 중력 가속도에 대한 오일러 회전이 수행된다.

    각 축의 중력 가속도와 Speed Vector 값을 더해 가속도 센서가 에뮬레이션 되며, 실제 중력 가속도와 Speed Vector에 미세한 오차가 발생하는 상황을 모델링하여 현실성을 반영하기 위해 AWGN를 추가하였다. <Table 1>은 본 논문에서 사용한 GPS와 IMU의 데이터 포맷을 나타내며, 센서 종류 및 시간, Payload length 을 포함하는 Header와 센서의 데이터를 포함하는 Payload로 이루어져 출력된다(Payload, 2021). GPS 데이터의 경우 Default로 10Hz 주기로 출력되며, IMU는 40Hz 주기로 출력된다(가변가능).

    <Table 1>

    Data Format of GPS/IMU in the Designed Driving Simulator

    KITS-20-6-242_T1.gif

    2) LiDAR/Radar/Ultrasonic 에뮬레이션

    LiDAR, Radar, Ultrasonic을 통칭하는 자차 기준으로 주변 상황 객체의 상대 위치 측정을 통한 인지 센서를 에뮬레이션하기 위해, NF에서 제공하는 Ray Cast 함수를 사용한다. 먼저 LiDAR 센서를 모델링하기 앞서 센 서의 사양을 설정한다. 개발한 드라이빙 시뮬레이터에서는 LiDAR 센서X 의 Azimuth 및 Elevation, Range, 채 널 수, Mount 등을 GUI로 설정할 수 있으며, 본 논문에서는 편의상 기본값으로는 360º Azimuth, ±15° Elevation, 100m Range, 4채널, 차량 중심부 Mount로 설정하였다. 이는 실험에 사용한 저가 상용 PC의 제원을 고려함이다. 또한, 2.0º Angular Resolution(Vertical)과 0.4º Angular Resolution(Horizental)의 성능을 가진 LiDAR 로 설정하였다. LiDAR 센서를 모델링하기 위해 Ray의 방사 패턴을 설정한 뒤, 분해능과 ROI19)를 지정한다. 이후 Ray를 오일러 회전으로 방사하며, 부딪히는 Point 데이터를 반환하는 구조로 구현한다. 또한, 실제 악천 후 상황 또는 각종 알 수 없는 측정 오차를 구현하기 위해 AWGN을 더하는 기능을 추가하였다.

    Radar 센서 사양은 앞의 LiDAR 센서 사양 설정과 동일하며, 기본값으로 40°의 Azimuth, ±15° Elevation, 250m Range, 차량 전방에 Mount 되어 설정된다. 이 또한 GUI로 설정을 수정할 수 있으며, 실제 Radar가 물체 를 탐지하는 과정에서 거리에 비례하여 데이터 전파 각도 분해능 제약에 의한 측정오차가 증가하는 것을 모 델링하여 현실성을 반영하기 위해 측정 거리마다 가변하는 AWGN을 추가하였다(Meinl et al., 2017).

    Ultrasonic 센서 또한 기본값으로 60°의 Azimuth, ±15° Elevation, 4m Range, 전방 및 후방, 측방 총 6 군데 Mount로 사양을 설정하였다. 마찬가지로 GUI 설정이 가능하며, 감지 범위 내에 있는 주변 차량의 상대적 위 치를 반환할 수 있도록 모델링 하였다. <Table 2>은 본 논문에서 사용한 LiDAR 및 Radar, Ultrasonic 데이터 포맷을 나타내며, <Table 1>과 같이 Header와 Payload로 이루어져 있다. 본 연구에서는 실험에 사용한 저가 상용 PC의 제원을 고려하여 4채널과 0.25의 Resolution을 가진 LiDAR로 설정하였으며, 이에 <Table 2>와 같 이 23048byte의 데이터가 5~15Hz 주기로 출력된다. Radar 또한 LiDAR 채널 수에 맞춰 10~20Hz 주기로 출력 되며, Ultrasonic은 총 24byte의 데이터가 10~20Hz로 출력된다. 단, 사용하는 PC의 활용에 따라 채널 수 및 출 력 주기 성능 향상이 가능하다.

    <Table 2>

    Data Format of LiDAR, Radar and Ultrasonic in the Designed Driving Simulator

    KITS-20-6-242_T2.gif

    3) Camera 에뮬레이션

    Camera 센서를 에뮬레이션하기 위해 실제 렌즈에서 발생하는 왜곡 및 렌즈의 종류에 따른 FOV20)를 사전 에 고려하여야 한다(Forsyth and Ponce, 2003). NF는 FOV 및 DOF21), NC22), FC23)등 다양한 함수를 제공하며, 이를 통해 Camera 센서의 사양 설정, 렌즈 왜곡 및 FOV를 변경할 수 있다. 개발한 드라이빙 시뮬레이터에서 는 Camera 센서의 Width와 Height, FOV 등을 GUI로 설정할 수 있으며, 기본값으로 편의상 800 Width, 600 Height, 120º FOV가 설정된다. 또한 실제 Camera 센서는 빛의 양에 따라 ISO24) 감도를 설정하는데, 이 과정 에서 노이즈가 발생하게 된다(Yasuma et al., 2010). 이와 같은 환경을 모델링 하여 현실과의 괴리감을 줄이기 위해, 본 연구에서는 날씨 및 시간에 따라 변화하는 빛의 양을 임의로 설정하여 가변적인 AWGN을 추가한 Camera 노이즈 환경을 구현하였다. <Fig. 5(a)>는 노이즈가 없는 기존 화면이고, <Fig. 5(b)>에서 <Fig. 5(d)>는 차례로 평균 0, 표준편차가 5.0씩 증가한 AWGN이 추가된 화면이다. 본 논문에서 사용한 Camera 센서 출력 형식은 <Table 3>과 같으며, 이미지 데이터 및 GT Annotation 데이터가 포함되어 출력된다.

    <Fig. 5>

    Camera Image Captures: (a) Original N(0) (b) N(5) (c) N(10) (d) N(15)

    KITS-20-6-242_F5.gif
    <Table 3>

    Data Format of Camera in the Designed Driving Simulator

    KITS-20-6-242_T3.gif

    4) V2X 에뮬레이션

    V2X 통신환경은 SAE25) J2735에서 제정한 V2X 메시지 규격을 준수하여 드라이빙 시뮬레이터에 최적화된 메시지 형식으로 구성한다(Chen et al., 2017). 대표적으로 차량과 차량이 통신하는 V2V26)와 차량과 Infrastructure 간 통신하는 V2I27)가 있으며, BSM28), PVD29), MAP, SPaT30)등의 메시지로 차량 및 주변 환경에 대한 데이터가 송수신된다. 실제 스마트시티에서는 V2X를 활용하여 통신할 수 있는 환경이 구축돼 있으며, 협력형 자율주행 알고리즘을 활용하여 차량에 장착된 각 센서의 한계를 보완해주고 있다. 실제 스마트시티 의 V2X 통신환경을 가상적으로 구현하기 위해 TCP/IP를 통해 구축하였으며, V2X 메시지 규격에 기초하여 본 논문에서는 <Table 4>와 같은 형식으로 입출력되는 것으로 가정하였다. <Table 4>는 대표적으로 BSM과 PVD의 필수 메시지 형식을 나타내며 Message Type에 따라 메시지를 구분하여 각 10Hz와 1Hz로 입출력한다. 이와 같은 V2X 에뮬레이션을 위하여 개발한 드라이빙 시뮬레이터에서는 Gateway 모듈을 구성하여 활용한 다. Gateway는 하나의 서버를 생성한 뒤, 서버 내에 접속한 사용자에게 V2V, V2I 통신할 수 있는 환경을 제 공한다. Gateway의 사용은 드라이빙 환경 및 각종 센서 데이터를 생성하는 시뮬레이터 부와 이를 처리하는 자율주행 프로세서 부를 물리적으로 분리하고 데이터 연동을 통하여 통합함으로써, 실제 자율주행 실차 검 증 시 다양한 시나리오를 구성하여 검증을 효율적으로 진행할 수 있다.

    <Table 4>

    Data Format of V2X in the Designed Driving Simulator

    KITS-20-6-242_T4.gif

    3. 개발 시뮬레이터 기능 소개

    <Fig. 6>은 Script Hook V의 NF를 활용하여 GTA V 기반 드라이빙 시뮬레이터로부터 데이터를 추출하는 과정을 Block Diagram으로 나타낸 것이다. Lower 부에서는 NF로 GTA V 내 차량 동역학 및 주변 환경, 모델 링 된 각 센서 데이터를 출력한다. 각 데이터는 UDP31) 통신으로 Upper 부의 Internal Module에 전송된다. Internal Module에서는 사용자가 센서 사양이나 차량, 주변 환경을 설정할 수 있으며, 설정된 값을 NF가 입력 받아 Lower 부의 데이터를 변경하는 Loop 형태로 구성되어 있다. 또한, Upper 부의 V2X 통신을 수행하기 위 해, Lower 부의 GPS/IMU 데이터가 UDP로 전송되는 구조로 이루어져 있다.

    <Fig. 6>

    Block Diagram of the Driving Simulator

    KITS-20-6-242_F6.gif

    Internal Modules의 UDP 네트워크는 <Fig. 7>와 같이 드라이빙 시뮬레이터의 분산 아키텍처를 지원하는 응 용 프로그램 간 메시지 전송에 사용된다. 먼저 Simulation Module은 드라이빙 시뮬레이터를 동작시키기 위한 GUI로, 사용자의 차량을 수동 및 자율주행 모드로 선택할 수 있는 도구이다. 이는 사용자가 수동으로 주행하 거나 자율적으로 환형 주행을 할 수 있다. Analysis Module은 드라이빙 시뮬레이터에서 출력되는 데이터의 가독성을 높이기 위한 GUI를 제공한다. 수치상으로 측정된 주행환경 및 주변 정보, Preset Meta Data의 log 기능을 수행할 수 있으며, 이를 기반으로 주변 객체의 인식률 및 오 인식률 측정, 경로계획 및 제어 알고리 즘의 성능을 평가할 수 있다. Sensor Module은 GPS/IMU 및 LiDAR/Radar/Ultrasonic 등 모델링 된 센서에서 출 력되는 데이터를 육안으로 식별 가능한 GUI를 제공한다. 또한 <Fig. 8>과 같이 센서의 위치 및 상태를 개별 적으로 설정할 수 있는 Module로 이루어져 있다.

    <Fig. 7>

    Internal Modules of the Designed Driving Simulator

    KITS-20-6-242_F7.gif
    <Fig. 8>

    Sensor Module Interface of the Designed Driving Simulator

    KITS-20-6-242_F8.gif

    Dynamics Model Module은 NF에서 제공하는 차량 모델 중 하나를 선택할 수 있는 GUI를 제공한다. 400종의 차량 모델을 선택할 수 있으며, 총 38가지의 차량 성능 요구사항 및 한계 조건과 그에 따른 차량 동역학 변인 과 매칭되는 Handling meta values를 제공한다. Gateway Module은 앞서 설명한 것과 같이 시뮬레이션 부와 자 율주행프로세서 부를 하드웨어적으로 분리할 수 있는 기능을 제공함과 동시에, 서버를 생성하여 복수의 사용 자가 Co-Simulation을 할 수 있는 Interface를 제공한다. 하나의 환경에서 동시적으로 드라이빙 시뮬레이션을 진 행함으로써 독립형 드라이빙 시뮬레이터의 기술적 한계를 극복할 수 있다. 그 외에 Visual 및 Sound, Scenario, Traffic, Map Module 등이 있으며 각 Module에 대한 설명은 <Table 5>를 통해 확인할 수 있다.

    <Table 5>

    Description of the Internal Modules of the Designed Driving Simulator

    KITS-20-6-242_T5.gif

    4. 다중 사용자 환경 구성

    앞 절에서 설명한 GTA V 기반 드라이빙 시뮬레이터는 단일사용자(single user)용이며 향후 고속도로 및 도시 부 도로와 같은 실도로 기반의 다양한 자율주행 자동차 실증 및 서비스 진행에 효과적으로 대응하기 위하여 다 중사용자(multi user) 기능이 필요하다. 또한, 이는 미래 협력형 자율주행 기술 개발에도 중요한 요소이다. 이를 위하여 본 논문에서 FivM 서버 기술을 활용하여 다중사용자 환경을 구성하였다. 이를 위하여 <Fig. 9>와 같이 Client PC 하드웨어를 구성하며, 모니터링이 가능하도록 각 PC를 개별적으로 모니터와 연동하였다. FiveM을 사 용하는 Supervisor PC는 서버를 생성할 수 있으며, 생성 이전에 Client 인원 제한 및 시나리오 생성이 가능하다. 또한, Client PC는 생성된 서버에 접속하여 다른 Client와 Supervisor PC 간 통신을 할 수 있다. FiveM을 이용할 시 총 255대까지의 다중사용자 접속이 가능하다. 본 연구에서는 PC 구성의 한계로 Intel(R) Core(TM) i5-9400F CPU, 8.0GB Memory, NVIDIA GeForce GTX 1650 GPU의 성능을 가진 하드웨어 4대를 좌측 그림과 같이 구성하 였다. 이후 동일한 서버에 접속한 4대의 Client PC를 우측 화면과 같이 실시간으로 확인할 수 있다.

    <Fig. 9>

    Client PC‘s for Multi Agent in the Driving Simulator

    KITS-20-6-242_F9.gif

    Ⅲ. 센서 에뮬레이션 기능 검증

    1. GPS/IMU 검증

    GPS/INS 통합 항법 알고리즘 개발 목적으로 Matlab 기반으로 기개발한 GPS/IMU 측정치 생성 소프트웨어 를 활용하여 GPS와 IMU 센서 에뮬레이션 기능을 검증한다. 이 소프트웨어는 3차원 공간상에서 이동하는 이 동체의 위치 궤적 및 자세 각 정보를 입력받고 GPS 궤도정보에 기반하여 GPS 원시 측정치 및 위치/속도 해를 출력한다. 또한 IMU 센서 오차 모델링에 기초하여 3축 자이로 및 3축 가속도계 측정치를 출력하는 기능을 갖 는다(Won, 2005). 따라서 개발한 드라이빙 시뮬레이터가 출력하는 차량의 이동궤적 정보를 GPS/IMU 측정치 생성 소프트웨어에 인가하여 얻은 결과와 드라이빙 시뮬레이터 내 GPS/IMU 센서 에뮬레이션 부에서 출력하 는 결과를 비교하는 방식으로 GPS/IMU 에뮬레이션 부를 검증한다(Ji and Won, 2018). GPS 센서는 MRP-2000 RTKGPS 모델을, IMU 센서는 VectorNav VN-200 모델의 출력을 에뮬레이션하도록 개발한 드라이빙 시뮬레이 터 센서를 설정하였다(MRP-2000, VectoreNav, 2021). 이때 GPS 에뮬레이션은 차량의 위칫값이므로 간단한 차 분을 통하여 쉽게 검증 가능하므로 본 논문에서는 IMU 에뮬레이션 기능 검증에 중점을 두고 설명한다.

    <Fig. 10>은 Matlab 기반 IMU 측정치 생성 소프트웨어를 이용하여 얻은 z축 자이로 결과와 드라이빙 시뮬 레이터의 동일한 축 방향 자이로의 결과를 동시에 표현한 것이다. 드라이빙 시뮬레이터와 Matlab 시뮬레이터 모두 측정치 잡음이 없는 상태를 가정하였다. 측정치 잡음을 설정하지 않았음에도 불구하고 Matlab 시뮬레이 터의 출력에서 피크가 발생하는 이유는 Matlab 시뮬레이터는 위치 및 자세 각 입력을 차분해서 측정치를 출 력하는데, 연속된 신호를 차분하면서 발생하는 오차 때문이다. 그림에서 보듯이 드라이빙 시뮬레이터는 차량 의 움직임에 따라 가변하는 궤적을 보이며 Matlab 기반 소프트웨어 결과와 유사한 경향을 보이는 것을 확인 할 수 있다. <Fig. 11>는 2가지 방식에 의해 생성된 IMU 측정치를 순수 INS 항법 식에 의하여 추정한 이동 차량의 헤딩을 나타낸다. GPS 보정 없이 순수 INS 항법식만을 이용하여 비교하는 이유는 GPS 위치추정을 이용할 경우 IMU 측정치만의 영향을 분리하여 분석할 수 없기 때문이다. 그림에서 보듯이 앞서 설명한 오차 에 따라 약간의 차이가 있으나 유사한 헤딩을 출력하는 것을 볼 수 있다.

    <Fig. 10>

    Verification Gyro Result of IMU Sensors using Matlab and GTA V-based Simulators

    KITS-20-6-242_F10.gif
    <Fig. 11>

    Verification Heading Result of IMU Sensors using Matlab and GTA V-based Simulators

    KITS-20-6-242_F11.gif

    2. LiDAR/Radar/Ultrasonic 검증

    드라이빙 시뮬레이터 내 Lidar/Radar/Ultrasonic의 경우, 실제 센서의 빛, 전파, 음파 등의 특성을 반영하여 개별 센서의 특성을 모델링하는 난해한 과정이 필요하다. 이는 환경적 요인으로 발생하는 빛의 굴절 및 감쇄 현상, 전파 파장의 회절 현상 등을 모델링하는 과정이 필요하며 본 연구에서 개발한 현 단계의 드라이빙 시 뮬레이터는 기능 구현에 초점이 맞추어져 있다. 따라서 본 논문에서는 센서의 기능 구현에 초점을 맞추어 각 센서를 간략히 모델링 하였다.

    <Fig. 12>의 좌측은 자율주행 드라이빙 시뮬레이터 내에서 Host Vehicle을 중심으로 전방 및 측방에 차량 NPC AI를 추가한 그림이다. Host Vehicle은 Ray Casting하여 얻은 3D Point Data에 기반하여 LiDAR, Radar, Ultrasonic 센서 기능을 구현한다. 이를 2D로 투영하여 시각화하는 방식으로 GUI를 구현한다. 4채널로 모델 링 된 LiDAR 센서는 <Fig. 12>의 우측 그림과 같이 Bird Eye View 형태로 Point가 출력되며, Radar 또한 녹색 점과 같이 SRR32), MRR33), LRR34)로 나누어 출력된다. Ultrasonic은 감지 범위 내에 있는 주변 차량의 상대적 위치를 기반으로 적색 부채꼴 형태로 출력되는 것을 확인할 수 있다. 이처럼 모델링 된 각 센서의 Point Data 를 2D GUI에 생성할 수 있다.

    <Fig. 12>

    Driving Simulator based Sensor GUI

    KITS-20-6-242_F12.gif

    다음으로 드라이빙 시뮬레이터 내 NPC AI와 2D GUI에 생성된 NPC AI의 위치를 비교하기 위해 FiveM을 활용하였다. <Fig. 13>은 FiveM을 기반으로 생성한 시나리오에 Host와 Client가 접속한 화면이다. LiDAR 및 Radar 센서를 검증하기 위해 <Fig. 13(a)>와 <Fig. 13(b)> 같이 Host의 전방에 Client를 위치시키며, V2X 통신 으로 Host가 Client의 좌표 정보를 수신받도록 설정하였다. 이후 Point Data에서 차량을 검출하기 위해 Zhang et al.(2017)의 L-Shape Fitting 알고리즘 연구를 기초하여 2D Bounding Box를 생성한 후 Box의 중심 좌표를 추출하였다. 이와 동시에 Host 및 Client 좌표를 기반으로 Local X, Y 축으로 변환하여 2D Bounding Box를 생 성하고, IoU 기법을 활용하여 두 Bounding Box의 Score을 추출하였다(Kang and Won, 2021). <Table 6>은 각 센서로부터 추출된 차량 좌표와 V2X 통신으로 수신된 Client의 Local X, Y 좌표를 나타낸 표이다. 위에서 설 명한 검증 기법으로 Score를 추출한 결과 LiDAR는 93%, Radar는 96%의 정확도가 계산된 것을 확인할 수 있 으며, 통신주기에 따라 약간의 차이가 있으나 유사한 좌표값을 출력하는 것을 볼 수 있다. 마지막으로 Ultrasonic 센서 모델을 검증하기 위해 유클라디안 검출 기법을 활용하여 Client의 Local X, Y에서 Distance를 추출하였다. 이후 2D GUI의 Ultrasonic Distance와 비교한 결과 ±0.3m의 오차범위로 감지되는 것을 확인할 수 있었다.

    <Fig. 13>

    Sensor Verification Scenarios: (a) LiDAR, (b) Radar (c) Ultrasonic

    KITS-20-6-242_F13.gif
    <Table 6>

    Each Vehicle Position Analysis Result

    KITS-20-6-242_T6.gif

    3. Camera 검증

    Camera 센서 모델링 검증을 위해 Withrobot사의 oCam-5CRO-U 센서 모델을 사용하였으며, 이는 5메가픽셀 의 USB 3.0 카메라이다(WithRobot, 2021). 이는 기본적으로 65도의 FOV를 가지며 <Table 7>과 같이 포맷별 크게 상이한 해상도를 지원한다. 이때 YUV Format은 이미지 정보를 밝기 정보와 색차 정보로 표현하는 방 식이며, Y는 이미지의 명함, U와 V는 청색 및 적색 색차를 나타낸다.

    <Table 7>

    Supported Resolutions of oCam-5CRO-U

    KITS-20-6-242_T7.gif

    개발한 드라이빙 시뮬레이터의 Camera 센서는 70도의 FOV를 가지며, 센서 출력은 RGB Format의 480(H) * 270(V)을 제공하도록 설정하였다. 해당 Format 및 해상도는 oCam-5CRO-U와 상이하나, 실제 알고리즘 개발 시 이미지 처리 함수를 활용하면 Format 및 해상도를 일치시킬 수 있다. 또한, oCam-5CRO-U를 이용하여 취 득한 영상과 개발한 드라이빙 시뮬레이터를 통해 취득한 영상에 대한 인지 알고리즘 수행 결과는 <Fig. 14> 과 같다. 이는 Bochkovskiy et al.(2020)의 YOLOv4 모델을 사용하여 객체를 검출하는 과정으로, 좌측은 상용 게임 화면을 oCam-5CRO-U으로 촬영한 뒤 객체를 검출한 결과이며 우측은 드라이빙 시뮬레이터의 GT를 활 용하여 객체를 검출한 결과이다. 이와 같은 과정으로 oCam-5CRO-U에서 취득한 데이터와 드라이빙 시뮬레 이터에 구현된 카메라 성능이 서로 유사한 것을 확인할 수 있다.

    <Fig. 14>

    Algorithm Results for Images Acquired Through oCam-5CRO-U and GTA V-based Simulator

    KITS-20-6-242_F14.gif

    다음으로 에뮬레이션 된 Camera 센서에 노이즈를 인가한 후 상용 실사 이미지 처리 알고리즘을 적용하여 인식률을 측정하여 시뮬레이터 생성 이미지에 대한 상용 알고리즘의 처리 결과가 알려진 성능과 유사한지를 시험하였다. 우선 <Fig. 15>와 같이 AWGN을 각각 다르게 설정하고, 각 이미지 내의 객체 인식률을 측정하 기 위해 일반에 공개된 YOLOv4 딥러닝 모델을 사용하였다. 실험에 사용되는 YOLOv4 딥러닝 모델은 Car, Pedestrian, Object Class로 분류되도록 설계하였으며, 객체를 인식하는 동시에 인식률을 함께 출력하도록 설정 하였다. <Fig. 15> 안의 Box는 객체 인식 여부, 숫자는 YOLOv4의 인식률을 나타낸다.

    <Fig. 15>

    Camera Images: (a) Original N(0), (b) N(5)

    KITS-20-6-242_F15.gif

    인식되는 각 객체는 상용 게임 소프트웨어의 내부 프로세스에 내장된 NPC AI이므로, 본 논문에서는 임의 의 교차로 중심에서 정지하여 움직이는 NPC를 인식하는 시나리오로 실험을 진행하였다. 총 10분간 딥러닝 모델을 사용하여 인식률을 측정하였으며 그 결과는 <Fig. 16>의 그래프를 통해 확인할 수 있다. <Fig. 15(a)> 는 노이즈가 없으므로 75~85퍼센트의 인식률과 함께 객체를 인식하였지만, 표준편차가 증가할수록 인식률이 감소된 것을 확인할 수 있다. 위 실험을 통해 실 도로 환경에서 80~85% 인식률을 갖는다고 알려진 YOLOv4 의 성능과 시뮬레이터 상에서의 성능이 유사한 것을 확인할 수 있으며, 결과적으로 본 논문의 드라이빙 시뮬 레이터가 생성하는 카메라 이미지 데이터는 현실과 일정 수준 유사한 환경이라고 추측할 수 있다.

    <Fig. 16>

    Camera Recognition Rate by AWGN

    KITS-20-6-242_F16.gif

    Ⅳ. 시뮬레이터 통합 및 결과

    앞서 설계한 데이터 취득 및 센서 모델링 통합에 대한 전체 시뮬레이터 구조는 <Fig. 17>과 같이 크게 3가 지 부분으로 나눈다. Script Hook V를 기반으로 데이터를 추출하는 GTA V 부문과 데이터를 기반으로 센서 모델링 및 시뮬레이터의 환경을 조정할 수 있는 GUI, 모델링 된 센서를 전달받아 ADAS/AD 등 자율주행 알 고리즘을 수행하는 외부 프로세스로 나눌 수 있다. GTA V 부문의 Data Parshing은 사용자 정보 및 주변 차 량, 보행자, 객체의 정보를 취득하며 특히 Deep Learning을 위한 GT 데이터를 실시간으로 동시에 추출할 수 있다. 또한 GUI 부문은 취득된 GT 데이터를 이용하여 센서 데이터를 모델링하고 <Fig. 18>와 같이 2D Skyplot으로 출력 결과를 표현한다. <Fig. 18>에서 차량의 주위로 퍼지는 Point Data는 4채널을 가진 LiDAR Point Cloud 값이며, 차량 전방으로 출력되는 청색 실선은 Radar, 측방으로 출력되는 적색 면은 Ultrasonic 값 을 의미한다. 또한 절대 위치 측정 센서에서 출력되는 차량의 위치 및 상태 정보는 우측 하단에 상시 출력되 며, V2V 통신으로 취득한 상대 차량의 정보는 좌측 상단에 출력된다.

    <Fig. 17>

    Structure of the GTA V-based Driving Simulator

    KITS-20-6-242_F17.gif
    <Fig. 18>

    GUI Sensor View of the GTA V-based Driving Simulator

    KITS-20-6-242_F18.gif

    다음으로 절대 위치 측정 센서에서 출력되는 차량의 정밀한 위치정보와 상태 정보를 기반하여 HD Map을 <Fig. 19>와 같이 생성할 수 있다. 이는 드라이빙 시뮬레이터 도심지의 HD Map을 생성한 그림이며, Map 데 이터를 기반으로 GTA V 기반 드라이빙 시뮬레이터 내에서 자율주행 시스템에 필요한 판단 알고리즘이나 딥러닝 알고리즘에 대한 성능을 검증 및 평가하는 데 이용할 수 있다.

    <Fig. 19>

    (a) Map of the GTA V, (b) HD Map Generation based on Absolute Position Measurement Sensor

    KITS-20-6-242_F19.gif

    또한 <Fig. 20(a)>는 드라이빙 시뮬레이터에서 차량 또는 보행자를 지정된 FOV에서 검출한 뒤 드라이빙 시뮬레이터 메모리에 접근하여 검출된 정보를 가져오는 상황을 나타낸다. 또한 <Fig. 20(b)>는 상대 위치 측 정 센서에서 출력되는 LiDAR 데이터를 클러스터링한 뒤 L-Shape Fitting 알고리즘으로 차량을 검출하는 과정 을 표현한 그림이다. 이를 통해 검출된 차량의 상대 위치 및 거리, 각도, 차량의 크기 정보를 계산할 수 있으 며 자신의 GPS 값과 상대 위치 값을 비교하여 상대 GPS 값을 추출할 수 있다. 이처럼 모델링 된 Camera와 LiDAR 센서를 활용한 GT 데이터 취득 기능을 통해, 자율주행 시스템을 위한 신경망 생성 및 학습을 원활하 게 수행할 수 있다.

    <Fig. 20>

    (a) Camera-based GT Detection, (b) LiDAR-based GT Detection

    KITS-20-6-242_F20.gif

    Ⅴ. 결 론

    본 논문은 RAGE 물리엔진을 적용한 GTA V에 기반하여 자율주행 알고리즘 개발을 위한 드라이빙 시뮬레 이터를 설계 및 구현하였다. GTA V의 내부 데이터를 취득할 수 있는 Script Hook V의 NF를 활용하며, 내부 데이터 취득 및 변경으로 자율주행 시스템에 필요한 절대 위치 측정 센서(GPS, IMU), 상대 위치 측정 센서 (LiDAR, Radar, Ultrasonic), Camera 센서, V2X 통신환경을 구현하였다. 각 센서를 모델링한 뒤, 검증된 기개 발한 Matlab 기반 GPS/INS 처리 소프트웨어를 이용하여 절대 위치 측정 센서에 대한 검증을 진행하였다. 또 한 상대 위치 측정 센서와 Camera 센서, V2X 통신환경을 검증하였으며, 이를 통합한 전체 시뮬레이터에 대 한 구성 및 결과가 제시되었다. 이처럼 GTA V 기반 드라이빙 시뮬레이터를 활용함으로써 자율주행 알고리 즘 개발이 용이해지며, 특히 방대한 데이터를 요구하는 딥러닝과 같은 기술에 효율적으로 사용될 수 있다.

    본 논문에서 소개한 GTA V 기반 드라이빙 시뮬레이터는 저렴한 비용 및 쉬운 접근성으로 인해 연구 및 교육용으로 적합한 시뮬레이터이지만, 에뮬레이션한 센서 출력(센서 모델링) 및 차량 동역학의 현실성에 한 계가 있다. 즉, 실제 환경과의 정합성 및 일치성, 운영시간의 동시성 등 가상-현실 세계 간 차이가 존재한다. 이를 극복하기 위해 후속 연구를 통하여 현실 센서에 대한 모델링 고도화 및 차량 다이나믹 정합성 증대에 관한 연구가 필요하다. 이를 통한 드라이빙 시뮬레이터의 완성도 높아지면 개별 모듈의 인터페이스를 표준 화하여 상용 차량에 적합한 자율주행 알고리즘 개발에 효율적으로 사용 가능할 것으로 예상한다. 또한, 본 논문에서 개발한 자율주행 시뮬레이터는 차량을 질점으로 표현하고 거시적 관점에서 자율주행 물류 및 통행 에 관한 연구에 활용되는 교통 시뮬레이터와 달리, 미시적 관점에서 인간 운전자를 대체하는 자율주행 알고 리즘 및 시스템 개발을 중점으로 개발한 시뮬레이터이다. 따라서 거시적 관점에서 교통류 시뮬레이션을 포 함할 수 있는 확장성에 관한 연구가 필요하다.

    ACKNOWLEDGEMENTS

    본 논문은 2021년도 정부(산업통상자원부)의 재원으로 한국산업기술진흥원의 지원(N0002428, 2021년 산업 전문인력역량강화사업) 및 ㈜한국AVL의 연구비 지원(드라이빙 시뮬레이터 성능 향상 기술: 63955-02)을 받 아 수행된 연구임.

    Figure

    KITS-20-6-242_F1.gif

    Commercial Simulator Examples: (a) IPG, (b) Carsim, (C) Pre-scan and (d) SCANeR Studio

    KITS-20-6-242_F2.gif

    Object Information Acquisition Process by NF

    KITS-20-6-242_F3.gif

    Ground Truth Data and 3D Bounding Boxes by NF

    KITS-20-6-242_F4.gif

    Coordinate Systems (ECEF, LLH, ENU)

    KITS-20-6-242_F5.gif

    Camera Image Captures: (a) Original N(0) (b) N(5) (c) N(10) (d) N(15)

    KITS-20-6-242_F6.gif

    Block Diagram of the Driving Simulator

    KITS-20-6-242_F7.gif

    Internal Modules of the Designed Driving Simulator

    KITS-20-6-242_F8.gif

    Sensor Module Interface of the Designed Driving Simulator

    KITS-20-6-242_F9.gif

    Client PC‘s for Multi Agent in the Driving Simulator

    KITS-20-6-242_F10.gif

    Verification Gyro Result of IMU Sensors using Matlab and GTA V-based Simulators

    KITS-20-6-242_F11.gif

    Verification Heading Result of IMU Sensors using Matlab and GTA V-based Simulators

    KITS-20-6-242_F12.gif

    Driving Simulator based Sensor GUI

    KITS-20-6-242_F13.gif

    Sensor Verification Scenarios: (a) LiDAR, (b) Radar (c) Ultrasonic

    KITS-20-6-242_F14.gif

    Algorithm Results for Images Acquired Through oCam-5CRO-U and GTA V-based Simulator

    KITS-20-6-242_F15.gif

    Camera Images: (a) Original N(0), (b) N(5)

    KITS-20-6-242_F16.gif

    Camera Recognition Rate by AWGN

    KITS-20-6-242_F17.gif

    Structure of the GTA V-based Driving Simulator

    KITS-20-6-242_F18.gif

    GUI Sensor View of the GTA V-based Driving Simulator

    KITS-20-6-242_F19.gif

    (a) Map of the GTA V, (b) HD Map Generation based on Absolute Position Measurement Sensor

    KITS-20-6-242_F20.gif

    (a) Camera-based GT Detection, (b) LiDAR-based GT Detection

    Table

    Data Format of GPS/IMU in the Designed Driving Simulator

    Data Format of LiDAR, Radar and Ultrasonic in the Designed Driving Simulator

    Data Format of Camera in the Designed Driving Simulator

    Data Format of V2X in the Designed Driving Simulator

    Description of the Internal Modules of the Designed Driving Simulator

    Each Vehicle Position Analysis Result

    Supported Resolutions of oCam-5CRO-U

    Reference

    1. AB Software Development,http://www.dev-c.com/, 2021.04.14.
    2. AV Simulation,https://www.avsimulation.com/, 2021.04.14.
    3. Blana E. (1996), “Driving Simulator Validation Studies: A Literature Review,” Working Paper, Institute of Transport Studies, University of Leeds, UK.
    4. Bochkovskiy A. , Wang C. Y. and Liao H. Y. M. (2020), Yolov4: Optimal speed and accuracy of object detection, arXiv preprint arXiv:2004.10934.
    5. Chen S. , Hu J. , Shi Y. , Peng Y. , Fang J. , Zhao R. and Zhao L. (2017), “Vehicle-to-everything (V2X) services supported by LTE-based systems and 5G,” IEEE Communications Standards Magazine, pp.70-76.
    6. Chucholowski F. , Gnandt C. , Hepperle C. and Hafner S. (2016), “Close to reality surrounding model for virtual testing of autonomous driving and ADAS,” In Advanced Vehicle Control, Proceedings of the 13th International Symposium on Advanced Vehicle Control (AVEC'16), pp.85-90.
    7. FiveM,https://fivem.net/, 2021.04.14.
    8. Forsyth D. A. and Ponce J. (2003), Computer Vision: A Modern Approach, New Jersey: Prentice Hall, pp.11-18.
    9. Godley S. T. , Triggs T. J. and Fildes B. N. (2002), “Driving simulator validation for speed research,” Accident Analysis & Prevention, vol. 34, no. 5, pp.589-600.
    10. Hendriks F. , Tideman M. , Pelders R. , Bours R. and Liu X. (2010), “Development tools for active safety systems: Prescan and VeHIL,” In Proceedings of 2010 IEEE International Conference on Vehicular Electronics and Safety, pp.54-58.
    11. Im J. U. (2020), Development of Commercial Game Engine-based Driving Simulator for Researches on Autonomous Driving Artificial Intelligent Algorithms, Master's Thesis, Inha University Graduate School.
    12. IPG Automotive,https://ipg-automotive.com/products-services/simulation-software/, 2021.04.14.
    13. Ji G. H. and Won J. H. (2018), “Implementation of integrated navigation algorithm based on GNSS-VTL and INS,” Proceeding of Korean GNSS Society Conference, Jeju, South Korea.
    14. Joa E. , Yi K. and Kim K. (2015), “A lateral driver model for vehicle–driver closed-loop simulation at the limits of handling,” Vehicle System Dynamics, vol. 53, no. 9, pp.1247-1268.
    15. Kang M. S. and Won J. H. (2021), “Lidar and V2X-based Cooperative Localization Techniques Using EKF and PF,” Proceeding of Korean GNSS Society Conference, Jeju, South Korea.
    16. Kang M. S. , An S. H. , Do Y. H. and Won J. H. (2020), “Implementation of a Server based Multi Client Autonomous Navigation Simulator Hardware System,” 2020 IPNT Conference.
    17. Kaplan E. D. and Hegarty C. J. (1996), Understanding GPS: Principles and Applications, Boston: Artech House Publishers, pp.29-34.
    18. Martinez M. , Sitawarin C. , Finch K. , Meincke L. , Yablonski A. and Kornhauser A. (2017), Beyond grand theft auto V for training, testing and enhancing deep learning in self driving cars, arXiv preprint arXiv:1712.01397.
    19. Mechanical Simulation,https://www.carsim.com/products/carsim/index.php, 2021.04.14.
    20. Meinl F. , Stolz M. , Kunert M. and Blume H. (2017), “An experimental high performance radar system for highly automated driving,” In 2017 IEEE MTT-S International Conference on Microwaves for Intelligent Mobility (ICMIM), pp.71-74.
    21. Payload,https://en.wikipedia.org/wiki/Payload_(computing), 2021.04.29.
    22. Shah S. , Dey D. , Lovett C. and Kapoor A. (2018), “Airsim: High-fidelity visual and physical simulation for autonomous vehicles,” In Field and service robotics, Springer, pp.621-635.
    23. Šmíd A. (2017), Comparison of unity and unreal engine, Czech Technical University in Prague, pp.41-61.
    24. Tass International,https://tass.plm.automation.siemens.com/prescan-overview, 2021.04.14.
    25. Vector,https://www.vector.com/int/en/company/about-vector/memberships/from-tesis-to-vector/, 2021.04.14.
    26. VectoreNav,https://www.vectornav.com/products/vn-200, 2021.04.15.
    27. WithRobot,http://withrobot.com/camera/ocam-5cro-u/, 2021.04.15.
    28. Won J. H. (2005), Studies on the Software-Based GPS Receiver and Navigation Algorithms, Doctoral Dissertation, Ajou University Graduate School.
    29. Yasuma F. , Mitsunaga T. , Iso D. and Nayar S. K. (2010), “Generalized assorted pixel camera: Postcapture control of resolution, dynamic range, and spectrum,” IEEE Transactions on Image Processing, pp.2241-2253.
    30. Yoon S. , Jung J. , Hong J. , Lim K. , Kim J. and Kim H. (2020), “Development of Autonomous Vehicle Learning Data Generation System,” The Journal of The Korea Institute of Intelligent Transport Systems, vol. 19, no. 5, pp.162-177.
    31. Yue X. , Wu B. , Seshia S. A. , Keutzer K. and Sangiovanni-Vincentelli A. L. (2018), “A lidar point cloud generator: From a virtual world to autonomous driving,” In Proceedings of the 2018 ACM on International Conference on Multimedia Retrieval, pp.458-464.
    32. Zhang X. , Xu W. , Dong C. and Dolan J. M. (2017), “Efficient L-shape fitting for vehicle detection using laser scanners,” In 2017 IEEE Intelligent Vehicles Symposium (IV), pp.54-59.

    저자소개

    Footnote

    • ADAS: Advanced Driver Assistance Systems, 지능형 운전자 보조 시스템
    • AD: Autonomous Driving, 자율 주행
    • HIL: Hardware in the Loop, 하드웨어 인더 루프
    • SIL: Simulation in the Loop, 시뮬레이션 인더 루프
    • VIL: Vehicle in the Loop. 차량 인더 루프
    • GT: Ground Truth, 지상 실측 정보
    • V2X: Vehicle to Everything, 차량 대 모든 통신
    • API: Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스
    • RAGE: Rockstar Advanced Game Engine, 락스타 어드벤스트 게임 엔진
    • GTA V: Grand Theft Auto V, 그랜드 테프트 오토 V
    • CNN: Convolution Neural Network, 합성곱 신경망
    • NF: Native Function, 내장 함수
    • ENU: East-North-Up, 항법좌표계
    • WGS84: World Geodetic System 1984, 세계 지구 좌표 시스템 1984
    • ECEF: Earth-Centered Earth-Fixed, 지구중심 고정좌표계
    • LLH: Latitude, Longitude, Height, 위도, 경도, 고도
    • RFI: Radio Frequency Interference, 라디오 주파수 간섭
    • AWGN: Additive White Gaussian Noise, 가산성 백색 가우시안 잡음
    • ROI: Region of Interest, 관심 영역
    • FOV: Field of View, 화각
    • DOF: Depth of Field, 피사계 심도
    • NC: Near Clip, 최소거리
    • FC: Far Clip, 최대거리
    • ISO: International Organization for Standardizatio, 국제 표준화 기구
    • SAE: Society of Automotive Engineers, 국제 자동차 기술자 협회
    • V2V: Vehicle to Vehicle, 차량 간 통신
    • V2I: Vehicle to Infrastructure, 차량 및 인프라 간 통신
    • BSM: Basic Safety Message, 기본 안전 메시지
    • PVD: Probe Vehicle Data, 프로브 차량 정보
    • SPaT: Signal Phase and Timing, 신호 위상 및 시간
    • UDP: User Datagram Protocol, 사용자 데이터그램 프로토콜
    • SRR: Short Range Radar, 근거리 레이더
    • MRR: Mid Range Radar, 중거리 레이더
    • LRR: Long Range Radar, 장거리 레이더