KR20240077619A - Method, Apparatus and Computer-readable Recording Medium for Simulating an Autonomous Vehicle - Google Patents

Method, Apparatus and Computer-readable Recording Medium for Simulating an Autonomous Vehicle Download PDF

Info

Publication number
KR20240077619A
KR20240077619A KR1020220159105A KR20220159105A KR20240077619A KR 20240077619 A KR20240077619 A KR 20240077619A KR 1020220159105 A KR1020220159105 A KR 1020220159105A KR 20220159105 A KR20220159105 A KR 20220159105A KR 20240077619 A KR20240077619 A KR 20240077619A
Authority
KR
South Korea
Prior art keywords
autonomous vehicle
area
virtual
autonomous
virtual sensor
Prior art date
Application number
KR1020220159105A
Other languages
Korean (ko)
Inventor
김하영
Original Assignee
포티투닷 주식회사
Filing date
Publication date
Application filed by 포티투닷 주식회사 filed Critical 포티투닷 주식회사
Publication of KR20240077619A publication Critical patent/KR20240077619A/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0019Control system elements or transfer functions
    • B60W2050/0028Mathematical models, e.g. for simulation
    • B60W2050/0031Mathematical model of the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/20Static objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4041Position

Abstract

본 개시의 일 실시 예에 따른 자율 주행 차량의 시뮬레이션 방법은, 가상 지도에 포함되는 가상 도로를 따라 주행하는 차량으로써, 자율 주행 알고리즘이 적용된 자율 주행 차량 및 주변 차량을 생성하는 단계; 상기 자율 주행 차량의 주행 위치에 따른 가시 영역(visible region)을 결정하고, 상기 가시 영역에 기초하여 상기 자율 주행 차량에 대한 시나리오를 설정하는 단계; 및 상기 시나리오에 기초하여 상기 자율 주행 차량 및 상기 주변 차량의 주행을 개시함으로써, 상기 자율 주행 알고리즘에 대한 시뮬레이션을 수행하는 단계; 를 포함한다.A simulation method of an autonomous vehicle according to an embodiment of the present disclosure includes generating an autonomous vehicle and surrounding vehicles to which an autonomous driving algorithm is applied as a vehicle traveling along a virtual road included in a virtual map; determining a visible region according to a driving position of the autonomous vehicle and setting a scenario for the autonomous vehicle based on the visible region; and performing a simulation for the autonomous driving algorithm by starting driving of the autonomous vehicle and the surrounding vehicles based on the scenario. Includes.

Description

자율 주행 차량의 시뮬레이션 방법, 장치 및 컴퓨터-판독가능 기록매체 {Method, Apparatus and Computer-readable Recording Medium for Simulating an Autonomous Vehicle}{Method, Apparatus and Computer-readable Recording Medium for Simulating an Autonomous Vehicle}

본 발명은 자율 주행 차량의 시뮬레이션 방법, 장치 및 컴퓨터-판독가능 기록매체에 관한다.The present invention relates to a simulation method, apparatus, and computer-readable recording medium for an autonomous vehicle.

정보통신 기술과 차량 산업의 융합으로 인해 빠르게 차량의 스마트화가 진행되고 있다. 스마트화로 인해, 차량은 단순한 기계적 장치에서 스마트카로 진화하고 있으며, 특히 스마트카의 핵심기술로 자율 주행이 주목받고 있다. 자율 주행이란 운전자가 핸들과 가속페달, 브레이크 등을 조작하지 않아도 차량 스스로 목적지까지 찾아가는 기술이다. Smartization of vehicles is rapidly progressing due to the convergence of information and communication technology and the vehicle industry. Due to smartization, vehicles are evolving from simple mechanical devices to smart cars, and in particular, autonomous driving is attracting attention as a core technology for smart cars. Autonomous driving is a technology that allows a vehicle to reach its destination on its own without the driver having to operate the steering wheel, accelerator pedal, or brakes.

한편, 자율 주행 차량의 작동은 '인지-판단-제어'의 3 단계를 거쳐 이루어질 수 있다. 각 단계에서, 복수의 자율 주행 알고리즘이 유기적으로 연결되어 사용될 수 있다. 자율 주행 알고리즘이 정확하고, 안전하게 자율 주행 차량을 작동시키기 위해서는 알고리즘을 위한 상당한 데이터가 확보되어야 하고, 알고리즘을 검증할 필요성이 존재한다.Meanwhile, the operation of an autonomous vehicle can be accomplished through three stages: ‘cognition-judgment-control’. At each stage, multiple autonomous driving algorithms can be organically connected and used. In order for the autonomous driving algorithm to be accurate and to operate the autonomous vehicle safely, significant data for the algorithm must be secured, and there is a need to verify the algorithm.

다만, 실제 도로에서 알고리즘 개발을 위한 데이터를 획득하는 것은 상당한 시간적, 금전적 비용이 요구될 수 있고, 직접 차량은 운전하는 운전자들에게 잠재적인 위협이 될 수 있다. 이에 따라, 가상 환경에서 자율 주행 알고리즘을 검증하는 시뮬레이션 기술에 대한 필요성이 증대하고 있는 실정이다.However, acquiring data for algorithm development on actual roads can require significant time and financial costs, and the vehicles themselves can pose a potential threat to drivers. Accordingly, the need for simulation technology to verify autonomous driving algorithms in a virtual environment is increasing.

전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.The above-mentioned background technology is technical information that the inventor possessed for deriving the present invention or acquired in the process of deriving the present invention, and cannot necessarily be said to be known art disclosed to the general public before filing the application for the present invention.

본 개시에 따른 일부 실시예는, 자율 주행 차량의 시뮬레이션 방법, 장치 및 컴퓨터-판독가능 기록매체를 제공하고자 한다. 본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해보다 분명하게 이해될 것이다. 또한, 본 발명이 해결하고자 하는 과제 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.Some embodiments according to the present disclosure seek to provide a simulation method, apparatus, and computer-readable recording medium of an autonomous vehicle. The problem to be solved by the present invention is not limited to the problems mentioned above, and other problems and advantages of the present invention that are not mentioned can be understood through the following description and can be understood more clearly through the embodiments of the present invention. It will be. In addition, it will be appreciated that the problems and advantages to be solved by the present invention can be realized by the means and combinations thereof indicated in the patent claims.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 자율 주행 차량의 시뮬레이션 방법에 있어서, 가상 지도에 포함되는 경로를 따라 주행하는 차량으로써, 자율 주행 알고리즘이 적용된 자율 주행 차량 및 주변 차량을 생성하는 단계; 상기 자율 주행 차량의 주행 위치에 따른 가시 영역을 결정하고, 상기 가시 영역에 기초하여 상기 자율 주행 차량에 대한 시나리오를 설정하는 단계; 및 상기 시나리오에 기초하여 상기 자율 주행 차량 및 상기 주변 차량의 주행을 개시함으로써, 상기 자율 주행 알고리즘에 대한 시뮬레이션을 수행하는 단계; 를 포함하는, 방법을 제공할 수 있다. As a technical means for achieving the above-described technical problem, the first aspect of the present disclosure is a simulation method of an autonomous vehicle, which is a vehicle traveling along a path included in a virtual map, and an autonomous vehicle to which an autonomous driving algorithm is applied. and generating surrounding vehicles; determining a visible area according to a driving position of the autonomous vehicle and setting a scenario for the autonomous vehicle based on the visible area; and performing a simulation for the autonomous driving algorithm by starting driving of the autonomous vehicle and the surrounding vehicles based on the scenario. A method including a may be provided.

본 개시의 제2 측면은, 자율 주행 차량의 시뮬레이션 장치에 있어서, 상기 장치는, 적어도 하나의 메모리; 및 적어도 하나의 프로세서; 를 포함하고, 상기 프로세서는, 가상 지도에 포함되는 경로를 따라 주행하는 차량으로써, 자율 주행 알고리즘이 적용된 자율 주행 차량 및 주변 차량을 생성하고, 상기 자율 주행 차량의 주행 위치에 따른 가시 영역을 결정하고, 상기 가시 영역에 기초하여 상기 자율 주행 차량에 대한 시나리오를 설정하고, 상기 시나리오에 기초하여 상기 자율 주행 차량 및 상기 주변 차량의 주행을 개시함으로써, 상기 자율 주행 알고리즘에 대한 시뮬레이션을 수행하는, 장치를 제공할 수 있다.A second aspect of the present disclosure provides a simulation device for an autonomous vehicle, the device comprising: at least one memory; and at least one processor; It includes, wherein the processor generates an autonomous vehicle and surrounding vehicles to which an autonomous driving algorithm is applied as a vehicle traveling along a path included in the virtual map, determines a visible area according to the driving position of the autonomous vehicle, and , A device that performs simulation for the autonomous driving algorithm by setting a scenario for the autonomous vehicle based on the visible area and starting driving of the autonomous vehicle and the surrounding vehicles based on the scenario. can be provided.

본 개시의 제3 측면은, 제1 측면에 따른 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.A third aspect of the present disclosure may provide a computer-readable recording medium recording a program for executing the method according to the first aspect on a computer.

이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.In addition, another method for implementing the present invention, another system, and a computer-readable recording medium storing a computer program for executing the method may be further provided.

전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features and advantages in addition to those described above will become apparent from the following drawings, claims and detailed description of the invention.

전술한 본 개시의 과제 해결 수단에 의하면, 자율 주행 차량에 탑재되어 있는 자율 주행 알고리즘을 시뮬레이션 하는 것에 있어서, 자율 주행 차량의 가시 영역과 비가시 영역을 고려한 시뮬레이션을 수행할 수 있다.According to the problem-solving means of the present disclosure described above, when simulating an autonomous driving algorithm mounted on an autonomous vehicle, simulation can be performed considering the visible and invisible areas of the autonomous vehicle.

도 1 내지 도 3은 일 실시예에 따른 자율 주행 방식의 일 예를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 시뮬레이션 환경을 설정하는 일 예를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 시나리오를 설정하는 일 예를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 시나리오를 설정하는 일 예를 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 시나리오를 설정하는 일 예를 설명하기 위한 도면이다.
도 8a 및 8b는 일 실시예에 따른 자율 주행 알고리즘이 자율 주행 차량의 행동을 결정하는 일 예를 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 자율 주행 차량의 시뮬레이션 방법의 일 예를 설명하기 위한 흐름도이다.
도 10은 일 실시예에 따른 자율 주행 차량의 시뮬레이션 장치의 내부 구성의 일 예를 설명하기 위한 구성도이다.
1 to 3 are diagrams for explaining an example of an autonomous driving method according to an embodiment.
Figure 4 is a diagram for explaining an example of setting a simulation environment according to an embodiment.
Figure 5 is a diagram for explaining an example of setting a scenario according to an embodiment.
Figure 6 is a diagram for explaining an example of setting a scenario according to an embodiment.
Figure 7 is a diagram for explaining an example of setting a scenario according to an embodiment.
8A and 8B are diagrams to explain an example in which an autonomous driving algorithm determines the behavior of an autonomous vehicle according to an embodiment.
FIG. 9 is a flowchart illustrating an example of a simulation method for an autonomous vehicle according to an embodiment.
FIG. 10 is a configuration diagram illustrating an example of the internal configuration of a simulation device for an autonomous vehicle according to an embodiment.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments presented below, but may be implemented in various different forms, and should be understood to include all conversions, equivalents, and substitutes included in the spirit and technical scope of the present invention. . The embodiments presented below are provided to ensure that the disclosure of the present invention is complete and to fully inform those skilled in the art of the scope of the invention. In describing the present invention, if it is determined that a detailed description of related known technologies may obscure the gist of the present invention, the detailed description will be omitted.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, “포함하다” 또는 “가지다” 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in this application are only used to describe specific embodiments and are not intended to limit the invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, terms such as “comprise” or “have” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more other features. It should be understood that this does not exclude in advance the possibility of the existence or addition of elements, numbers, steps, operations, components, parts, or combinations thereof.

본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로 프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.Some embodiments of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented in various numbers of hardware and/or software configurations that perform specific functions. For example, the functional blocks of the present disclosure may be implemented by one or more microprocessors or by circuit configurations for certain functions. Additionally, for example, functional blocks of the present disclosure may be implemented in various programming or scripting languages. Functional blocks may be implemented as algorithms running on one or more processors. Additionally, the present disclosure may employ conventional technologies for electronic environment setup, signal processing, and/or data processing. Terms such as “mechanism,” “element,” “means,” and “configuration” may be used broadly and are not limited to mechanical and physical components.

