KR102282970B1 - the method for configuring and controling real-time distributed autonomous driving simulation framework - Google Patents

the method for configuring and controling real-time distributed autonomous driving simulation framework Download PDF

Info

Publication number
KR102282970B1
KR102282970B1 KR1020190152141A KR20190152141A KR102282970B1 KR 102282970 B1 KR102282970 B1 KR 102282970B1 KR 1020190152141 A KR1020190152141 A KR 1020190152141A KR 20190152141 A KR20190152141 A KR 20190152141A KR 102282970 B1 KR102282970 B1 KR 102282970B1
Authority
KR
South Korea
Prior art keywords
simulation
autonomous driving
model
image
driving
Prior art date
Application number
KR1020190152141A
Other languages
Korean (ko)
Other versions
KR20210063701A (en
Inventor
김구
Original Assignee
(주)이노시뮬레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)이노시뮬레이션 filed Critical (주)이노시뮬레이션
Priority to KR1020190152141A priority Critical patent/KR102282970B1/en
Publication of KR20210063701A publication Critical patent/KR20210063701A/en
Application granted granted Critical
Publication of KR102282970B1 publication Critical patent/KR102282970B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • G09B9/02Simulators for teaching or training purposes for teaching control of vehicles or other craft
    • G09B9/04Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of land vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

본 발명은 다양한 시나리오에서 자율주행 알고리즘 검증을 용이하게 하는 서버와, 센서 시뮬레이션 및 카메라 렌더링 장치들을 클라이언트로 하며, 이들을 서로 동기화하여 제어하는 시뮬레이터로 구성된 실시간 분산 자율주행 시뮬레이션 프레임워크를 구성 및 제어하는 방법에 관한 것으로, 다양한 시나리오에서 자율주행 알고리즘 검증을 용이하게 하는 서버와, 센서 시뮬레이션 및 카메라 렌더링 장치들을 클라이언트로 하며, 이들을 서로 동기화하여 제어하는 시뮬레이터로 구성된 실시간 분산 자율주행 시뮬레이션 프레임워크를 구성 및 제어하는 방법으로서; 상기 자율주행 시뮬레이션 프레임워크는 공통의 시뮬레이션 모델 및 엔진을 포함 하는 모델 시스템, 센서 및 3차원 영상을 재현 하는 영상 시스템, 그리고 각 시스템을 통신 기반으로 서로 연동 제어하는 제어 시스템으로 구성되고; 각 시스템들은 멀티 프로세스, 분산 컴퓨팅 환경에서 IPC 및 이더넷 통신 계층을 통해 서로 연동될 수 있도록 하며, 전통적인 M&S의 모델과 시뮬레이션 관계를 유지하면서 교체 시험이 용이하도록 추상화된 모델의 인터페이스 계층으로 제어되며; 자율주행 도메인에 공통된 개념의 주행 환경 및 객체, 시나리오 등의 주행 DB와 3차원 환경 렌더링을 위한 영상 DB를 구분하고, 여러 클라이언트에서 나누어 센서 에뮬레이션을 수행하여 시뮬레이션 부하를 분산시키며; 물리적으로, 서버(10)와 클라이언트(30) 사이에 시뮬레이터(20)가 연결되도록 구성된 것을 특징으로 한다.The present invention provides a method for configuring and controlling a real-time distributed autonomous driving simulation framework consisting of a server that facilitates verification of autonomous driving algorithms in various scenarios, and a simulator that uses sensor simulation and camera rendering devices as clients, and synchronizes and controls them. It relates to a real-time distributed autonomous driving simulation framework consisting of a server that facilitates verification of autonomous driving algorithms in various scenarios, a simulator that uses sensor simulation and camera rendering devices as clients, and controls them in synchronization with each other. as a method; the autonomous driving simulation framework is composed of a model system including a common simulation model and engine, an image system that reproduces sensors and 3D images, and a control system that controls each system in conjunction with each other based on communication; Each system enables interworking through IPC and Ethernet communication layers in a multi-process, distributed computing environment, and is controlled by the interface layer of an abstract model to facilitate replacement testing while maintaining the simulation relationship with the traditional M&S model; dividing the driving DB for the driving environment, objects, scenarios, etc. of the concept common to the autonomous driving domain and the image DB for 3D environment rendering, and distributing the simulation load by performing sensor emulation by dividing it in multiple clients; Physically, the simulator 20 is configured to be connected between the server 10 and the client 30 .

Description

실시간 분산 자율주행 시뮬레이션 프레임워크를 구성 및 제어하는 방법{the method for configuring and controling real-time distributed autonomous driving simulation framework}{the method for configuring and controlling real-time distributed autonomous driving simulation framework}

본 발명은 다양한 시나리오에서 자율주행 알고리즘 검증을 용이하게 하는 서버와, 센서 시뮬레이션 및 카메라 렌더링 장치들을 클라이언트로 하며, 이들을 서로 동기화하여 제어하는 시뮬레이터로 구성된 실시간 분산 자율주행 시뮬레이션 프레임워크를 구성 및 제어하는 방법에 관한 것이다. The present invention provides a method for configuring and controlling a real-time distributed autonomous driving simulation framework consisting of a server that facilitates verification of autonomous driving algorithms in various scenarios, and a simulator that uses sensor simulation and camera rendering devices as clients, and synchronizes and controls them. is about

등록번호 10-1916838(자율 주행차량용 시뮬레이션 장치)호에 따르면, "자율 주행차량용 시뮬레이션 장치는, 지면에 설치되는 판재형상의 베이스유닛 및 이 베이스유닛의 상부에 간격을 두고 설치되되 그 상부로 차량이 올려지는 탑재공간을 제공하는 가동유닛; 상기 베이스유닛과 가동유닛의 사이에 설치되어 차폭방향으로 기울어짐을 유도하는 롤링유닛 및 상·하 방향으로 탄성지지력을 작용하는 밸런스유닛; 상기 가동유닛의 상부에 설치되어 차량의 바퀴가 구름 접촉되는 것에 의해 순환 이동되는 트랙벨트 및 이 트랙벨트에 연결되어 연동 회전되어 관성모멘트를 발생시키는 기어모듈을 구비한 관성유닛; 상기 가동유닛에 일단이 고정되고 타단은 트랙벨트와 위치 간섭없이 상기 차량의 전륜 또는 후륜측 차체하부를 고정 지지하도록 구비되어 조향방향에 따라 회전되게 구비되는 조향연동유닛으로 구성된다.According to Registration No. 10-1916838 (Simulation Device for Autonomous Driving Vehicle), "The simulation device for autonomous driving vehicle is a plate-shaped base unit installed on the ground and is installed at intervals on the upper part of the base unit, but the vehicle is installed on the upper part of the base unit. A movable unit providing a mounting space to be raised; A rolling unit installed between the base unit and the movable unit to induce inclination in the vehicle width direction, and a balance unit to apply an elastic support force in up and down directions; An inertia unit having a track belt installed and cyclically moved by rolling contact of the wheels of the vehicle and a gear module connected to the track belt and rotated to generate a moment of inertia; One end is fixed to the movable unit and the other end is a track It consists of a steering interlocking unit which is provided to fixedly support the lower body of the vehicle on the front or rear wheels without positional interference with the belt and is provided to rotate according to the steering direction.

이와 같이 구성되는 본 발명에 따른 자율 주행차량용 시뮬레이션 장치는, 실제 도로 주행환경과 유사한 물리적 주행환경의 구현을 통해 차량의 움직임을 능동적으로 구현 및 해석할 수 있으므로 이를 바탕으로 한 자율주행 빅데이터 수집이 가능할 뿐만 아니라 오락이나 기타 어려 콘텐츠로의 적용이 가능하므로 제품에 대한 만족도를 높일 수 있는 유용한 효과가 기대된다.The simulation device for an autonomous driving vehicle according to the present invention configured as described above can actively implement and interpret the movement of the vehicle through the realization of a physical driving environment similar to the actual road driving environment, so that autonomous driving big data collection based on this can be achieved. Not only is it possible, but it can also be applied to entertainment or other difficult content, so a useful effect is expected to increase satisfaction with the product.

또한 여러 가지 환경의 주행을 하기 원하는 사용자라면 실제 운행시 느낄 수 있는 생생한 운전시의 느낌을 체감할 수 있기 때문에 다양한 게임요소를 가진 콘텐츠로의 활용이 가능하고, 차별화된 재미와 호기심을 충족시킬 수 있는 효과가 있다.In addition, users who want to drive in various environments can experience the vivid driving feeling that can be felt during actual driving, so it can be used as content with various game elements and can satisfy differentiated fun and curiosity. there is an effect

