KR20230084551A - 차량용 운전자 보조 시스템을 테스트하기 위한 방법 및 시스템 - Google Patents

차량용 운전자 보조 시스템을 테스트하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20230084551A
KR20230084551A KR1020237015676A KR20237015676A KR20230084551A KR 20230084551 A KR20230084551 A KR 20230084551A KR 1020237015676 A KR1020237015676 A KR 1020237015676A KR 20237015676 A KR20237015676 A KR 20237015676A KR 20230084551 A KR20230084551 A KR 20230084551A
Authority
KR
South Korea
Prior art keywords
driver assistance
scenario
vehicle
assistance system
simulated
Prior art date
Application number
KR1020237015676A
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 아베엘 리스트 게엠베하
Publication of KR20230084551A publication Critical patent/KR20230084551A/ko

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • 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/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M17/00Testing of vehicles
    • G01M17/007Wheeled or endless-tracked vehicles
    • 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/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • G09B9/02Simulators for teaching or training purposes for teaching control of vehicles or other craft
    • G09B9/04Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of land vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Geometry (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

본 발명은 차량용 운전자 보조 시스템을 테스트하기 위한 컴퓨터-구현 방법으로서, 차량이 위치되는 시나리오를 시뮬레이션하는 작업 단계; 시뮬레이션된 시나리오에 기반하여 차량의 환경에서 상기 운전자 보조 시스템을 작동시키는 작업 단계; 상기 차량의 환경에서 상기 운전자 보조 시스템의 운전 거동을 관찰하는 작업 단계; 상기 차량의 환경에서 상기 운전자 보조 시스템의 운전 거동으로부터 초래되는 운전 상황을 결정하는 작업 단계; 시뮬레이션된 시나리오의 품질을 결과적으로 얻어지는 운전 상황의 위험성의 함수로서 구축하는 작업 단계; 적어도 하나의 종결 조건을 점검하는 작업 단계; 및 상기 품질에 대한 적어도 하나의 종결 조건이 만족될 때까지, 구축된 품질에 기반하여 상기 시뮬레이션된 시나리오를 변경하는 작업 단계를 포함하는, 컴퓨터-구현 방법에 관한 것이다. 또한, 본 발명은 대응하는 시스템에도 관련된다.

Description

차량용 운전자 보조 시스템을 테스트하기 위한 방법 및 시스템
본 발명은 차량용 운전자 보조 시스템을 테스트하기 위한 컴퓨터-구현 방법 및 시스템으로서, 차량이 위치되는 시나리오가 시뮬레이션되고 운전자 보조 시스템이 차량의 환경에서 시뮬레이션된 시나리오에 기반하여 작동되며, 운전자 보조 시스템의 운전 거동이 차량의 환경에서 관찰되는 컴퓨터-구현 방법 및 시스템에 관한 것이다.
추가적으로 개발되면 자율 주행(Autonomous Driving - AD)을 가능하게 하는 운전자 보조 시스템(Advanced Driver Assistance Systems - ADAS)은 승용차 및 상용차 섹터 양자 모두에서 계속 증가하면서 퍼지고 있다. 운전자 보조 시스템은 능동적인 교통 안전성을 높이는데 기여하고, 운전 편의성을 향상시키는 역할을 한다.
특히 ABS(anti-lock braking system) 및 ESP(electronic stability program)와 같이 운전 안전성을 돕는 시스템에 추가하여, 승용차 및 상용차 섹터에서 여러 운전자 보조 시스템이 각광받고 있다.
능동적인 도로 안전성을 높이기 위해서 이미 사용되고 있는 운전자 보조 시스템은 주차 보조 및 운전자에 의해 선택된 소망 속도를 전방에서 주행 중인 차량으로부터의 거리에 맞춰서 적응적으로 조절하는, 적응형 크루즈 콘트롤(Adaptive Cruise Control; ACC)이라고도 알려져 있는 적응형 자동 차량 간격 제어 기술들이다. 이러한 운전자 보조 시스템의 추가적인 예는 ACC 스톱-앤-고 시스템인데, 이것은 ACC에 추가적으로, 교통 체증 시 또는 교통이 정지되었을 때의 차량의 자동 진행에 영향을 주는 ACC 스톱-앤-고, 차량을 차선 내에 유지시키는 차선 이탈 경고 또는 차선 보조 시스템, 예를 들어 차량으로부터 운동 에너지를 흡수하고 충돌을 피할 수 없다면 잠재적으로 추가적인 조치들을 개시하기 위하여, 충돌이 예상될 때 제동을 준비 또는 개시하는 사전-충돌 시스템들이다.
이러한 운전자 보조 시스템들은 운전자에게 위기 상황에 대해서 경고함으로써 사고를 방지하기 위한 자율적인 개입을 개시하게 하여 교통 안전성을 높이거나, 예를 들어 긴급 제동 기능을 활성화시킴으로써 사고의 결과를 완화시킨다. 추가적으로, 자동 주차, 자동 차선 유지 및 자동 근접도 제어와 같은 기능들은 주행시 쾌적함을 증가시킨다.
운전자 보조 시스템이 안전성 및 쾌적함을 더하는 것은, 운전자 보조 시스템이 안전하고 신뢰가능하며 가능한 범위 내에서 편리한 경우에만 차량의 점유자에 의해서 지각된다.
더욱이, 모든 운전자 보조 시스템은 그들의 기능에 따라서, 주어진 트래픽 시나리오를 해당 차량 자체에 대한 최대 안전성으로 그리고 다른 차량 또는 다른 도로 사용자 각각을 위험에 빠뜨리지 않으면서 처리할 필요가 있다.
차량 자동화의 각각의 정도는 소위 자동화 레벨 1 내지 5로 나누어진다(예를 들어 SAE J3016 표준 참조). 특히, 본 발명은 일반적으로 자율 주행이라고 여겨지는 자동화 레벨 3 내지 5의 운전자 보조 시스템을 가지는 차량에 관한 것이다.
이러한 시스템을 테스트하는 데에는 다수의 다양한 어려움이 존재한다. 특히, 테스팅 비용과 테스트 커버리지 사이에서 균형을 찾을 수 있어야 한다. 따라서, ADAS/AD 기능을 테스트할 때의 주된 과제는, 특히 위험 운전 상황(critical driving situation)을 포함하여 지각될 수 있는 모든 상황에서 운전자 보조 시스템의 보장된 기능을 시연하는 것이다. 각각의 운전자 보조 시스템이 반응하지 않거나 잘못 반응하면 사고가 일어날 수 있기 때문에, 이러한 위험 운전 상황은 어느 정도의 위험성을 수반한다.
그러므로, 운전자 보조 시스템을 테스트하는 것은 상이한 시나리오에서 발생할 수 있는 많은 개수의 운전 상황을 허용하는 것을 요구한다. 따라서, 가능한 시나리오의 범위는 일반적으로 많은 차원(예를 들어 상이한 도로 특성, 다른 도로 사용자의 거동, 날씨 조건 등)에 걸쳐 있다. 이렇게 거의 무한하고 다차원적인 범위의 파라미터로부터, 비정상적이거나 위험한 운전 상황을 초래할 수 있는 위험 시나리오에 대하여 그러한 파라미터 성좌(constellation)를 추출하는 것이 운전자 보조 시스템을 테스트하는 데에 특히 관련된다.
도 1에서 도시되는 바와 같이, 이러한 위험 시나리오는 일반적인 시나리오보다 훨씬 더 작은 발생 확률을 가진다.
대응하는 운전자 보조 시스템을 인증하기 위하여, 과학 간행물들은 각각의 운전자 보조 시스템이 2억 7천 5백만 마일의 무사고 운전을 마친 경우에야 차량을 자율 주행 동작에서 작동시키는 것이 인간에 의해 제어된 차량보다 통계적으로 더 안전하다고 여긴다. 자율 주행 산업에서 요구되는 개발 사이클 및 품질 표준이 이미 매우 촉박한 시간 프레임을 설정했다는 것을 고려하면, 실제의 테스트 주행은 이것을 실제로 구현할 수 없다. 앞서 언급된 이유 때문에, 충분한 수의 위험 시나리오, 또는 이러한 시나리오들 각각으로부터 초래되는 운전 상황들이 포함될 수 있는 가능성도 높지 않을 것이다.
운전자 보조 시스템을 인증 및 증명하고 기록된 데이터로부터 시나리오를 추출하기 위해서 테스트 차량들의 실제 집단(fleet)으로부터의 실제 테스트 드라이브 데이터를 사용하는 것은 종래 기술에서 알려져 있다. 더욱이, 인증 및 검증을 위해서 완전 요인(full factorial) 설계를 사용하는 것도 역시 알려져 있다.
본 발명의 하나의 과제는 운전자 보조 시스템, 특히 자율 주행용 운전자 보조 시스템을 위험 시나리오에서 테스트할 수 있게 되는 것이다. 특히, 본 발명의 과제는 운전자 보조 시스템에 대한 위험 시나리오를 식별하는 것이다. 이러한 과제는 독립항의 교시 내용에 의해서 해결된다. 바람직한 실시형태들은 종속항에서 발견된다.
본 발명의 제 1 양태는 본 발명은 차량용 운전자 보조 시스템을 테스트하기 위한 컴퓨터-구현 방법으로서,
차량이 위치되는 시나리오를 시뮬레이션하는 작업 단계;
시뮬레이션된 시나리오에 기반하여 차량의 환경에서 상기 운전자 보조 시스템을 작동시키는 작업 단계;
상기 차량의 환경에서 상기 운전자 보조 시스템의 운전 거동을 관찰하는 작업 단계;
상기 차량의 환경에서 상기 운전자 보조 시스템의 운전 거동으로부터 초래되는 운전 상황을 결정하는 작업 단계;
시뮬레이션된 시나리오의 품질을 결과적으로 얻어지는 운전 상황의 위험성(criticality)의 함수로서 구축하는 작업 단계;
적어도 하나의 종결 조건을 점검하는 작업 단계; 및
상기 품질에 대한 적어도 하나의 종결 조건이 만족될 때까지, 구축된 품질에 기반하여 상기 시뮬레이션된 시나리오를 변경하는 작업 단계를 포함하는, 컴퓨터-구현 방법에 관한 것이다.
본 발명의 제 2 양태는 차량용 운전자 보조 시스템을 테스트하기 위한 시스템으로서,
차량이 위치되는 시나리오를 시뮬레이션하기 위한 수단;
시뮬레이션된 시나리오에 기반하여 차량의 환경에서 상기 운전자 보조 시스템을 작동시키기 위한 수단;
상기 차량의 환경에서 상기 운전자 보조 시스템의 운전 거동을 관찰하기 위한 수단;
상기 차량의 환경에서 상기 운전자 보조 시스템의 운전 거동으로부터 초래되는 운전 상황을 결정하기 위한 수단;
시뮬레이션된 시나리오의 품질을 결과적으로 얻어지는 운전 상황의 위험성의 함수로서 구축하기 위한 수단;
적어도 하나의 종결 조건을 점검하기 위한 수단; 및
상기 품질에 대한 적어도 하나의 종결 조건이 만족될 때까지, 구축된 품질에 기반하여 상기 시뮬레이션된 시나리오를 변경하기 위한 수단을 포함하는, 시스템에 관한 것이다.
본 발명의 제 3 양태는 차량용 운전자 보조 시스템을 테스트하기 위한 시스템으로서, 에이전트를 포함하고, 상기 에이전트는 시나리오를 생성하고, 시나리오를 변경함으로써 상기 운전자 보조 시스템의 오류를 유발하도록 구성되며, 상기 시나리오를 변경하기 위한 전략이 동작 중에, 특히 강화 학습 방법론을 이용하여, 상기 에이전트와 상기 운전자 보조 시스템 사이의 상호작용을 통하여 상기 종결 조건이 만족될 때까지 연속적으로 개선되는, 운전자 보조 시스템을 테스트하기 위한 시스템에 관한 것이다.
본 발명의 의미 안에서 차량의 환경은 바람직하게는 적어도 운전자 보조 시스템에 의하여 제공된 차량 유도와 관련된 물체에 의해서 형성된다. 특히, 차량의 환경은 설정 및 동적 요소를 포함한다. 설정은 바람직하게는 모든 정지된 요소들을 망라한다.
본 발명의 의미 안에서 시나리오는 바람직하게는, 특히 정적인 장면들의 시간 순서인 시퀀스로부터 형성된다. 이를 통하여 장면들은, 예를 들어 에고 물체(ego object)에 대한 적어도 하나의 다른 물체의 공간적 배치, 예를 들어 도로 사용자의 성좌를 표시한다. 특히, 시나리오는 운전자 보조 시스템이 에고 차량이라고 불리고, 예를 들어 에고 차량의 적어도 하나의 차량 기능을 자율적으로 실행하는 운전자 보조 시스템이 장착된 차량을 적어도 부분적으로 제어하는 주행 상황을 포함할 수 있다.
본 발명의 의미 안에서 운전 상황은 바람직하게는 특정 시점에서의 적절한 운전자 보조 시스템 거동 패턴을 선택하기 위해서 고려되어야 하는 상황을 규정한다. 그러므로, 운전 상황은, 이것이 에고 차량의 시점을 나타내기 때문에 주관적인 것이 바람직하다. 이것은 관련된 동작에 영향을 주는 조건, 우발적인 사건(contingencies) 및 인자를 추가적으로 망라하는 것이 바람직하다. 더 바람직하게는, 운전 상황은 일시적인, 예를 들어 미션에 특이적인 그리고 영구적인 목적 및 값에 기반하는 정보 선택 프로세스를 통해서 장면들로부터 유도된다.
본 발명의 의미 안에서 운전 거동은 바람직하게는 차량의 환경에서의 동작 및 반응을 통한 운전자 보조 시스템의 거동이다.
본 발명의 의미 안에서 품질은 바람직하게는 시뮬레이션된 시나리오의 특징을 결정한다. 바람직하게는, 품질은 운전자 보조 시스템을 테스트하기 위한 그 적합성에 관련된 시뮬레이션된 시나리오의 품질 또는 상태로서 이해된다. 이러한 콘텍스트에서, 더 위험한(more critical) 시나리오가 더 높은 품질을 가지는 것이 바람직하다. 바람직하게는, 테스팅된 운전자 보조 시스템에 대한 각각의 시나리오로부터 초래되는 운전 상황의 위험성(criticality)이 시나리오의 품질의 척도이다.
강화 학습은 에이전트가 환경 내에서의 동작을 독립적으로 학습하는 머신 러닝의 한 방법이다. 따라서, 이것은 에이전트가 환경 안에서 상이한 동작을 시도하고, 환경으로부터의 피드백을 통하여 보상 또는 체벌 중 어느 하나를 수신함으로써 일어난다. 학습 단계 이후에, 에이전트는 어떤 동작을 함으로써 가능한 최대 보상을 받기 위해서 해당 동작을 환경 내에서 실행할 수 있다.
본 발명의 의미 안에서 에이전트는 바람직하게는 특정한 독립적이고 내재적으로 동적인, 특히 자율적인 거동을 수행할 수 있는 데이터 처리 시스템의 컴퓨터 프로그램 또는 모듈을 표시한다. 이것은, 상이한 조건, 특히 상이한 상황에 의존하여, 임의의 추가적인 시작 신호가 외부 수단에 의해서 제공되지 않고서 또는 임의의 외부 제어 개입이 프로세스 도중에 후행하지 않고서, 미리 결정된 처리 동작이 진행된다는 것을 의미한다.
본 발명은 운전자 보조 시스템을 테스트하기 위해서 가능한 적절해 지기 위해서 시뮬레이션된 시나리오를 반복적으로 개선하는 사상에 기반하고 있다. 다르게 말하면, 시뮬레이션된 시나리오는 운전자 보조 시스템 내에서 생길 수 있는 오류를 드러내거나 표출하는 데에 있어서 최대한 적절한 방식으로 개선된다. 이를 통하여, 시뮬레이션된 시나리오는 특정한 운전자 보조 시스템 또는 운전자 보조 시스템의 기능에 대해서 특별하게 최적화된다.
바람직하게는, 만족될 경우 반복 프로세스를 종결시키는 종결 조건이 존재할 수 있다. 이러한 종결 조건이 만족되지 않으면, 예를 들어 최대 테스팅 기간 또는 심지어 시뮬레이션된 시나리오에서 차량에 의해 완료된 최대 테스트 킬로수와 같은 추가적인 종결 조건이 제공될 수 있다. 시뮬레이션된 시나리오의 품질, 즉 시뮬레이션된 시나리오를 평가하는 그 변수는, 바람직하게는 반복의 각각의 단계에서 나타나는 각각의 운전 상황에 관한 규정된 기준에 의존한다.
특히 운전 상황의 위험성은 여기에서 품질의 척도에 대한 기준으로서 사용될 수 있다. 더 나아가 바람직하게는, 이러한 품질의 척도는 충돌 시점까지의 계산된 시간 길이, 사고 확률 및/또는 운전자 보조 시스템의 부적절한 운전 거동이다. 이러한 부적절한 운전 거동은, 예를 들어 교통 규칙의 위반 및/또는 과도한 손상 위험, 특히 신체의 부상 위험이 있는 거동일 수 있다.
그러므로, 본 발명은 두 명의 "플레이어"가 있는 게임의 접근법을 취하는데, 여기에서 운전자 보조 시스템을 테스트하기 위한 방법 또는 시스템은 미리 규정된 기준, 특히 운전자 보조 시스템 기능성에 관한 (안전성) 위험 메트릭이 위반될 때까지 복잡도가 증가하는 시나리오를 반복적으로 생성하려고 시도한다. 이러한 경우에, 테스트를 위한 방법 또는 시스템이 게임을 "이긴 바 있다(won)". 이에 반해, 이러한 위반, 종결 조건을 만족시키는 것이 유도되지 않으면 테스팅된 운전자 보조 시스템이 "이긴다(wins)".
본 발명은 운전자 보조 시스템을 테스트하기 위한 도로 킬로수를 크게 절감할 수 있는데, 그 이유는 본 발명이 각각의 운전자 보조 시스템에 대해서 특히 위험한 시나리오들을 직관적으로 찾기 때문이다. 다수의 시나리오들은 일반적으로 각각의 운전자 보조 시스템에 의해서 쉽게 다뤄질 수 있다. 하지만, 운전자 보조 시스템 내의 임의의 취약점이 표출될 수 없게 될 수 있다.
테스팅 프로세스 도중에, 바람직하게는 테스팅 방법에서의 소프트웨어 모듈 또는 서브-알고리즘으로서 설계될 수 있는 소위 에이전트는 테스팅되는 운전자 보조 시스템의 거동으로부터 학습하고, 테스팅된 운전자 보조 시스템의 오동작을 유발하기 위해서 시뮬레이션된 시나리오의 품질을 연속적으로 개선시킨다.
이를 통하여, 테스팅 방법은 시뮬레이션된 시나리오의 변화가 종결 조건으로서의 역할을 하는 미리 규정된 목표 값을 위반하는 운전자 보조 시스템의 거동을 초래할 때까지 반복적으로 반복된다. 이러한 종결 조건은, 예를 들어 충돌 시점까지의 0.25 초 미만의 시간 길이, 또는 심지어 특정한 시간 예산, 예를 들어 최대 600 시간의 시뮬레이션 시간일 수 있다.
충분히 긴 시간 예산이 주어지면, 본 발명은 ADAS 또는 AD 시스템이 적절하게 동작할 높은 확률을 얻을 수 있다. 이를 통하여, 본 발명의 교시 내용을 사용하여 수행된 테스트의 정보 값(informative value)은 시뮬레이션된 시나리오를 변경하기 위해서 사용되는 알고리즘에 의존하게 된다. 이상적으로, 이러한 알고리즘은 각각의 운전자 보조 시스템을 그 한계까지 몰아갈 수 있는 사람과 유사한 직관을 가진다.
운전자 보조 시스템을 테스트하기 위한 방법의 하나의 바람직한 실시형태에서, 차량 속도, 특히 초기 속도, 및/또는 차량 궤적이 시나리오를 시뮬레이션할 때에 규정된다. 이렇게 하면 실험 값들이 테스트에 영향을 주게 된다. 따라서, 에이전트는 이미 위험 시나리오를 개발하는 데에 있어서 올바른 경로에 들어갈 수 있다.
운전자 보조 시스템을 테스트하기 위한 방법의 추가적인 바람직한 실시형태에서, 시나리오의 파라미터의 값들은 시뮬레이션된 시나리오가 변경될 때에 변경된다. 이러한 경우에, 각각의 주어진 시나리오는 반복적으로 적응되고, 이를 통하여 각각의 운전자 보조 시스템을 테스트하기 위하여 개선된다. 이러한 프로시저는 특정 운전자 보조 시스템을 테스트하기 위한 특정 시나리오가 "최적화되어야 하는" 경우에 특히 유리하다.
운전자 보조 시스템을 테스트하기 위한 방법의 추가적인 바람직한 실시형태에서, 테스트될 운전자 보조 시스템의 타입에 의존하여, 시나리오의 파라미터들이 다음의 그룹으로부터 선택된다:
차량 속도, 특히 초기 속도; 차량 궤적; 조명 상태; 날씨; 도로 표면; 정적 및/또는 동적 물체의 개수와 위치; 동적 물체의 이동의 속도 및 방향; 시그널링 시스템, 특히 신호등 시스템의 상태; 교통 신호판; 수직 고도, 차선의 폭 및 주행가능성(navigability), 차선 경로, 차선의 개수.
운전자 보조 시스템을 테스트하기 위한 방법의 추가적인 바람직한 실시형태에서, 시뮬레이션된 시나리오가 변경되면, 바람직하게는 연속적으로 결합된 시나리오들을 포함하는 새로운 시나리오가 생성된다. 새로운 시나리오는 바람직하게는 새로운 운전 태스크를 마스터하기 위한 필요성에 의해서 특징지어진다. 예를 들어, 교차로에 접근하는 시나리오는 기본적으로 고속도로에서 운전하는 시나리오와 다르다.
시뮬레이션된 시나리오를 새로운 시나리오로 교체하면, 테스트 드라이브 도중에 상이한 많은 운전 상황을 커버할 수 있고 운전자 보조 시스템의 많은 기능을 완전히 상이한 환경에서 테스트할 수 있는 장점이 제공된다. 그러면 테스팅 방법의 정보 값이 매우 큰 범위까지 증가된다. 새로운 시나리오를 생성할 때에, 완전히 새로운 파라미터가 특히 파라미터 값을 변경하기 위해서 제공될 수도 있다.
운전자 보조 시스템을 테스트하기 위한 방법의 추가적인 바람직한 실시형태에서, 품질을 구축할 때에 관념적 보상이 부여되고, 변경은 보상을 최대화하도록 설계된 함수에 기반하여 뒤따라 온다. 바람직하게는, 본 발명에서 사용되는 각각의 알고리즘, 특히 이러한 알고리즘을 적용하는 에이전트는, 현존하는 시뮬레이션된 시나리오에 대한 어떠한 변경 또는 새로운 시나리오에 대한 어떠한 변경이 소망되는 효과를 획득하기에 유익한지; 즉 어떤 변경이 위험 시나리오를 초래하고 운전자 보조 시스템의 오동작 또는 사고를 잠재적으로 유발하는지를 학습한다.
운전자 보조 시스템을 테스트하기 위한 방법의 추가적인 바람직한 실시형태에서, 각각의 운전 상황이 더 위험할수록, 특히 충돌 시점까지의 계산된 시간 길이가 더 짧을수록, 품질은 높아진다.
추가적인 바람직한 실시형태에서, 시뮬레이션된 시나리오는 진화 알고리즘(evolutionary algorithm)을 사용하여 변경된다. 진화 알고리즘은 유전 알고리즘(genetic algorithm)이라고도 불린다. 이러한 알고리즘을 변경할 때에, 상이한 알고리즘들이 교차되고 변형된다(mutated). 알고리즘의 결과들이 다음 반복 단계의 후보를 구축하기 위해서 사용된다.
이러한 선택은, 위험 시나리오를 유발할 최고 확률을 가지는 후보들을 선택하도록 이루어질 수 있다. 이를 통하여, 유전적 진화 알고리즘은 현존하는 시나리오를 미리 규정된 기준들에 관하여 최적화하는 데에 있어서 높은 정도의 유연성을 제공한다.
운전자 보조 시스템을 테스트하기 위한 방법의 추가적인 바람직한 실시형태에서, 특정 시나리오가 어떤 값을 가지는지를 규정하는 유틸리티 함수(utility function)가 구축된 품질에 기반하여 근사화된다. 알고리즘 또는 에이전트는 시뮬레이션된 시나리오의 이러한 값을 보상의 타입으로 간주하고, 바람직하게는 이를 통하여 값 및 보상을 최대화하는 방식으로 구성된다.
운전자 보조 시스템을 테스트하기 위한 방법의 추가적인 바람직한 실시형태에서는 운전자 보조 시스템이 시뮬레이션된다. 운전자 보조 시스템의 시뮬레이션은 특히 유익한데, 그 이유는 이러한 경우에는 실제 운전자 보조 시스템의 실제 컴포넌트를 테스트하기 위해서 테스트 베드가 요구되지 않기 때문이다. 특히, 본 발명의 방법은 이러한 경우에 실시간보다 빠르게 실행될 수 있다. 여기에서 시뮬레이션 속도는 할당된 컴퓨팅 파워에 의해서만 제한된다.
운전자 보조 시스템을 테스트하기 위한 방법의 추가적인 바람직한 실시형태에서, 구축된 품질에 기반하여 강화 학습 방법론을 사용해서 시나리오를 변경하기 위한 전략은 테스트 동작 도중에 종결 조건이 만족될 때까지 연속적으로 개선된다. 강화 학습을 채용할 경우, 알고리즘 또는 에이전트 각각은 수신된 보상을 최대화하기 위한 전략을 각각 독립적으로 학습한다. 여기에서 취해진 동작에 대해서 양의 보상 및 음의 보상 양자 모두가 제공될 수 있다. 강화 학습을 사용하면 시뮬레이션된 시나리오의 특히 효과적인 최적화가 가능해진다.
운전자 보조 시스템을 테스트하기 위한 방법의 추가적인 바람직한 실시형태에서, 운전자 보조 시스템, 특히 테스트될 운전자 보조 시스템의 과거의 테스트 동작으로부터의 이력 데이터가 시나리오가 처음에 시뮬레이션될 때에 고려된다. 이력 데이터를 사용하는 것은 알고리즘 또는 에이전트를 사전 훈련시키기 위해서 활용될 수 있다. 그러면, 이를 통하여 위험 시나리오를 찾는데 걸리는 시간 길이가 줄어들 수 있다. 더욱이, 다른, 특히 유사한 ADAS 또는 AD 시스템에서 훈련되었던 알고리즘 또는 에이전트도 역시 사용될 수 있다. 그러므로, 특히 운전자 보조 시스템의 소프트웨어의 이전에 테스팅된 부분에서의 변경이 임의의 새로운 오류를 유발하지 않는 것을 보장하기 위해서 소위 회귀 테스트(regression test)가 수행될 수 있다.
운전자 보조 시스템을 테스트하기 위한 방법의 추가적인 바람직한 실시형태에서, 차량의 환경에 관련된 데이터가 운전자 보조 시스템에 공급되고, 및/또는 운전자 보조 시스템, 특히 센서들이 운전자 보조 시스템의 동작 도중에 차량의 환경에 기반하여 자극된다. 이러한 경우에, 본 발명의 방법은 물리적으로 현존하는 운전자 보조 시스템을 테스트하기 위해서 사용될 수 있다. 바람직하게는, 차량이 이러한 프로세스에서 시뮬레이션된다. 그러나, 운전자 보조 시스템을 포함하는 전체 차량이 이러한 방식으로 테스트 베드에서 테스트되는 것도 역시 착상가능하다. 이러한 실시형태는, 자신의 컴포넌트들 전부를 가지는 운전자 보조 시스템을 가능한 가장 사실적인 조건에서 테스트할 수 있는 장점을 제공한다.
운전자 보조 시스템을 테스트하기 위한 시스템의 하나의 바람직한 실시형태에서, 에이전트는 운전자 보조 시스템의 운전 거동으로부터 초래되는 운전 상황을 시뮬레이션된 시나리오에 기반하여 차량의 환경에서 관찰하고, 시나리오의 품질을 결과적으로 얻어지는 운전 상황의 위험성의 함수로서 구축하도록 구성된다.
운전자 보조 시스템을 테스트하기 위한 시스템의 추가적인 바람직한 실시형태에서, 에이전트는 이력 데이터에 기반하여 사전 훈련된다. 이러한 데이터는 시나리오를 처음에 시뮬레이션할 때에 에이전트에 의해서 고려된다.
본 발명의 제 1 양태와 관련하여 앞서 설명된 특징 및 장점은 본 발명의 제 2 양태 및 제 3 양태에도 상응하도록 적용되고, 그 반대의 경우도 마찬가지이다.
추가적인 특징 및 장점은 도면을 참조하는 후속하는 설명으로부터 유도된다. 도면에는 적어도 부분적으로 개략적으로 다음의 내용이 도시된다:
도 1은 시나리오의 발생 확률을 그들의 복잡도의 함수로서 표시하는 도면이다;
도 2a는 시나리오의 일 예를 보여준다;
도 2b는 도 2a의 시나리오보다 높은 복잡도를 가지는 시나리오의 일 예이다;
도 3은 운전자 보조 방법을 테스트하기 위한 방법의 예시적인 실시형태이다; 그리고
도 4는 운전자 보조 방법을 테스트하기 위한 시스템의 예시적인 실시형태이다.
도 1은 시나리오의 발생 확률을 그들의 복잡도의 함수로서 표시하는 도면을 도시한다. 발생 확률은 시나리오가 실제 도로 트래픽에서 발생되는 확률이다.
도 1로부터 알 수 있는 바와 같이, 다수의 시나리오는 상대적으로 낮은 복잡도를 가지고, 이것은 운전자의 일반적인 삶의 경험에 대응하기도 한다. 이러한 시나리오의 범위가 도 1에서 "A"로 라벨링된다. 이에 반해, 높은 복잡도의 시나리오는 상대적으로 드물게 발생되고, 그들의 범위는 도 1에서 "B"로 라벨링된다. 그러나, 높은 복잡도를 가지는 그러한 "B" 시나리오가 운전자 보조 시스템의 기능성을 테스트하는 데에 고도로 관련된다는 것이 분명하다.
그러므로, 운전자 보조 시스템을 테스트할 때에 높은 "B" 복잡도의 상이한 시나리오들의 충분한 개수 및 다양성을 획득하는 것은, 도시된 바와 같은 분포 곡선에 기반하여 매우 많은 개수의 시나리오들을 거친 실행을 요구한다.
도 2a는 보행자(6)가 횡단보도를 건너가고 운전자 보조 시스템(2)에 의해서 제어되는 차량(1) 및 반대 차선에 있는 다른 차량(5a)이 횡단보도에 접근하는 제 1 시나리오(3)를 보여준다. 운전자 보조 시스템(2)은 이를 통하여 차량(1)의 길이 방향 이동 및 측방향 이동 양자 모두를 제어한다.
도 2에 도시되는 제 1 시나리오(3)에서, 보행자(6) 및 도로의 경로, 횡단보도 및 다른 접근 차량(5a) 모두가 센서를 통해서 운전자 보조 시스템(2)에 선명하게 보이게 된다. 도시된 예에서, 운전자 보조 시스템(2)은 보행자(6)가 횡단보도를 통과하게 할 수 있으려면 차량 속도를 줄일 필요가 있다는 것을 인식한다. 여기에서 다른 차량(5a)의 움직임은 임의의 역할을 하는 가능성이 높지 않다. 그러므로, 도 2a는 비교적으로 낮은 복잡도의 시나리오(3)에 관련된다.
도 2b에 도시되는 제 2 시나리오(3)에서는 횡단보도가 존재하지 않는다. 더욱이, 다른 차량들(5b, 5c, 5d)은 운전자 보조 시스템(2)에 의하여 제어되는 차량(1)의 차선의 옆에 주차되어 있고, 운전자 보조 시스템(2)의 센서는 이러한 차량 때문에 보행자(6)를 검출할 수 없거나 보행자를 어렵게 검출할 수 있게 된다.
보행자(6) 및 주차된 차량(5b, 5c, 5d)에 추가하여, 운전자 보조 시스템(2)에 의해 제어되는 차량(1)의 환경 내에는 추가적인 차량(5a)이 존재하고, 이것은 도 2a에서와 같이 운전자 보조 시스템(2)에 의하여 제어되는 차량(1)에 접근하고 있다.
상기 추가적인 차량(5a)의 뒤에서 주행 중인 라이더(4)가 존재한다. 도 2b에서는 라이더가 운전자 보조 시스템(2)에 의하여 제어되는 차량(1)의 환경 내에서 검출될 수 있는지 여부에 대한 표시가 존재하지 않는다. 도시된 바와 같은 시나리오(3)에서, 라이더(4)는 다른 차량(5a)을 다른 차선에서 지나가려고 시도할 것이다. 도시된 시나리오에서는 보행자(6)가 동시에 도로를 통과하려고 시도할 것이다. 그렇게 함에 있어서, 보행자는 운전자 보조 시스템(2)에 의하여 제어되는 차량(1)을 식별하지 않는다.
운전자 보조 시스템(2)이 시나리오(3)에서 어떻게 반응하거나 동작하는지; 즉 운전자 보조 시스템(2)이 차량(1)의 환경에서 어떤 운전 거동을 나타내는지에 의존하여, 위험성이 높거나 위험성이 낮은 운전 상황이 결과적으로 얻어질 것이다. 예를 들어, 도 2b에서 화살표에 의해 표시된 바와 같이 차량(2)이 도시된 시나리오(3)에서 감소되지 않은 속도로 운행을 계속한다면, 운전자 보조 시스템(2)에 의하여 제어되는 차량(1) 및 모터사이클(4) 사이에 충돌이 발생할 가능성이 있을 것이다. 이러한 운전 상황은 매우 높은 위험성에 대응할 것이다.
차량(1)의 운전자 보조 시스템(2)이 도 2b에 도시되는 시나리오(3)에서 처리할 필요가 있는 많은 정보량 및 이러한 환경에서 운전자 보조 시스템(2)이 볼 수 있는 도로 사용자들(5a, 5b, 5c, 5d)의 성좌로부터 생길 수 있는 잠재적인 문제 때문에, 도 2b에 따른 제 2 시나리오(3)는, 특히 도 2a에 도시되는 제 1 시나리오와 비교할 때 비교적 높은 복잡도를 가진다.
도 3은 차량(1)용 운전자 보조 시스템을 테스트하기 위한 방법(100)의 예시적인 실시형태를 보여준다.
제 1 작업 단계(101)에서는, 차량(1)이 위치되는 시나리오(3)가 시뮬레이션된다. 바람직하게는, 차량(1)의 환경은 일면으로는 도 2b의 모든 동적 요소, 예를 들어 보행자(6), 다른 차량(5a) 및 모터사이클(4)을 가지고, 그리고 도 2b의 다른 차량(5b, 5c, 5d) 및 도로의 정지된 요소 모두를 가지고 시뮬레이션된다.
운전자 보조 시스템(2)은, 잠재적으로 해당 시스템이 제어하며 바람직하게는 테스트 베드(12) 위에 있는 차량(1)과 함께 상기 시뮬레이션에 기반하여 시뮬레이션될 수 있다. 운전자 보조 시스템(2)의 센서는 이러한 경우에 시뮬레이션된 시나리오(3), 또는 시뮬레이션된 시나리오(3)로부터 결과적으로 얻어지는 차량(1)의 환경 각각을 모사하는 방식으로 자극되는 것이 바람직하다. 종래 기술에서 공지되어 있는 적절한 자극기(stimulator)가 이를 위해서 특히 사용된다.
더 바람직하게는, 운전자 보조 시스템(2) 또는 운전자 보조 시스템(2)의 소프트웨어만이 하드웨어-인-더-루프(hardware-in-the-loop) 테스트의 형태로 시나리오(3)의 시뮬레이션에 통합될 수 있다.
마지막으로, 운전자 보조 시스템(2) 또는 운전자 보조 시스템(2)의 소프트웨어만이 시뮬레이션되는 것도 가능하다.
더 바람직하게는, 차량(1)의 속도, 특히 초기 속도, 및/또는 차량(1)의 궤적이 시나리오를 시뮬레이션할 때에 규정된다. 더욱이, 테스팅되는 운전자 보조 시스템(2) 또는 다른 운전자 보조 시스템 중 어느 하나의 과거의 테스트 동작으로부터의 이력 데이터가 바람직하게도 시나리오를 시뮬레이션할 때에 고려될 수 있다. 이러한 이력 데이터는 시뮬레이션되는 초기 테스트 시나리오를 결정할 때에 특히 유용하다. 더욱이, 이러한 이력 데이터는 바람직하게는 운전자 보조 시스템을 테스트하는 소위 에이전트를 훈련하기 위해서 사용될 수 있거나, 운전자 보조 시스템, 특히 다른 운전자 보조 시스템을 테스트하기 위해서 이미 사용된 바 있는 에이전트가 사용될 수 있다.
제 2 작업 단계(102)에서는, 운전자 보조 시스템(2)이 시뮬레이션된 시나리오(3)에 기반하여 차량의 환경에서 작동된다. 또한, 운전자 보조 시스템(2)만이 시뮬레이션된다면, 운전자 보조 시스템(2)에 의해 제어되는 차량(1)의 환경에서의 운전자 보조 시스템(2)의 동작만이 역시 시뮬레이션된다.
제 3 작업 단계(103)에서는, 운전자 보조 시스템(2)의 운전 거동이 운전자 보조 시스템(2)에 의하여 제어되는 차량(1)의 환경에서 관찰된다.
관찰에 의해서 구축된 데이터에 기반하여, 차량(1)의 환경에서의 운전자 보조 시스템(2)의 운전 거동의 결과로서 임의의 시점에서 일어나는 운전 상황이 결정될 수 있다. 이것은 바람직하게는 제 4 작업 단계(100)에서 실현된다.
결과적으로 얻어지는 운전 상황에 기반하여, 운전자 보조 시스템(2)은 어떻게 거동하고 제어하는 차량(1)을 어떻게 제어하는지와 관련하여 새로운 결정을 해야 한다.
시뮬레이션된 시나리오(3)에서의 각각의 결과적으로 얻어지는 운전 상황은 위험성에 관하여 객관적으로 검사될 수 있다. 특히, 사고 확률 및 충돌 시점까지의 시간 길이가 시나리오(3)로부터 이용가능한 정보에 기반하여 시뮬레이션의 각각의 타임 스텝에 대하여 계산될 수 있다.
예를 들어, 도 2b의 시나리오(3)에서, 운전자 보조 시스템(2)에 의해 제어되는 차량(1)이 줄지 않은 속도로 직선으로 계속 주행한다면, 충돌 시점까지의 시간 길이가 계산될 수 있다.
사고 확률은, 예를 들어 운전자 보조 시스템(2)의 운전 거동의 적절성(adequacy)을 평가함으로써 영향받을 수 있다. 도 2a 또는 도 2b의 시나리오(3)에서의 사고 확률은, 예를 들어 운전자 보조 시스템(2)에 의하여 제어되는 차량(1)이 과다하게 높은 속도로 주행할 경우에 증가될 것이다.
제 5 작업 단계(105)에서는, 시뮬레이션된 시나리오(3)의 품질이 결과적으로 얻어지는 운전 상황에 관한 미리 규정된 기준의 함수로서 구축된다. 이를 통하여, 품질은 특히 시뮬레이션된 시나리오의 복잡도로부터 얻어지는데, 시뮬레이션된 시나리오(3)의 복잡도가 높아질수록 더 높은 품질이 표시된다. 바람직하게는, 이를 통하여 품질은 운전자 보조 시스템(2)의 운전 거동으로부터 얻어지는 운전 상황이 미리 규정된 기준과 관련하여 어떻게 평가되어야 하는지를 표시한다. 예를 들어, 이러한 기준은 결과적으로 얻어지는 운전 상황의 위험성일 수 있는데, 이것은 사고 확률 및/또는 일어날 수 있는 충돌 이전의 시간 길이에 의해서 특징지어진다. 더욱이, 위험성은 운전자 보조 시스템(2)의 부적절한 운전 거동의 확률에 의해서도 특징지어질 수 있다.
이제 제 6 작업 단계(106)에서 종결 조건이 만족되었는지 여부에 대한 점검이 이루어진다. 이러한 종결 조건은 일면으로는 결과적으로 얻어지는 운전 상황에 관련된 미리 규정된 기준, 예를 들어 충돌 시점까지의 최대 시간 길이 또는 심지어 최대 사고 확률에 대한 한계 값에 의해서 규정될 수 있다. 최대 테스팅 기간도 추가적인 종결 조건으로서 추가적으로 규정될 수 있다.
종결 조건이 만족되면, 시뮬레이션된 시나리오, 또는 시뮬레이션된 시나리오의 파라미터 값 및/또는 시뮬레이션된 시나리오의 품질 각각이 제 8 작업 단계(108)에서, 특히 테스트 보고서의 형태로 내보내진다.
종결 조건이 만족되지 않으면, 시뮬레이션된 시나리오(3)는 이제 제 7 작업 단계(107)에서의 구축된 품질에 기반하여 변경된다. 이러한 시점에서, 테스팅 방법은 제 1 작업 단계(101)로부터 시작하는 것으로부터 다시 시작된다. 바람직하게는, 작업 단계들이 종결 조건 중 적어도 하나가 만족될 때까지 반복적으로 수행된다.
제 7 작업 단계(107)에서 시뮬레이션된 시나리오를 변경하기 위한 기본적으로 두 가지 상이한 접근법들이 존재한다. 우선, 시뮬레이션된 시나리오의 파라미터의 값들만이 변경될 수 있다. 이러한 경우에, 변경된 시뮬레이션된 시나리오는 언제나 이전의 반복 단계에서 사용된 시뮬레이션된 시나리오에 대해서 구축된다. 그러면, 이러한 접근법은 특히 시뮬레이션된 시나리오(3)가 소위 진화 알고리즘을 이용하여 변경될 경우에 사용된다.
대안적으로, 새로운 시나리오는 시뮬레이션된 시나리오가 변경될 경우에 생성된다. 특히, 파라미터들이 교체될 수 있고, 파라미터들이 생략될 수 있으며 및/또는 새로운 파라미터들이 이러한 새로운 시나리오에 추가될 수 있다.
특히, 이러한 접근법은 구축된 품질에 기반한 강화 학습 방법론이 시나리오 변경 전략을 위해서 사용되는 경우에 사용된다. 강화 학습을 이용하면, 이러한 전략은 종결 조건이 만족될 때까지 테스트 동작에 걸쳐서 연속적으로 개선된다. 바람직하게는, 특정한 시뮬레이션된 시나리오가 어떤 품질 값을 가지는지를 규정하는 유틸리티 함수가, 이러한 경우에 구축된 품질에 기반하여 근사화된다.
전술된 바와 같이, 시나리오를 변경하는 알고리즘은 바람직하게는 소위 에이전트로서 설계될 수 있다. 이러한 경우에, 테스팅 방법은 에이전트가 운전자 보조 시스템(2)의 오류를 유발하기 위해서 운전자 보조 시스템(2)에 대항하여 플레이하는 2-플레이어 게임과 닮게 된다.
바람직하게는, 품질이 관념적 보상에 의해서 특징지어지고, 변경은 비용 함수 또는 비용 함수의 최적화에 기반하여 후속된다. 바람직하게는, 비용 함수는 관념적 보상을 최대화하도록 설계된다. 바람직하게는, 품질이 높아지고 각각의 결과적으로 얻어지는 운전 상황이 더 위험해질수록, 충돌 시점까지의 계산된 시간 길이가 특히 더 짧아진다.
운전자 보조 시스템을 테스트하기 위한 방법을 망라하는 작업흐름은 후속하는 작업 단계들을 더 포함할 수 있다: 추가적인 제 1 작업 단계에서는, 테스팅된 운전자 보조 시스템이 적용가능한 차량 역학 모델, 예를 들어 VSM®과 함께 적절한 모델링 및 통합 플랫폼, 예를 들어 MobiConnect®에 통합된다. 바람직하게는, 3D 시뮬레이션 환경도 이러한 통합 플랫폼에 제공된다.
추가적인 제 2 작업 단계에서는, 예를 들어 OpenDRIVE®를 사용하여 도로 속성을, 그리고 예를 들어 OpenSCENARIO®를 통하여 도로 사용자 및 차량 기동을 총괄적으로 규정하는 시나리오 템플릿이 생성된다. 선택적으로, 실제 운전 동작으로부터의 데이터에 기반한 가상 시나리오가 이렇게 생성하는 데에 사용될 수 있다. 예를 들어, GPS 데이터, 센서 데이터, 물체 목록 등이 이러한 목적을 위하여 적합하다.
추가적인 제 3 작업 단계에서는, 시나리오 변경 알고리즘이 시나리오를 변경하기 위해서 사용할 수 있는 파라미터들이 식별되고 선택된다. 이러한 파라미터들이 가질 수 있는 값의 범위들이 이제 해당 파라미터에 대해서 규정된다. 예를 들어, 알고리즘이 "전방 차량의 차량 속도(vehicle speed of the vehicle ahead)"의 시나리오 파라미터에 대해서 5 내지 35 m/s의 값을 연속적으로 할당할 수 있는 것이 규정될 수 있다. 바람직하게는, 운전자 보조 시스템(2)에 의해 제어되는 차량(1)의 환경에 관련된 파라미터가 여기에서 선택될 수 있는 것뿐만 아니라, 차량(1)의 궤적도 알고리즘에 의한 변경을 위해서 선택될 수 있다. 또한, 궤적은 다른 도로 사용자에 대한 파라미터로서 변경될 수 있다. 이를 통하여 개별적인 궤적이 경로점 및 타임 스텝을 사용하여 각각의 도로 사용자에 대해서 규정된다. 그러면, 궤적이 경로점의 위치 및 경로점들 사이의 거리를 변경함으로써 변경될 수 있다.
추가적인 제 4 작업 단계에서는, 시나리오의 반복적인 생성을 제어하는 역할을 하는 특정한 기준들이 미리 규정된다. 미리 규정된 기준이 충돌 시점까지의 시간 길이라면, 알고리즘은 이러한 시간 길이를 최소화하고 사고를 초래하는 파라미터 값들에 대해서 시나리오를 검색하려고 시도할 것이다.
적절한 종결 조건들이 추가적인 제 5 작업 단계에서 규정된다. 가능한 종결 조건은, 예를 들어 충돌 시점 또는 최대 횟수의 반복에 도달할 때까지의 0.25-초 시간 길이이다.
추가적인 제 6 작업 단계에서는, 파라미터 값들의 초기 세트가 생성된다. 이들은 무작위로 생성되거나, 수동으로 선택되거나, 실제 테스트 드라이브에 기반하여 선택된다. 이미 생성된 시나리오 템플릿과 함께, 3D 시뮬레이션에서 실행될 수 있는 구체적인 시나리오들이 이러한 방식으로 생성될 수 있다.
전술된 바와 같이 운전자 보조 시스템을 테스트하기 위한 방법이 이제 실행될 수 있다.
도 4는 운전자 보조 시스템을 테스트하기 위한 시스템의 예시적인 실시형태를 보여준다.
이러한 시스템(10)은 바람직하게는, 차량(1)이 위치되는 시나리오를 시뮬레이션하기 위한 수단(11), 시뮬레이션된 시나리오(3)에 기반하여 차량(1)의 환경에서 상기 운전자 보조 시스템(2)을 작동시키기 위한 수단(12), 상기 차량(1)의 환경에서 상기 운전자 보조 시스템(2)의 운전 거동을 관찰하기 위한 수단(13), 상기 차량의 환경에서 상기 운전자 보조 시스템(2)의 운전 거동으로부터 초래되는 운전 상황을 결정하기 위한 수단(14), 시뮬레이션된 시나리오(3)의 품질을 상기 운전 상황에 관련된 미리 규정된 기준, 특히 결과적으로 얻어지는 운전 상황의 위험성의 함수로서 구축하기 위한 수단(15), 종결 조건을 점검하기 위한 수단(16), 및 종결 조건이 만족될 때까지, 구축된 품질에 기반하여 상기 시뮬레이션된 시나리오(3)를 변경하기 위한 수단(17)을 포함한다.
바람직하게는, 앞서 언급된 수단들은 데이터 처리 시스템에 의해서 형성된다. 그러나, 운전자 보조 시스템을 차량(1)의 환경에서 작동시키기 위한 수단(12)은 테스트 베드, 특히 운전자 보조 시스템 또는 차량용 테스트 베드에 의해서도 형성될 수 있다. 어떠한 경우에도, 운전자 보조 시스템(2)의 운전 거동을 관측하기 위한 수단(13)은 여기에서 센서에 의해서 부분적으로 형성될 수 있다.
시뮬레이션된 시나리오를 변경하기 위한 수단(17)은 바람직하게는 에이전트의 형태일 수 있다.
바람직하게는, 이러한 시스템은 사용자 인터페이스 또는 데이터 인터페이스로서 바람직하게 설계될 수 있는 인터페이스(18)를 포함한다.
예시적인 실시형태가 어떠한 경우에도 보호 범위, 적용예, 및 구성을 한정하려는 의도가 아니라는 것에 주의한다. 오히려, 앞선 설명은, 적어도 하나의 실시형태를 구현하기 위한 가이드라인을 당업자에게 제공하고, 특히 설명된 컴포넌트들의 기능과 배치에 관련하여 청구항 및 특징들의 등가 조합으로부터 얻어지는 보호 범위로부터 벗어나지 않으면서 다양한 변형들이 이루어질 수 있다.
참조 번호들의 목록
A, B 시나리오의 범위
1 차량
2 운전자 보조 시스템
3 시나리오
4 모터사이클
5a, 5b, 5c, 5d 추가적인 차량
6 보행자
11 시뮬레이션 수단
12 운전자 보조 시스템을 작동시키기 위한 수단
13 운전 거동을 관찰하기 위한 수단
14 운전 상황을 결정하기 위한 수단
15 품질을 구축하기 위한 수단
16 시나리오를 변경하기 위한 수단
17 종결 조건을 점검하기 위한 수단
18 인터페이스

Claims (15)

  1. 차량(1)용 운전자 보조 시스템(2)을 테스트하기 위한 컴퓨터-구현 방법(100)으로서,
    차량(1)이 위치되는 시나리오(3)를 시뮬레이션하는 작업 단계(101);
    시뮬레이션된 시나리오(3)에 기반하여 차량(1)의 환경에서 상기 운전자 보조 시스템(2)을 작동시키는 작업 단계(102);
    상기 차량(1)의 환경에서 상기 운전자 보조 시스템(2)의 운전 거동을 관찰하는 작업 단계(103);
    상기 차량(1)의 환경에서 상기 운전자 보조 시스템(2)의 운전 거동으로부터 초래되는 운전 상황을 결정하는 작업 단계(104);
    시뮬레이션된 시나리오(3)의 품질을 결과적으로 얻어지는 운전 상황에 관련된 미리 규정된 기준, 특히 결과적으로 얻어지는 운전 상황의 위험성(criticality)의 함수로서 구축하는 작업 단계(105);
    상기 방법(100)의 적어도 하나의 종결 조건을 점검하는 작업 단계(106); 및
    상기 적어도 하나의 종결 조건이 만족될 때까지, 구축된 품질에 기반하여 상기 시뮬레이션된 시나리오(3)를 변경하는 작업 단계(107)
    를 포함하는, 컴퓨터-구현 방법(100).
  2. 제 1 항에 있어서,
    상기 차량(1)의 속도, 특히 초기 속도 및/또는 상기 차량(1)의 궤적은 상기 시나리오를 시뮬레이션할 때에 특정되는, 컴퓨터-구현 방법(100).
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 시뮬레이션된 시나리오의 파라미터의 값들 만이 상기 시뮬레이션된 시나리오를 변경할 때에 변경되는, 컴퓨터-구현 방법(100).
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    바람직하게는 연속적으로 결합된 시나리오들을 포함하는 새로운 시나리오가, 상기 시뮬레이션된 시나리오(3)를 변경할 때에 생성되는, 컴퓨터-구현 방법(100).
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 품질은 상기 품질을 구축할 때에 관념적 보상(notional reward)에 의해서 특징지어지고,
    상기 변경하는 작업 단계는, 상기 관념적 보상을 최대화하도록 설계된 비용 함수에 기반하여 후속되는, 컴퓨터-구현 방법(100).
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 시뮬레이션된 시나리오(3)는 진화 알고리즘(evolutionary algorithm)을 사용하여 변경되는, 컴퓨터-구현 방법(100).
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    특정한 시뮬레이션된 시나리오(3)가 어떤 품질 값을 가지는지를 특정하는 유틸리티 함수(utility function)가 구축된 품질에 기반하여 근사화되는, 컴퓨터-구현 방법(100).
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 운전자 보조 시스템(2)이 시뮬레이션되는, 컴퓨터-구현 방법(100).
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 시나리오(3)를 변경하기 위한 전략은 테스트 동작 도중에, 구축된 품질에 기반하여 상기 종결 조건이 만족될 때까지 강화 학습 방법론을 사용하여 연속적으로 개선되는, 컴퓨터-구현 방법(100).
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    운전자 보조 시스템, 특히 테스트될 상기 운전자 보조 시스템(2)의 과거의 테스트 동작으로부터의 이력 데이터가, 상기 시나리오가 처음에 시뮬레이션될 때에 고려되는, 컴퓨터-구현 방법(100).
  11. 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 차량(1)의 환경(4)에 관련된 데이터가 상기 운전자 보조 시스템(2)에 공급되고, 및/또는
    상기 운전자 보조 시스템(2), 특히 그 센서들이 상기 운전자 보조 시스템(2)의 동작 도중에 상기 차량(1)의 환경(4)에 기반하여 자극되는(stimulated), 컴퓨터-구현 방법(100).
  12. 차량(1)용 운전자 보조 시스템(2)을 테스트하기 위한 시스템(10)으로서,
    차량(1)이 위치되는 시나리오(3)를 시뮬레이션하기 위한 수단(11);
    시뮬레이션된 시나리오(3)에 기반하여 차량(1)의 환경에서 상기 운전자 보조 시스템(2)을 작동시키기 위한 수단(12);
    상기 차량(1)의 환경에서 상기 운전자 보조 시스템(2)의 운전 거동을 관찰하기 위한 수단(13);
    상기 차량(1)의 환경에서 상기 운전자 보조 시스템(2)의 운전 거동으로부터 초래되는 운전 상황을 결정하기 위한 수단(14);
    시뮬레이션된 시나리오(3)의 품질을 상기 운전 상황에 관련된 미리 규정된 기준, 특히 결과적으로 얻어지는 운전 상황의 위험성의 함수로서 구축하기 위한 수단(15);
    방법(100)의 적어도 하나의 종결 조건을 점검하기 위한 수단(16); 및
    상기 적어도 하나의 종결 조건이 만족될 때까지, 구축된 품질에 기반하여 상기 시뮬레이션된 시나리오(3)를 변경하기 위한 수단(17)
    을 포함하는, 운전자 보조 시스템을 테스트하기 위한 시스템(10).
  13. 특히 제 14 항에 따른 차량(1)용 운전자 보조 시스템(2)을 테스트하기 위한 시스템(10)으로서,
    에이전트(16)를 포함하고,
    상기 에이전트(16)는 시나리오(3)를 생성하고, 상기 시나리오(3)를 변경함으로써 상기 운전자 보조 시스템의 오류를 유발하도록 구성되며,
    상기 시나리오(3)를 변경하기 위한 전략이 동작 도중에 종결 조건이 만족될 때까지, 특히 강화 학습 방법론을 이용하여, 상기 에이전트(21)와 상기 운전자 보조 시스템(2) 사이의 상호작용을 통하여 연속적으로 개선되는, 운전자 보조 시스템을 테스트하기 위한 시스템(10).
  14. 제 13 항에 있어서,
    상기 에이전트(16)는, 상기 차량(1)의 환경(4)에서의 상기 운전자 보조 시스템(2)의 운전 거동으로부터 초래되는 운전 상황을 시뮬레이션된 시나리오(3)에 기반하여 관찰하고, 상기 시나리오(3)의 품질을 결과적으로 얻어지는 운전 상황의 위험성의 함수로서 구축하도록 구성되는, 시스템(10).
  15. 제 13 항 또는 제 14 항에 있어서,
    상기 에이전트(16)는 이력 데이터에 기반하여 사전에 훈련되고,
    상기 이력 데이터는 상기 시나리오(3)를 최초로 시뮬레이션할 때에 상기 에이전트(16)에 의해서 고려되는, 시스템(10).
KR1020237015676A 2020-10-12 2021-10-11 차량용 운전자 보조 시스템을 테스트하기 위한 방법 및 시스템 KR20230084551A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
ATA50877/2020 2020-10-12
ATA50877/2020A AT524280A1 (de) 2020-10-12 2020-10-12 Verfahren und ein System zum Testen eines Fahrerassistenzsystems für ein Fahrzeug
PCT/AT2021/060370 WO2022077042A1 (de) 2020-10-12 2021-10-11 Verfahren und ein system zum testen eines fahrerassistenzsystems für ein fahrzeug

Publications (1)

Publication Number Publication Date
KR20230084551A true KR20230084551A (ko) 2023-06-13

Family

ID=78621560

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237015676A KR20230084551A (ko) 2020-10-12 2021-10-11 차량용 운전자 보조 시스템을 테스트하기 위한 방법 및 시스템

Country Status (8)

Country Link
US (1) US20230394896A1 (ko)
EP (1) EP4226248A1 (ko)
JP (1) JP2023546367A (ko)
KR (1) KR20230084551A (ko)
CN (1) CN116348355A (ko)
AT (1) AT524280A1 (ko)
DE (1) DE112021003862A5 (ko)
WO (1) WO2022077042A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115906539A (zh) * 2023-01-10 2023-04-04 联友智连科技有限公司 一种基于Django实现自动驾驶仿真的系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013200116A1 (de) * 2013-01-08 2014-07-10 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Entwickeln und/oder Testen eines Fahrerassistenzsystems
DE102015001972B4 (de) * 2014-04-28 2023-09-14 Iav Gmbh Ingenieurgesellschaft Auto Und Verkehr Verfahren und Vorrichtung zum Testen von C2X-Kommunikation nutzenden Anwendungen
DE102017109132A1 (de) * 2017-04-28 2018-10-31 Valeo Schalter Und Sensoren Gmbh Verfahren und IT-Infrastruktur zum modellbasierten Testen von Software für ein Fahrzeug-Anwendungssystem und zum Bereitstellen entsprechender Testergebnisse
DE102017213634A1 (de) * 2017-08-07 2019-02-07 Ford Global Technologies, Llc Verfahren und Vorrichtung für die Durchführung von virtuellen Tests in einer virtuellen Realitätsumgebung für ein autonom fahrendes Fahrzeug

Also Published As

Publication number Publication date
WO2022077042A1 (de) 2022-04-21
EP4226248A1 (de) 2023-08-16
JP2023546367A (ja) 2023-11-02
DE112021003862A5 (de) 2023-05-25
AT524280A1 (de) 2022-04-15
US20230394896A1 (en) 2023-12-07
CN116348355A (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
Wachenfeld et al. The release of autonomous vehicles
JP7064303B2 (ja) オートノマスシステムの検証法
Zhao et al. From the lab to the street: Solving the challenge of accelerating automated vehicle testing
CN110686906B (zh) 车辆自动驾驶测试方法及装置
WO2020123784A1 (en) Safe hand-off between human driver and autonomous driving system
JP2017105453A (ja) 自動車の運転支援機能を検証する方法
CN114077541A (zh) 验证用于自动驾驶车辆的自动控制软件的方法和系统
CN114667545A (zh) 用于训练用于机动车的控制器的至少一个算法的方法、计算机程序产品以及机动车
CN111413973A (zh) 车辆的换道决策方法及装置、电子设备、存储介质
CN115777088A (zh) 车辆运行安全模型测试系统
KR20230150350A (ko) 차량의 운전자 보조 시스템을 시험하기 위한 방법
US20230343153A1 (en) Method and system for testing a driver assistance system
KR20230084551A (ko) 차량용 운전자 보조 시스템을 테스트하기 위한 방법 및 시스템
CN115176297A (zh) 用于训练用于机动车的控制器的至少一个算法的方法、计算机程序产品以及机动车
WO2023145490A1 (ja) 運転システムの設計方法及び運転システム
US20220358024A1 (en) Computer-implemented method for scenario-based testing and / or homologation of at least partially autonomous driving functions to be tested by means of key performance indicators (kpi)
Sagir et al. Mobility impacts of autonomous vehicle systems
KR20230148366A (ko) 차량의 운전자 보조 시스템의 시험을 위한 시나리오 데이터를 생성하기 위한 방법 및 시스템
US20220138094A1 (en) Computer-implemented method and test unit for approximating a subset of test results
CN117413257A (zh) 用于测试车辆用司机辅助系统的方法和系统
Pariota et al. Motivating the need for an integrated software architecture for connected and automated vehicles technologies development and testing
JP7428272B2 (ja) 処理方法、処理システム、処理プログラム、処理装置
Gote et al. Driver characterization & driver specific trajectory planning: An inverse optimal control approach
Wang et al. The Implementation of Safety Acceptance Evaluation for Highly Automated Vehicles
Eiras et al. Towards Provably Correct Driver Assistance Systems through Stochastic Cognitive Modeling