또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.Additionally, connection lines or connection members between components shown in the drawings merely exemplify functional connections and/or physical or circuit connections. In an actual device, connections between components may be represented by various replaceable or additional functional connections, physical connections, or circuit connections.

이하에서, '차량'은 자동차, 버스, 오토바이, 킥보드 또는 트럭과 같이 기관을 가지고 사람이나 물건을 이동시키기 위해 이용되는 모든 종류의 운송 수단을 의미할 수 있다.Hereinafter, 'vehicle' may refer to any type of transportation used to move people or objects with engine, such as a car, bus, motorcycle, kickboard, or truck.

아래에서는 첨부한 도면을 참고하여 실시 예에 대하여 상세히 설명한다. 그러나 실시 예는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 예에 한정되지 않는다.Below, the embodiment will be described in detail with reference to the attached drawings. However, the embodiments may be implemented in various different forms and are not limited to the examples described herein.

도 1은 일 실시예에 따른 자율 주행 방식을 설명하기 위한 도면이다.1 is a diagram for explaining an autonomous driving method according to an embodiment.

도 1을 참조하면, 본 발명의 일 실시예에 따른 자율 주행 장치는, 차량에 장착되어 자율 주행 차량(10)을 구현할 수 있다. 자율 주행 차량(10)에 장착되는 자율 주행 장치는, 주변의 상황 정보를 수집하기 위한 다양한 센서들을 포함할 수 있다. 일례로, 자율 주행 장치는 자율 주행 차량(10)의 전면에 장착된 이미지 센서 및/또는 이벤트 센서를 통해, 전방에서 운행 중인 선행 차량(20)의 움직임을 감지할 수 있다. 자율 주행 장치는 자율 주행 차량(10)의 전면은 물론, 옆 차로에서 운행중인 다른 주행 차량(30)과, 자율 주행 차량(10) 주변의 보행자 등을 감지하기 위한 센서들을 더 포함할 수 있다.Referring to FIG. 1, the autonomous driving device according to an embodiment of the present invention can be mounted on a vehicle to implement an autonomous vehicle 10. The autonomous driving device mounted on the autonomous vehicle 10 may include various sensors for collecting surrounding situation information. For example, the autonomous driving device may detect the movement of the preceding vehicle 20 running in front through an image sensor and/or an event sensor mounted on the front of the autonomous vehicle 10. The autonomous driving device may further include sensors for detecting not only the front of the autonomous vehicle 10, but also other vehicles 30 running in the lane next to the autonomous vehicle 10 and pedestrians around the autonomous vehicle 10.

자율 주행 차량 주변의 상황 정보를 수집하기 위한 센서들 중 적어도 하나는, 도 1에 도시한 바와 같이 소정의 화각(FoV)을 가질 수 있다. 일례로, 자율 주행 차량(10)의 전면에 장착된 센서가 도 1에 도시한 바와 같은 화각(FoV)을 갖는 경우에, 센서의 중앙에서 검출되는 정보가 상대적으로 높은 중요도를 가질 수 있다. 이는, 센서의 중앙에서 검출되는 정보에, 선행 차량(20)의 움직임에 대응하는 정보가 대부분 포함되어 있기 때문일 수 있다.At least one of the sensors for collecting situational information around the autonomous vehicle may have a predetermined field of view (FoV), as shown in FIG. 1 . For example, when a sensor mounted on the front of the autonomous vehicle 10 has a field of view (FoV) as shown in FIG. 1, information detected at the center of the sensor may have relatively high importance. This may be because the information detected at the center of the sensor includes most of the information corresponding to the movement of the preceding vehicle 20.

자율 주행 장치는, 자율 주행 차량(10)의 센서들이 수집한 정보를 실시간으로 처리하여 자율 주행 차량(10)의 움직임을 제어하는 한편, 센서들이 수집한 정보 중에 적어도 일부는 메모리 장치에 저장할 수 있다. The self-driving device processes information collected by the sensors of the self-driving vehicle 10 in real time to control the movement of the self-driving vehicle 10, while storing at least some of the information collected by the sensors in a memory device. .

도 2는 일 실시예에 따른 자율 주행 장치에 포함되는 하드웨어가 도시된 블록도이다. Figure 2 is a block diagram showing hardware included in an autonomous driving device according to an embodiment.

도 2를 참조하면, 자율 주행 장치(40)는 센서부(41), 프로세서(46), 메모리 시스템(47), 및 차체 제어 모듈(48) 등을 포함할 수 있다. 센서부(41)는 복수의 센서들(42-45)을 포함하며, 복수의 센서들(42-45)은 이미지 센서, 이벤트 센서, 조도 센서, GPS 장치, 가속도 센서 등을 포함할 수 있다.Referring to FIG. 2 , the autonomous driving device 40 may include a sensor unit 41, a processor 46, a memory system 47, and a vehicle body control module 48. The sensor unit 41 includes a plurality of sensors 42-45, and the plurality of sensors 42-45 may include an image sensor, an event sensor, an illumination sensor, a GPS device, an acceleration sensor, etc.

센서들(42-45)이 수집한 데이터는 프로세서(46)로 전달될 수 있다. 프로세서(46)는 센서들(42-45)이 수집한 데이터를 메모리 시스템(47)에 저장하고, 센서들(42-45)이 수집한 데이터에 기초하여 차체 제어 모듈(48)을 제어하여 차량의 움직임을 결정할 수 있다. 메모리 시스템(47)은 둘 이상의 메모리 장치들과, 메모리 장치들을 제어하기 위한 시스템 컨트롤러를 포함할 수 있다. 메모리 장치들 각각은 하나의 반도체 칩으로 제공될 수 있다.Data collected by sensors 42-45 may be transmitted to processor 46. The processor 46 stores the data collected by the sensors 42-45 in the memory system 47 and controls the vehicle body control module 48 based on the data collected by the sensors 42-45 to control the vehicle. movement can be determined. The memory system 47 may include two or more memory devices and a system controller for controlling the memory devices. Each of the memory devices may be provided as one semiconductor chip.

메모리 시스템(47)의 시스템 컨트롤러 외에, 메모리 시스템(47)에 포함되는 메모리 장치들 각각은 메모리 컨트롤러를 포함할 수 있으며, 메모리 컨트롤러는 신경망과 같은 인공지능(AI) 연산 회로를 포함할 수 있다. 메모리 컨트롤러는 센서들(42-45) 또는 프로세서(46)로부터 수신한 데이터에 소정의 가중치를 부여하여 연산 데이터를 생성하고, 연산 데이터를 메모리 칩에 저장할 수 있다. In addition to the system controller of the memory system 47, each of the memory devices included in the memory system 47 may include a memory controller, and the memory controller may include an artificial intelligence (AI) operation circuit such as a neural network. The memory controller may generate calculation data by assigning a predetermined weight to data received from the sensors 42 - 45 or the processor 46 and store the calculation data in a memory chip.

도 3은 일 실시예에 따른 자율 주행 장치가 탑재된 자율 주행 차량의 센서(카메라를 포함함)가 획득한 영상 데이터의 예시를 나타낸 도면이다.FIG. 3 is a diagram illustrating an example of image data acquired by sensors (including cameras) of an autonomous vehicle equipped with an autonomous driving device according to an embodiment.

도 3을 참조하면, 영상 데이터(50)는 자율 주행 차량의 전면에 장착된 센서가 획득한 데이터일 수 있다. 따라서 영상 데이터(50)에는 자율 주행 차량의 전면부(51), 자율 주행 차량과 같은 차로의 선행 차량(52), 자율 주행 차량 주변의 주행 차량(53) 및 배경(54) 등이 포함될 수 있다.Referring to FIG. 3, image data 50 may be data acquired by a sensor mounted on the front of an autonomous vehicle. Therefore, the image data 50 may include the front part 51 of the autonomous vehicle, the preceding vehicle 52 in the same lane as the autonomous vehicle, the vehicles 53 and the background 54 around the autonomous vehicle. .

도 3에 도시한 실시예에 따른 영상 데이터(50)에서, 자율 주행 차량의 전면부(51)와 배경(54)이 나타나는 영역의 데이터는 자율 주행 차량의 운행에 영향을 미칠 가능성이 거의 없는 데이터일 수 있다. 다시 말해, 자율 주행 차량의 전면부(51)와 배경(54)은 상대적으로 낮은 중요도를 갖는 데이터로 간주될 수 있다.In the image data 50 according to the embodiment shown in FIG. 3, the data in the area where the front part 51 and the background 54 of the autonomous vehicle appear are data that are unlikely to affect the operation of the autonomous vehicle. It can be. In other words, the front 51 and background 54 of the autonomous vehicle can be considered data with relatively low importance.

반면, 선행 차량(52)과의 거리, 및 주행 차량(53)의 차로 변경 움직임 등은 자율 주행 차량의 안전한 운행에 있어서 매우 중요한 요소일 수 있다. 따라서, 영상 데이터(50)에서 선행 차량(52) 및 주행 차량(53) 등이 포함되는 영역의 데이터는 자율 주행 차량의 운행에 있어서 상대적으로 높은 중요도를 가질 수 있다.On the other hand, the distance to the preceding vehicle 52 and the lane change movement of the driving vehicle 53 may be very important factors in the safe operation of an autonomous vehicle. Accordingly, in the image data 50, data in an area including the preceding vehicle 52 and the driving vehicle 53 may have relatively high importance in the operation of the autonomous vehicle.

자율 주행 장치의 메모리 장치는, 센서로부터 수신한 영상 데이터(50)의 영역별로 가중치를 다르게 부여하여 저장할 수 있다. 일례로, 선행 차량(52)과 주행 차량(53) 등이 포함되는 영역의 데이터에는 높은 가중치를 부여하고, 자율 주행 차량의 전면부(51)와 배경(54)이 나타나는 영역의 데이터에는 낮은 가중치를 부여할 수 있다.The memory device of the autonomous driving device may store the image data 50 received from the sensor by assigning different weights to each region. For example, a high weight is given to data in an area that includes the preceding vehicle 52 and the driving vehicle 53, and a low weight is given to data in an area where the front 51 and background 54 of an autonomous vehicle appear. can be given.

한편, 자율 주행 차량의 작동은 '인지-판단-제어'의 3 단계를 거쳐 이루어질 수 있다. 각 단계에서, 복수의 자율 주행 알고리즘이 유기적으로 연결되어 사용될 수 있다. 자율 주행 알고리즘이 정확하고, 안전하게 자율 주행 차량을 작동시키기 위해서는 알고리즘을 위한 상당한 데이터가 확보되어야 하고, 알고리즘을 검증할 필요성이 존재한다.Meanwhile, the operation of an autonomous vehicle can be accomplished through three stages: ‘cognition-judgment-control’. At each stage, multiple autonomous driving algorithms can be organically connected and used. In order for the autonomous driving algorithm to be accurate and to operate the autonomous vehicle safely, significant data for the algorithm must be secured, and there is a need to verify the algorithm.

다만, 실제 도로에서 알고리즘 개발을 위한 데이터를 획득하는 것은 상당한 시간적, 금전적 비용이 요구될 수 있고, 직접 차량은 운전하는 운전자들에게 잠재적인 위협이 될 수 있다.However, acquiring data for algorithm development on actual roads can require significant time and financial costs, and the vehicles themselves can pose a potential threat to drivers.

이에 따라, 이하 도 4 내지 도 10을 참조하여 가상 환경에서 자율 주행 차량에 대한 시뮬레이션을 수행하는 방법에 대해 설명한다.Accordingly, a method of performing simulation of an autonomous vehicle in a virtual environment will be described below with reference to FIGS. 4 to 10.

도 4는 일 실시예에 따른 시뮬레이션 환경을 설정하는 일 예를 설명하기 위한 도면이다.Figure 4 is a diagram for explaining an example of setting a simulation environment according to an embodiment.

가상 환경에서 자율 주행 차량에 대한 시뮬레이션을 수행하는 것은, 상술한 자율 주행 차량의 동작 과정에 해당하는 인지, 판단, 제어의 각 과정에 대해 시뮬레이션을 수행하는 것을 의미할 수 있다.Performing a simulation for an autonomous vehicle in a virtual environment may mean performing a simulation on each process of perception, judgment, and control corresponding to the operation process of the autonomous vehicle described above.

예를 들어, 가상 환경에서 자율 주행 차량에 대해 시뮬레이션을 수행하는 것은, 교통 환경, 시간, 기상 상황 등 다양한 주행 조건을 설정하고, 설정한 주행 조건을 조절하면서 인지, 판단, 제어의 각 과정에 대한 자율 주행 알고리즘을 검증하는 것을 의미할 수 있다.For example, performing a simulation on an autonomous vehicle in a virtual environment involves setting various driving conditions such as traffic environment, time, and weather conditions, and controlling each process of perception, judgment, and control while adjusting the set driving conditions. This may mean verifying autonomous driving algorithms.