또한, 본 발명은 글로벌 자동차 시장을 대상으로 실제 주행과 유사한 환경을 제공하는 신뢰성 높은 자율주행 시뮬레이터의 개발을 통해 국산화가 가능할 뿐만 아니라 글로벌 자동차 시장을 대상으로 판로를 개척하여 수출할 경우 큰 재원창출이 기대되며, 자율주행 시장에 부합하는 인력에 대한 고용증대 및 4차 산업에 대비하여 국내외 산업 및 국가 기술경쟁력의 제고가 가능한 산업상 대단히 유용한 효과가 기대된다."라고 개시된 바가 있다.In addition, the present invention not only enables localization through the development of a reliable autonomous driving simulator that provides an environment similar to actual driving for the global automobile market, but also creates large financial resources when exporting by opening a market for the global automobile market. It is expected, and a very useful effect is expected in the industry where it is possible to increase the employment of manpower suitable for the autonomous driving market and to enhance the technological competitiveness of domestic and foreign industries and national technology in preparation for the 4th industry."

등록번호 10-1984762(네트워크 플랫폼을 적용한 자율주행차량 시뮬레이터)호에 따르면, "데이터베이스 내의 데이터를 기반으로 가동되는 시뮬레이터를 운용하는 자율주행차량 시뮬레이터 시스템으로, 데이터베이스 내 하나의 자율주행차량 데이터가 복수의 데이터셋(Dataset)으로 구획되되, 각각의 데이터셋은 적어도 하나 이상의 데이터패킷(Datapacket)을 포함하도록 구성되어, 상기 각각의 데이터셋 내 하나의 데이터패킷이 선택되도록 구성되어 다수의 사용자들이 자신들의 알고리즘을 서로 공유하거나, 다른 알고리즘과의 호환을 통해 보다 다양한 환경에서의 시뮬레이션이 가능하도록 제공되는 자율주행차량 시뮬레이터 시스템에 관한 것이다."라고 개시된 바가 있다.According to Registration No. 10-1984762 (Autonomous Driving Vehicle Simulator with Network Platform), “It is an autonomous driving vehicle simulator system that operates a simulator based on data in a database. It is divided into datasets, and each dataset is configured to include at least one or more datapackets, so that one data packet in each dataset is selected so that a plurality of users can use their algorithms It relates to an autonomous vehicle simulator system that is provided to enable simulations in more diverse environments through sharing or compatibility with other algorithms."

공개번호 10-2014-0144921(가상현실을 이용한 무인 자동차의 자율 주행 시뮬레이션 시스템)호에 따르면, "3차원 가상현실 내에서 가상의 무인 자동차의 자율 주행 알고리즘을 검증하기 위해 자율 주행 시뮬레이션을 수행하는 가상현실을 이용한 무인 자동차의 자율 주행 시뮬레이션 시스템에 관한 것이다.According to Publication No. 10-2014-0144921 (Autonomous Driving Simulation System for Unmanned Cars Using Virtual Reality), "a virtual machine that performs autonomous driving simulation to verify the autonomous driving algorithm of a virtual driverless car within 3D virtual reality. It relates to an autonomous driving simulation system of an unmanned vehicle using reality.

본 발명에 따른 가상현실을 이용한 무인 자동차의 자율 주행 시뮬레이션 시스템은, 가상현실 환경이 모델링된 3차원 영상 정보를 제공하여 자율 주행 시뮬레이션을 구동하는 시뮬레이터부와, 상기 시뮬레이터부에서 제공되는 3차원 영상 내에서 가상의 자동차를 자율 주행시키고, 자율 주행되는 가상의 자동차의 상태정보 및 가상의 자동차에서 취득하는 주행정보를 수신하는 시뮬레이션 서버와, 상기 시뮬레이션 서버에서 수신한 상태정보 및 주행정보를 수신하여 로봇서버 타입의 데이터로 변환하여 출력하는 시뮬레이션 컴포넌트 및 상기 시뮬레이션 컴포넌트에서 출력되는 OPRoS 타입의 데이터를 수신하여 GUI(Graphical User Interface)로 디스플레이하는 시뮬레이션 모니터부를 포함하는 것을 특징으로 한다."라고 개시된 바가 있다.The autonomous driving simulation system of an unmanned vehicle using virtual reality according to the present invention includes a simulator unit for driving an autonomous driving simulation by providing 3D image information in which a virtual reality environment is modeled, and a 3D image provided by the simulator unit. A simulation server that autonomously drives a virtual car in the , and receives the state information of the autonomously driven virtual car and driving information obtained from the virtual car, and the robot server by receiving the state information and driving information received from the simulation server It is characterized in that it includes a simulation component that converts and outputs data of type data, and a simulation monitor unit that receives OPRoS type data output from the simulation component and displays it as a GUI (Graphical User Interface)."

등록번호 10-1850038(자동차 시뮬레이터 장치 및 그 방법)호에 따르면, "자동차 시뮬레이터 장치 및 그 방법을 개시한다. 본 발명에 따른 자동차 시뮬레이터 장치는 적어도 하나의 편집모듈을 포함하여 구성되고, 상기 적어도 하나의 편집모듈을 통해 도로 정보, 객체 정보, 교통 정보와 운행 정보를 입력하는 입력부, 상기 입력된 도로 정보, 객체 정보, 교통 정보와 운행 정보에 따라 가상현실 환경의 3차원 영상 내에서 모델링된 가상의 자동차를 자율 주행시키고, 상기 자율 주행 중인 자동차에 대한 상태 정보와 주행 정보를 취득하는 시뮬레이터부, 및 상기 시뮬레이터부에서 취득한 상태 정보와 주행 정보를 수신하여 가상의 3차원 영상으로 출력하는 시뮬레이터 모니터링부를 포함할 수 있다. 본 발명에 따르면, 도로, 객체, 시나According to Registration No. 10-1850038 (car simulator apparatus and method), "disclosed is a car simulator apparatus and a method therefor. The car simulator apparatus according to the present invention is configured to include at least one editing module, and the at least one An input unit for inputting road information, object information, traffic information and operation information through the editing module of the virtual reality modeled in the 3D image of the virtual reality environment according to the input road information, object information, traffic information and operation information A simulator unit that autonomously drives a vehicle and acquires state information and driving information about the autonomous vehicle, and a simulator monitoring unit that receives the state information and driving information obtained from the simulator unit and outputs it as a virtual three-dimensional image According to the present invention, a road, an object, a city or a

리오의 생성 및 편집을 용이하게 하고, 모델링된 3차원 영상의 실시간 검증이 가능한 효과가 있다."라고 개시된 바가 있다.It has the effect of facilitating the creation and editing of Rio and enabling real-time verification of the modeled 3D image."

1. 등록번호 10-1916838(자율 주행차량용 시뮬레이션 장치)1. Registration number 10-1916838 (simulation device for autonomous vehicles) 2. 등록번호 10-1984762(네트워크 플랫폼을 적용한 자율주행차량 시뮬레이터)2. Registration No. 10-1984762 (Autonomous Driving Vehicle Simulator with Network Platform) 3. 공개번호 10-2014-0144921(가상현실을 이용한 무인 자동차의 자율 주행 시뮬레이션 시스템)3. Publication No. 10-2014-0144921 (Autonomous driving simulation system of driverless car using virtual reality) 4. 등록번호 10-1850038(자동차 시뮬레이터 장치 및 그 방법)4. Registration number 10-1850038 (car simulator device and its method)

최근 수년간, 자율주행 기술과 관련하여, 인공지능 및 센서 퓨전, 통신 등 자율주행과 관련하여 많은 연구가 이루어지고 있다. 특히, 인공지능에 필요한 다양한 주행환경 및 시나리오의 방대한 학습 데이터를 가상의 자율주행 시뮬레이터를 통해 쉽게 재현해낼 수 있어, 이와 관련한 연구가 활발히 진행 중이다.In recent years, in relation to autonomous driving technology, a lot of research has been done in relation to autonomous driving such as artificial intelligence, sensor fusion, and communication. In particular, the vast amount of learning data of various driving environments and scenarios required for artificial intelligence can be easily reproduced through a virtual autonomous driving simulator, so research related to this is actively underway.

