KR20220087240A - 자율 주행 차량의 시뮬레이션 장치 및 방법 - Google Patents

자율 주행 차량의 시뮬레이션 장치 및 방법 Download PDF

Info

Publication number
KR20220087240A
KR20220087240A KR1020200177747A KR20200177747A KR20220087240A KR 20220087240 A KR20220087240 A KR 20220087240A KR 1020200177747 A KR1020200177747 A KR 1020200177747A KR 20200177747 A KR20200177747 A KR 20200177747A KR 20220087240 A KR20220087240 A KR 20220087240A
Authority
KR
South Korea
Prior art keywords
vehicle
event
surrounding
driving
autonomous
Prior art date
Application number
KR1020200177747A
Other languages
English (en)
Inventor
조홍
Original Assignee
현대자동차주식회사
기아 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 기아 주식회사 filed Critical 현대자동차주식회사
Priority to KR1020200177747A priority Critical patent/KR20220087240A/ko
Priority to US17/518,425 priority patent/US11897516B2/en
Publication of KR20220087240A publication Critical patent/KR20220087240A/ko

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • 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/0027Planning or execution of driving tasks using trajectory prediction for other traffic participants
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • 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
    • 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/4042Longitudinal speed
    • 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/4043Lateral speed
    • 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/4045Intention, e.g. lane change or imminent movement
    • 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/4049Relationship among other objects, e.g. converging dynamic 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/80Spatial relation or speed relative to objects
    • B60W2554/801Lateral distance
    • 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/80Spatial relation or speed relative to objects
    • B60W2554/802Longitudinal distance
    • 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/80Spatial relation or speed relative to objects
    • B60W2554/803Relative lateral speed
    • 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/80Spatial relation or speed relative to objects
    • B60W2554/804Relative longitudinal speed
    • 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
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2201/00Application
    • G05D2201/02Control of position of land vehicles
    • G05D2201/0213Road vehicle, e.g. car or truck
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Abstract

본 발명은 자율 주행 차량의 시뮬레이션 장치 및 방법에 관한 것으로, 복수의 주변 차량을 이용하여 시뮬레이션에 필요한 주변 환경을 구현하고, 복수의 주변 차량에 의해 연속적인 이벤트의 수행이 가능하도록 하며, 도로 환경을 고려한 이벤트의 수행 여부 등을 결정하는 자율 주행 차량의 시뮬레이션 장치 및 방법을 제공하는데 그 목적이 있다. 이를 위해 본 발명에 따른 자율 주행 차량의 시뮬레이션 방법은, 자율 주행 차량의 시뮬레이션 환경을 구현하기 위해 상기 자율 주행 차량의 주행 조건과 주변 차량이 수행할 이벤트의 주행 조건을 결정하는 파라미터 및 초기 값을 설정하는 준비 단계와; 상기 주변 차량이 주어진 상기 이벤트를 수행하기 위해 상기 파라미터에 설정된 사전 조건에 부합하는 속도 및 위치에서 주행하는 일반 주행 단계와; 상기 주변 차량이 상기 파라미터의 설정 값에 기초하여 주어진 상기 이벤트를 수행하는 이벤트 주행 단계를 포함한다.

Description