시뮬레이션을 수행하기 위해, 가상 환경을 포함하는 시뮬레이션 환경을 설정하는 것이 필요할 수 있다.To perform a simulation, it may be necessary to set up a simulation environment that includes a virtual environment.

도 4를 참조하면, 시뮬레이션 장치는 자율 주행 차량의 시뮬레이션을 위한 시뮬레이션 환경을 설정할 수 있다.Referring to FIG. 4, the simulation device can set a simulation environment for simulation of an autonomous vehicle.

일 예로, 시뮬레이션 장치는 자율 주행 차량의 시뮬레이션을 위한 가상 지도를 생성할 수 있다.As an example, a simulation device can generate a virtual map for simulation of an autonomous vehicle.

가상 지도는, 가상 도로와 가상 도로에 포함되는 가상 차선을 포함할 수 있다. 예를 들어, 가상 도로는 교차로를 포함하는 도로일 수 있고, 신호등 없이 통과하는 비신호 교차로일 수 있다.The virtual map may include a virtual road and a virtual lane included in the virtual road. For example, a virtual road may be a road that includes an intersection, or it may be a non-signalized intersection that passes without traffic lights.

또한, 가상 지도는 가상 도로를 통제하는 가상 신호 체계를 포함할 수 있다. 예를 들어, 시뮬레이션 장치는 가상 신호 체계에 대해 신호의 종류, 신호의 간격 등을 설정할 수 있다.Additionally, the virtual map may include a virtual signage system that controls the virtual roads. For example, the simulation device can set the type of signal, signal interval, etc. for the virtual signal system.

또한, 가상 지도는 가상 도로와 연관된 가상 주변 환경을 포함할 수 있다. 예를 들어, 가상 주변 환경은 가상 육교, 가상 횡단 보고, 가상 보행자 유무 등을 포함할 수 있다. Additionally, the virtual map may include virtual surroundings associated with virtual roads. For example, the virtual surroundings may include virtual overpasses, virtual crosswalk reports, virtual pedestrian presence, etc.

다른 예시로, 가상 주변 환경은 도로에 인접한 건축물, 도로에서 작업 중인 가상 작업 차량 등의 도로에 인접한 객체를 포함할 수 있다.As another example, the virtual surrounding environment may include objects adjacent to the road, such as buildings adjacent to the road or virtual work vehicles working on the road.

일 예로, 시뮬레이션 장치는 자율 주행 차량의 시뮬레이션을 위한 차량을 생성할 수 있다.As an example, a simulation device can create a vehicle for simulation of an autonomous vehicle.

차량은, 자율 주행 차량의 시뮬레이션을 위한 가상 차량을 의미할 수 있다. 예를 들어, 가상 차량은 상술한 가상 지도에 포함되는 가상 도로를 따라 주행하는 차량을 의미할 수 있다.The vehicle may refer to a virtual vehicle for simulation of an autonomous vehicle. For example, a virtual vehicle may mean a vehicle driving along a virtual road included in the above-described virtual map.

여기서, 차량은, 자율 주행 알고리즘이 적용된 자율 주행 차량과 자율 주행 차량 주변의 주변 차량을 포함할 수 있다. Here, the vehicle may include an autonomous vehicle to which an autonomous driving algorithm is applied and surrounding vehicles around the autonomous vehicle.

일 실시예에 따르면, 상술한 주변 차량은 자율 주행 알고리즘이 적용된 자율 주행 차량을 포함할 수 있다. 즉, 가상 도로를 따라 주행하는 차량에는 복수의 자율 주행 차량이 포함될 수 있다. 각각의 자율 주행 차량은 자율 주행 알고리즘이 적용된 차량을 의미할 수 있다.According to one embodiment, the above-described surrounding vehicles may include autonomous vehicles to which autonomous driving algorithms are applied. That is, vehicles traveling along a virtual road may include multiple autonomous vehicles. Each autonomous vehicle may refer to a vehicle to which an autonomous driving algorithm is applied.

한편, 시뮬레이션 환경에 대한 예시는 상술한 바에 한정되지 않는다. 자율 주행 차량에 대한 시뮬레이션을 위해 기본적으로 설정되어야 하는 것이라면, 제한 없이 시뮬레이션 환경에 포함될 수 있다.Meanwhile, examples of the simulation environment are not limited to the above. If it is something that must be set as default for simulation of autonomous vehicles, it can be included in the simulation environment without restrictions.

도 4를 참조하면, 시뮬레이션 장치는 가상 도로를 포함하는 가상 지도를 생성할 수 있다. 예를 들어, 가상 도로는 왕복 2차선의 비신호 교차로일 수 있다.Referring to FIG. 4, the simulation device can generate a virtual map including a virtual road. For example, a virtual road could be a two-lane, non-signalized intersection.

또한, 시뮬레이션 장치는 가상 도로를 주행하는 차량으로써, 자율 주행 알고리즘이 적용된 자율 주행 차량(410)과 주변 차량들(431 및 432)을 생성할 수 있다. Additionally, the simulation device can generate an autonomous vehicle 410 and surrounding vehicles 431 and 432 to which an autonomous driving algorithm is applied as a vehicle driving on a virtual road.

또한, 시뮬레이션 장치는 도로에 인접한 객체(451 및 452)를 가상 지도 상에 생성할 수 있다.Additionally, the simulation device may generate objects 451 and 452 adjacent to the road on the virtual map.

상술한 바와 같이, 시뮬레이션 환경은 도 4에 도시된 가상 도로, 차량 및 도로에 인접한 객체에 한정되지 않는다. 또한, 도 4에 도시된 예시에서는 설명의 편의를 위해 도로에 인접한 객체를 직육면체의 형태로 표현하였으나, 이에 한정되지 않는다.As mentioned above, the simulation environment is not limited to the virtual road, vehicles, and objects adjacent to the road shown in FIG. 4. Additionally, in the example shown in FIG. 4, objects adjacent to the road are expressed in the form of a rectangular parallelepiped for convenience of explanation, but the present invention is not limited thereto.

이하, 도 5 내지 도 7을 참조하여 시나리오 설정에 대한 예시들을 설명한다.Hereinafter, examples of scenario settings will be described with reference to FIGS. 5 to 7.

도 5는 일 실시예에 따른 시나리오를 설정하는 일 예를 설명하기 위한 도면이다.Figure 5 is a diagram for explaining an example of setting a scenario according to an embodiment.

도 5를 참조하면, 시뮬레이션 장치는 자율 주행 차량의 주행 위치에 따른 가시 영역(visible region)을 결정하고, 가시 영역에 기초하여 자율 주행 차량에 대한 시나리오를 설정할 수 있다.Referring to FIG. 5, the simulation device can determine a visible region according to the driving position of the autonomous vehicle and set a scenario for the autonomous vehicle based on the visible region.

여기서 가시 영역은, 가상 지도에 포함되는 영역 중에서 자율 주행 차량이 감지할 수 있는 영역의 범위를 의미할 수 있다. 이에 따라, 가상 도로를 주행하고 있는 주변 차량이 자율 주행 차량의 가시 영역에 포함되어 있는 경우, 시뮬레이션 장치는 해당 주변 차량이 자율 주행 차량에 의해 인지(recognition)되는 시나리오를 자율 주행 차량에 대해 설정할 수 있다.Here, the visible area may refer to the range of areas that can be detected by an autonomous vehicle among the areas included in the virtual map. Accordingly, if surrounding vehicles driving on a virtual road are included in the visible area of the autonomous vehicle, the simulation device can set a scenario for the autonomous vehicle in which the surrounding vehicles are recognized by the autonomous vehicle. there is.

일 예로, 시뮬레이션 장치가 가시 영역을 결정하는 것은, 자율 주행 차량에 구비된 복수의 가상 센서 각각에 대해 센싱 파라미터를 부여함으로써 가상 센서별 가시 영역을 결정하는 것을 포함할 수 있다.For example, determining the visible area by the simulation device may include determining the visible area for each virtual sensor by assigning sensing parameters to each of a plurality of virtual sensors provided in the autonomous vehicle.

자율 주행 차량은 실제 도로를 주행하면서 차선, 주변 차량 및 주변 환경 등에 대한 정보를 얻기 위해, 다양한 종류의 센서를 다수 구비할 수 있다. 예를 들어, 자율 주행 차량에 구비되는 센서는 카메라, 초음파 장치, 레이더, 라이다 등을 포함할 수 있다.Autonomous vehicles may be equipped with many different types of sensors to obtain information about lanes, surrounding vehicles, and the surrounding environment while driving on actual roads. For example, sensors provided in autonomous vehicles may include cameras, ultrasonic devices, radar, lidar, etc.

마찬가지로, 가상 환경에서 자율 주행 차량을 시뮬레이션 하는 방법에 있어서, 가상 도로를 주행하는 자율 주행 차량은 복수의 가상 센서를 구비할 수 있다. 여기서, 가상 센서는 가상 카메라, 가상 초음파 장치, 가상 레이더, 가상 라이다 등을 포함할 수 있다.Likewise, in a method of simulating an autonomous vehicle in a virtual environment, an autonomous vehicle driving on a virtual road may be equipped with a plurality of virtual sensors. Here, the virtual sensor may include a virtual camera, a virtual ultrasonic device, a virtual radar, a virtual lidar, etc.

시뮬레이션 장치는 복수의 가상 센서 각각에 대해 센싱 파라미터가 부여할 수 있다. 예를 들어, 센싱 파라미터는 가상 센서가 자율 주행 차량에 설치된 위치, 설치된 각도, 센싱 가능한 각도 및 센싱 가능한 거리 등을 포함할 수 있다. 다른 예로, 가상 센서가 카메라인 경우, 센싱 파라미터는 초점 거리(focal length), 주점(principal point), 비대칭계수(skew coefficient) 등을 포함하는 카메라 내부 파라미터와 좌표계 변환에 관한 외부 파라미터를 포함할 수 있다.The simulation device can provide sensing parameters to each of a plurality of virtual sensors. For example, sensing parameters may include the location where the virtual sensor is installed in the autonomous vehicle, the angle at which it is installed, the angle at which it can be sensed, and the distance at which it can be sensed. As another example, if the virtual sensor is a camera, the sensing parameters may include camera internal parameters including focal length, principal point, skew coefficient, etc., and external parameters related to coordinate system transformation. there is.

시뮬레이션 장치는, 상술한 센싱 파라미터를 가상 센서 각각에 대해 부여함으로써 가상 센서별 가시 영역을 결정할 수 있다. 가상 센서별 가시 영역은, 가상 지도에 포함되는 영역 중에서 가상 센서가 감시할 수 있는 영역을 의미할 수 있다.The simulation device can determine the visible area for each virtual sensor by assigning the above-described sensing parameters to each virtual sensor. The visible area for each virtual sensor may mean an area that the virtual sensor can monitor among areas included in the virtual map.

도 5를 참조하면 자율 주행 차량(510)은 복수의 가상 센서를 구비할 수 있다. 예를 들어, 각각의 가상 센서는 자율 주행 차량(510)의 전면, 측면 및 후면 중 어느 한 곳에 설치되어, 주변 차량 및 주변 환경 등을 센싱할 수 있다.Referring to FIG. 5, the autonomous vehicle 510 may be equipped with a plurality of virtual sensors. For example, each virtual sensor may be installed on one of the front, side, and rear of the autonomous vehicle 510 to sense surrounding vehicles and the surrounding environment.

시뮬레이션 장치는 자율 주행 차량(510)의 주행 위치에 따른 가시 영역을 결정하고, 가시 영역에 기초하여 자율 주행 차량에 대한 시나리오를 설정할 수 있다.The simulation device may determine a visible area according to the driving position of the autonomous vehicle 510 and set a scenario for the autonomous vehicle based on the visible area.

예를 들어, 시뮬레이션 장치는 어느 한 가상 센서(530)에 대해 센싱 파라미터를 부여함으로써, 해당 가상 센서의 가시 영역(530)을 결정할 수 있다.For example, the simulation device may determine the visible area 530 of a virtual sensor 530 by assigning sensing parameters to the virtual sensor 530 .

이에 따라, 시뮬레이션 장치는 가상 도로를 주행하는 어느 주변 차량(570)이 해당 가상 센서의 가시 영역(530)에 포함되는 시나리오를 설정할 수 있다.Accordingly, the simulation device can set a scenario in which a nearby vehicle 570 driving on a virtual road is included in the visible area 530 of the corresponding virtual sensor.