자율주행 시뮬레이터는 고품질의 주행 환경을 쉽게 구현할 수 있다는 장점 때문에 게임 엔진 기반으로 많이 개발되고 있지만, 복잡해지고 대규모화 되고 다양한 주행 환경을 요구하고 있어 점차 그 한계를 보이고 있다. Autonomous driving simulators are being developed based on game engines due to the advantage of being able to easily implement high-quality driving environments, but they are gradually showing their limitations as they require complex, large-scale and diverse driving environments.

첫째, 다수의 정밀한 센서 점군 시뮬레이션 및 카메라 렌더링의 포토리얼리즘을 위해서는 단일 시스템 구성에서는 성능의 한계가 존재한다. 실제 자율주행에 사용되는 센서는 라이다, 레이다, 카메라, GPS 등이 여러 개(보통 10개 수준) 사용 되고, 차량의 ECU, 가속도, 자이로 등의 센서 등을 포함하면 수많은 센서 신호들이 한꺼번에 밀려들어 올 수 있다. First, for the photorealism of multiple precise sensor point cloud simulation and camera rendering, there is a performance limit in a single system configuration. As for the sensors used in actual autonomous driving, several (usually 10 levels) of lidar, radar, camera, and GPS are used, and when sensors such as ECU, acceleration, and gyro of the vehicle are included, numerous sensor signals are flooded at once. can come

센서 시뮬레이션에서 핵심 센서인 라이다의 경우 많은 양(대략 초당 백만)의 점군 데이터를 생성해야 하며, 센서마다 다른 샘플링 주기, 해상도, 유효 거리, 노이즈 특성을 갖는다. 이는 주로 게임 엔진의 CPU ray casting 또는 GPU depth buffer 기반으로 개발되는데, 다수 센서의 정밀 시뮬레이션을 위해서는 구현이 어렵고 성능의 한계가 존재한다.In the case of LiDAR, which is a key sensor in sensor simulation, it is necessary to generate a large amount of point cloud data (approximately one million per second), and each sensor has different sampling period, resolution, effective distance, and noise characteristics. This is mainly developed based on CPU ray casting or GPU depth buffer of the game engine, but for precise simulation of multiple sensors, it is difficult to implement and has limitations in performance.

카메라 렌더링은 사진 측량(Photogrammetry), 물리 기반 렌더링(Physically Based Rendering) 등의 방식으로 실사와 같은 렌더링이 필요하지만, 구현이 어렵고 센서와 마찬가지로 많은 리소스를 사용한다.Camera rendering requires photorealistic rendering using methods such as photogrammetry and physically based rendering, but it is difficult to implement and uses many resources like sensors.

둘째, 자율주행 인지 알고리즘의 검증 및 학습에 필수적인 정답 데이터(Ground Truth)와 시나리오를 게임 엔진으로부터 생성하기 때문에 시뮬레이션 모델이 렌더링 모델에 의존적인 문제가 있다. 시뮬레이션 모델은 자율주행차량 및 차선의 위치, 크기, 종류 등의 3차원 데이터와 센서에서 추출된 이미지 등의 개념적이며 추상화된 모델로 단순화할 필요가 있다.Second, there is a problem that the simulation model is dependent on the rendering model because the game engine generates the correct answer data (ground truth) and scenarios essential for verification and learning of the autonomous driving cognitive algorithm. The simulation model needs to be simplified into conceptual and abstract models such as 3D data such as the location, size, and type of autonomous vehicles and lanes and images extracted from sensors.

게임 엔진에서 지원하는 도로망 제작 플러그인은 복잡한 교차로 등에 많은 수작업이 필요하고, 차선 정보 및 도로망 토폴로지 추출을 지원하지 않는다. 도로망 제작에 특화된 3rd party 편집 도구를 통해 생성된 차선 편집 및 3차원 메쉬나 HD 맵을 지원할 수 있도록 공통의 시뮬레이션 모델로 단순화할 필요가 있다.The road network creation plug-in supported by the game engine requires a lot of manual work for complex intersections, etc., and does not support lane information and road network topology extraction. There is a need to simplify a common simulation models to support the creation a network of roads manufactured using specialized 3 rd party editing tools to edit the lane and 3-D mesh and HD maps.

셋째, 자율주행 알고리즘을 빠르고 안전하게 개발, 시험, 검증에 효과적인 시뮬레이터 제어 방법(SIL/HIL, Open/Closed loop, Whole/Partial stack 등)이 부족하다. 정답 데이터를 기준으로 일부 자율주행 알고리즘의 단일 시험, 타 자율주행 시스템으로 교체 시험, 실제 카메라 또는 ECU 연동, 렌더링 엔진 교체 시험, 시나리오 동적 변경 등의 다양한 시험이 가능하도록 외부 시스템과의 체계화된 시뮬레이션 융합 기반 기술이 시급한 상황이다.Third, there is a lack of effective simulator control methods (SIL/HIL, Open/Closed loop, Whole/Partial stack, etc.) for developing, testing, and verifying autonomous driving algorithms quickly and safely. Systematized simulation convergence with external systems to enable various tests such as a single test of some autonomous driving algorithm, replacement test with another autonomous driving system, interworking with actual camera or ECU, rendering engine replacement test, and dynamic scenario change based on the correct answer data Basic technology is urgently needed.

본 발명은 다양한 시나리오에서 자율주행 알고리즘 검증을 용이하게 하는 서버와, 센서 시뮬레이션 및 카메라 렌더링 장치들을 클라이언트로 하며, 이들을 서로 동기화하여 제어하는 시뮬레이터로 구성된 실시간 분산 자율주행 시뮬레이션 프레임워크 구성 및 제어 방법에 관한 것이다. The present invention relates to a method for configuring and controlling a real-time distributed autonomous driving simulation framework consisting of a server that facilitates verification of autonomous driving algorithms in various scenarios, and a simulator that uses sensor simulation and camera rendering devices as clients and controls them in synchronization with each other. will be.

본 발명은 다양한 시나리오에서 자율주행 알고리즘 검증을 용이하게 하는 서버와, 센서 시뮬레이션 및 카메라 렌더링 장치들을 클라이언트로 하며, 이들을 서로 동기화하여 제어하는 시뮬레이터로 구성된 실시간 분산 자율주행 시뮬레이션 프레임워크를 구성 및 제어하는 방법으로 구현된다.The present invention provides a method for configuring and controlling a real-time distributed autonomous driving simulation framework consisting of a server that facilitates verification of autonomous driving algorithms in various scenarios, and a simulator that uses sensor simulation and camera rendering devices as clients, and synchronizes and controls them. is implemented as

이러한 본 발명의 특징들을 살펴보면 다음과 같다.The features of the present invention are as follows.

상기 자율주행 시뮬레이션 프레임워크는 공통의 시뮬레이션 모델 및 엔진을 포함 하는 모델 시스템, 센서 및 3차원 영상을 재현 하는 영상 시스템, 그리고 각 시스템을 통신 기반으로 서로 연동 제어하는 제어 시스템으로 구성되고; 각 시스템들은 멀티 프로세스, 분산 컴퓨팅 환경에서 IPC 및 이더넷 통신 계층을 통해 서로 연동될 수 있도록 하며, 전통적인 M&S의 모델과 시뮬레이션 관계를 유지하면서 교체 시험이 용이하도록 추상화된 모델의 인터페이스 계층으로 제어되며; 자율주행 도메인에 공통된 개념의 주행 환경 및 객체, 시나리오 등의 주행 DB와 3차원 환경 렌더링을 위한 영상 DB를 구분하고, 여러 클라이언트에서 나누어 센서 에뮬레이션을 수행하여 시뮬레이션 부하를 분산시키며; 물리적으로, 서버(10)와 클라이언트(30) 사이에 시뮬레이터(20)가 연결되도록 구성된 것이다.the autonomous driving simulation framework is composed of a model system including a common simulation model and engine, an image system that reproduces sensors and 3D images, and a control system that controls each system in conjunction with each other based on communication; Each system enables interworking through IPC and Ethernet communication layers in a multi-process, distributed computing environment, and is controlled by the interface layer of an abstract model to facilitate replacement testing while maintaining the simulation relationship with the traditional M&S model; dividing the driving DB for the driving environment, objects, scenarios, etc. of the concept common to the autonomous driving domain and the image DB for 3D environment rendering, and distributing the simulation load by performing sensor emulation by dividing it in multiple clients; Physically, the simulator 20 is configured to be connected between the server 10 and the client 30 .