자율 주행 차량의 시뮬레이션 장치 및 방법{APPARATUS AND METHOD FOR SIMULATION OF Autonomous Vehicle}
본 발명은 자율 주행 차량에 관한 것으로, 자율 주행 차량의 자율 주행 기능을 시뮬레이션하기 위한 장치 및 방법에 관한 것이다.
자율 주행 차량은 차량 스스로 주변 상황을 감지 및 판단하여 차량의 거동을 스스로 제어하는 자율 주행 기능을 가진 차량이다.
자율 주행 차량이 높은 수준의 자율 주행 기능을 발휘하기 위해서는 연구 개발 단계에서 다양한 조건의 주변 환경을 구현하고 자율 주행 차량이 이 주변 환경들을 잘 감지하고 판단하여 안전하게 자율 주행 차량 자신의 거동을 제어할 수 있어야 한다.
자율 주행 차량의 기존의 시뮬레이션에서는 1회의 시뮬레이션에서 1회의 이벤트(시뮬레이션 형태)만을 수행하였고, 특히 자율 주행 차량과 주변 차량이 서로 1 대 1의 관계에서 상대 거리 및 상대 속도만을 기준으로 단일의 이벤트를 수행하였다. 이로 인해 시뮬레이션 시간이 길어지고, 시뮬레이션을 통해 얻는 결과의 만족도가 높지 않았다.
본 발명의 일 측면에 따르면, 복수의 주변 차량을 이용하여 시뮬레이션에 필요한 주변 환경을 구현하고, 복수의 주변 차량에 의해 연속적인 이벤트의 수행이 가능하도록 하며, 도로 환경을 고려한 이벤트의 수행 여부 등을 결정하는 자율 주행 차량의 시뮬레이션 장치 및 방법을 제공하는데 그 목적이 있다.
상술한 목적의 본 발명에 따른 자율 주행 차량의 시뮬레이션 방법은, 자율 주행 차량의 시뮬레이션 환경을 구현하기 위해 상기 자율 주행 차량의 주행 조건과 주변 차량이 수행할 이벤트의 주행 조건을 결정하는 파라미터 및 초기 값을 설정하는 준비 단계와; 상기 주변 차량이 주어진 상기 이벤트를 수행하기 위해 상기 파라미터에 설정된 사전 조건에 부합하는 속도 및 위치에서 주행하는 일반 주행 단계와; 상기 주변 차량이 상기 파라미터의 설정 값에 기초하여 주어진 상기 이벤트를 수행하는 이벤트 주행 단계를 포함한다.
상술한 자율 주행 차량의 시뮬레이션 방법은, 상기 준비 단계에서, 정밀 지도 데이터에 기초하여 상기 주변 차량의 이벤트에 관련된 거리를 계산하고, 사용자 입력 데이터에 기초하여 상기 주변 차량의 수를 계산한다.
상술한 자율 주행 차량의 시뮬레이션 방법에서, 상기 파라미터 및 상기 초기 값의 설정은, 상기 자율 주행 차량의 초기 주행 차로와; 상기 자율 주행 차량과 상기 주변 차량 사이의 초기 상대 위치와; 상기 주변 차량이 수행할 이벤트의 조건을 설정하는 것을 포함한다.
상술한 자율 주행 차량의 시뮬레이션 방법에서, 상기 주변 차량이 수행할 이벤트의 조건은, 상기 자율 주행 차량과 상기 주변 차량 사이의 안전 거리와; 상기 자율 주행 차량에 대한 상기 주변 차량의 상대 속도와; 상기 이벤트의 종류와; 상기 이벤트의 위험도와; 상기 이벤트 수행 시의 상기 주변 차량의 가속도와; 상기 이벤트 수행 시의 상기 주변 차량의 차로 변경 시간; 가운데 적어도 하나를 포함한다.
상술한 자율 주행 차량의 시뮬레이션 방법에서, 상기 일반 주행은, 상기 주변 차량이 상기 자율 주행 차량을 따라서 주행하는 팔로우 모드를 포함한다.
상술한 자율 주행 차량의 시뮬레이션 방법에서, 상기 팔로우 모드를 수행하는 주변 차량은 주어진 이벤트를 수행하기 전의 이벤트 대기 상태의 주변차량이다.
상술한 자율 주행 차량의 시뮬레이션 방법에서, 상기 주변 차량이 복수일 때, 상기 복수의 주변 차량이 미리 정해진 순서대로 이벤트를 수행한다.
상술한 자율 주행 차량의 시뮬레이션 방법에서, 상기 복수의 주변 차량이 상기 주어진 이벤트를 수행하는 순서는, 상기 복수의 주변 차량 각각의 상기 주어진 이벤트의 종류 및 위험도에 따라 결정된다.
상술한 자율 주행 차량의 시뮬레이션 방법에서, 상기 위험도를 서로 다른 복수의 값으로 변경하여 상기 서로 다른 복수의 위험도에 대응하는 복수의 이벤트를 생성한다.
상술한 목적의 본 발명에 따른 상술한 자율 주행 차량의 시뮬레이션 장치는, 시뮬레이션 장치와 자율 주행 차량, 주변 차량과 통신하도록 마련되는 통신부와; 상기 자율 주행 차량의 시뮬레이션 환경을 구현하기 위해 상기 자율 주행 차량의 주행 조건과 상기 주변 차량이 수행할 이벤트의 주행 조건을 결정하는 파라미터 및 초기 값을 설정하는 준비 단계가 수행되도록 제어하고, 상기 주변 차량이 주어진 상기 이벤트를 수행하기 위해 상기 파라미터에 설정된 사전 조건에 부합하는 속도 및 위치에서 주행하는 일반 주행 단계가 수행되도록 제어하며, 상기 주변 차량이 상기 파라미터의 설정 값에 기초하여 주어진 상기 이벤트를 수행하는 이벤트 주행 단계가 수행되도록 제어하는 제어부를 포함한다.
상술한 자율 주행 차량의 시뮬레이션 장치에서, 상기 제어부는, 상기 준비 단계에서, 정밀 지도 데이터에 기초하여 상기 주변 차량의 이벤트에 관련된 거리를 계산하고, 사용자 입력 데이터에 기초하여 상기 주변 차량의 수를 계산한다.
상술한 자율 주행 차량의 시뮬레이션 장치에서, 상기 파라미터 및 상기 초기 값의 설정은, 상기 자율 주행 차량의 초기 주행 차로와; 상기 자율 주행 차량과 상기 주변 차량 사이의 초기 상대 위치와; 상기 주변 차량이 수행할 이벤트의 조건을 설정하는 것을 포함한다.
상술한 자율 주행 차량의 시뮬레이션 장치에서, 상기 주변 차량이 수행할 이벤트의 조건은, 상기 자율 주행 차량과 상기 주변 차량 사이의 안전 거리와; 상기 자율 주행 차량에 대한 상기 주변 차량의 상대 속도와; 상기 이벤트의 종류와; 상기 이벤트의 위험도와; 상기 이벤트 수행 시의 상기 주변 차량의 가속도와; 상기 이벤트 수행 시의 상기 주변 차량의 차로 변경 시간; 가운데 적어도 하나를 포함한다.
상술한 자율 주행 차량의 시뮬레이션 장치에서, 상기 일반 주행은, 상기 주변 차량이 상기 자율 주행 차량을 따라서 주행하는 팔로우 모드를 포함한다.
상술한 자율 주행 차량의 시뮬레이션 장치에서, 상기 팔로우 모드를 수행하는 주변 차량은 주어진 이벤트를 수행하기 전의 이벤트 대기 상태의 주변차량이다.
상술한 자율 주행 차량의 시뮬레이션 장치에서, 상기 주변 차량이 복수일 때, 상기 복수의 주변 차량이 미리 정해진 순서대로 이벤트를 수행한다.
상술한 자율 주행 차량의 시뮬레이션 장치에서, 상기 복수의 주변 차량이 상기 주어진 이벤트를 수행하는 순서는, 상기 복수의 주변 차량 각각의 상기 주어진 이벤트의 종류 및 위험도에 따라 결정된다.
상술한 자율 주행 차량의 시뮬레이션 장치에서, 상기 위험도를 서로 다른 복수의 값으로 변경하여 상기 서로 다른 복수의 위험도에 대응하는 복수의 이벤트를 생성한다.상술한 목적의 본 발명에 따른 또 다른 자율 주행 차량의 시뮬레이션 방법은, 자율 주행 차량의 시뮬레이션 환경을 구현하기 위해 상기 자율 주행 차량의 주행 조건과 주변 차량이 수행할 이벤트의 주행 조건을 결정하는 파라미터 및 초기 값을 설정하는 준비 단계와; 상기 주변 차량이 주어진 상기 이벤트를 수행하기 위해 상기 파라미터에 설정된 사전 조건에 부합하는 속도 및 위치에서 주행하는 일반 주행 단계와; 상기 주변 차량이 상기 파라미터의 설정 값에 기초하여 주어진 상기 이벤트를 수행하는 이벤트 주행 단계를 포함하고, 상기 주변 차량이 복수일 때, 상기 복수의 주변 차량이 상기 주어진 이벤트의 종류 및 위험도에 따라 상기 주어진 이벤트를 수행하는 순서가 결정되고, 상기 위험도를 서로 다른 복수의 값으로 변경하여 상기 서로 다른 복수의 위험도에 대응하는 복수의 이벤트를 생성한다.
상술한 목적의 본 발명에 따른 또 다른 자율 주행 차량의 시뮬레이션 장치는, 시뮬레이션 장치와 자율 주행 차량, 주변 차량과 통신하도록 마련되는 통신부와; 상기 자율 주행 차량의 시뮬레이션 환경을 구현하기 위해 상기 자율 주행 차량의 주행 조건과 상기 주변 차량이 수행할 이벤트의 주행 조건을 결정하는 파라미터 및 초기 값을 설정하는 준비 단계가 수행되도록 제어하고, 상기 주변 차량이 주어진 상기 이벤트를 수행하기 위해 상기 파라미터에 설정된 사전 조건에 부합하는 속도 및 위치에서 주행하는 일반 주행 단계가 수행되도록 제어하며, 상기 주변 차량이 상기 파라미터의 설정 값에 기초하여 주어진 상기 이벤트를 수행하는 이벤트 주행 단계가 수행되도록 제어하는 제어부를 포함하고, 상기 주변 차량이 복수일 때, 상기 복수의 주변 차량이 상기 주어진 이벤트의 종류 및 위험도에 따라 상기 주어진 이벤트를 수행하는 순서가 결정되고, 상기 위험도를 서로 다른 복수의 값으로 변경하여 상기 서로 다른 복수의 위험도에 대응하는 복수의 이벤트를 생성한다.
본 발명의 일 측면에 따르면, 복수의 주변 차량을 이용하여 시뮬레이션에 필요한 주변 환경을 구현하고, 복수의 주변 차량에 의해 연속적인 이벤트의 수행이 가능하도록 하며, 도로 환경을 고려한 이벤트의 수행 여부 등을 결정함으로써, 시뮬레이션에 소요되는 시간을 단축하고, 짧은 시간에 더 많은 이벤트를 연속적으로 수행할 수 있으며, 도로 환경까지 고려하여 시뮬레이션을 수행할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시 예에 따른 자율 주행 차량의 시뮬레이션 장치를 나타낸 도면이다.
도 2는 본 발명의 실시 예에 따른 자율 주행 차량의 시뮬레이션 환경의 일례를 나타낸 도면이다.
도 3은 본 발명의 실시 예에 따른 자율 주행 차량의 시뮬레이션을 나타낸 도면이다.
도 4는 도 3에 나타낸 자율 주행 차량의 시뮬레이션의 시뮬레이션 준비를 나타낸 도면이다.
도 5는 도 4에 나타낸 시뮬레이션 준비 과정의 파라미터 생성을 나타낸 도면이다.
도 6은 도 5에 나타낸 파라미터 생성 결과의 일례를 표로 나타낸 도면이다.
도 7은 도 3에 나타낸 자율 주행 차량의 시뮬레이션의 일반 주행을 나타낸 도면이다.
도 8은 도 7에 나타낸 자율 주행 차량 팔로우 모드를 나타낸 도면이다.
도 9는 도 3에 나타낸 자율 주행 차량의 시뮬레이션에서 이벤트 주행 실행을 나타낸 도면이다.
도 10은 도 9의 이벤트 주행 실행에서 이벤트 수행을 나타낸 도면이다.
본 발명은 자율 주행 차량의 자율 주행 기능을 연구 및 개발하는 과정에서 미리 설정된 조건의 특정 상황을 가정하여 자율 주행 차량의 시뮬레이션을 수행하는 방법 및 장치에 관한 것이다. 본 발명은 특히, 자율 주행 차량의 시뮬레이션을 수행하기 위해 주변의 주변 차량들이 구현해야 할 특정 상황들을 도로 상황에 맞게 그리고 연속적으로 생성하는 것을 특징으로 한다.
이하의 설명에서 '자율 주행 차량'은 자율 주행 기능을 테스트하기 위한 테스트 차량이다. 또한, '주변 차량'은 자율 주행 차량의 테스트를 위해 자율 주행 차량의 주변에서 특정 상황을 연출하도록 준비된 차량이다. '이벤트'는 자율 주행 차량의 자율 주행 기능의 시뮬레이션(테스트)을 위해 주변 차량이 미리 약속된 특정 형태로 주행하는 것을 의미한다. 이벤트는, 예를 들면, 감속과 가속, 차로 변경 등을 포함할 수 있다. 자율 주행 차량은 도로 상태와 주변 차량의 이벤트를 고려하여 자율 주행을 수행한다.
도 1은 본 발명의 일 실시 예에 따른 자율 주행 차량의 시뮬레이션 장치를 나타낸 도면이다. 도 1에 나타낸 바와 같이, 본 발명의 실시 예에 따른 자율 주행 차량의 시뮬레이션 장치는 제어부(102)와 통신부(104)를 포함한다.
도 1에 나타낸 바와 같이, 시뮬레이션 장치의 제어부(102)는 시뮬레이션의 수행에 필요한 다양한 정보를 수신하고, 수신한 다양한 정보에 기초하여 주변 차량(도 2의 262, 264, 266 참조)을 제어하기 위한 다양한 제어 신호를 생성하여 출력한다.
제어부(102)는 별도로 마련되는 시뮬레이션 장치의 프로세서이거나, 또는 도 2에서 설명하는 자율 주행 차량(200)의 전자 제어 장치(Electronic Control Unit, ECU)이거나, 또는 자율 주행 차량(200)에 부가적으로 설치되는 프로세서일 수 있다.
제어부(102)에 입력되는 정보는 <자율 주행 차량의 속도>와 <자율 주행 차량의 주행 차로>, <자율 주행 차량의 위치(좌표)>, <주변 차량의 수>, <주변 차량까지의 안전 거리>, <이전 이벤트의 종료 여부>를 포함할 수 있다.
제어부(102)에서 생성되어 출력되는 제어 신호는 <주변 차량의 요구 감속도/가속도>와 <주변 차량의 요구 조향각>, <주변 차량의 이벤트 종료 여부>를 포함할 수 있다.
이와 같은 정보 및 제어 신호의 전달은 시뮬레이션 장치의 제어부(102)와 자율 주행 차량(테스트 차량)(200), 주변 차량(262)(264)(266)과의 통신을 통해 이루어진다. 제어부(102)와 자율 주행 차량(테스트 차량)(200), 주변 차량(262)(264)(266)과의 통신에는 통신부(104)가 이용될 수 있다. 또한 통신부(104)는 제어부(102)에 입력되는 정보들 중 일부를 수신하는 역할도 수행한다. 즉, 제어부(102)에 입력되는 정보들 중 일부를 통신부(104)가 수신하여 제어부(102)에 전달한다.
도 2는 본 발명의 실시 예에 따른 자율 주행 차량의 시뮬레이션 환경의 일례를 나타낸 도면이다.
도 2에 나타낸 바와 같이, 자율 주행 차량(200)의 시뮬레이션은 자율 주행 차량(200)과 주변 차량(262)(264)(266)이 도로(220)를 주행하면서 이루어진다.
도 2에 나타낸 것과 같은 본 발명의 실시 예에 따른 자율 주행 차량(200)의 시뮬레이션 환경에서 사용되는 용어 및 파라미터는 다음과 같이 정의할 수 있다.
s-d 좌표계 : 도 2에 나타낸 것과 같은 시뮬레이션에서는 위치와 이동 거리 등을 s-d 좌표계를 통해 나타낸다. S-d 좌표계는, 시뮬레이션에 사용되는 정밀 지도에서 차량 진행 방향의 최 좌측 차선(line)을 기준으로 진행 방향(종방향) 이동 거리(s) - 횡 방향 거리(d)의 좌표계이다. 이 s-d 좌표계의 s축 원점은 시뮬레이션을 위한 주행이 시작되는 지점이다.
s(max) : 도로의 시뮬레이션을 수행할 구간의 총 길이 (m)
n : 주변 차량의 번호
T(num) : 주변 차량의 수
s(ego) : 도로에서 자율 주행 차량이 이동한 거리 (m)
d(ego) : 자율 주행 차량의 s-d 좌표계 상의 횡방향 거리 (m)
s(t,n) : 주변 차량 #n의 이동 거리 (m)
d(t,n) : 주변 차량 #n의 기준 차선으로부터의 횡 방향거리 (m)
V(ego) : 자율 주행 차량의 속도 (km/h)
V(ego,test) : 자율 주행 차량의 테스트를 위한 설정 속도 (km/h)
a(ego,test) : 자율 주행 차량의 테스트를 위한 설정 가속도 (m/s^2)
V(t,n) : 주변 차량 #n의 속도 (km/h)
a(t,n) : 주변 차량 #n의 가속도 (km/h)
V(diff) : 자율 주행 차량과 주변 차량 사이의 속도 차이의 임계 값 (km/h)
LN(max) : 도로의 주행 차로의 총 수
LN(ego,init) : 자율 주행 차량의 시작 주행 차로의 번호
LN(ego) : 자율 주행 차량의 현재 주행 차로의 번호
LN(t,n) : 주변 차량 #n의 현재 주행 차로의 번호
M(safety,ref) : 주변 차량의 기준 이벤트 준비 거리 (m)
M(safety,n) : 주변 차량 #n의 상대 이벤트 준비 거리 (m)
K(safety) : 주변 차량의 이벤트 준비 거리 계수 (m)
G(safety) : 주변 차량의 이벤트 준비 가중치
E(end,n) : 주변 차량 #n의 이벤트 종료 여부 (대기, 진행, 종료)
E(end,n-1) : 주변 차량 #n-1의 이벤트 종료 여부 (대기, 진행, 종료)
E(type,n) : 주변 차량 #n의 이벤트 종류 (감속, 가속, 차로 변경(좌), 차로 변경(우))
E(risk,ego) : 자율 주행 차량과 주변 차량 #n 사이의 위험도
E(risk,n) : 주변 차량 #n의 이벤트 위험 설정 값 (실수)
E(risk,start) : 주변 차량의 이벤트 위험 설정 범위 : 시작
E(risk,end) : 주변 차량의 이벤트 위험 설정 범위 : 끝
E(Vrel,n) : 주변 차량 #n의 이벤트 상대 속도 설정 값 (실수) (km/h)
E(Vrel,start) : 주변 차량의 이벤트 상대 속도 설정 범위 : 시작 (km/h)
E(Vrel,end) : 주변 차량의 이벤트 상대 속도 설정 범위 : 끝 (km/h)
E(a,n) : 주변 차량 #n의 이벤트 요구 가속도 설정 값 (실수) (m/s^2)
E(a,start) : 주변 차량의 이벤트 요구 가속도 설정 범위 : 시작 (m/s^2)
E(a,end) : 주변 차량의 이벤트 요구 가속도 설정 범위 : 끝 (m/s^2)
E(LC,n) : 주변 차량 #n의 차로 변경 시간 (실수) (s)
E(LC,start) : 주변 차량의 이벤트 차로 변경 시간 설정 범위 : 시작 (s)
E(LC,end) : 주변 차량의 이벤트 차로 변경 시간 설정 범위 : 끝 (s)
L(ego) : 자율 주행 차량의 길이 (m)
W(ego) : 자율 주행 차량의 폭 (m)
도 3은 본 발명의 실시 예에 따른 자율 주행 차량의 시뮬레이션을 나타낸 도면이다.
도 3에 나타낸 바와 같이, 본 발명의 실시 예에 따른 자율 주행 차량의 시뮬레이션은, 시뮬레이션 준비와 일반 주행, 이벤트 주행을 포함한다.
시뮬레이션 준비(302)에서는, 시뮬레이션에서 주변 차량(262)(264)(266)이 이벤트를 수행하는데 필요한 파라미터가 생성되고 각 파라미터의 초기 값이 설정된다. 파라미터 설정에 대해서는 후술하는 도 5 및 도 6을 통해 더 자세히 설명하고자 한다.
일반 주행(304)에서는, 주변 차량(262)(264)(266)이 이벤트를 수행하기 전에 이벤트를 수행하기 위한 사전 준비 차원에서 미리 설정된 주행 조건에 맞도록 주변 차량(262)(264)(266)의 주행 속도와 위치 등이 조정된다.
이벤트 주행(306)에서는, 시뮬레이션 준비(302)에서 생성된 파라미터에 기초하여 주변 차량(262)(264)(266)에게 주어진 이벤트가 주변 차량(262)(264)(266)에 의해 수행된다.
시뮬레이션이 종료되기 위한 조건은 도 3의 308에 나타낸 것과 같다. 즉, 모든 주변 차량(262)(264)(266)의 이벤트가 모두 종료되거나 또는 자율 주행 차량(200)의 총 이동 거리가 시뮬레이션을 수행할 도로의 총 길이보다 크거나 같을 때 시뮬레이션이 종료된다(E(end,Tnum) == 종료 또는 s(ego) ≥ s(max)).
도 4는 도 3에 나타낸 자율 주행 차량의 시뮬레이션의 시뮬레이션 준비를 나타낸 도면이다.
도 4에 나타낸 바와 같이, 시뮬레이션 장치의 제어부(102)는 먼저 자율 주행 차량(200)의 테스트 속도(V(ego,test))를 설정한다(402). 자율 주행 차량(200)의 테스트 속도(V(ego,test))는 자율 주행 차량(200)이 시뮬레이션을 수행할 때의 목표 속도로서 설정된다. 자율 주행 차량(200)의 테스트 속도(V(ego,test))는 시뮬레이션 장치의 사용자 인터페이스를 통해 사용자에 의해 입력된다.
또한 시뮬레이션 장치의 제어부(102)는 자율 주행 차량(200)의 테스트 가속도(a(ego,test))를 설정한다(404). 자율 주행 차량(200)의 테스트 가속도(a(ego,test))는 자율 주행 차량(200)이 시뮬레이션을 수행할 때의 목표 가속도로서 설정된다. 자율 주행 차량(200)의 테스트 가속도(a(ego,test))는 시뮬레이션 장치의 사용자 인터페이스를 통해 사용자에 의해 입력된다.
또한 시뮬레이션 장치의 제어부(102)는 주변 차량(262)(264)(266)의 기준 이벤트 준비 거리(M(safety,ref))를 계산한다(406). 주변 차량(262)(264)(266)의 기준 이벤트 준비 거리(M(safety,ref))는, 앞서 설명한 도 2에 나타낸 것처럼, 자율 주행 차량(200)과 가장 가까운 주변 차량 #1(262) 사이에 안전을 위해 확보되어 있는 거리일 수 있다. 주변 차량(262)(264)(266)의 기준 이벤트 준비 거리(M(safety,ref))의 계산은 정밀 지도 데이터를 참조하여 이루어진다. 주변 차량(262)(264)(266)의 기준 이벤트 준비 거리(M(safety,ref))는 아래의 식 1을 통해 계산될 수 있다. 식 1에서, V(ego,test)는 자율 주행 차량의 테스트 속도이고, a(ego,test)는 자율 주행 차량의 테스트 가속도이며, K(safety)는 주변 차량의 이벤트 준비 거리 계수이다.
(식 1)
Figure pat00001
또한, 시뮬레이션 장치의 제어부(102)는 주변 차량(262)(264)(266)의 수(T(num))를 계산 한다(408). 도 2의 경우, 주변 차량(262)(264)(266)의 수는 '3'이다. 주변 차량(262)(264)(266)의 수(T(num))는 아래의 식 2를 통해 계산될 수 있다. 식 2에서, s(max)는 도로의 시뮬레이션을 수행할 구간의 총 길이이고, M(safety,ref)는 주변 차량(262)(264)(266)의 기준 이벤트 준비 거리이다.
(식 2)
Figure pat00002
또한, 시뮬레이션 장치의 제어부(102)는 주변 차량(262)(264)(266)이 수행할 이벤트의 조건을 결정하는 파라미터를 생성한다(410). 시뮬레이션이 진행되는 동안, 주변 차량(262)(264)(266)은 제어부(102)가 생성한 파라미터에 따라 감속과 가속, 차로 변경 등의 이벤트를 수행한다.
도 5는 도 4에 나타낸 시뮬레이션 준비 과정의 파라미터 생성을 나타낸 도면이다.
도 5에 나타낸 바와 같이, 도 5의 502에서는, 자율 주행 차량(200)의 시작 주행 차로의 번호에 해당하는 파라미터 LN(ego,init)를 1보다 크거나 같고 도로의 주행 차로의 총 수 LN(max)보다 작거나 같은 값 가운데 어느 하나의 값으로 난수를 발생시켜서 설정한다(1 ≤ LN(ego,init) ≤ LN(max)).
도 5의 504에서는, 주변 차량 #n의 상대 이벤트 준비 거리에 해당하는 파라미터 M(safety,n)을 주변 차량 #1(262)의 기준 이벤트 준비 거리의 n배수인 M(safety,ref)*n으로 설정한다(M(safety,n) = M(safety,ref)*n).
도 5의 506에서는, 주변 차량 #n의 이벤트 상대 속도 설정 값에 해당하는 파라미터 E(Vrel,n)을 주변 차량(262)(264)(266)의 이벤트 상대 속도 설정 범위(시작) E(Vrel,start)보다 크거나 같고 주변 차량(262)(264)(266)의 이벤트 상대 속도 설정 범위(끝) E(Vrel,end)보다 작거나 같은 값 가운데 어느 하나의 값으로 난수를 발생시켜서 설정한다(E(Vrel,start) ≤ E(Vrel,n) ≤ E(Vrel,end)).
도 5의 508에서는, 주변 차량 #n의 이벤트 종류 E(type,n)을 결정한다(0 ≤ E(type,n) ≤ 3). 이 때 결정되는 이벤트는, 예를 들면 감속(0)과 가속(1), 차로 변경(좌)(2), 차로 변경(우)(3)를 포함할 수 있다. 만약 이벤트로서 '2'를 선택하면 차로 변경(좌)가 이벤트로 결정된다.
도 5의 510에서는, 주변 차량 #n의 이벤트 위험 설정 값에 해당하는 파라미터 E(risk,n)을 주변 차량(262)(264)(266)의 이벤트 위험 설정 범위(시작) E(risk,start)보다 크거나 같고 주변 차량(262)(264)(266)의 이벤트 위험 설정 범위(끝) E(risk,end)보다 작거나 같은 값 가운데 어느 하나의 값으로 난수를 발생시켜서 설정한다(E(risk,start) ≤ E(risk,n) ≤ E(risk,end)).
도 5의 512에서는, 주변 차량 #n의 이벤트 요구 가속도 설정 값에 해당하는 파라미터 E(a,n)을 주변 차량(262)(264)(266)의 이벤트 요구 가속도 설정 범위(시작) E(a,start)보다 크거나 같고 주변 차량(262)(264)(266)의 이벤트 요구 가속도 설정 범위(끝) E(a,end)보다 작거나 같은 값 가운데 어느 하나의 값으로 난수를 발생시켜서 설정한다(E(a,start) ≤ E(a,n) ≤ E(a,end)).
도 5의 514에서는, 주변 차량 #n의 차로 변경 시간에 해당하는 파라미터 E(LC,n)을 주변 차량(262)(264)(266)의 이벤트 차로 변경 시간 설정 범위(시작) E(LC,start)보다 크거나 같고 주변 차량(262)(264)(266)의 이벤트 차로 변경 시간 설정 범위(끝) E(LC,end)보다 작거나 같은 값 가운데 어느 하나의 값으로 난수를 발생시켜서 설정한다(E(LC,start) ≤ E(LC,n) ≤ E(LC,end)).
주변 차량 #n의 이벤트의 종류 및 파라미터 설정이 완료되면, 해당 주변 차량 #n의 이벤트 종료 여부를 '대기'로 설정하고(520), 이 과정을 모든 주변 차량(262)(264)(266)에 대해 반복한다(524).
시뮬레이션 준비 과정에서 생성되는 파라미터는 도 5에 나타낸 것으로 한정되지 않으며, 시뮬레이션에서 수행하고자 하는 이벤트의 종류의 특징에 따라 파라미터의 수와 종류가 변경될 수 있다.
도 6은 도 5에 나타낸 파라미터 생성 결과의 일례를 표로 나타낸 도면이다.
도 6에 나타낸 바와 같이, 자율 주행 차량(200)의 시작 주행 차로의 번호 LN(ego,init)는 4이다. 즉, 자율 주행 차량(200)은 시뮬레이션을 시작하는 단계에서는 주행 차로 4에서 주행을 시작한다.
주변 차량 #n 각각에는 1과 2, 3의 번호가 부여되어 있다.
주변 차량 #n 각각의 상대 이벤트 준비 거리 M(safety,n)는 주변 차량의 기준 이벤트 준비 거리 M(safety,ref)의 1배(*1)와 2배(*2), 3배(*3)로 설정되어 있다.
주변 차량 #n 각각에 설정되어 있는 이벤트는 1(감속)과 3(차로 변경, 좌), 4(차로 변경, 우)이다.
주변 차량 #n 각각의 이벤트 위험 설정 값은 1.5와 2.0, 1.7이다.
주변 차량 #n 각각의 이벤트 요구 가속도 설정 값 E(a,n)은 2.21과 3.5, 1.2이다.
주변 차량 #n 각각의 차로 변경 시간 E(LC,n)은 3.5와 4.5, 3.2이다.
주변 차량 #n 각각의 이벤트 종료 여부는 모두 '대기'이다. 현재 단계는 파라미터 설정 단계이고 각 주변 차량(262)(264)(266)의 이벤트는 수행되지 않은 상태이기 때문이다. 향후 이벤트의 수행 여부에 따라 이벤트의 종료 여부는 '대기'에서 '진행' 또는 '종료'로 변경될 수 있다.
도 7은 도 3에 나타낸 자율 주행 차량의 시뮬레이션의 일반 주행을 나타낸 도면이다.
도 7에 나타낸 바와 같이, 시뮬레이션의 일반 주행(304)에서는 주변 차량(262)(264)(266)은 기본적으로 자율 주행 차량(200)을 따라서 주행하는 팔로우 모드로 주행한다(702). 즉, 이벤트 종료 상태(E(end,n)가 '진행'이 아닌 주변 차량(262)(264)(266)은 자율 주행 차량(200)을 뒤따르는 팔로우 모드로 주행한다(704의 '아니오').
만약, 주변 차량 #n의 이벤트 종료 상태(E(end,n)가 '진행'이고(704의 '예'), 자율 주행 차량(200)의 속도 V(ego)와 자율 주행 차량(200)의 테스트 속도 V(ego,test)의 차이의 절대 값이 자율 주행 차량(200)과 주변 차량(262)(264)(266) 사이의 속도 차이의 임계 값 V(diff)보다 작거나 같을 때(706의 '예'), 306의 이벤트 주행을 수행한다.
도 8은 도 7에 나타낸 자율 주행 차량 팔로우 모드를 나타낸 도면이다.
도 8에 나타낸 바와 같이, 자율 주행 차량 팔로우 모드에서는 주변 차량 #n이 다른 이벤트 상황 개입을 방지하기 위해 자율 주행 차(200)와 같은 속도로 주행한다. 또한, 이벤트 종류에 따라 자율 주행 차(200)와 주변 차량 #n의 상대 차로의 위치를 제어한다.
먼저, 주변 차량 #n의 주행 속도를 제어한다(802). 이 때의 주변 차량 #n의 목표 속도는 0(정차)이다.
주변 차량 #n의 이동 거리 s(t,n)과 자율 주행 차량(200)의 이동 거리 s(ego)의 차이가 주변 차량의 기준 이벤트 준비 거리 M(safety,ref)에 주변 차량 #n의 이벤트 준비 가중치 G(safety)를 곱한 값보다 작거나 같은 상황이 되면(S(t,n)-s(ego) ≤ M(safety,ref)*G(safety))(804의 '예'), 주변 차량 #n의 주행 속도를 자율 주행 차량(200)의 속도와 동일해지도록 제어한다(806).
자율 주행 차량(200)의 속도 V(ego)와 주변 차량 #n의 속도 V(t,n)의 차이의 절대 값이 자율 주행 차량(200)과 주변 차량(262)(264)(266) 사이의 속도 차이의 임계 값 V(diff)보다 작거나 같은 상황이 되면(|V(ego) - V(t,n)| ≤ V(diff))(808의 '예'), 주변 차량 #n의 이벤트 종류 E(type,n)가 가속 또는 감속인지를 확인한다(812).
만약 주변 차량 #n의 이벤트 종류 E(type,n)가 가속 또는 감속이면(812의 '예'), 주변 차량 #n의 주행 차로를 자율 주행 차량(200)의 주행 차로와 일치하도록 변경하는 제어를 수행한다(814).
이어서, 만약 주변 차량 #n이 자율 주행 차량(200)과 같은 차로를 주행하게 되면(LN(ego) == LN(t,n))(816의 '예'), 도 7의 704 단계로 진행한다. 즉, 도 8의 812-816 단계에서는 주변 차량 #n이 자율 주행 차량(200)의 앞 또는 뒤에서 가속 또는 감속 등의 이벤트를 수행하기 위해 자율 주행 차량(200)의 주행 차로와 같은 차로로 이동하는 것이다.
앞서 설명한 812 단계에서, 만약 주변 차량 #n의 이벤트 종류 E(type,n)가 가속 또는 감속이 아니면(812의 '아니오'), 주변 차량 #n의 이벤트 종류 E(type,n)가 차로 변경(좌)인지를 확인한다(822). 차로 변경(좌)는 현재 차로에서 좌측 차로로 변경하는 것을 의미한다.
만약 주변 차량 #n의 이벤트 종류 E(type,n)가 차로 변경(좌)이면(822의 '예'), 주변 차량 #n 주행 차로를 자율 주행 차량(200)의 현재 주행 차로의 오른쪽 옆 차로(LN(ego)+1)로 변경한다(824).
주변 차량 #n 주행 차로가 자율 주행 차량(200)의 오른쪽 옆 차로(LN(ego)+1)로 변경되면(|LN(ego) - LN(t,n)| == 1)(826의 '예'), 도 7의 704의 단계로 진행한다. 즉, 도 8의 822-826 단계에서는 주변 차량 #n이 자율 주행 차량(200)의 오른쪽 차로에서 왼쪽 차로로 차로 변경 이벤트를 수행하기 위해 자율 주행 차량(200)이 주행 중인 차로의 오른쪽 차로로 이동하는 것이다.
앞서 설명한 812 단계에서, 만약 주변 차량 #n의 이벤트 종류 E(type,n)가 차로 변경(좌)가 아니면(822의 '아니오'), 주변 차량 #n의 주행 차로를 자율 주행 차량(200)의 현재 주행 차로의 왼쪽 옆 차로(LN(ego)-1)로 변경한다(834).
주변 차량 #n 주행 차로가 자율 주행 차량(200)의 오른쪽 옆 차로(LN(ego)-1)로 변경되면(|LN(ego) - LN(t,n)| == 1)(836의 '예'), 도 7의 704의 단계로 진행한다. 즉, 도 8의 834-836 단계에서는 주변 차량 #n이 자율 주행 차량(200)의 왼쪽 차로에서 오른쪽 차로로 차로 변경 이벤트를 수행하기 위해 자율 주행 차량(200)이 주행 중인 차로의 왼쪽 차로로 이동하는 것이다.
도 9는 도 3에 나타낸 자율 주행 차량의 시뮬레이션에서 이벤트 주행 실행을 나타낸 도면이다.
도 9에 나타낸 바와 같이, 주변 차량 #n 주행 속도를 설정한다. 이 때 목표 주행 속도는 자율 주행 차량(200)의 속도 V(ego)와 주변 차량 #n의 이벤트 상대 속도 설정 값 E(Vrel,n)의 차이이다(V(ego) - E(Vrel,n))(902).
이 상태에서, 자율 주행 차량(200)의 속도 V(ego)와 주변 차량 #n의 이벤트 상대 속도 설정 값 E(Vrel,n), 주변 차량 #n의 속도 V(t,n)의 차이의 절대 값이 자율 주행 차량(200)과 주변 차량 #n 사이의 속도 차이의 임계 값 V(diff) 이하로 감소하는지를 확인한다(|V(ego) - E(Vrel,n) - V(t,n)| ≤ V(diff))(904).
또한, 만약 904의 조건을 만족하면(904의 '예'), 자율 주행 차량(200)과 주변 차량 #n 사이의 위험도 E(risk,ego)가 주변 차량 #n의 이벤트 위험 설정 값 E(risk,n)보다 작은지를 확인한다(E(risk,ego) ≤ E(risk,n))(906). 이벤트 위험 설정 값 E(risk,n)은 앞서 설명한 도 4의 이벤트 파라미터 생성(410)을 통해 각 주변 차량(262)(264)(266)마다 생성되는 값이다. 이벤트 주행에서는, 자율 주행 차량(200)과 주변 차량 #n 사이의 위험도 E(risk,ego)가 주변 차량 #n의 이벤트 위험 설정 값 E(risk,n)보다 작은 경우에 주변 차량 #n이 주어진 이벤트를 수행한다.
E(risk,ego)와 E(risk,n)은 각각 자율 주행 차량(200)과 주변 차량(262)(264)(266)의 위험도 지수로서, 그 값이 작을수록 위험도(예를 들면 충돌 위험도)가 높은 것을 의미한다. 따라서, 이벤트 파라미터 생성 단계(도 4의 410)에서 이 위험도 지수를 다양하게 변경함으로써 다양한 위험 상황을 시뮬레이션할 수 있다. 특히, 이 위험도 지수의 변경을 통해 도로의 형태(직선 또는 곡선)와 자율 주행 차량(200)의 속도, 주변 차량(262)(264)(266)의 속도, 상대 거리 등에 상관없이 다양한 이벤트를 자유롭게 생성할 수 있다.
앞서 설명한 도 6의 파라미터의 일례에서, E(risk,n)=2인 경우에는 E(risk,ego)와의 상대 위험도 기준에 따라 이벤트 수행 여부가 결정된다. 예를 들면, 자율 주행 차량(200)과 주변 차량 #n의 현재 주행 상태를 통해 계산된 E(risk,ego)가 1.5이고, 설정된 파라미터의 E(risk,2)가 2.0이므로(E(risk,ego) < E(risk,2)), 주변 차량 #2는 주어진 이벤트를 수행한다.
위험도 E(risk,ego)는 아래의 식 3을 통해 계산할 수 있다. 식 3에서, s(ego)는 도로에서 자율 주행 차량(200)이 이동한 거리이고, L(ego)는 자율 주행 차량(200)의 길이이며, s(t,n)은 주변 차량 #n의 이동 거리이고, V(ego)는 자율 주행 차량(200)의 속도이며, V(t,n)은 주변 차량 #n의 속도이고, E(risk,end)는 주변 차량 #n의 이벤트 위험 설정 범위(끝)이다.
(식 3)
Figure pat00003
또한, 만약 906의 조건을 만족하면(906의 '예'), 주변 차량 #n이 이벤트 주행을 실시하여 주변 차량 #n에게 주어진 이벤트를 수행한다(908). 주변 차량 #n에게 주어진 이벤트는 감속, 가속, 차로 변경(좌), 차로 변경(우) 가운데 어느 하나일 수 있다.
주변 차량 #n에게 주어진 이벤트가 종료되면, 해당 주변 차량 #n의 이벤트 종료 여부를 나타내는 E(end,n)를 '종료'로 변경한다(910).
이어서, 다음 주변 차량 #n+1의 이벤트 E(end,n+1)이 종료 여부를 '진행'으로 변경한다(912). 이를 통해 다음 단계에서는 주변 차량 #n+1에 주어진 이벤트가 진행된다.
도 10은 도 9의 이벤트 주행 실행에서 이벤트 수행을 나타낸 도면이다.
도 10에 나타낸 바와 같이, 만약 주변 차량 #n에게 부여된 이벤트가 감속이면(1002의 '예'), 주변 차량 #n의 요구 가속도의 목표 값을 -|E(a,n)|로 입력한다(1006). E(a,n)은 주변 차량 #n의 이벤트 요구 가속도 설정 값인데, 이 E(a,n)의 절대 값의 부호를 반대로 함으로써 감속이 이루어지도록 한다.
만약 주변 차량 #n에게 부여된 이벤트가 가속이면(1004의 '예'), 주변 차량 #n의 요구 가속도의 목표 값을 |E(a,n)|으로 입력한다(1006). E(a,n)은 주변 차량 #n의 이벤트 요구 가속도 설정 값으로서, 이 E(a,n)의 절대 값 |E(a,n)|을 입력함으로써 가속이 이루어질 수 있다.
만약 주변 차량 #n에게 부여된 이벤트가 가속이나 감속이 아닌 주행 차로 제어이면(1004의 '아니오'), 주변 차량 #n의 주행 차로 제어를 실시한다(1024). 주행 차로 제어의 목표 값은 자율 주행 차량(200)의 주행 차로 LN(ego)와 동일한 차로를 따라 주행하도록 차로를 변경하는 것일 수 있다. 이와 함께 주변 차량 #n의 요구 가속도의 목표 값을 E(a,n)으로 입력한다(1026). E(a,n)은 주변 차량 #n의 이벤트 요구 가속도 설정 값으로서, 이 요구 가속도의 목표 값 E(a,n)을 입력함으로써 차로 변경 과정에서 필요 시 가속이 이루어질 수 있다.
주변 차량 #n의 주행 차로 제어 시에는 주변 차량 #n의 차로 변경 시간 설정 값 E(LC,n)에 기초하여 차로 변경 궤적을 생성하고 차로 변경을 수행한다.
위의 설명은 기술적 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 기술 분야에서 통상의 지식을 가진 자라면 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서 위에 개시된 실시 예 및 첨부된 도면들은 기술적 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예 및 첨부된 도면에 의하여 기술적 사상의 범위가 한정되는 것은 아니다. 그 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술적 사상은 권리 범위에 포함되는 것으로 해석되어야 할 것이다.
102 : 제어부
104 : 통신부
200 : 자율 주행 차량
220 : 도로
262, 264, 266 : 주변 차량

Claims (20)

  1. 자율 주행 차량의 시뮬레이션 환경을 구현하기 위해 상기 자율 주행 차량의 주행 조건과 주변 차량이 수행할 이벤트의 주행 조건을 결정하는 파라미터 및 초기 값을 설정하는 준비 단계와;
    상기 주변 차량이 주어진 상기 이벤트를 수행하기 위해 상기 파라미터에 설정된 사전 조건에 부합하는 속도 및 위치에서 주행하는 일반 주행 단계와;
    상기 주변 차량이 상기 파라미터의 설정 값에 기초하여 주어진 상기 이벤트를 수행하는 이벤트 주행 단계를 포함하는 자율 주행 차량의 시뮬레이션 방법.
  2. 제 1 항에 있어서,
    상기 준비 단계에서, 정밀 지도 데이터에 기초하여 상기 주변 차량의 이벤트에 관련된 거리를 계산하고, 사용자 입력 데이터에 기초하여 상기 주변 차량의 수를 계산하는 자율 주행 차량의 시뮬레이션 방법.
  3. 제 1 항에 있어서, 상기 파라미터 및 상기 초기 값의 설정은,
    상기 자율 주행 차량의 초기 주행 차로와;
    상기 자율 주행 차량과 상기 주변 차량 사이의 초기 상대 위치와;
    상기 주변 차량이 수행할 이벤트의 조건을 설정하는 것을 포함하는 자율 주행 차량의 시뮬레이션 방법.
  4. 제 3 항에 있어서, 상기 주변 차량이 수행할 이벤트의 조건은,
    상기 자율 주행 차량과 상기 주변 차량 사이의 안전 거리와;
    상기 자율 주행 차량에 대한 상기 주변 차량의 상대 속도와;
    상기 이벤트의 종류와;
    상기 이벤트의 위험도와;
    상기 이벤트 수행 시의 상기 주변 차량의 가속도와;
    상기 이벤트 수행 시의 상기 주변 차량의 차로 변경 시간; 가운데 적어도 하나를 포함하는 자율 주행 차량의 시뮬레이션 방법.
  5. 제 1 항에 있어서,
    상기 일반 주행은, 상기 주변 차량이 상기 자율 주행 차량을 따라서 주행하는 팔로우 모드를 포함하는 자율 주행 차량의 시뮬레이션 방법.
  6. 제 5 항에 있어서,
    상기 팔로우 모드를 수행하는 주변 차량은 주어진 이벤트를 수행하기 전의 이벤트 대기 상태의 주변차량인 자율 주행 차량의 시뮬레이션 방법.
  7. 제 1 항에 있어서,
    상기 주변 차량이 복수일 때, 상기 복수의 주변 차량이 미리 정해진 순서대로 이벤트를 수행하는 자율 주행 차량의 시뮬레이션 방법.
  8. 제 7 항에 있어서,
    상기 복수의 주변 차량이 상기 주어진 이벤트를 수행하는 순서는, 상기 복수의 주변 차량 각각의 상기 주어진 이벤트의 종류 및 위험도에 따라 결정되는 자율 주행 차량의 시뮬레이션 방법.
  9. 제 8 항에 있어서, 상기 위험도를 서로 다른 복수의 값으로 변경하여 상기 서로 다른 복수의 위험도에 대응하는 복수의 이벤트를 생성하는 자율 주행 차량의 시뮬레이션 방법.
  10. 시뮬레이션 장치와 자율 주행 차량, 주변 차량과 통신하도록 마련되는 통신부와;
    상기 자율 주행 차량의 시뮬레이션 환경을 구현하기 위해 상기 자율 주행 차량의 주행 조건과 상기 주변 차량이 수행할 이벤트의 주행 조건을 결정하는 파라미터 및 초기 값을 설정하는 준비 단계가 수행되도록 제어하고, 상기 주변 차량이 주어진 상기 이벤트를 수행하기 위해 상기 파라미터에 설정된 사전 조건에 부합하는 속도 및 위치에서 주행하는 일반 주행 단계가 수행되도록 제어하며, 상기 주변 차량이 상기 파라미터의 설정 값에 기초하여 주어진 상기 이벤트를 수행하는 이벤트 주행 단계가 수행되도록 제어하는 제어부를 포함하는 자율 주행 차량의 시뮬레이션 장치.
  11. 제 10 항에 있어서, 상기 제어부는,
    상기 준비 단계에서, 정밀 지도 데이터에 기초하여 상기 주변 차량의 이벤트에 관련된 거리를 계산하고, 사용자 입력 데이터에 기초하여 상기 주변 차량의 수를 계산하는 자율 주행 차량의 시뮬레이션 장치.
  12. 제 10 항에 있어서, 상기 파라미터 및 상기 초기 값의 설정은,
    상기 자율 주행 차량의 초기 주행 차로와;
    상기 자율 주행 차량과 상기 주변 차량 사이의 초기 상대 위치와;
    상기 주변 차량이 수행할 이벤트의 조건을 설정하는 것을 포함하는 자율 주행 차량의 시뮬레이션 장치.
  13. 제 12 항에 있어서, 상기 주변 차량이 수행할 이벤트의 조건은,
    상기 자율 주행 차량과 상기 주변 차량 사이의 안전 거리와;
    상기 자율 주행 차량에 대한 상기 주변 차량의 상대 속도와;
    상기 이벤트의 종류와;
    상기 이벤트의 위험도와;
    상기 이벤트 수행 시의 상기 주변 차량의 가속도와;
    상기 이벤트 수행 시의 상기 주변 차량의 차로 변경 시간; 가운데 적어도 하나를 포함하는 자율 주행 차량의 시뮬레이션 장치.
  14. 제 10 항에 있어서,
    상기 일반 주행은, 상기 주변 차량이 상기 자율 주행 차량을 따라서 주행하는 팔로우 모드를 포함하는 자율 주행 차량의 시뮬레이션 장치.
  15. 제 14 항에 있어서,
    상기 팔로우 모드를 수행하는 주변 차량은 주어진 이벤트를 수행하기 전의 이벤트 대기 상태의 주변차량인 자율 주행 차량의 시뮬레이션 장치.
  16. 제 10 항에 있어서,
    상기 주변 차량이 복수일 때, 상기 복수의 주변 차량이 미리 정해진 순서대로 이벤트를 수행하는 자율 주행 차량의 시뮬레이션 장치.
  17. 제 16 항에 있어서,
    상기 복수의 주변 차량이 상기 주어진 이벤트를 수행하는 순서는, 상기 복수의 주변 차량 각각의 상기 주어진 이벤트의 종류 및 위험도에 따라 결정되는 자율 주행 차량의 시뮬레이션 장치.
  18. 제 17 항에 있어서,
    상기 위험도를 서로 다른 복수의 값으로 변경하여 상기 서로 다른 복수의 위험도에 대응하는 복수의 이벤트를 생성하는 자율 주행 차량의 시뮬레이션 장치.
  19. 자율 주행 차량의 시뮬레이션 환경을 구현하기 위해 상기 자율 주행 차량의 주행 조건과 주변 차량이 수행할 이벤트의 주행 조건을 결정하는 파라미터 및 초기 값을 설정하는 준비 단계와;
    상기 주변 차량이 주어진 상기 이벤트를 수행하기 위해 상기 파라미터에 설정된 사전 조건에 부합하는 속도 및 위치에서 주행하는 일반 주행 단계와;
    상기 주변 차량이 상기 파라미터의 설정 값에 기초하여 주어진 상기 이벤트를 수행하는 이벤트 주행 단계를 포함하고,
    상기 주변 차량이 복수일 때, 상기 복수의 주변 차량이 상기 주어진 이벤트의 종류 및 위험도에 따라 상기 주어진 이벤트를 수행하는 순서가 결정되고,
    상기 위험도를 서로 다른 복수의 값으로 변경하여 상기 서로 다른 복수의 위험도에 대응하는 복수의 이벤트를 생성하는 자율 주행 차량의 시뮬레이션 방법.
  20. 시뮬레이션 장치와 자율 주행 차량, 주변 차량과 통신하도록 마련되는 통신부와;
    상기 자율 주행 차량의 시뮬레이션 환경을 구현하기 위해 상기 자율 주행 차량의 주행 조건과 상기 주변 차량이 수행할 이벤트의 주행 조건을 결정하는 파라미터 및 초기 값을 설정하는 준비 단계가 수행되도록 제어하고, 상기 주변 차량이 주어진 상기 이벤트를 수행하기 위해 상기 파라미터에 설정된 사전 조건에 부합하는 속도 및 위치에서 주행하는 일반 주행 단계가 수행되도록 제어하며, 상기 주변 차량이 상기 파라미터의 설정 값에 기초하여 주어진 상기 이벤트를 수행하는 이벤트 주행 단계가 수행되도록 제어하는 제어부를 포함하고,
    상기 주변 차량이 복수일 때, 상기 복수의 주변 차량이 상기 주어진 이벤트의 종류 및 위험도에 따라 상기 주어진 이벤트를 수행하는 순서가 결정되고,
    상기 위험도를 서로 다른 복수의 값으로 변경하여 상기 서로 다른 복수의 위험도에 대응하는 복수의 이벤트를 생성하는 자율 주행 차량의 시뮬레이션 장치.
KR1020200177747A 2020-12-17 2020-12-17 자율 주행 차량의 시뮬레이션 장치 및 방법 KR20220087240A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200177747A KR20220087240A (ko) 2020-12-17 2020-12-17 자율 주행 차량의 시뮬레이션 장치 및 방법
US17/518,425 US11897516B2 (en) 2020-12-17 2021-11-03 Apparatus and method for simulation of autonomous vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200177747A KR20220087240A (ko) 2020-12-17 2020-12-17 자율 주행 차량의 시뮬레이션 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20220087240A true KR20220087240A (ko) 2022-06-24

Family

ID=82023178

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200177747A KR20220087240A (ko) 2020-12-17 2020-12-17 자율 주행 차량의 시뮬레이션 장치 및 방법

Country Status (2)

Country Link
US (1) US11897516B2 (ko)
KR (1) KR20220087240A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102643975B1 (ko) 2023-11-30 2024-03-06 주식회사 씨피식스 가상 주행 환경 기반 충돌 모사 시스템 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11300977B2 (en) * 2019-05-01 2022-04-12 Smartdrive Systems, Inc. Systems and methods for creating and using risk profiles for fleet management of a fleet of vehicles
US20230192104A1 (en) * 2021-12-21 2023-06-22 Gm Cruise Holdings Llc Hybrid scenario closed course testing for autonomous vehicles

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10599155B1 (en) * 2014-05-20 2020-03-24 State Farm Mutual Automobile Insurance Company Autonomous vehicle operation feature monitoring and evaluation of effectiveness
US20160314224A1 (en) * 2015-04-24 2016-10-27 Northrop Grumman Systems Corporation Autonomous vehicle simulation system
US10501091B2 (en) * 2017-05-23 2019-12-10 Uber Technologies, Inc. Software version and mode switching for autonomous vehicles
US10345811B2 (en) * 2017-11-14 2019-07-09 GM Global Technology Operations LLC Method and apparatus for scenario generation and parametric sweeps for the development and evaluation of autonomous driving systems
US10860025B2 (en) * 2018-05-15 2020-12-08 Toyota Research Institute, Inc. Modeling graph of interactions between agents
US20200097004A1 (en) * 2018-09-25 2020-03-26 Cyngn, Inc. Evolutionary algorithmic state machine for autonomous vehicle planning
JP7156217B2 (ja) * 2019-09-06 2022-10-19 トヨタ自動車株式会社 車両遠隔指示システム
US11351995B2 (en) * 2019-09-27 2022-06-07 Zoox, Inc. Error modeling framework
US20200130709A1 (en) * 2019-12-24 2020-04-30 Intel Corporation Method and device for determining a configuration for an autonomous vehicle
US20220169244A1 (en) * 2020-12-01 2022-06-02 Waymo Llc Multi-modal multi-agent trajectory prediction
US11731652B2 (en) * 2020-12-15 2023-08-22 Woven Planet North America, Inc. Systems and methods for reactive agent simulation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102643975B1 (ko) 2023-11-30 2024-03-06 주식회사 씨피식스 가상 주행 환경 기반 충돌 모사 시스템 및 방법

Also Published As

Publication number Publication date
US20220194429A1 (en) 2022-06-23
US11897516B2 (en) 2024-02-13

Similar Documents

Publication Publication Date Title
KR20220087240A (ko) 자율 주행 차량의 시뮬레이션 장치 및 방법
US10875529B2 (en) Vehicle control device
US11809194B2 (en) Target abnormality determination device
US10331139B2 (en) Navigation device for autonomously driving vehicle
DE112012007183B4 (de) Fahrunterstützungsvorrichtung und Fahrunterstützungsverfahren
CN104724103B (zh) 交通工具间控制设备和交通工具间控制方法
JP6273976B2 (ja) 車両用表示制御装置
EP3064411A1 (en) Travel control device
CN106828495B (zh) 一种控制车辆行驶的方法及装置
JP2018176935A (ja) 自動運転装置
JP2009018623A (ja) 走行制御装置
CN110758381B (zh) 生成转向轨迹的方法、装置、存储介质及电子设备
JP2016149110A (ja) 車両走行制御装置
JP6187295B2 (ja) 車両制御装置
KR20230009949A (ko) 경로 제어 모듈, 연관된 경로 제어 디바이스 및 연관된 방법
CN111413973A (zh) 车辆的换道决策方法及装置、电子设备、存储介质
CN107010074A (zh) 用于机动交通工具的驾驶员辅助系统的调节器配置方案
JP2015160554A (ja) 車両制御システム、方法およびプログラム
CN113859240A (zh) 车道变换辅助系统和使用该系统的车道变换方法
CN104677371A (zh) 导航系统的路径搜索方法及其设备
JP2019043190A (ja) 車両制御装置
JPWO2019003302A1 (ja) 車両制御装置
US10955849B2 (en) Automatic driving system
JP2018062300A (ja) 車両制御システム
KR20200010654A (ko) 자율 주행 차량의 제어 장치 및 방법