즉, 설정된 시나리오에 따르면, 자율 주행 차량(510)은 현재 주행 위치에서 주변 차량(570)을 인지할 수 있다.That is, according to the set scenario, the autonomous vehicle 510 can recognize the surrounding vehicle 570 at the current driving position.

한편, 도 5에는 가상 센서의 수, 배치, 가상 센서의 가시 영역의 범위에 대한 예시가 도시되어 있으나, 상술한 예시는 도 5에 도시된 것에 한정되지 않는다. Meanwhile, FIG. 5 shows an example of the number and arrangement of virtual sensors and the range of the visible area of the virtual sensor, but the above-mentioned examples are not limited to those shown in FIG. 5.

도 6은 일 실시예에 따른 시나리오를 설정하는 일 예를 설명하기 위한 도면이다.Figure 6 is a diagram for explaining an example of setting a scenario according to an embodiment.

도 6을 참조하면, 시뮬레이션 장치는 자율 주행 차량의 주행 위치에 따른 가시 영역을 결정하고, 가시 영역에 기초하여 자율 주행 차량에 대한 시나리오를 설정할 수 있다.Referring to FIG. 6, the simulation device can determine a visible area according to the driving position of the autonomous vehicle and set a scenario for the autonomous vehicle based on the visible area.

예를 들어, 시뮬레이션 장치는 가상 도로에 가상 센서의 시야를 방해하는 객체를 생성하고, 복수의 가상 센서 중 제1 가상 센서의 가시 영역 중에서 상술한 객체로 인한 비가시 영역(invisible region)을 결정할 수 있다. 시뮬레이션 장치는 비가시 영역에 기초하여 시나리오를 설정할 수 있다.For example, the simulation device may create an object that obstructs the view of the virtual sensor on a virtual road, and determine an invisible region due to the above-mentioned object from the visible area of the first virtual sensor among the plurality of virtual sensors. there is. The simulation device can set a scenario based on the invisible area.

여기서, 객체는 사고 차량, 옆 차선을 주행하고 있는 주변 차량 등 가상 도로 위에서 가상 센서의 시야를 방해할 수 있는 객체를 의미한다. 또한, 상술한 객체는 가상 도로와 인접한 곳에 위치하는 객체를 포함할 수 있다. 예를 들어, 객체는 가상 도로에 인접한 건축물, 가상 도로와 인접한 곳에서 작업 중인 가상 작업 차량 등을 포함할 수 있다. 한편, 객체는 복수의 객체를 의미할 수 있다.Here, the object refers to an object that may obstruct the view of the virtual sensor on the virtual road, such as an accident vehicle or a surrounding vehicle driving in the next lane. Additionally, the above-mentioned objects may include objects located adjacent to the virtual road. For example, objects may include buildings adjacent to a virtual road, virtual work vehicles working adjacent to the virtual road, etc. Meanwhile, an object may mean multiple objects.

가상 센서의 비가시 영역은, 가시 영역과 반대로, 가상 지도에 포함되는 영역 중에서 어느 한 가상 센서가 센싱할 수 없는 영역의 범위를 의미할 수 있다. 구체적으로, 가상 센서의 비가시 영역은 제1 가상 센서의 가시 영역 중에서 상술한 객체로 인해 센싱할 수 없는 영역의 범위를 의미할 수 있다.Contrary to the visible area, the invisible area of the virtual sensor may refer to an area that cannot be sensed by any one virtual sensor among the areas included in the virtual map. Specifically, the invisible area of the virtual sensor may mean a range of areas that cannot be sensed due to the above-mentioned object among the visible areas of the first virtual sensor.

시뮬레이션 장치는 비가시 영역에 기초하여 시나리오를 설정할 수 있다. 예컨대, 가상 도로를 주행하고 있는 어느 한 주변 차량이 제1 가상 센서의 비가시 영역에 포함되는 경우, 시뮬레이션 장치는 해당 주변 차량이 제1 가상 센서에 의해 인지될 수 없는 시나리오를 설정할 수 있다. The simulation device can set a scenario based on the invisible area. For example, when a nearby vehicle driving on a virtual road is included in the invisible area of the first virtual sensor, the simulation device may set a scenario in which the surrounding vehicle cannot be recognized by the first virtual sensor.

일 실시예에 따르면, 시뮬레이션 장치는 상술한 객체의 위치를 지정할 수 있고, 지정된 위치에 기초하여 제1 가상 센서의 가시 영역에 객체가 포함되는지 여부를 결정할 수 있다. 또한, 시뮬레이션 장치는 결정 결과에 기초하여 객체에 의해 가려지는 영역을 제1 가상 센서의 비가시 영역으로 결정할 수 있다.According to one embodiment, the simulation device may specify the location of the above-described object and determine whether the object is included in the visible area of the first virtual sensor based on the specified location. Additionally, the simulation device may determine the area obscured by the object as the invisible area of the first virtual sensor based on the determination result.

도 6을 참조하면, 시뮬레이션 장치는 가상 도로에 가상 센서(620)의 시야를 방해하는 객체(630)를 생성할 수 있고, 객체(630)의 위치를 지정할 수 있다. 일 예로, 도 6에서 객체(630)의 위치는 가상 도로와 인접한 곳으로 지정되었으나, 객체(630)의 위치는 이에 한정되지 않고, 가상 도로에 위치할 수 있다.Referring to FIG. 6 , the simulation device can create an object 630 that obstructs the view of the virtual sensor 620 on a virtual road and specify the location of the object 630. For example, in FIG. 6, the location of the object 630 is designated as adjacent to a virtual road, but the location of the object 630 is not limited to this and may be located on a virtual road.

일 예로, 시뮬레이션 장치는, 가상 센서(620)의 가시 영역에 객체(630)가 포함되는지 여부를 결정하고, 결정 결과에 기초하여 객체에 의해 가려지는 영역을 가상 센서(620)의 비가시 영역(640)으로 결정할 수 있다.As an example, the simulation device determines whether the object 630 is included in the visible area of the virtual sensor 620 and, based on the determination result, selects the area obscured by the object as the invisible area of the virtual sensor 620 ( 640).

즉, 객체(630)가 생성되기 전 가상 센서(620)의 가시 영역 중에서 객체(630)로 인해 가려지는 영역은 비가시 영역(640)으로 결정될 수 있고, 나머지 가시 영역은 다시 가시 영역(651 및 652)으로 결정될 수 있다.That is, among the visible areas of the virtual sensor 620 before the object 630 is created, the area obscured by the object 630 may be determined as the invisible area 640, and the remaining visible area may be determined as the visible area 651 and 652).

일 예로 시뮬레이션 장치는, 가상 센서(620)의 비가시 영역에 기초하여 자율 주행 차량(610)에 대한 시나리오를 설정할 수 있다. 예컨대, 시뮬레이션 장치는 가상 도로를 주행하는 어느 주변 차량(670)이 가상 센서(620)의 비가시 영역(640)에 포함되는 시나리오를 설정할 수 있다.As an example, the simulation device may set a scenario for the autonomous vehicle 610 based on the invisible area of the virtual sensor 620. For example, the simulation device may set a scenario in which a nearby vehicle 670 driving on a virtual road is included in the invisible area 640 of the virtual sensor 620.

즉, 설정된 시나리오에 따르면, 자율 주행 차량(610)은 현재 주행 위치에서 주변 차량(670)을 인지할 수 없다.That is, according to the set scenario, the autonomous vehicle 610 cannot recognize the surrounding vehicle 670 at the current driving position.

도 7은 일 실시예에 따른 시나리오를 설정하는 일 예를 설명하기 위한 도면이다.Figure 7 is a diagram for explaining an example of setting a scenario according to an embodiment.

도 7을 참조하면, 시뮬레이션 장치는 자율 주행 차량의 주행 위치에 따른 가시 영역을 결정하고, 가시 영역에 기초하여 자율 주행 차량에 대한 시나리오를 설정할 수 있다.Referring to FIG. 7, the simulation device can determine a visible area according to the driving position of the autonomous vehicle and set a scenario for the autonomous vehicle based on the visible area.

예를 들어, 시뮬레이션 장치가 자율 주행 차량의 가시 영역을 결정하는 것은 가상 센서별 가시 영역 및 가상 센서별 비가시 영역에 기초하여 자율 주행 차량의 주행 위치에 따른 가시 영역 및 비가시 영역을 결정하는 것을 포함할 수 있다.For example, the simulation device determines the visible area of the autonomous vehicle by determining the visible and invisible areas according to the driving position of the autonomous vehicle based on the visible area for each virtual sensor and the invisible area for each virtual sensor. It can be included.

여기서, 가상 센서별 가시 영역은 도 5에서 상술한 내용에 따라, 가상 센서 각각에 대해 결정된 가시 영역을 의미하고, 가상 센서별 비가시 영역은 도 6에서 상술한 내용에 따라, 자율 주행 차량에 구비된 가상 센서 각각에 대해 결정된 비가시 영역을 의미할 수 있다.Here, the visible area for each virtual sensor refers to the visible area determined for each virtual sensor according to the details described above in FIG. 5, and the invisible area for each virtual sensor refers to the visible area provided in the autonomous vehicle according to the details described above in FIG. 6. It may mean an invisible area determined for each virtual sensor.

일 실시예에 따르면, 시뮬레이션 장치는 제1 가상 센서의 가시 영역 및 제2 가상 센서의 가시 영역 중 어느 하나의 가시 영역에 포함되는 영역을 자율 주행 차량의 가시 영역으로 결정할 수 있다. 또한, 시뮬레이션 장치는 제1 가상 센서의 가시 영역 및 제2 가상 센서의 가시 영역 중 어느 하나의 가시 영역에도 포함되지 않는 영역을 자율 주행 차량의 비가시 영역으로 결정할 수 있다.According to one embodiment, the simulation device may determine an area included in one of the visible area of the first virtual sensor and the visible area of the second virtual sensor as the visible area of the autonomous vehicle. Additionally, the simulation device may determine an area that is not included in any of the visible areas of the first virtual sensor and the visible area of the second virtual sensor as the invisible area of the autonomous vehicle.

실시예에서, 제1 가상 센서 및 제2 가상 센서는 자율 주행 차량에 구비된 복수의 가상 센서에 포함되는 어느 가상 센서를 의미할 수 있다. 또한, 실시예에서는 설명의 편의를 위해 제1 가상 센서와 제2 가상 센서만을 포함하고 있으나, 제3 가상 센서 또는 제4 가상 센서 등이 포함될 수 있다.In an embodiment, the first virtual sensor and the second virtual sensor may refer to any virtual sensor included in a plurality of virtual sensors provided in an autonomous vehicle. Additionally, in the embodiment, only the first virtual sensor and the second virtual sensor are included for convenience of explanation, but a third virtual sensor, a fourth virtual sensor, etc. may be included.

다른 실시예에 따르면, 시뮬레이션 장치는 제1 가상 센서의 가시 영역 및 제2 가상 센서의 가시 영역이 중첩되는 영역을 자율 주행 차량의 가시 영역으로 결정할 수 있다. 시뮬레이션 장치는, 제1 가상 센서의 비가시 영역 및 제2 가상 센서의 상기 비가시 영역이 중첩되는 영역을 자율 주행 차량의 비가시 영역으로 결정할 수 있다.According to another embodiment, the simulation device may determine an area where the visible area of the first virtual sensor and the visible area of the second virtual sensor overlap as the visible area of the autonomous vehicle. The simulation device may determine an area where the invisible area of the first virtual sensor and the invisible area of the second virtual sensor overlap as the invisible area of the autonomous vehicle.

일 예로, 시뮬레이션 장치는 제1 가상 센서의 가시 영역에 포함되면서 제2 가상 센서의 비가시 영역에 포함되는 소정의 영역에 대해 제1 가상 센서와 제2 가상 센서에 대한 신뢰도에 기초하여 자율 주행 차량의 가시 영역 또는 비가시 영역 중 어느 하나로 결정할 수 있다.As an example, the simulation device is configured to generate an autonomous vehicle based on the reliability of the first virtual sensor and the second virtual sensor for a predetermined area included in the visible area of the first virtual sensor and the invisible area of the second virtual sensor. It can be decided to be either the visible area or the invisible area.