실시예에서, 상기 자율주행 시뮬레이션에 대한 아키텍쳐는 MVC 기반으로 구성되고, 모델부(40), 제어부(50), 영상부(60)으로 이루어지며, 상기 모델부(40)는 자율주행의 주행 알고리즘을 검증하기 위한 각 주행 환경 및 객체 상태, 그리고 동작(행위) 및 상호작용을 공통의 개념적인 컴포넌트 모델로 표현하며, 타임스탬프(time-stamp)가 포함된 실제 또는 가상으로 측정된 주변 환경 및 개체 정보(데이터)와 물리적, 수학적 제어 로직을 함께 캡슐화하여 관리하며, 다양한 자율주행 알고리즘 및 교통 상황, 주행 시나리오, 차량 동역학 등 기존 서브시스템의 데이터와 제어 로직의 관계는 유지하면서, 각 서브시스템 공통의 고수준 상태 및 행위를 포함한 컴포넌트로 추상화하며, 상기 제어부(50)의 지시에 따라 모델부에서 직접 서브시스템이 처리될 수 있도록 구성하여 부하 분산 및 다양한 시나리오 시험을 용이 하도록 하며, 상기 모델부(40)의 통신 계층은 분산 환경으로 확장이 용이하도록, 주행 상태의 감지된 변경을 영상부(60) 및 제어부(50)와 통신하며, 전통적인 MVC의 옵저버 매커니즘을 적용하여 커플링과 동기화 문제를 해결하고, 대용량 분산 데이터의 실시간 처리를 위한 별도의 데이터베이스를 쉽게 추가할 수 있도록 한 것을 포함하는 것이다.In an embodiment, the architecture for the autonomous driving simulation is based on MVC, and consists of a model unit 40 , a control unit 50 , and an image unit 60 , and the model unit 40 is an autonomous driving driving algorithm Each driving environment and object state, and actions (behaviors) and interactions for verifying , are expressed as a common conceptual component model, and real or virtual measured surrounding environments and objects with time-stamps are included. It encapsulates and manages information (data) and physical and mathematical control logic, and maintains the relationship between data and control logic of existing subsystems such as various autonomous driving algorithms, traffic conditions, driving scenarios, and vehicle dynamics, while maintaining the common It is abstracted into components including high-level states and actions, and configured so that subsystems can be processed directly in the model unit according to the instructions of the control unit 50 to facilitate load distribution and various scenario tests, and the model unit 40 The communication layer of the communication layer communicates the detected change of the driving state with the image unit 60 and the control unit 50 so that it can be easily extended to a distributed environment, and solves the coupling and synchronization problem by applying the observer mechanism of the traditional MVC, This includes the fact that a separate database for real-time processing of large-scale distributed data can be easily added.

실시예에서, 상기 영상부(60)에서, 실제 자율주행은 차량에 탑재된 레이다, 라이다 및 카메라, GPS 센서 등에서 측정된 데이터를 기반으로 차량, 보행자 및 도로 정보 등의 주변 환경을 인식하도록 구성되며, 시뮬레이션에서도 차량에 탑재된 각종 센서들을 가상의 주행 환경에서 모사하기 위해, 영상 DB, 센서 및 카메라 에뮬레이션 시스템, 영상 렌더링 시스템으로 자율주행 시뮬레이션의 영상 생성 장치를 구성하며, 영상 객체 모델은 주행 환경 및 시나리오의 시뮬레이션 상태를 모델로부터 얻어 영상으로 재현하고, 주기적으로 가상 센서의 에뮬레이션 결과인 자율주행 소스 데이터를 데이터베이스에 추가하며 제어기에 캡처 이벤트를 전달하며, 영상부(60)는 고성능 3차원 렌더링 엔진을 탑재한 하나 이상의 시스템으로 구성하여 다양한 가상 카메라 및 센서의 신호 생성의 부하를 분산 시키고 시뮬레이션의 정확성을 높일 수 있도록 하며, 이를 위해 시뮬레이션 모델을 각 3차원 렌더링 엔진의 모델로 재현하기 위해 개별적인 영상 파일을 로딩한 후, 영상 객체 모델을 통해 모델부(40)의 주행 객체 정보와 동기화하는 것을 포함하는 것이다.In an embodiment, in the image unit 60, the actual autonomous driving is configured to recognize the surrounding environment such as vehicle, pedestrian, and road information based on data measured by radar, lidar and camera, GPS sensor mounted on the vehicle, etc. In order to simulate various sensors mounted on the vehicle in the virtual driving environment in the simulation, the image DB, sensor and camera emulation system, and image rendering system constitute the image generating device of the autonomous driving simulation, and the image object model is the driving environment. And the simulation state of the scenario is obtained from the model and reproduced as an image, the autonomous driving source data, which is the emulation result of the virtual sensor, is periodically added to the database, and the capture event is transmitted to the controller, and the image unit 60 is a high-performance 3D rendering engine It consists of one or more systems equipped with a virtual camera to distribute the load of signal generation of various virtual cameras and sensors and increase the accuracy of the simulation. To this end, individual image files are used to reproduce the simulation model as a model of each 3D rendering engine. After loading , it includes synchronizing with the driving object information of the model unit 40 through the image object model.

실시예에서, 상기 제어부(50)는 모의실험에 필요한 각종 환경 설정, HILS/SILS 검증 등 전체적인 시뮬레이션의 감독, 통제의 역할을 수행하며, 시험조건에 시나리오 관리, 이벤트 설정 및 각종 데이터 수집과 모니터링 및 분석이 가능하도록 하며, 시뮬레이터는 시뮬레이션 운영/제어와 서브시스템간의 인터페이스, 진단 기능을 제공하며, 상기 제어부(50)는 내/외부 사건(렌더러 이벤트, 상태변화 등)의 처리를 전담하고, 생명 주기 및 데이터 동기화된 모델의 로직을 제어하고, 이때 제어부에서 수행 가능한 이벤트를 먼저 처리하고, 불가능한 이벤트는 모델부(40)의 통신 계층을 통해 그 처리를 위임하며, 사용자 및 타 시뮬레이션, 타 응용체계 등과 모델을 연결하는 인터페이스 기능을 수행하고, 인공지능 및 자동차 동역학과 같은 시뮬레이션 주기의 로직을 직/간접 제어하며, 영상부(60)와 달리 로드타임에는 시스템 설정만을 로딩하고, 모델부(40) 제어의 대리자 역할을 수행하며, 런타임에는 영상부(50)에서 수집된 이벤트를 처리하도록 모델부(40)를 제어하고, 모델부(40)의 주행 상태 변경으로 트리거된 시그널을 영상으로 재현 할 수 있도록 영상부(60)에 지시하는 것을 포함하는 것이다.In an embodiment, the control unit 50 performs a role of supervising and controlling the overall simulation such as setting various environments necessary for simulation, HILS/SILS verification, and managing scenarios, event setting, and various data collection and monitoring in test conditions and It enables analysis, the simulator provides an interface between simulation operation/control and subsystems, and a diagnostic function, and the control unit 50 is in charge of processing internal/external events (renderer events, state changes, etc.), and the life cycle and control the logic of the data-synchronized model, in which the control unit processes events that can be performed first, and delegates the processing of impossible events through the communication layer of the model unit 40 to users and other simulations, other application systems, etc. It performs an interface function to connect models, directly/indirectly controls the logic of simulation cycle such as artificial intelligence and vehicle dynamics, and unlike the image unit 60, only loads the system settings at load time, and controls the model unit 40 acts as a proxy for the, and controls the model unit 40 to process the events collected by the image unit 50 at runtime, and to reproduce a signal triggered by a change in the driving state of the model unit 40 as an image. This includes instructing the imaging unit 60 .

실시예에서, 상기 시뮬레이터는 M&S 엔진의 상세한 모델 정보를 자율주행의 개념적 컴포넌트로 함축하여 모델링하며, 이를 통해, 복잡한 M&S 엔진들은 무결성의 손실 없이 시뮬레이션 환경 개발을 위한 확장 가능한 토대를 마련하도록 하며, 상기 시뮬레이터는 게임 엔진에 확장 가능한 플러그인 형태로 시뮬레이션 엔진과 연동하도록 구성하고, 검증용 센서 및 인공지능 알고리즘 또한 플러그인으로 관리되도록 하며, 모델 서버과 영상 클라이언트 사이의 분산 환경 시뮬레이션 제어는 타이밍, 동기화, 병렬성, 데이터 포맷과 같은 통신 문제가 있고, 제어 흐름상의 문맥에 맞는 시뮬레이션 엔진의 생명주기 관리와 통신 계층의 중계 역할을 통해 이 문제를 해소하도록 한 것을 포함하는 것이다.In an embodiment, the simulator models the detailed model information of the M&S engine implicitly as a conceptual component of autonomous driving, thereby allowing complex M&S engines to lay a scalable foundation for the development of a simulation environment without loss of integrity, The simulator is configured to interwork with the simulation engine in the form of a plug-in that can be extended to the game engine, and sensors and artificial intelligence algorithms for verification are also managed as plug-ins. There is a communication problem such as format, and it is to solve this problem through the lifecycle management of the simulation engine and the relay role of the communication layer according to the context of the control flow.