여기서, 소정의 영역은 가상 지도 상의 영역을 의미할 수 있다. 또한, 각 센서에 대한 신뢰도는 도 5에서 상술한 센싱 파라미터에 따라 결정될 수 있다. 예를 들어, 가상 지도 상의 어느 영역이 가상 센서 A의 가시 영역에 포함되고, 가상 센서 B의 비가시 영역에 포함되는 경우를 예시로 설명한다. 가상 센서 A가 비교적 먼 거리까지 정확하게 센싱할 수 있는 경우, 가상 센서 A에 높은 신뢰도가 부여될 수 있고, 이에 기초하여 상술한 어느 영역은 자율 주행 차량의 가시 영역에 포함되는 것으로 결정할 수 있다.Here, the predetermined area may mean an area on a virtual map. Additionally, the reliability of each sensor can be determined according to the sensing parameters described above in FIG. 5. For example, a case where an area on the virtual map is included in the visible area of virtual sensor A and the invisible area of virtual sensor B will be described as an example. If the virtual sensor A can accurately sense a relatively long distance, high reliability can be given to the virtual sensor A, and based on this, a certain area described above can be determined to be included in the visible area of the autonomous vehicle.

다른 예로, 각 센서에 대한 신뢰도는 상술한 객체와의 거리, 가시 영역 중에서 객체가 포함되는 정도 등 객체와의 관계에 기초하여 결정될 수 있다. 예를 들어, 가상 지도 상 소정의 영역이 가상 센서 C의 비가시 영역에 포함되고, 가상 센서 D의 가시 영역에 포함되는 경우를 설명한다. 가상 센서 C가 가상 센서 D보다 객체와 가까운 거리에 있는 경우, 가상 센서 C에 더 높은 신뢰도가 부여될 수 있고, 이에 기초하여 소정의 영역은 자율 주행 차량의 비가시 영역으로 결정될 수 있다.As another example, the reliability of each sensor may be determined based on the relationship with the object, such as the distance to the object described above and the extent to which the object is included in the visible area. For example, a case where a predetermined area on the virtual map is included in the invisible area of the virtual sensor C and the visible area of the virtual sensor D will be described. If virtual sensor C is closer to the object than virtual sensor D, higher reliability may be given to virtual sensor C, and based on this, a predetermined area may be determined as an invisible area of the autonomous vehicle.

도 7을 참조하면, 시뮬레이션 장치는 가상 센서별 가시 영역 및 가상 센서별 비가시 영역에 기초하여 자율 주행 차량(710)의 주행 위치에 따른 가시 영역 및 비가시 영역을 결정할 수 있고, 자율 주행 차량(710)의 가시 영역 및 비가시 영역에 기초하여 시나리오를 설정할 수 있다.Referring to FIG. 7, the simulation device can determine the visible area and the invisible area according to the driving position of the autonomous vehicle 710 based on the visible area for each virtual sensor and the invisible area for each virtual sensor, and the autonomous vehicle (710) 710) A scenario can be set based on the visible and invisible areas.

예를 들어, 시뮬레이션 장치는 제1 가상 센서(721)의 비가시 영역(740)에 포함되면서 제2 가상 센서(722)의 가시 영역(750)에 포함되는 소정의 영역(760)에 대해 제1 가상 센서(721)와 제2 가상 센서(722)에 대한 신뢰도에 기초하여 자율 주행 차량(710)의 가시 영역 또는 비가시 영역 중 어느 하나로 결정할 수 있다.For example, the simulation device may perform a first operation on a predetermined area 760 included in the invisible area 740 of the first virtual sensor 721 and the visible area 750 of the second virtual sensor 722. Based on the reliability of the virtual sensor 721 and the second virtual sensor 722, it can be determined to be either a visible area or an invisible area of the autonomous vehicle 710.

예를 들어, 도 7에 도시된 바와 같이 제1 가상 센서(721)와 객체(730)와의 거리가 제2 가상 센서(722)와 객체(730)와의 거리보다 가까운 경우, 제1 가상 센서(721)에 대해 높은 신뢰도가 부여될 수 있다.For example, as shown in FIG. 7, when the distance between the first virtual sensor 721 and the object 730 is closer than the distance between the second virtual sensor 722 and the object 730, the first virtual sensor 721 ) can be given high reliability.

이에 따라, 시뮬레이션 장치는 소정의 영역(760)에 대해 자율 주행 차량(710)의 비가시 영역에 포함되는 것으로 결정할 수 있고, 가상 도로를 주행하는 주변 차량(770)이 자율 주행 차량(710)의 비가시 영역에 포함되는 시나리오를 설정할 수 있다. 즉, 설정된 시나리오에 따르면, 자율 주행 차량(710)은 현재 주행 위치에서 주변 차량(770)을 인지할 수 없다.Accordingly, the simulation device may determine that the predetermined area 760 is included in the invisible area of the autonomous vehicle 710, and the surrounding vehicle 770 driving on the virtual road may be included in the invisible area of the autonomous vehicle 710. You can set scenarios included in the invisible area. That is, according to the set scenario, the autonomous vehicle 710 cannot recognize the surrounding vehicle 770 at the current driving position.

다른 예시로, 제2 가상 센서(722)에 부여된 센싱 파라미터가 제1 가상 센서(721)에 부여된 센싱 파라미터 보다 높은 값을 가지는 경우, 제2 가상 센서(722)에 대해 더 높은 신뢰도가 부여될 수 있다. As another example, when the sensing parameter assigned to the second virtual sensor 722 has a higher value than the sensing parameter assigned to the first virtual sensor 721, higher reliability is granted to the second virtual sensor 722. It can be.

이 경우, 시뮬레이션 장치는 소정의 영역(760)에 대해 자율 주행 차량(710)의 가시 영역에 포함되는 것으로 결정할 수 있고, 가상 도로를 주행하는 주변 차량(770)이 자율 주행 차량(710)의 가시 영역에 포함되는 시나리오를 설정할 수 있다. 즉, 설정된 시나리오에 따르면, 자율 주행 차량(710)은 현재 주행 위치에서 주변 차량(770)을 인지할 수 있다.In this case, the simulation device may determine that the predetermined area 760 is included in the visible area of the autonomous vehicle 710, and the surrounding vehicle 770 driving on the virtual road may be within the visible area of the autonomous vehicle 710. You can set scenarios included in the area. That is, according to the set scenario, the autonomous vehicle 710 can recognize the surrounding vehicle 770 at the current driving position.

도 8a 및 8b는 일 실시예에 따른 자율 주행 알고리즘이 자율 주행 차량의 행동을 결정하는 일 예를 설명하기 위한 도면이다.8A and 8B are diagrams to explain an example in which an autonomous driving algorithm determines the behavior of an autonomous vehicle according to an embodiment.

본 개시의 일 실시예에 따르면, 시뮬레이션 장치는 상술한 시나리오에 기초하여 자율 주행 차량 및 주변 차량의 주행을 개시함으로써 자율 주행 알고리즘에 대한 시뮬레이션을 수행할 수 있다.According to an embodiment of the present disclosure, a simulation device may perform a simulation of an autonomous driving algorithm by starting driving of the autonomous vehicle and surrounding vehicles based on the above-described scenario.

즉, 자율 주행 차량 및 주변 차량은 설정된 시나리오에 기초하여 주행을 개시하게 된다. In other words, the autonomous vehicle and surrounding vehicles start driving based on the set scenario.

예를 들어, 자율 주행 차량은 가상 도로를 주행하면서 가상 센서를 통해 주변 환경 및 주변 차량 등을 인지할 수 있다. 자율 주행 차량의 위치에 따라 자율 주행 차량의 가시 영역과 비가시 영역이 새로 결정될 수 있고, 자율 주행 차량은 가시 영역에 있는 주변 차량을 인지할 수 있다.For example, an autonomous vehicle can perceive the surrounding environment and surrounding vehicles through virtual sensors while driving on a virtual road. Depending on the location of the autonomous vehicle, the visible and invisible areas of the autonomous vehicle can be newly determined, and the autonomous vehicle can recognize surrounding vehicles in the visible area.

일 예로, 자율 주행 알고리즘은 기설정된 알고리즘에 따라 인지 결과에 대응하는 자율 주행 차량의 행동을 결정할 수 있고, 결정된 행동을 동작하기 위한 제어 신호를 자율 주행 차량에 전송할 수 있다.As an example, the self-driving algorithm may determine the behavior of the self-driving vehicle corresponding to the recognition result according to a preset algorithm and transmit a control signal for operating the determined action to the self-driving vehicle.

여기서, 본 개시의 일 실시예에 따른 자율 주행 알고리즘은 자율 주행 차량의 비가시 영역으로부터의 거리에 기초하여 자율 주행 차량의 행동을 결정하는 알고리즘을 포함할 수 있다. 예를 들어, 자율 주행 알고리즘은 자율 주행 차량과 비가시 영역 사이의 거리와 기설정된 안전 거리에 기초하여 자율 주행 차량의 행동을 결정할 수 있다. 여기서, 안전 거리는 자율 주행 알고리즘이 자율 주행 차량의 동작을 제어하는 데 요구되는 최소한의 거리를 의미할 수 있다. 예를 들어, 자율 주행 알고리즘이 자율 주행 차량의 동작을 제어하는데 1초의 시간이 필요하고, 1초의 시간 동안 자율 주행 차량이 3m를 이동하는 경우, 안전거리는 3m로 설정될 수 있다.Here, the autonomous driving algorithm according to an embodiment of the present disclosure may include an algorithm that determines the behavior of the autonomous vehicle based on the distance from the invisible area of the autonomous vehicle. For example, the autonomous driving algorithm may determine the behavior of the autonomous vehicle based on the distance between the autonomous vehicle and an invisible area and a preset safety distance. Here, the safety distance may mean the minimum distance required for the autonomous driving algorithm to control the operation of the autonomous vehicle. For example, if the autonomous driving algorithm requires 1 second to control the operation of the autonomous vehicle, and the autonomous vehicle moves 3 meters during 1 second, the safety distance may be set to 3 meters.

예를 들어, 자율 주행 알고리즘은 자율 주행 차량과 비가시 영역과의 거리가 안전 거리 이상인 경우, 자율 주행 차량의 주행 속도 및 주행 가속도를 유지하는 것으로 자율 주행 차량의 행동을 결정하는 알고리즘을 포함할 수 있다. 자율 주행 차량이 비가시 영역으로부터 충분한 거리가 있는 경우, 비가시 영역에서 주변 차량이 갑작스럽게 나타나는 경우에도, 자율 주행 알고리즘은 주변 차량을 인지하고, 이에 따라 자율 주행 차량의 행동을 결정할 시간이 충분히 있을 수 있어, 자율 주행 차량의 속도 및 가속도를 유지할 수 있다.For example, the autonomous driving algorithm may include an algorithm that determines the behavior of the autonomous vehicle by maintaining the driving speed and driving acceleration of the autonomous vehicle when the distance between the autonomous vehicle and the non-visible area is greater than a safe distance. there is. If the autonomous vehicle is at a sufficient distance from the unseen area, even if surrounding vehicles suddenly appear out of the unseen area, the self-driving algorithm will have enough time to recognize the surrounding vehicles and decide the autonomous vehicle's behavior accordingly. This allows the speed and acceleration of the autonomous vehicle to be maintained.

다른 예시로, 자율 주행 알고리즘은 자율 주행 차량과 비가시 영역과의 거리가 안전 거리 미만인 경우, 자율 주행 차량의 주행 속도 및 주행 가속도를 감소시키는 것으로 자율 주행 차량의 행동을 결정하는 알고리즘을 포함할 수 있다. 자율 주행 차량이 비가시 영역과 가까운 거리에 있는 경우, 비가시 영역에서 갑작스럽게 주변 차량이 나타나는 경우, 주변 차량을 인지함에 따라 자율 주행 차량의 행동을 결정할 시간이 부족할 수 있으므로, 자율 주행 알고리즘은 자율 주행 차량의 속도를 미리 조절할 수 있다.As another example, the autonomous driving algorithm may include an algorithm that determines the behavior of the autonomous vehicle by reducing the driving speed and driving acceleration of the autonomous vehicle when the distance between the autonomous vehicle and the unseen area is less than a safe distance. there is. If the autonomous vehicle is close to an invisible area and surrounding vehicles suddenly appear in the invisible area, there may not be enough time to determine the behavior of the autonomous vehicle as it recognizes the surrounding vehicles, so the autonomous driving algorithm The speed of the vehicle can be adjusted in advance.

다른 실시예에 따르면, 자율 주행 알고리즘은 자율 주행 차량의 가시 영역으로부터 획득한 인지(recognition) 정보 및 비가시 영역에 대한 추정 정보에 기초하여 자율 주행 차량의 행동을 결정하는 알고리즘을 포함할 수 있다. According to another embodiment, the autonomous driving algorithm may include an algorithm that determines the behavior of the autonomous vehicle based on recognition information obtained from the visible area of the autonomous vehicle and estimated information about the invisible area.

구체적으로, 자율 주행 알고리즘은 제1 시점에서 가시 영역으로부터 획득한 제1 인지 정보 및 제1 시점으로부터 소정의 시간이 지난 후인 제2 시점에서 가시 영역으로부터 획득한 제2 인지 정보를 이용하여 비가시 영역에 대한 추정 정보를 획득하고, 추정 정보에 기초하여 자율 주행 차량의 행동을 결정하는 알고리즘을 포함할 수 있다.Specifically, the autonomous driving algorithm uses first recognition information obtained from the visible area at a first time point and second recognition information obtained from the visible area at a second time point after a predetermined time from the first time point to use the non-visible area. It may include an algorithm that obtains estimated information about and determines the behavior of the autonomous vehicle based on the estimated information.

여기서, 인지 정보는 자율 주행 차량의 가시 영역으로부터 인지한 주변 환경 및 주변 차량에 대한 정보를 의미할 수 있다. 즉, 인지 정보는 가시 영역에 주변 차량 A가 가상 도로를 주행하고 있는 정보, 주변 차량 A의 주행 방향, 주변 차량 A의 주행 속도 등에 대한 정보를 포함할 수 있다. 또한, 추정 정보는 자율 주행 차량의 비가시 영역에 대해 추정한 주변 환경 및 주변 차량에 대한 정보를 의미할 수 있다. 예컨대, 추정 정보는 비가시 영역에 주변 차량 B가 존재하는 것으로 추정되는 정보 또는 존재하지 않는 것으로 추정되는 정보, 주변 차량 B의 예상 주행 방향 및 주변 차량 B의 예상 주행 속도 등에 대한 정보를 포함할 수 있다.Here, cognitive information may refer to information about the surrounding environment and surrounding vehicles perceived from the visible area of the autonomous vehicle. That is, the cognitive information may include information about the surrounding vehicle A driving on the virtual road, the driving direction of the surrounding vehicle A, and the driving speed of the surrounding vehicle A in the visible area. Additionally, the estimated information may refer to information about the surrounding environment and surrounding vehicles estimated for the invisible area of the autonomous vehicle. For example, the estimated information may include information about the presence or absence of surrounding vehicle B in the non-visible area, information about the expected driving direction of surrounding vehicle B, the expected traveling speed of surrounding vehicle B, etc. there is.

자율 주행 차량은 비가시 영역에 대해서는 가시 영역과 달리 주변 차량 등을 감지할 수 없다. 다만, 자율 주행 차량이 가시 영역에서 인지되는 주변 차량 등만 고려하여 도로를 주행하는 경우, 비가시 영역에서 갑자기 튀어나오는 주변 차량 등에 대해 반응하지 못하는 위험한 상황이 발생할 수 있다. 이에 따라, 자율 주행 알고리즘은 인지 정보를 이용하여 비가시 영역에 대해 주변 차량의 존재 여부, 주변 차량의 속도 등의 추정 정보를 획득하고, 추정 정보에 기초하여 자율 주행 차량의 행동을 결정할 수 있다. 즉, 본 개시의 실시예에 따른 자율 주행 차량의 시뮬레이션 방법은 자율 주행 차량이 인지할 수 없는 비가시 영역에 대한 정보를 더 고려하여 자율 주행 알고리즘을 검증할 수 있다.Unlike visible areas, autonomous vehicles cannot detect surrounding vehicles in the invisible area. However, if an autonomous vehicle drives on the road considering only surrounding vehicles that are recognized in the visible area, a dangerous situation may occur in which it cannot respond to surrounding vehicles that suddenly appear in the invisible area. Accordingly, the self-driving algorithm can use cognitive information to obtain estimated information such as the presence or absence of surrounding vehicles and the speed of surrounding vehicles in the non-visible area, and determine the behavior of the self-driving vehicle based on the estimated information. That is, the self-driving vehicle simulation method according to an embodiment of the present disclosure can verify the self-driving algorithm by further considering information about the invisible area that the self-driving vehicle cannot perceive.

상술한 실시예를 도 8에 도시된 예시와 함께 설명한다.The above-described embodiment will be described with the example shown in FIG. 8.

도 8a을 참조하면, 제1 시점(801) 및 제2 시점(802)에서 자율 주행 차량(810)의 가시 영역으로부터 획득한 인지 정보에 대한 예시가 도시된다.Referring to FIG. 8A , examples of cognitive information obtained from the visible area of the autonomous vehicle 810 at a first viewpoint 801 and a second viewpoint 802 are shown.

자율 주행 알고리즘은 자율 주행 차량(810)의 가시 영역으로부터 주변 차량(830)에 대한 인지 정보를 획득할 수 있으며, 주변 차량(830)의 움직임에 기초하여 자율 주행 차량(810)의 행동을 결정할 수 있다.The autonomous driving algorithm can obtain cognitive information about the surrounding vehicles 830 from the visible area of the autonomous vehicle 810 and determine the behavior of the autonomous vehicle 810 based on the movement of the surrounding vehicles 830. there is.

예컨대, 자율 주행 알고리즘은 제1 시점(801)에서 자율 주행 차량의 가시 영역으로부터, 객체(850)의 앞 또는 뒤를 주행하고 있는 주변 차량이 존재하고 있지 않다는 인지 정보를 획득할 수 있다.For example, the autonomous driving algorithm may obtain recognition information that there are no surrounding vehicles driving in front or behind the object 850 from the visible area of the autonomous vehicle at the first viewpoint 801.

마찬가지로, 자율 주행 알고리즘은 제2 시점(802)에서 자율 주행 차량의 가시 영역으로부터, 객체(850)의 앞 또는 뒤를 주행하고 있는 주변 차량이 존재하고 있지 않다는 인지 정보를 획득할 수 있다.Likewise, the autonomous driving algorithm may obtain recognition information that there are no surrounding vehicles driving in front or behind the object 850 from the visible area of the autonomous vehicle at the second viewpoint 802.

이를 통해, 자율 주행 알고리즘은 객체(850)로 인한 자율 주행 차량(810)의 비가시 영역에는 주변 차량이 존재하고 있지 않을 것이라는 추정 정보를 획득할 수 있다.Through this, the self-driving algorithm can obtain estimation information that surrounding vehicles will not exist in the invisible area of the self-driving vehicle 810 due to the object 850.

일 예로, 자율 주행 알고리즘은 추정 정보에 기초하여 자율 주행 차량의 행동을 결정할 수 있다. 예를 들어, 자율 주행 알고리즘은 비가시 영역에 주변 차량이 존재하지 않을 것이라는 추정 정보에 기초하여 자율 주행 차량의 속도 및 가속도를 유지할 수 있다.As an example, an autonomous driving algorithm may determine the behavior of an autonomous vehicle based on estimated information. For example, the autonomous driving algorithm may maintain the speed and acceleration of the autonomous vehicle based on information that estimates that there will be no surrounding vehicles in the invisible area.

도 8b를 참조하면, 제1 시점(803) 및 제2 시점(804)에서 자율 주행 차량(810)의 가시 영역으로부터 획득한 인지 정보에 대한 예시가 도시된다.Referring to FIG. 8B , examples of cognitive information obtained from the visible area of the autonomous vehicle 810 at a first viewpoint 803 and a second viewpoint 804 are shown.

예를 들어, 자율 주행 알고리즘은 제1 시점(803)에서 자율 주행 차량의 가시 영역으로부터 주변 차량(831 및 832)에 대한 인지 정보를 획득할 수 있다. For example, the autonomous driving algorithm may obtain cognitive information about surrounding vehicles 831 and 832 from the visible area of the autonomous vehicle at the first viewpoint 803.

예컨대, 자율 주행 알고리즘은 제1 시점(803)에서, 주변 차량(831)이 객체(850)를 향해 이동하고 있는 정보와 주변 차량(832)이 가상 도로를 주행하고 있는 인지 정보를 획득할 수 있다.For example, the autonomous driving algorithm may obtain information that the surrounding vehicle 831 is moving toward the object 850 and recognition information that the surrounding vehicle 832 is driving on the virtual road at the first viewpoint 803. .

또한, 자율 주행 알고리즘은 제2 시점(804)에서, 주변 차량(832)이 가상 도로를 주행하고 있는 인지 정보를 획득할 수 있다. 다만, 자율 주행 알고리즘은 주변 차량(831)에 대해서는 인지 정보를 획득할 수 없거나, 가시 영역에 인지되지 않는다는 것을 포함하는 인지 정보를 획득할 수 있다.Additionally, the autonomous driving algorithm may obtain cognitive information about the surrounding vehicle 832 driving on the virtual road at the second viewpoint 804. However, the autonomous driving algorithm cannot obtain recognition information about the surrounding vehicle 831 or may obtain recognition information including that it is not recognized in the visible area.

이를 통해, 자율 주행 알고리즘은 자율 주행 차량의 비가시 영역에 주변 차량이 적어도 한 대는 존재할 수 있다는 추정 정보를 획득할 수 있다. 즉, 제1 시점에 객체 주변을 주행하고 있는 주변 차량이 제2 시점에서 사라진 것을 통해, 자율 주행 알고리즘은 해당 주변 차량이 객체에 의해 인지할 수 없게 된 것을 추정할 수 있다.Through this, the autonomous driving algorithm can obtain estimated information that at least one surrounding vehicle may exist in the invisible area of the autonomous vehicle. In other words, the autonomous driving algorithm can estimate that the surrounding vehicle has become unrecognizable by the object because the surrounding vehicle driving around the object at the first time point has disappeared at the second time point.

그리고, 자율 주행 알고리즘은 추정 정보에 기초하여 자율 주행 차량의 행동을 결정할 수 있다. 예를 들어, 자율 주행 알고리즘은 비가시 영역에 주변 차량이 적어도 한 대는 존재할 수 있다는 추정 정보에 기초하여, 자율 주행 차량의 속도 및 가속도를 감소시킬 수 있다.And, the autonomous driving algorithm can determine the behavior of the autonomous vehicle based on the estimated information. For example, the autonomous driving algorithm may reduce the speed and acceleration of the autonomous vehicle based on estimated information that at least one surrounding vehicle may exist in an invisible area.

도 9는 일 실시예에 따른 자율 주행 차량의 시뮬레이션 방법의 일 예를 설명하기 위한 흐름도이다.FIG. 9 is a flowchart illustrating an example of a simulation method for an autonomous vehicle according to an embodiment.

도 9를 참조하면, 자율 주행 차량의 시뮬레이션 방법은 단계 910 내지 930을 포함할 수 있다. 다만 이에 제한되는 것은 아니고, 도 9에 도시되는 단계들 외에 다른 범용적인 단계들이 자율 주행 차량의 시뮬레이션 방법에 더 포함될 수 있다.Referring to FIG. 9, the simulation method of an autonomous vehicle may include steps 910 to 930. However, it is not limited to this, and other general steps in addition to the steps shown in FIG. 9 may be further included in the simulation method of an autonomous vehicle.

먼저, 단계 910에서, 시뮬레이션 장치는 가상 지도에 포함되는 가상 도로를 따라 주행하는 차량으로써, 자율 주행 알고리즘이 적용된 자율 주행 차량 및 주변 차량을 생성할 수 있다.First, in step 910, the simulation device may generate an autonomous vehicle to which an autonomous driving algorithm is applied and surrounding vehicles as vehicles traveling along a virtual road included in the virtual map.

이후, 단계 920에서, 시뮬레이션 장치는 자율 주행 차량의 주행 위치에 따른 가시 영역을 결정하고, 가시 영역에 기초하여 자율 주행 차량에 대한 시나리오를 설정할 수 있다.Thereafter, in step 920, the simulation device may determine a visible area according to the driving position of the autonomous vehicle and set a scenario for the autonomous vehicle based on the visible area.

일 예로, 시뮬레이션 장치가 가시 영역을 결정하는 것은, 자율 주행 차량에 구비된 복수의 가상 센서 각각에 대해 센싱 파라미터를 부여함으로써 가상 센서별 가시 영역을 결정하는 것을 포함할 수 있다.For example, determining the visible area by the simulation device may include determining the visible area for each virtual sensor by assigning sensing parameters to each of a plurality of virtual sensors provided in the autonomous vehicle.

다른 예로, 시뮬레이션 장치는 가상 도로에 가상 센서의 시야를 방해하는 객체를 생성하고, 복수의 가상 센서 중 제1 가상 센서의 가시 영역 중에서 상술한 객체로 인한 비가시 영역(invisible region)을 결정할 수 있다. 시뮬레이션 장치는 비가시 영역에 기초하여 시나리오를 설정할 수 있다.As another example, the simulation device may create an object on a virtual road that obstructs the view of the virtual sensor, and determine an invisible region due to the above-mentioned object among the visible areas of the first virtual sensor among the plurality of virtual sensors. . The simulation device can set a scenario based on the invisible area.