본 발명의 바람직한 효과에 따르면, 1)3차원 영상 엔진에 의존적이지 않은 분산 시뮬레이션 프레임워크 구성할 수 있고, 2)컴포넌트 기반 자율주행 모델의 재사용성 및 인공지능 알고리즘 테스트가능성을 향상시키며, 3)멀티 센서 에뮬레이션 데이터 동기화 및 병렬 분산 처리 성능을 개선하는 효과가 있으며, 4)자율주행 시뮬레이션의 추상적 모델 및 통신 계층을 통한 자율주행 클라우드 서비스 기반을 마련할 수 있으며, 5)인터페이스 계층을 통한 타 시뮬레이션 시스템으로 확장, 모델의 검증 및 모의실험 환경을 개선할 수 있는 장점이 있다.According to preferred effects of the present invention, 1) it is possible to configure a distributed simulation framework that does not depend on a 3D image engine, 2) improves the reusability of a component-based autonomous driving model and testability of an AI algorithm, 3) multi- It has the effect of improving the sensor emulation data synchronization and parallel distributed processing performance, 4) can lay the foundation for autonomous driving cloud service through the abstract model of autonomous driving simulation and communication layer, and 5) other simulation systems through the interface layer It has the advantage of improving the extension, validation of the model, and the simulation environment.

도 1은 본 발명에 따른 분산 자율주행 시뮬레이션 프레임워크를 나타낸 블록도.
도 2는 본 발명에 따른 MVC 기반 자율주행 시뮬레이션 아키텍쳐를 나타낸 블록도.
도 3은 본 발명에 따른 센서입력신호의 로직제어에 대한 실시간 데이터 처리과정을 나타낸 흐름도.
도 4는 본 발명에 따른 갱신상태의 영상/센서 출력에 대한 실시간 데이터 처리과정을 나타낸 흐름도.
도 5는 본 발명에 따른 자율주행 시뮬레이터 구성을 나타낸 블록도.
1 is a block diagram illustrating a distributed autonomous driving simulation framework according to the present invention.
2 is a block diagram illustrating an MVC-based autonomous driving simulation architecture according to the present invention.
3 is a flowchart illustrating a real-time data processing process for logic control of a sensor input signal according to the present invention.
4 is a flowchart illustrating a real-time data processing process for an updated image/sensor output according to the present invention.
5 is a block diagram showing the configuration of an autonomous driving simulator according to the present invention.

이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하도록 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

1. 프레임워크1. Framework

자율주행 시뮬레이션은 다양한 모델링-시뮬레이션(M&S) 기술들이 융합되어 구성되는데, 자율주행 알고리즘, 차량 동역학 시뮬레이션, 시나리오, 그리고 가상 센서와 3차원 영상 렌더링 엔진이 요구된다.Autonomous driving simulation consists of a fusion of various modeling-simulation (M&S) technologies, and requires autonomous driving algorithms, vehicle dynamics simulations, scenarios, virtual sensors, and 3D image rendering engines.

자율주행 시뮬레이션 프레임워크는 공통의 시뮬레이션 모델 및 엔진을 포함 하는 모델 시스템, 센서 및 3차원 영상을 재현 하는 영상 시스템, 그리고 각 시스템을 통신 기반으로 서로 연동 제어하는 제어 시스템으로 구성된다.The autonomous driving simulation framework consists of a model system including a common simulation model and engine, an image system that reproduces sensors and 3D images, and a control system that controls each system in conjunction with each other based on communication.

도 1을 참조하여 분산 자율주행 시뮬레이션 프레임워크를 살펴보면, 상단 구성은 서버(10), 중간 구성은 시뮬레이터(20), 하단 구성은 클라이언트(30)로 이루어진다.Referring to the distributed autonomous driving simulation framework with reference to FIG. 1 , the upper configuration includes the server 10 , the middle configuration includes the simulator 20 , and the bottom configuration includes the client 30 .

각 시스템들은 멀티 프로세스, 분산 컴퓨팅 환경에서 IPC 및 이더넷 통신 계층을 통해 서로 연동될 수 있도록 하며, 전통적인 M&S의 모델과 시뮬레이션 관계를 유지하면서 교체 시험이 용이하도록 추상화된 모델의 인터페이스 계층으로 제어된다.Each system enables interworking through IPC and Ethernet communication layers in a multi-process, distributed computing environment, and is controlled by an interface layer of an abstract model to facilitate replacement testing while maintaining the traditional M&S model and simulation relationship.

자율주행 도메인에 공통된 개념의 주행 환경 및 객체, 시나리오 등의 주행 DB와 3차원 환경 렌더링을 위한 영상 DB를 구분하고, 여러 클라이언트에서 나누어 센서 에뮬레이션을 수행하여 시뮬레이션 부하를 분산시킨다.It divides the driving DB for the driving environment, objects, and scenarios, which are common concepts in the autonomous driving domain, and the image DB for 3D environment rendering, and distributes the simulation load by performing sensor emulation by dividing it among multiple clients.

2. 모델부2. Model Department

도 2에 나타낸 모델부(40)는 자율주행의 주행 알고리즘을 검증하기 위한 각 주행 환경 및 객체 상태, 그리고 동작(행위) 및 상호작용을 공통의 개념적인 컴포넌트 모델로 표현 한다. The model unit 40 shown in FIG. 2 expresses each driving environment and object state, and action (action) and interaction for verifying the driving algorithm of autonomous driving as a common conceptual component model.

여기서, 타임스탬프(time-stamp)가 포함된 실제 또는 가상으로 측정된 주변 환경 및 개체 정보(데이터)와 물리적, 수학적 제어 로직을 함께 캡슐화하여 관리한다. Here, the actual or virtually measured surrounding environment and entity information (data) including time-stamps and physical and mathematical control logic are encapsulated and managed.

다양한 자율주행 알고리즘 및 교통 상황, 주행 시나리오, 차량 동역학 등 기존 서브시스템의 데이터와 제어 로직의 관계는 유지하면서, 각 서브시스템 공통의 고수준 상태 및 행위를 포함한 컴포넌트로 추상화 한다. While maintaining the relationship between data and control logic of existing subsystems such as various autonomous driving algorithms, traffic conditions, driving scenarios, and vehicle dynamics, it is abstracted into components including high-level states and behaviors common to each subsystem.

이후 제어부(50)의 지시에 따라 모델부에서 직접 서브시스템이 처리될 수 있도록 구성하여 부하 분산 및 다양한 시나리오 시험을 용이 하도록 한다. Thereafter, according to the instruction of the control unit 50, the subsystem is configured to be directly processed by the model unit to facilitate load distribution and various scenario tests.

모델부의 통신 계층은 분산 환경으로 확장이 용이하도록, 주행 상태의 감지된 변경을 영상부 및 제어부와 통신한다. 이때, 전통적인 MVC의 옵저버 매커니즘을 적용하여 커플링과 동기화 문제를 해결하고, 대용량 분산 데이터의 실시간 처리를 위한 별도의 데이터베이스를 쉽게 추가할 수 있도록 한다.The communication layer of the model unit communicates the detected change of the driving state with the image unit and the control unit to facilitate expansion into a distributed environment. At this time, by applying the observer mechanism of the traditional MVC, the coupling and synchronization problems are solved, and a separate database for real-time processing of large-scale distributed data can be easily added.

3. 영상부3. Imaging department

실제 자율주행은 차량에 탑재된 레이다, 라이다 및 카메라, GPS 센서 등에서 측정된 데이터를 기반으로 차량, 보행자 및 도로 정보 등의 주변 환경을 인식하도록 구성된다. Actual autonomous driving is configured to recognize the surrounding environment, such as vehicle, pedestrian and road information, based on data measured by radar, lidar and camera, and GPS sensor mounted on the vehicle.

시뮬레이션에서도 차량에 탑재된 각종 센서들을 가상의 주행 환경에서 모사하기 위해, 영상 DB, 센서 및 카메라 에뮬레이션 시스템, 영상 렌더링 시스템으로 자율주행 시뮬레이션의 영상 생성 장치를 구성한다. In order to simulate various sensors mounted on a vehicle in a virtual driving environment in the simulation, an image DB, a sensor and camera emulation system, and an image rendering system constitute an image generating device for autonomous driving simulation.

영상 객체 모델은 주행 환경 및 시나리오의 시뮬레이션 상태를 모델로부터 얻어 영상으로 재현하고, 주기적으로 가상 센서의 에뮬레이션 결과인 자율주행 소스 데이터를 데이터베이스에 추가하며 제어기에 캡처 이벤트를 전달한다. The image object model obtains the simulation state of the driving environment and scenario from the model and reproduces it as an image, periodically adds the autonomous driving source data, which is the emulation result of the virtual sensor, to the database, and delivers the capture event to the controller.

영상부(60)는 고성능 3차원 렌더링 엔진을 탑재한 하나 이상의 시스템으로 구성하여 다양한 가상 카메라 및 센서의 신호 생성의 부하를 분산 시키고 시뮬레이션의 정확성을 높일 수 있도록 한다. The imaging unit 60 is composed of one or more systems equipped with a high-performance 3D rendering engine to distribute the load of signal generation of various virtual cameras and sensors and to increase the accuracy of simulation.

이를 위해 시뮬레이션 모델을 각 3차원 렌더링 엔진의 모델로 재현하기 위해 개별적인 영상 파일을 로딩한 후, 영상 객체 모델을 통해 모델부[1]의 주행 객체 정보와 동기화한다. To this end, after loading individual image files to reproduce the simulation model as a model of each 3D rendering engine, it is synchronized with the driving object information of the model unit [1] through the image object model.

즉, 주행 객체 모델의 상태 변경이 감지되면 이를 영상부에 통지 하고, 영상부는 변경 상태를 모델로부터 조회하여 영상 객체 모델에 반영한다. 또한 화면 렌더링은 최대한 자주 변경하지만, 각 센서는 특성에 맞는 주기로 샘플링을 수행하고 결과를 제어부(50)에 이벤트를 전달하는 고정 시간 간격(Fixed Timestep)으로 데이터 동기화를 수행한다.That is, when a change in the state of the driving object model is detected, it is notified to the image unit, and the image unit inquires the change state from the model and reflects it in the image object model. In addition, although the screen rendering is changed as often as possible, each sensor performs sampling at a cycle suitable for characteristics and performs data synchronization at a fixed time step in which the result is transmitted to the control unit 50 as an event.

4. 제어부4. Controls

제어부(50)는 모의실험에 필요한 각종 환경 설정, HILS/SILS 검증 등 전체적인 시뮬레이션의 감독, 통제의 역할을 수행 한다. 시험조건에 시나리오 관리, 이벤트 설정 및 각종 데이터 수집과 모니터링 및 분석이 가능하다. 또한 시뮬레이터는 시뮬레이션 운영/제어와 서브시스템간의 인터페이스, 진단 기능을 제공한다.The control unit 50 performs the role of supervising and controlling the overall simulation, such as setting various environments necessary for the simulation, and verifying HILS/SILS. Scenario management, event setting, and various data collection, monitoring and analysis are possible under test conditions. In addition, the simulator provides an interface between simulation operation/control and subsystems, and diagnostic functions.

제어부(50)는 내/외부 사건(렌더러 이벤트, 상태변화 등)의 처리를 전담하고, 생명 주기 및 데이터 동기화된 모델의 로직을 제어한다. 이때, 제어부에서 수행 가능한 이벤트를 먼저 처리하고, 불가능한 이벤트는 모델부[1]의 통신 계층을 통해 그 처리를 위임한다. The controller 50 is in charge of processing internal/external events (renderer events, state changes, etc.), and controls the logic of the life cycle and data-synchronized model. In this case, the control unit processes the event that can be performed first, and delegates the processing of the impossible event through the communication layer of the model unit [1].

또한, 제어부(50)는 사용자 및 타 시뮬레이션, 타 응용체계 등과 모델을 연결하는 인터페이스 기능을 수행하고, 인공지능 및 자동차 동역학과 같은 시뮬레이션 주기의 로직을 직/간접 제어 한다. In addition, the control unit 50 performs an interface function to connect the model to the user, other simulations, other application systems, and the like, and directly/indirectly controls the logic of the simulation cycle such as artificial intelligence and vehicle dynamics.

영상부(60)와 달리 로드타임에는 시스템 설정만을 로딩하고, 모델부(40) 제어의 대리자 역할을 수행 한다. 예를 들어, 시작, 정지, 일시정지와 같은 시뮬레이션 제어는 모델부(40) 각 컴포넌트들 마다 해당 행위를 반복적으로 호출하여 완수 한다. Unlike the image unit 60 , only the system settings are loaded at load time, and the model unit 40 serves as a proxy for control. For example, simulation control such as start, stop, and pause is completed by repeatedly calling a corresponding action for each component of the model unit 40 .

런타임에는 영상부(50)에서 수집된 이벤트를 처리하도록 모델부(40)를 제어하고, 모델부(40)의 주행 상태 변경으로 트리거된 시그널을 영상으로 재현 할 수 있도록 영상부(60)에 지시한다.At runtime, the model unit 40 is controlled to process the event collected by the image unit 50, and the image unit 60 is instructed to reproduce a signal triggered by a change in the driving state of the model unit 40 as an image. do.

5. 시뮬레이터5. Simulator

본 발명에서 제안된 핵심 아키텍처는 자율주행 시뮬레이션 개념과 고전적인 MVC 패러다임 사이의 융합으로서, 자율주행 시뮬레이터 구성은 도 5에 도시된 바와 같은 구성을 가진다.The core architecture proposed in the present invention is a fusion between the autonomous driving simulation concept and the classic MVC paradigm, and the autonomous driving simulator configuration has the configuration shown in FIG. 5 .

도 5를 참조하면, M&S 엔진의 상세한 모델 정보를 자율주행의 개념적 컴포넌트(특히, 도로망과 정답 데이터)로 함축하여 모델링한다. Referring to FIG. 5 , detailed model information of the M&S engine is implied and modeled as conceptual components of autonomous driving (particularly, road network and correct answer data).

이를 통해, 복잡한 M&S 엔진들은 무결성의 손실 없이 시뮬레이션 환경 개발을 위한 확장 가능한 토대를 마련하는 장점이 있다. In this way, complex M&S engines have the advantage of providing a scalable foundation for the development of simulation environments without loss of integrity.

본 발명에서 제시된 시뮬레이터는 게임 엔진에 확장 가능한 플러그인 형태로 시뮬레이션 엔진과 연동하도록 구성하였고, 검증용 센서 및 인공지능 알고리즘 또한 플러그인으로 관리된다. The simulator presented in the present invention is configured to interwork with the simulation engine in the form of a plug-in expandable to the game engine, and the sensor and artificial intelligence algorithm for verification are also managed as plug-ins.

모델 서버과 영상 클라이언트 사이의 분산 환경 시뮬레이션 제어는 타이밍, 동기화, 병렬성, 데이터 포맷과 같은 통신 문제가 있고, 제어 흐름상의 문맥에 맞는 시뮬레이션 엔진의 생명주기 관리와 통신 계층의 중계 역할을 통해 이 문제를 해소한다. Distributed environment simulation control between the model server and the image client has communication problems such as timing, synchronization, parallelism, and data format, and solves these problems through the lifecycle management of the simulation engine that fits the context of the control flow and the relay role of the communication layer do.

일반적으로 시뮬레이터의 목적은 사용자 상호작용과 시뮬레이션 모델의 실험을 용이하게 하는데 있다. 제안된 프레임워크는 지형 및 날씨, 도로망 등 주행환경 편집을 위한 지형 편집기와 주행 시나리오, 동적 객체, 트래픽 생성 등 시나리오 편집 도구와 데이터 분석, 모니터링, 3차원 시뮬레이션 등의 시뮬레이터 개발에 활용되었다.In general, the purpose of the simulator is to facilitate user interaction and experimentation of the simulation model. The proposed framework was used to develop a terrain editor for editing driving environments such as terrain, weather, and road networks, a scenario editing tool such as driving scenarios, dynamic objects, and traffic generation, and simulators for data analysis, monitoring, and 3D simulation.