일 실시예에 따르면, 시뮬레이션 장치는 상술한 객체의 위치를 지정할 수 있고, 지정된 위치에 기초하여 제1 가상 센서의 가시 영역에 객체가 포함되는지 여부를 결정할 수 있다. 시뮬레이션 장치는 결정 결과에 기초하여 객체에 의해 가려지는 영역을 제1 가상 센서의 비가시 영역으로 결정할 수 있다.According to one embodiment, the simulation device may specify the location of the above-described object and determine whether the object is included in the visible area of the first virtual sensor based on the specified location. The simulation device may determine the area obscured by the object as the invisible area of the first virtual sensor based on the decision result.

또 다른 예로, 시뮬레이션 장치가 자율 주행 차량의 가시 영역을 결정하는 것은 가상 센서별 가시 영역 및 가상 센서별 비가시 영역에 기초하여 자율 주행 차량의 주행 위치에 따른 가시 영역 및 비가시 영역을 결정하는 것을 포함할 수 있다.As another example, the simulation device determines the visible area of the autonomous vehicle by determining the visible and invisible areas according to the driving position of the autonomous vehicle based on the visible area for each virtual sensor and the invisible area for each virtual sensor. It can be included.

일 실시예에 따르면, 시뮬레이션 장치는 제1 가상 센서의 가시 영역 및 제2 가상 센서의 가시 영역 중 어느 하나의 가시 영역에 포함되는 영역을 자율 주행 차량의 가시 영역으로 결정할 수 있다. 또한, 시뮬레이션 장치는 제1 가상 센서의 가시 영역 및 제2 가상 센서의 가시 영역 중 어느 하나의 가시 영역에도 포함되지 않는 영역을 자율 주행 차량의 비가시 영역으로 결정할 수 있다.According to one embodiment, the simulation device may determine an area included in one of the visible area of the first virtual sensor and the visible area of the second virtual sensor as the visible area of the autonomous vehicle. Additionally, the simulation device may determine an area that is not included in any of the visible areas of the first virtual sensor and the visible area of the second virtual sensor as the invisible area of the autonomous vehicle.

다른 실시예에 따르면, 시뮬레이션 장치는 제1 가상 센서의 가시 영역 및 제2 가상 센서의 가시 영역이 중첩되는 영역을 자율 주행 차량의 가시 영역으로 결정할 수 있다. 시뮬레이션 장치는, 제1 가상 센서의 비가시 영역 및 제2 가상 센서의 상기 비가시 영역이 중첩되는 영역을 자율 주행 차량의 비가시 영역으로 결정할 수 있다.According to another embodiment, the simulation device may determine an area where the visible area of the first virtual sensor and the visible area of the second virtual sensor overlap as the visible area of the autonomous vehicle. The simulation device may determine an area where the invisible area of the first virtual sensor and the invisible area of the second virtual sensor overlap as the invisible area of the autonomous vehicle.

일 예로, 시뮬레이션 장치는 제1 가상 센서의 가시 영역에 포함되면서 제2 가상 센서의 비가시 영역에 포함되는 소정의 영역에 대해 제1 가상 센서와 제2 가상 센서에 대한 신뢰도에 기초하여 자율 주행 차량의 가시 영역 또는 비가시 영역 중 어느 하나로 결정할 수 있다.As an example, the simulation device is configured to generate an autonomous vehicle based on the reliability of the first virtual sensor and the second virtual sensor for a predetermined area included in the visible area of the first virtual sensor and the invisible area of the second virtual sensor. It can be decided to be either the visible area or the invisible area.

이후, 단계 930에서 시뮬레이션 장치는 시나리오에 기초하여 자율 주행 차량 및 주변 차량의 주행을 개시함으로써 자율 주행 알고리즘에 대한 시뮬레이션을 수행할 수 있다.Thereafter, in step 930, the simulation device may perform a simulation of the autonomous driving algorithm by starting driving of the autonomous vehicle and surrounding vehicles based on the scenario.

여기서, 본 개시의 일 실시예에 따른 자율 주행 알고리즘은 자율 주행 차량의 비가시 영역으로부터의 거리에 기초하여 자율 주행 차량의 행동을 결정하는 알고리즘을 포함할 수 있다. 예를 들어, 자율 주행 알고리즘은 자율 주행 차량과 비가시 영역 사이의 거리와 소정의 안전 거리에 기초하여 자율 주행 차량의 행동을 결정할 수 있다. Here, the autonomous driving algorithm according to an embodiment of the present disclosure may include an algorithm that determines the behavior of the autonomous vehicle based on the distance from the invisible area of the autonomous vehicle. For example, an autonomous driving algorithm may determine the autonomous vehicle's behavior based on the distance between the autonomous vehicle and an unseen area and a predetermined safety distance.

예를 들어, 자율 주행 알고리즘은 자율 주행 차량과 비가시 영역 사이의 거리가 안전 거리 이상인 경우, 자율 주행 차량의 주행 속도 및 주행 가속도를 유지하는 것으로 자율 주행 차량의 행동을 결정하는 알고리즘을 포함할 수 있다.For example, the autonomous driving algorithm may include an algorithm that determines the behavior of the autonomous vehicle by maintaining the driving speed and driving acceleration of the autonomous vehicle when the distance between the autonomous vehicle and the invisible area is greater than or equal to a safe distance. there is.

다른 예시로, 자율 주행 알고리즘은 자율 주행 차량과 비가시 영역 사이의 거리가 안전 거리 미만인 경우, 자율 주행 차량의 주행 속도 및 주행 가속도를 감소시키는 것으로 자율 주행 차량의 행동을 결정하는 알고리즘을 포함할 수 있다.As another example, the autonomous driving algorithm may include an algorithm that determines the behavior of the autonomous vehicle by reducing the driving speed and driving acceleration of the autonomous vehicle when the distance between the autonomous vehicle and the invisible area is less than a safe distance. there is.

다른 실시예에 따르면, 자율 주행 알고리즘은 자율 주행 차량의 가시 영역으로부터 획득한 인지(recognition) 정보 및 비가시 영역에 대한 추정 정보에 기초하여 자율 주행 차량의 행동을 결정하는 알고리즘을 포함할 수 있다. According to another embodiment, the autonomous driving algorithm may include an algorithm that determines the behavior of the autonomous vehicle based on recognition information obtained from the visible area of the autonomous vehicle and estimated information about the invisible area.

구체적으로, 자율 주행 알고리즘은 제1 시점에서의 가시 영역으로부터 획득한 제1 인지 정보 및 제1 시점으로부터 소정의 시간이 지난 후인 제2 시점에서 가시 영역으로부터 획득한 제2 인지 정보를 이용하여 비가시 영역에 대한 추정 정보를 획득하고, 추정 정보에 기초하여 자율 주행 차량의 행동을 결정하는 알고리즘을 포함할 수 있다.Specifically, the autonomous driving algorithm uses first recognition information acquired from the visible area at a first viewpoint and second recognition information obtained from the visible area at a second viewpoint after a predetermined time from the first viewpoint. It may include an algorithm that obtains estimated information about the area and determines the behavior of the autonomous vehicle based on the estimated information.

도 10은 일 실시예에 따른 자율 주행 차량의 시뮬레이션 장치의 내부 구성의 일 예를 설명하기 위한 구성도이다.FIG. 10 is a configuration diagram illustrating an example of the internal configuration of a simulation device for an autonomous vehicle according to an embodiment.

도 10을 참조하면, 시뮬레이션 장치(1000)는 통신부(1010), 프로세서(1030) 및 데이터 베이스(DB)(1050)를 포함할 수 있다. 도 10의 시뮬레이션 장치(1000)에는 실시예와 관련된 구성요소들 만이 도시되어 있다. 따라서, 도 10에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.Referring to FIG. 10, the simulation device 1000 may include a communication unit 1010, a processor 1030, and a database (DB) 1050. In the simulation device 1000 of FIG. 10, only components related to the embodiment are shown. Accordingly, those skilled in the art can understand that other general-purpose components may be included in addition to the components shown in FIG. 10.

통신부(1010)는 외부 서버 또는 외부 장치와 유선/무선 통신을 하게 하는 하나 이상의 구성 요소를 포함할 수 있다. 예를 들어, 통신부(1010)는, 근거리 통신부(미도시), 이동 통신부(미도시) 및 방송 수신부(미도시) 중 적어도 하나를 포함할 수 있다.The communication unit 1010 may include one or more components that enable wired/wireless communication with an external server or external device. For example, the communication unit 1010 may include at least one of a short-range communication unit (not shown), a mobile communication unit (not shown), and a broadcast receiver (not shown).

데이터 베이스(DB) (1050)는 시뮬레이션 장치(1000) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 프로세서(1030)의 처리 및 제어를 위한 프로그램을 저장할 수 있다. The database (DB) 1050 is hardware that stores various data processed within the simulation device 1000, and can store programs for processing and control of the processor 1030.

데이터 베이스(DB)(1050)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.The database (DB) 1050 includes random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), such as dynamic random access memory (DRAM) and static random access memory (SRAM). ), CD-ROM, Blu-ray or other optical disk storage, hard disk drive (HDD), solid state drive (SSD), or flash memory.

프로세서(1030)는 시뮬레이션 장치(1000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1030)는 데이터 베이스(DB)(1050)에 저장된 프로그램들을 실행함으로써, 입력부(미도시), 디스플레이(미도시), 통신부(1010), 데이터 베이스(DB)(1050) 등을 전반적으로 제어할 수 있다. 프로세서(1030)는, 데이터 베이스(DB)(1050)에 저장된 프로그램들을 실행함으로써, 시뮬레이션 장치(1000)의 동작을 제어할 수 있다.The processor 1030 controls the overall operation of the simulation device 1000. For example, the processor 1030 executes programs stored in the database (DB) 1050, such as an input unit (not shown), a display (not shown), a communication unit 1010, a database (DB) 1050, etc. can be controlled overall. The processor 1030 may control the operation of the simulation device 1000 by executing programs stored in the database (DB) 1050.

프로세서(1030)는 도 4 내지 도 9에서 상술한 시뮬레이션 장치(1000)의 동작 중 적어도 일부를 제어할 수 있다. The processor 1030 may control at least some of the operations of the simulation device 1000 described above with reference to FIGS. 4 to 9 .

프로세서(1030)는 ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.The processor 1030 includes application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, and microcontrollers. It may be implemented using at least one of micro-controllers, microprocessors, and other electrical units for performing functions.

일 실시예로, 시뮬레이션 장치(1000)는 이동성을 가지는 전자 장치일 수 있다. 예를 들어, 시뮬레이션 장치(1000)는 스마트폰, 태블릿 PC, PC, 스마트 TV, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 내비게이션, 카메라가 탑재된 디바이스 및 기타 모바일 전자 장치로 구현될 수 있다. 또한, 시뮬레이션 장치(1000)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 장치로 구현될 수 있다.In one embodiment, the simulation device 1000 may be a mobile electronic device. For example, the simulation device 1000 may be implemented as a smartphone, tablet PC, PC, smart TV, personal digital assistant (PDA), laptop, media player, navigation, device equipped with a camera, and other mobile electronic devices. . Additionally, the simulation device 1000 may be implemented as a wearable device such as a watch, glasses, hair band, or ring equipped with a communication function and data processing function.

또 다른 실시예로, 시뮬레이션 장치(1000)는 차량 외부에 위치하는 서버일 수 있다. 서버는 네트워크를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 서버는 자율 주행 차량의 시뮬레이션을 수행하기 위해 필요한 각종 데이터를 수신하고, 수신한 데이터에 기초하여 자율 주행 차량의 시뮬레이션을 수행할 수 있다.In another embodiment, the simulation device 1000 may be a server located outside the vehicle. A server may be implemented as a computer device or a plurality of computer devices that communicate over a network to provide commands, codes, files, content, services, etc. The server may receive various data necessary to perform simulation of an autonomous vehicle and perform simulation of an autonomous vehicle based on the received data.

또 다른 실시예로, 시뮬레이션 장치(1000)에서 수행되는 프로세스는 이동성을 가지는 전자 장치 및 차량 외부에 위치하는 서버 중 적어도 일부에 의해 수행될 수 있다.In another embodiment, the process performed in the simulation device 1000 may be performed by at least some of a mobile electronic device and a server located outside the vehicle.