10; 서버 20; 시뮬레이터
30; 클라이언트 40; 모델부
50; 제어부 60; 영상부
10; server 20; simulator
30; client 40; model department
50; control unit 60; video department

Claims (5)

다양한 시나리오에서 자율주행 알고리즘 검증을 용이하게 하는 서버와, 센서 시뮬레이션 및 카메라 렌더링 장치들을 클라이언트로 하며, 이들을 서로 동기화하여 제어하는 시뮬레이터로 구성된 실시간 분산 자율주행 시뮬레이션 프레임워크를 구성 및 제어하는 방법으로서,
상기 자율주행 시뮬레이션 프레임워크는 공통의 시뮬레이션 모델 및 엔진을 포함 하는 모델 시스템, 센서 및 3차원 영상을 재현 하는 영상 시스템, 그리고 각 시스템을 통신 기반으로 서로 연동 제어하는 제어 시스템으로 구성되고,
각 시스템들은 멀티 프로세스, 분산 컴퓨팅 환경에서 IPC 및 이더넷 통신 계층을 통해 서로 연동될 수 있도록 하며, 전통적인 모델링 & 시뮬레이션(이하, M&S)의 모델과 시뮬레이션 관계를 유지하면서 교체 시험이 용이하도록 추상화된 모델의 인터페이스 계층으로 제어되며,
자율주행 도메인에 주행 환경 및 객체, 시나리오를 구비한 주행 DB 와 3차원 환경 렌더링을 위한 영상 DB를 구분하고, 여러 클라이언트에서 나누어 센서 에뮬레이션을 수행하여 시뮬레이션 부하를 분산시키며,
물리적으로, 서버(10)와 클라이언트(30) 사이에 시뮬레이터(20)가 연결되도록 구성되며,
상기 자율주행 시뮬레이션에 대한 아키텍쳐는 미시간 주의 자동차법전(Michigan Vehicle Code; 이하, MVC) 기반으로 구성하고,
상기 자율주행 시뮬레이션 프레임워크에서, 모델부(40), 제어부(50), 영상부(60)를 포함하도록 구성하며,
상기 모델부(40)는 자율주행의 주행 알고리즘을 검증하기 위한 각 주행 환경 및 객체 상태, 그리고 동작(행위) 및 상호작용을 공통의 개념적인 컴포넌트 모델로 표현하며, 타임스탬프(time-stamp)가 포함된 실제 또는 가상으로 측정된 주변 환경 및 개체 정보(데이터)와 물리적, 수학적 제어 로직을 함께 캡슐화하여 관리하며,
다양한 자율주행 알고리즘 및 교통 상황, 주행 시나리오, 차량 동역학 등 기존 서브시스템의 데이터와 제어 로직의 관계는 유지하면서,
상기 제어부(50)의 지시에 따라 모델부에서 직접 서브시스템이 처리될 수 있도록 구성하여 부하 분산 및 다양한 시나리오 시험을 용이 하도록 하며,
상기 모델부(40)의 통신 계층은 분산 환경으로 확장이 용이하도록, 주행 상태의 감지된 변경을 영상부(60) 및 제어부(50)와 통신하도록 한 것을 포함하는 실시간 분산 자율주행 시뮬레이션 프레임워크를 구성 및 제어하는 방법.
A method of configuring and controlling a real-time distributed autonomous driving simulation framework comprising a server that facilitates verification of autonomous driving algorithms in various scenarios, a simulator that uses sensor simulation and camera rendering devices as clients, and controls them in synchronization with each other,
The autonomous driving simulation framework consists of a model system including a common simulation model and engine, an image system that reproduces sensors and 3D images, and a control system that controls each system in conjunction with each other based on communication,
Each system enables interworking through the IPC and Ethernet communication layers in a multi-process, distributed computing environment, and maintains the model and simulation relationship of the traditional modeling & simulation (hereinafter referred to as M&S) while maintaining the simulation relationship of the abstract model to facilitate replacement testing. Controlled by the interface layer,
It divides the driving DB with driving environment, objects and scenarios in the autonomous driving domain and the image DB for 3D environment rendering, and distributes the simulation load by performing sensor emulation by dividing it in multiple clients,
Physically, the simulator 20 is configured to be connected between the server 10 and the client 30,
The architecture for the autonomous driving simulation is configured based on the Michigan Vehicle Code (hereinafter referred to as MVC),
In the autonomous driving simulation framework, it is configured to include a model unit 40, a control unit 50, and an image unit 60,
The model unit 40 expresses each driving environment and object state, action (action), and interaction for verifying the driving algorithm of autonomous driving as a common conceptual component model, and a time-stamp is It encapsulates and manages the included real or virtual measured surrounding environment and object information (data) and physical and mathematical control logic together,
While maintaining the relationship between data and control logic of existing subsystems such as various autonomous driving algorithms, traffic conditions, driving scenarios, and vehicle dynamics,
In accordance with the instructions of the control unit 50, the subsystem is configured to be processed directly in the model unit to facilitate load distribution and various scenario tests,
The communication layer of the model unit 40 is a real-time distributed autonomous driving simulation framework including communicating the detected change of the driving state with the image unit 60 and the control unit 50 so as to be easily extended to a distributed environment. How to configure and control.
청구항 1에 있어서,
상기 영상부(60)에서,
실제 자율주행은 차량에 탑재된 레이다, 라이다 및 카메라, GPS 센서 등에서 측정된 데이터를 기반으로 차량, 보행자 및 도로 정보 등의 주변 환경을 인식하도록 구성되며,
시뮬레이션에서도 차량에 탑재된 각종 센서들을 가상의 주행 환경에서 모사하기 위해, 영상 DB, 센서 및 카메라 에뮬레이션 시스템, 영상 렌더링 시스템으로 자율주행 시뮬레이션의 영상 생성 장치를 구성하며,
영상 객체 모델은 주행 환경 및 시나리오의 시뮬레이션 상태를 모델로부터 얻어 영상으로 재현하고, 주기적으로 가상 센서의 에뮬레이션 결과인 자율주행 소스 데이터를 데이터베이스에 추가하며 제어기에 캡처 이벤트를 전달하며,
영상부(60)는 고성능 3차원 렌더링 엔진을 탑재한 하나 이상의 시스템으로 구성하여 다양한 가상 카메라 및 센서의 신호 생성의 부하를 분산 시키고 시뮬레이션의 정확성을 높일 수 있도록 하며, 이를 위해 시뮬레이션 모델을 각 3차원 렌더링 엔진의 모델로 재현하기 위해 개별적인 영상 파일을 로딩한 후, 영상 객체 모델을 통해 모델부(40)의 주행 객체 정보와 동기화하는 것을 포함하는 실시간 분산 자율주행 시뮬레이션 프레임워크를 구성 및 제어하는 방법.
The method according to claim 1,
In the imaging unit 60,
Actual autonomous driving is configured to recognize the surrounding environment such as vehicle, pedestrian and road information based on data measured by radar, lidar and camera, and GPS sensor mounted on the vehicle.
In order to simulate various sensors mounted on the vehicle in the virtual driving environment in the simulation, the image DB, sensor and camera emulation system, and image rendering system constitute the image generating device of the autonomous driving simulation.
The image object model obtains the simulation state of the driving environment and scenario from the model and reproduces it as an image, periodically adds the autonomous driving source data, which is the emulation result of the virtual sensor, to the database, and delivers the capture event to the controller.
The imaging unit 60 is composed of one or more systems equipped with a high-performance 3D rendering engine to distribute the load of signal generation of various virtual cameras and sensors and to increase the accuracy of the simulation. A method of configuring and controlling a real-time distributed autonomous driving simulation framework comprising loading an individual image file to reproduce it as a model of a rendering engine and synchronizing it with driving object information of the model unit 40 through an image object model.
청구항 1에 있어서,
상기 제어부(50)는 모의실험에 필요한 각종 환경 설정, HILS/SILS 검증 등 전체적인 시뮬레이션의 감독, 통제의 역할을 수행하며, 시험조건에 시나리오 관리, 이벤트 설정 및 각종 데이터 수집과 모니터링 및 분석이 가능하도록 하며, 시뮬레이터는 시뮬레이션 운영/제어와 서브시스템간의 인터페이스, 진단 기능을 제공하며,
상기 제어부(50)는 내/외부 사건(렌더러 이벤트, 상태변화 등)의 처리를 전담하고, 생명 주기 및 데이터 동기화된 모델의 로직을 제어하고, 이때 제어부에서 수행 가능한 이벤트를 먼저 처리하고, 불가능한 이벤트는 모델부(40)의 통신 계층을 통해 그 처리를 위임하며, 사용자 및 타 시뮬레이션, 타 응용체계 등과 모델을 연결하는 인터페이스 기능을 수행하고, 인공지능 및 자동차 동역학과 같은 시뮬레이션 주기의 로직을 직/간접 제어하며,
영상부(60)와 달리 로드타임에는 시스템 설정만을 로딩하고, 모델부(40) 제어의 대리자 역할을 수행하며, 런타임에는 영상부(50)에서 수집된 이벤트를 처리하도록 모델부(40)를 제어하고, 모델부(40)의 주행 상태 변경으로 트리거된 시그널을 영상으로 재현 할 수 있도록 영상부(60)에 지시하는 것을 포함하는 실시간 분산 자율주행 시뮬레이션 프레임워크를 구성 및 제어하는 방법.
The method according to claim 1,
The control unit 50 performs the role of supervising and controlling the overall simulation such as setting various environments required for simulation and HILS/SILS verification, and enabling scenario management, event setting, and various data collection, monitoring and analysis under test conditions. The simulator provides interfaces between simulation operation/control and subsystems, and diagnostic functions.
The control unit 50 is in charge of processing internal/external events (renderer event, state change, etc.), and controls the logic of the life cycle and data-synchronized model. Delegates the processing through the communication layer of the model unit 40, performs an interface function that connects models with users, other simulations, other application systems, etc., and directly/executes the logic of the simulation cycle such as artificial intelligence and automobile dynamics. indirectly controlled,
Unlike the image unit 60 , only the system settings are loaded at load time, the model unit 40 acts as a proxy for control, and the model unit 40 is controlled to process the events collected by the image unit 50 at runtime. and instructing the image unit 60 to reproduce a signal triggered by a change in the driving state of the model unit 40 as an image.
청구항 1에 있어서,
상기 시뮬레이터는 M&S 엔진의 상세한 모델 정보를 자율주행의 개념적 컴포넌트로 함축하여 모델링하며, 이를 통해, 복잡한 M&S 엔진들은 무결성의 손실 없이 시뮬레이션 환경 개발을 위한 확장 가능한 토대를 마련하도록 하며,
상기 시뮬레이터는 플러그인 형태로 구성 하고, 검증용 센서 및 인공지능 알고리즘 또한 플러그인으로 관리되도록 한 것을 포함하는 실시간 분산 자율주행 시뮬레이션 프레임워크를 구성 및 제어하는 방법.
The method according to claim 1,
The simulator models the detailed model information of the M&S engine as a conceptual component of autonomous driving, and through this, complex M&S engines lay a scalable foundation for the development of a simulation environment without loss of integrity,
The method of configuring and controlling a real-time distributed autonomous driving simulation framework, comprising configuring the simulator in the form of a plug-in, and allowing the verification sensor and artificial intelligence algorithm to be managed as a plug-in.
삭제delete
KR1020190152141A 2019-11-25 2019-11-25 the method for configuring and controling real-time distributed autonomous driving simulation framework KR102282970B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190152141A KR102282970B1 (en) 2019-11-25 2019-11-25 the method for configuring and controling real-time distributed autonomous driving simulation framework

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190152141A KR102282970B1 (en) 2019-11-25 2019-11-25 the method for configuring and controling real-time distributed autonomous driving simulation framework