본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.Embodiments according to the present invention may be implemented in the form of a computer program that can be executed through various components on a computer, and such a computer program may be recorded on a computer-readable medium. At this time, the media includes magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and ROM. , RAM, flash memory, etc., may include hardware devices specifically configured to store and execute program instructions.

한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.Meanwhile, the computer program may be designed and configured specifically for the present invention, or may be known and available to those skilled in the art of computer software. Examples of computer programs may include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

일 실시예에 따르면, 본 개시의 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, methods according to various embodiments of the present disclosure may be included and provided in a computer program product. Computer program products are commodities and can be traded between sellers and buyers. The computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or between two user devices. It may be distributed in person or online (e.g., downloaded or uploaded). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.Unless there is an explicit order or statement to the contrary regarding the steps constituting the method according to the invention, the steps may be performed in any suitable order. The present invention is not necessarily limited by the order of description of the above steps. The use of any examples or illustrative terms (e.g., etc.) in the present invention is merely to describe the present invention in detail, and unless limited by the claims, the scope of the present invention is limited by the examples or illustrative terms. It doesn't work. Additionally, those skilled in the art will recognize that various modifications, combinations and changes may be made depending on design conditions and factors within the scope of the appended claims or their equivalents.

따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허 청구범위 뿐만 아니라 이 특허 청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and the scope of the patent claims described below as well as all scopes equivalent to or equivalently changed from the claims are within the scope of the spirit of the present invention. It will be said to belong to

Claims (12)

자율 주행 차량의 시뮬레이션 방법에 있어서,
가상 지도에 포함되는 가상 도로를 따라 주행하는 차량으로써, 자율 주행 알고리즘이 적용된 자율 주행 차량 및 주변 차량을 생성하는 단계;
상기 자율 주행 차량의 주행 위치에 따른 가시 영역(visible region)을 결정하고, 상기 가시 영역에 기초하여 상기 자율 주행 차량에 대한 시나리오를 설정하는 단계; 및
상기 시나리오에 기초하여 상기 자율 주행 차량 및 상기 주변 차량의 주행을 개시함으로써, 상기 자율 주행 알고리즘에 대한 시뮬레이션을 수행하는 단계;
를 포함하는, 방법.
In the simulation method of an autonomous vehicle,
Creating an autonomous vehicle and surrounding vehicles to which an autonomous driving algorithm is applied as vehicles traveling along a virtual road included in a virtual map;
determining a visible region according to a driving position of the autonomous vehicle and setting a scenario for the autonomous vehicle based on the visible region; and
performing a simulation for the autonomous driving algorithm by starting driving of the autonomous vehicle and the surrounding vehicles based on the scenario;
Method, including.
제1 항에 있어서,
상기 가시 영역을 결정하는 것은,
상기 자율 주행 차량에 구비된 복수의 가상 센서 각각에 대해 센싱 파라미터를 부여함으로써 상기 가상 센서별 가시 영역을 결정하는 것을 포함하는, 방법.
According to claim 1,
Determining the visible area is,
A method comprising determining a visible area for each virtual sensor by assigning sensing parameters to each of a plurality of virtual sensors provided in the autonomous vehicle.
제2 항에 있어서,
상기 시나리오를 설정하는 단계는,
상기 가상 도로에 상기 가상 센서의 시야를 방해하는 객체를 생성하는 단계;
제1 가상 센서의 가시 영역 중에서 상기 객체로 인한 비가시 영역(invisible region)을 결정하는 단계; 및
상기 비가시 영역에 기초하여 상기 시나리오를 설정하는 단계;
를 포함하는, 방법.
According to clause 2,
The step of setting the scenario is,
creating an object on the virtual road that obstructs the view of the virtual sensor;
determining an invisible region due to the object among the visible regions of a first virtual sensor; and
setting the scenario based on the invisible area;
Method, including.
제3 항에 있어서,
상기 비가시 영역을 결정하는 단계는,
상기 객체의 위치를 지정하는 단계;
상기 지정된 위치에 기초하여 상기 제1 가상 센서의 가시 영역에 상기 객체가 포함되는지 여부를 결정하는 단계; 및
상기 결정 결과에 기초하여, 상기 객체에 의해 가려지는 영역을 상기 가상 센서별 상기 비가시 영역으로 결정하는 단계;
를 포함하는, 방법.
According to clause 3,
The step of determining the invisible area is,
specifying the location of the object;
determining whether the object is included in a visible area of the first virtual sensor based on the designated location; and
Based on the determination result, determining an area obscured by the object as the invisible area for each virtual sensor;
Method, including.
제3 항에 있어서,
상기 자율 주행 차량의 상기 가시 영역을 결정하는 것은,
상기 가상 센서별 가시 영역 및 상기 가상 센서별 비가시 영역에 기초하여 상기 자율 주행 차량의 주행 위치에 따른 상기 가시 영역 및 비가시 영역을 결정하는 것을 포함하는, 방법.
According to clause 3,
Determining the visible area of the autonomous vehicle includes:
A method comprising determining the visible area and the invisible area according to the driving position of the autonomous vehicle based on the visible area for each virtual sensor and the invisible area for each virtual sensor.
제5 항에 있어서,
상기 시나리오를 설정하는 단계는,
제1 가상 센서의 상기 가시 영역 및 제2 가상 센서의 상기 가시 영역이 중첩되는 영역을 상기 자율 주행 차량의 상기 가시 영역으로 결정하는 단계;
상기 제1 가상 센서의 상기 비가시 영역 및 상기 제2 가상 센서의 상기 비가시 영역이 중첩되는 영역을 상기 자율 주행 차량의 상기 비가시 영역으로 결정하는 단계; 및
상기 자율 주행 차량의 상기 가시 영역 및 상기 비가시 영역에 기초하여 상기 시나리오를 설정하는 단계;
를 포함하는, 방법.
According to clause 5,
The step of setting the scenario is,
determining an area where the visible area of a first virtual sensor and the visible area of a second virtual sensor overlap as the visible area of the autonomous vehicle;
determining an area where the invisible area of the first virtual sensor and the invisible area of the second virtual sensor overlap as the invisible area of the autonomous vehicle; and
setting the scenario based on the visible area and the invisible area of the autonomous vehicle;
Method, including.
제6 항에 있어서,
상기 시나리오를 설정하는 단계는,
상기 제1 가상 센서의 상기 가시 영역에 포함되면서 상기 제2 가상 센서의 비가시 영역에 포함되는 소정의 영역에 대해 상기 제1 가상 센서와 상기 제2 가상 센서에 대한 신뢰도에 기초하여 상기 자율 주행 차량의 상기 가시 영역 또는 상기 비가시 영역 중 어느 하나로 결정하는 단계; 를 더 포함하는 방법.
According to clause 6,
The step of setting up the scenario is,
The autonomous vehicle based on the reliability of the first virtual sensor and the second virtual sensor for a predetermined area included in the visible area of the first virtual sensor and the invisible area of the second virtual sensor. determining either the visible area or the invisible area; How to include more.
제5 항에 있어서,
상기 자율 주행 알고리즘은 상기 가시 영역으로부터 획득한 인지(recognition) 정보 및 상기 비가시 영역에 대한 추정 정보에 기초하여 상기 자율 주행 차량의 행동을 결정하는 알고리즘을 포함하는, 방법.
According to clause 5,
The method wherein the autonomous driving algorithm includes an algorithm that determines the behavior of the autonomous vehicle based on recognition information obtained from the visible area and estimated information about the invisible area.
제8 항에 있어서,
상기 자율 주행 알고리즘은,
제1 시점에서 상기 가시 영역으로부터 획득한 제1 인지 정보 및 상기 제1 시점으로부터 소정의 시간이 지난 후인 제2 시점에서 상기 가시 영역으로부터 획득한 제2 인지 정보를 이용하여 상기 비가시 영역에 대한 추정 정보를 획득하고, 상기 추정 정보에 기초하여 상기 자율 주행 차량의 행동을 결정하는 알고리즘을 포함하는, 방법.
According to clause 8,
The autonomous driving algorithm is,
Estimation of the invisible area using first recognition information obtained from the visible area at a first time point and second recognition information obtained from the visible area at a second time point after a predetermined time has passed from the first time point A method comprising an algorithm for obtaining information and determining behavior of the autonomous vehicle based on the estimated information.
제8 항에 있어서,
상기 자율 주행 알고리즘은 상기 자율 주행 차량과 상기 비가시 영역 사이의 거리와 기설정된 안전 거리에 기초하여 상기 자율 주행 차량의 행동을 결정하는 알고리즘을 포함하는, 방법.
According to clause 8,
The method, wherein the autonomous driving algorithm includes an algorithm that determines the behavior of the autonomous vehicle based on a distance between the autonomous vehicle and the invisible area and a preset safety distance.
자율 주행 차량의 시뮬레이션 장치에 있어서,
상기 장치는,
적어도 하나의 메모리; 및
적어도 하나의 프로세서; 를 포함하고,
상기 프로세서는,
가상 지도에 포함되는 가상 도로를 따라 주행하는 차량으로써, 자율 주행 알고리즘이 적용된 자율 주행 차량 및 주변 차량을 생성하고,
상기 자율 주행 차량의 주행 위치에 따른 가시 영역(visible region)을 결정하고, 상기 가시 영역에 기초하여 상기 자율 주행 차량에 대한 시나리오를 설정하고,
상기 시나리오에 기초하여 상기 자율 주행 차량 및 상기 주변 차량의 주행을 개시함으로써, 상기 자율 주행 알고리즘에 대한 시뮬레이션을 수행하는, 장치.
In a simulation device for an autonomous vehicle,
The device is,
at least one memory; and
at least one processor; Including,
The processor,
As a vehicle driving along a virtual road included in a virtual map, an autonomous vehicle and surrounding vehicles with an autonomous driving algorithm are created,
Determining a visible region according to the driving position of the autonomous vehicle and setting a scenario for the autonomous vehicle based on the visible region,
An apparatus that performs a simulation for the autonomous driving algorithm by starting driving of the autonomous vehicle and the surrounding vehicles based on the scenario.
제1 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium that records a program for executing the method of claim 1 on a computer.
KR1020220159105A 2022-11-24 Method, Apparatus and Computer-readable Recording Medium for Simulating an Autonomous Vehicle KR20240077619A (en)

Publications (1)

Publication Number Publication Date
KR20240077619A true KR20240077619A (en) 2024-06-03

Family

ID=

Similar Documents

Publication Publication Date Title
US11328219B2 (en) System and method for training a machine learning model deployed on a simulation platform
US11400959B2 (en) Method and system to predict one or more trajectories of a vehicle based on context surrounding the vehicle
US10809726B2 (en) Sideslip compensated control method for autonomous vehicles
CN108089571B (en) Method and system for predicting vehicle traffic behavior of unmanned vehicles to make driving decisions
US10782699B2 (en) Real-time perception adjustment and driving adaption based on surrounding vehicles' behavior for autonomous driving vehicles
KR102093047B1 (en) Traffic prediction based on map image for autonomous driving
EP3321757B1 (en) Planning feedback based decision improvement system for autonomous driving vehicle
US10343685B2 (en) Physical model and machine learning combined method to simulate autonomous vehicle movement
US10824153B2 (en) Cost design for path selection in autonomous driving technology
EP3315388B1 (en) Spring system-based change lane approach for autonomous vehicles
US10507813B2 (en) Method and system for automated vehicle emergency light control of an autonomous driving vehicle
US20180143622A1 (en) Method to dynamically adjusting steering rates of autonomous vehicles
US10606273B2 (en) System and method for trajectory re-planning of autonomous driving vehicles
JP2020514145A (en) Evaluation Method for Sensing Requirement of Autonomous Vehicle Based on Simulation
KR20190013689A (en) Evaluation Framework for Trajectory Predicted in Autonomous Vehicle Traffic Forecasting
US10909377B2 (en) Tracking objects with multiple cues
KR20180135847A (en) Deceleration-based direction detection and lane keeping system for autonomous vehicles
CN111857118A (en) Segmenting parking trajectory to control autonomous vehicle parking
CN112825127A (en) New method for generating compact 2D bounding boxes for autodrive labeling
JP7379033B2 (en) Driving support method and driving support device
US20230067822A1 (en) E2e learning-based evaluator for an autonomous driving vehicle
KR20240077619A (en) Method, Apparatus and Computer-readable Recording Medium for Simulating an Autonomous Vehicle
US20220057795A1 (en) Drive control device, drive control method, and computer program product
KR20240074144A (en) Method, Apparatus and Computer-readable Recording Medium for Simulating an Autonomous Vehicle
CN111655561A (en) Corner negotiation method for autonomous vehicle without map and positioning