Publications (2)

Publication Number Publication Date
KR20210063701A KR20210063701A (en) 2021-06-02
KR102282970B1 true KR102282970B1 (en) 2021-07-28

Family

ID=76373159

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190152141A KR102282970B1 (en) 2019-11-25 2019-11-25 the method for configuring and controling real-time distributed autonomous driving simulation framework

Country Status (1)

Country Link
KR (1) KR102282970B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230146965A (en) 2022-04-12 2023-10-20 경기대학교 산학협력단 Test case evaluating system and method of autonomous driving
CN115309320B (en) * 2022-08-04 2023-10-03 吉林大学 Man-machine interaction system of automobile driving simulator
CN116012474B (en) * 2022-12-13 2024-01-30 昆易电子科技(上海)有限公司 Simulation test image generation and reinjection method and system, industrial personal computer and device
CN116302579B (en) * 2023-05-25 2023-08-04 智成时空(西安)创新科技有限公司 Space-time big data efficient loading rendering method and system for Web end
CN116909260B (en) * 2023-09-12 2023-12-01 常州星宇车灯股份有限公司 Intelligent driving domain controller test verification method for simulating HIL (high-performance liquid chromatography) rack
CN117549314B (en) * 2024-01-09 2024-03-19 承德石油高等专科学校 Industrial robot intelligent control system based on image recognition

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132519A (en) * 1998-10-29 2000-05-12 Mitsubishi Electric Corp Distributed simulation system
JP2008203934A (en) 2007-02-16 2008-09-04 Nec Corp Distributed workflow simulation system, method and program
JP5310859B2 (en) 2009-08-13 2013-10-09 富士通株式会社 Simulator

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140144921A (en) 2013-06-12 2014-12-22 국민대학교산학협력단 Simulation system for autonomous vehicle using virtual reality
KR101850038B1 (en) * 2016-05-24 2018-06-07 (주)이노시뮬레이션 Apparatus and method for simulating car
KR101916838B1 (en) 2018-03-14 2018-11-08 주식회사 휴텀 simulation simulator for self-driving car
KR101984762B1 (en) 2018-10-31 2019-06-03 주식회사 모라이 Autonomous vehicle simulator using network platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132519A (en) * 1998-10-29 2000-05-12 Mitsubishi Electric Corp Distributed simulation system
JP2008203934A (en) 2007-02-16 2008-09-04 Nec Corp Distributed workflow simulation system, method and program
JP5310859B2 (en) 2009-08-13 2013-10-09 富士通株式会社 Simulator

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jie Tang 외 3명. ‘Distributed Simulation Platform for Autonomous Driving’. International Conference on Internet of Vehicles, 2017.5.31., pp.1-12.*

Also Published As

Publication number Publication date
KR20210063701A (en) 2021-06-02

Similar Documents

Publication Publication Date Title
KR102282970B1 (en) the method for configuring and controling real-time distributed autonomous driving simulation framework
Pereira et al. An integrated architecture for autonomous vehicles simulation
US11257309B2 (en) Systems and methods to test an autonomous vehicle
Jia et al. Integrated simulation platform for conventional, connected and automated driving: A design from cyber–physical systems perspective
Gruyer et al. From virtual to reality, how to prototype, test and evaluate new ADAS: Application to automatic car parking
CN112904827B (en) Unmanned virtual simulation test system for multiple ICUs
Hossain et al. CAIAS simulator: self-driving vehicle simulator for AI research
Zofka et al. Traffic participants in the loop: A mixed reality-based interaction testbed for the verification and validation of autonomous vehicles
Shoukat et al. Application of digital twin technology in the field of autonomous driving test
KR102412539B1 (en) Autonomous Driving Distributed Simulation Synchronous Control Method
Fouladinejad et al. Modeling virtual driving environment for a driving simulator
Artunedo et al. Advanced co-simulation framework for cooperative maneuvers among vehicles
Guvenc et al. Simulation Environment for Safety Assessment of CEAV Deployment in Linden
Wang et al. Simplexity testbed: A model-based digital twin testbed
Neumeier et al. Yet another driving simulator openrouts3d: The driving simulator for teleoperated driving
Curiel-Ramirez et al. Hardware in the loop framework proposal for a semi-autonomous car architecture in a closed route environment
Zhou et al. A survey on autonomous driving system simulators
Negrut et al. Autonomous vehicles in the cyberspace: Accelerating testing via computer simulation
Ai et al. PMWorld: A Parallel Testing Platform for Autonomous Driving in Mines
Negrut et al. Synchrono: An open-source framework for physics-based simulation of collaborating robots
De Hoog et al. Towards a distributed real-time hybrid simulator for autonomous vehicles
Gorsich The use of gaming engines for design requirements
Elmquist et al. An overview of a connected autonomous vehicle emulator (CAVE)
Kagalwala et al. Implementation Methodologies for Simulation as a Service (SaaS) to Develop ADAS Applications
Zhou et al. GarchingSim: An Autonomous Driving Simulator with Photorealistic Scenes and Minimalist Workflow

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant