KR20210103377A - 자율 주행 차량 제어를 위한 크로스-플랫폼 제어 프로파일링 - Google Patents

자율 주행 차량 제어를 위한 크로스-플랫폼 제어 프로파일링 Download PDF

Info

Publication number
KR20210103377A
KR20210103377A KR1020200130993A KR20200130993A KR20210103377A KR 20210103377 A KR20210103377 A KR 20210103377A KR 1020200130993 A KR1020200130993 A KR 1020200130993A KR 20200130993 A KR20200130993 A KR 20200130993A KR 20210103377 A KR20210103377 A KR 20210103377A
Authority
KR
South Korea
Prior art keywords
adv
time
subsystem
dynamic model
control
Prior art date
Application number
KR1020200130993A
Other languages
English (en)
Other versions
KR102381568B1 (ko
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 KR20210103377A publication Critical patent/KR20210103377A/ko
Application granted granted Critical
Publication of KR102381568B1 publication Critical patent/KR102381568B1/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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/04Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
    • B60W10/06Conjoint control of vehicle sub-units of different type or different function including control of propulsion units including control of combustion engines
    • 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
    • B60W50/08Interaction between the driver and the control system
    • B60W50/085Changing the parameters of the control units, e.g. changing limit values, working points by control input
    • 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
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/18Conjoint control of vehicle sub-units of different type or different function including control of braking systems
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/20Conjoint control of vehicle sub-units of different type or different function including control of steering systems
    • 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
    • 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
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/035Bringing the control units into a predefined state, e.g. giving priority to particular actuators
    • 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
    • B60W50/06Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • 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
    • 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
    • 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
    • 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/0037Mathematical models of vehicle sub-units
    • 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/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • 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/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/0052Filtering, filters
    • B60W2050/0054Cut-off filters, retarders, delaying means, dead zones, threshold values or cut-off frequency
    • B60W2050/0056Low-pass filters
    • 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/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/0057Frequency analysis, spectral techniques or transforms
    • 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/05Big data
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/06Combustion engines, Gas turbines
    • B60W2710/0605Throttle position
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/18Braking system
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/20Steering systems
    • G05D2201/0213

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Evolutionary Computation (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Traffic Control Systems (AREA)
  • Feedback Control In General (AREA)

Abstract

종래 기술의 제어 시스템들에서 무시되는 2차 역학으로 인한 시간 지연 및 서브시스템 제어 엑추에이션 동적 지연을 식별하기 위한 시스템들 및 방법들이 개시된다. 실시예들은 파라미터들을 가지는 이산-시간 동적 모델을 개발하고, 선택된 크라우드-주행 데이터에 대한 최소 제곱법을 사용하여 파라미터들을 추정함으로써 시간-지연 및 서브시스템 제어 엑추에이션 지연들을 식별한다. 모델 파라미터들을 추정한 후에, 제어 서브시스템의 공진 피크 및 대역폭, 오버슈트, 정착 시간, 상승 시간, 시간-지연과 같은 동적 엑추에이션 지연 메트릭들을 식별하기 위해 모델이 사용된다. 제어 서브시스템들은 스티어링, 제동 및 스로틀링을 포함할 수 있다.

Description

자율 주행 차량 제어를 위한 크로스-플랫폼 제어 프로파일링{CROSS-PLATFORM CONTROL PROFILING FOR AUTONOMOUS VEHICLE CONROL}
본 개시의 실시예들은 일반적으로 자율 주행 차량(autonomous vehicle)들을 동작하는 것에 관한 것이다. 보다 구체적으로, 본 개시의 실시예들은 자율 주행 차량 제어를 개선시키기 위해 자율 주행 차량 제어 서브시스템들 제어에서 시간-지연(time-latency) 및 엑추에이션 동적 지연(actuation dynamic delay)을 식별하기 위한 균일하고(uniform) 체계적인(systematic) 프로세스에 관한 것이다.
자율 주행 모드(autonomous mode)(예를 들어, 무인(driverless))에서 동작하는 차량들은 탑승자(occupant)들, 특히 운전자를 몇몇 운전 관련 책임(driving-related responsibility)들로부터 벗어나게 할 수 있다. 자율 모드에서 동작하는 경우, 차량은 차량이 최소한의 인간 상호작용(interaction)으로 또는 몇몇 경우에서 승객들 없이 이동(travel) 가능하게 하는 온보드(onboard) 센서들을 사용하여 다양한 위치들을 내비게이트(navigate)할 수 있다.
모션 계획 및 제어는 자율 주행에서 중요한 동작들이다. 그러나, 기존의 모션 계획 동작들은 차량들의 상이한 타입(type)들에 따른 기능들의 차이들을 고려하지 않고 주로 그것의 곡률 및 속도로부터 주로 주어진 경로(path)를 완료하는 것에 어려움을 추정한다. 동일한 모션 계획 및 제어가 모든 타입들의 차량들에 적용되며, 이는 몇몇 정황(circumstance)들에 따라 정확하지 않고 부드럽지 않을 수도 있다.
제동 장치(brake)들, 스로틀, 및 스티어링("드라이브-바이-와이어(drive-by-wire)")과 같은 제어 시스템들의 전자적 결정 및 엑추에이션의 사용으로 인해, 차량 엑추에이션 시스템에 약간의 지연 시간(latency time) 및 시스템 동적 지연들이 존재한다. 계획된 궤적(planned trajectory) 상에 유지하는데 제어 명령이 필요하게 됨을 감지하는 것의 지연으로 인해 시간-지연이 발생할 수 있다. 시간-지연은 차량 주변의 객체들을 식별하는데 필요한 데이터 수집 및 처리 시간(processing time)이 원인(attributable)일 수 있고, 그리고 계획된 궤도 상에 유지하는데 필요한 제어 명령의 컴퓨팅(computing)이 원인일 수 있다. 시간-지연은 약 50-100 밀리초(ms)일 수 있다. 제동 장치들, 스로틀 또는 스티어링과 같은 제어 서브시스템에 의해 제어 명령이 수신되고, 그리고 제어 서브시스템은 제어 명령을 실행하기 위해 물리적 구성요소들을 엑추에이션 해야 할 경우에, 제어 서브시스템에서 엑추에이션 동적 지연이 발생할 수 있다. 엑추에이션 동적 지연은 제어 명령을 구현하는 물리적 작동(action)들을 구현하는데 시간이 필요한 모터들, 구동 벨트(drive belt)들, 제동 장치 패드들 및 실린더들 또는 연소기와 같은 물리적 엑추에이터 또는 구성요소들이 원인일 수 있다. 수신된 명령의 엑추에이션 동적 지연은 엑추에이션의 상승 시간(rise time), 오버슈트 양(overshoot amount) 및 수신된 제어 명령과 매칭하는 물리적 엑추에이터의 측정된 상태에 대한 정착 시간(settling time)으로 드러날(manifest) 수 있다. 엑추에이션 동적 지연은 실질적으로 지연 시간보다 훨씬 더 긴 수백 밀리초(최대 500ms) 정도일 수 있다.
제동 장치들, 스티어링, 그리고 스로틀과 같은 제어 서브 시스템들은 종종 자율 주행 차량용 제어 시스템을 개발하는 업체와는 상이한 다른 서드파티(third party) 공급 업체들에 의해 제공된다. 이에 따라, 자율 주행 차량 제어 서브 시스템들의 개발자들은 제어 서브 시스템들의 동작 특성들을 "블랙 박스"로 고려해야한다. 따라서, 이전 연구 노력들은 일반적으로 차량 엑추에이션 지연 및 엑추에이션 역학(dynamics)을 무시할 수 있는 수준으로 취급했고, 그리고 모델 기반의 자율 주행 차량 컨트롤러를 설계하는 경우 차량 제어 시스템 역학으로부터 엑추에이션 지연 및 엑추에이션 역학을 직접적으로 무시했다(abandon). 그 결과, 급가속 또는 급커브 또는 급회전 주행 시나리오들 동안에 자율 주행 차량 제어 작동들은 보통 몇몇 눈에 띄는 지연 없이는 원하는 궤적을 따를 수 없다.
본 개시의 실시예들은 예시의 수단으로서 도시되고 유사한 참조번호들은 유사한 요소들을 명시하는 첨부되는 도면들에서의 도시들로 제한되지 않는다.
도 1은 일 실시예에 따라 네트워크 된 시스템을 도시하는 블록 다이어그램(block diagram)이다.
도 2는 일 실시예에 따라 자율 주행 차량의 예시를 도시하는 블록 다이어그램이다.
도 3a 및 도 3b는 일 실시예에 따라 자율 주행 차량과 사용되는 인식 및 계획 시스템의 예시를 도시하는 블록 다이어그램이다.
도 3c는 몇몇 실시예에 따라 예시적인 ADV 제어 명령 및 제어 명령에 대한 자율 주행 차량 제어 서브시스템 엑추에이션 작동 응답을 도시한다.
도 3d는 일 실시예에 따라 동적(dynamics)의 소스(source)들 및 자율 주행 차량에 사용된 스티어링 제어 서브시스템을 도시한다.
도 4는 일 실시예에 따라 자율 주행 시스템의 아키텍처(architecture)를 도시하는 블록 다이어그램이다.
도 5는 일 실시예에 따라 자율 주행 차량 컨트롤러를 개선하는데 사용하기 위해 자율 주행 차량의 제어 서브시스템들의 엑추에이션 동적 지연을 설명하는 메트릭들을 추정하는 시스템 및 데이터 플로우를 도시하는 블록 다이어그램이다.
도 6은 일 실시예에 따라 자율 주행 차량 제어 서브시스템에서 엑추에이션 동적 지연들 및 시간-지연을 식별하는 방법을 도시하는 블록 다이어그램이다.
도 7a 및 7b는 일 실시예에 따라 자율 주행 차량 제어 서브시스템에서 엑추에이션 동적 지연들 및 시간-지연을 식별하는 방법을 도시하는 블록 다이어그램들이다.
본 개시의 다양한 실시예들 및 양상들이 아래에서 설명되는 세부사항들을 참조하여 기술될 것이며, 첨부 도면들은 다양한 실시예들을 도시할 것이다. 이후의 설명 및 도면들은 본 개시의 예시일 뿐, 본 개시를 제한하는 것으로 해석되지 않아야 한다. 본 개시의 다양한 실시예들에 대한 전반적인 이해를 제공하기 위해 다수의 구체적인 세부사항들이 기술된다. 그러나, 어떤 경우들에서, 본 개시의 실시예들의 간결한 설명을 제공하기 위해 공지되거나 종래의 세부사항들은 기술되지 않는다.
본 명세서에서 "일 실시예" 또는 "실시예"에 대한 언급은 실시예들과 함께 기술되는 특정한 특징, 구조, 또는 특성이 본 개시의 적어도 하나의 실시예에 포함됨을 의미한다. 본 명세서의 다양한 부분들에서"일 실시예에서"라는 문구의 등장들은 반드시 동일한 실시예를 모두 지칭하는 것은 아니다.
일 실시예에서, 자율 주행 차량(autonomous driving vehicle, ADV) 제어 시스템을 개선하는 방법은: 하나 이상의 ADV 제어 서브시스템 각각에 대해 복수의 파라미터(parameter)들을 가지는 이산-시간 동적 모델(discrete-time dynamic model)을 생성하는 단계를 포함하고, 상기 동적 모델은 상기 ADV 제어 서브시스템의 엑추에이션 동적 지연(actuation dynamic delay)을 특성화(characterizing)하고, 그리고 식별된 주행 시나리오(driving scenario)에 대한 크라우드-소싱된(crowd-sourced) ADV 주행 데이터를 사용하는 동적 모델에 대한 복수의 파라미터들 각각에 대한 값을 추정하는(estimate) 추정기(estimator)를 생성하는 단계 및 추정기를 사용하여 복수의 파라미터들을 추정하는 단계를 포함한다. 추정된 파라미터들을 가지는 모델은 추정된 파라미터들 및 동적 모델을 사용하여 ADV 제어 서브시스템의 공진 피크(resonant peak) 메트릭 및 대역폭 메트릭(bandwidth metric)을 결정하는데 사용될 수 있다. 동적 모델은 연속-시간(continuous-time) 시스템으로 변환될 수 있고, 그리고 ADV 제어 서브시스템(예를 들어, 스로틀, 제동 장치 및 스티어링) 상승 시간 메트릭, 오버 슈트 메트릭 및 정착 시간 메트릭을 결정하는데 사용될 수 있다. 메트릭들은 하나 이상의 ADV들을 주행시키는데 사용하기 위해 하나 이상의 ADV들에 배포되는(distributed) 업데이트된 ADV 서브시스템 컨트롤러를 생성하는데 사용될 수 있다. 일 실시예에서, 엑추에이션 지연은 제어 서브시스템에 의해 수신된 제어 명령의 초기 실행 시간과 수신된 제어 명령의 초기 실행에 대한 응답으로 서브시스템의 측정된 엑추에이션의 시간 사이의 차이를 나타낸다(represent). 일 실시예에서 크라우드 소싱된 ADV 주행 데이터는 다음 중 하나 이상에 따라 선택된다: 지정된(specified) ADV 타입(type), 지정된 ADV 컨트롤러 타입, 또는 하나 이상의 지정된 ADV 서브시스템 컨트롤러 타입들. 일 실시예에서, 서브시스템에 대한 이산-시간 동적 모델은 다음 형식의 2차 동적 모델이다:
Figure pat00001
, 그리고 복수의 파라미터들은
Figure pat00002
Figure pat00003
이다. 일 실시예에서, 이산-시간 동적 모델을 생성하는 단계는 서브시스템에 대한 시간-지연 기한을 도입하는 단계를 추가로 포함하고, 시간 지연 기한은 ADV 컨트롤러에 의한 명령의 전송과 ADV 서브시스템 컨트롤러에 의한 명령의 초기 실행 사이의 시간을 나타낸다. 일 실시예에서, 복수의 파라미터들을 추정하는 단계는 서브시스템에 대한 동적 모델의 파라미터들을 결정하기 위해 크라우드-소싱된 ADV 주행 데이터의 최소 제곱법을 수행하는 단계를 포함한다.
일 실시예에서, 임의의/모든 상기 방법 기능은 처리(processing) 시스템에 의해 구현될 수 있으며, 이는 처리 시스템에 의해 실행되는 경우 컴퓨팅 시스템이 청구된 기능을 구현하게 하는 실행 가능한 명령들로 프로그래밍 된 메모리에 결합된 하나 이상의 하드웨어 프로세서들을 포함한다. 일 실시예에서 메모리는 비 일시적 컴퓨터 판독 가능 매체 또는 다른 타입의 메모리일 수 있다.
도 1은 본 개시의 일 실시예에 따라 자율 주행 차량 네트워크 구조를 도시한 블록 다이어그램이다. 도 1을 참고하면, 네트워크 구조(100)는 네트워크(102)를 통해 하나 이상의 서버들(103-104)과 통신 가능하게(communicatively) 연결될 수도 있는 자율 주행 차량(101)을 포함한다. 비록 하나의 자율 주행 차량이 도시되고 있지만, 다수의 자율 주행 차량들이 서로 연결될 수 있고, 그리고/또는 네트워크(102)를 통해 서버들(103-104)과 연결될 수 있다. 네트워크(102)는 유선 또는 무선, 이들의 조합 또는, 위성 네트워크, 셀룰러 네트워크(cellular network), 인터넷과 같은 광역 통신망(wide area network, WAN), 근거리 통신망(local area network, LAN)과 같은 임의의 타입의 네트워크들일 수도 있다. 서버(들)(103-104)은 웹 또는 클라우드 서버들, 애플리케이션 서버들, 백엔드(backend) 서버들, 또는 이들의 조합과 같은 서버들의 클러스터(cluster) 또는 임의의 종류의 서버들 일 수도 있다. 서버들(103-104)은 데이터 분석 서버들, 컨텐츠(content) 서버들, 교통(traffic) 정보 서버들, 지도 및 관심 지역 정보(map and point of interest, MPOI), 시뮬레이션 된 자율 주행 차량 주행 서버들 또는 위치 서버들 등일 수도 있다. 자율 주행 차량 주행 시뮬레이터 서버(104)는 실제 자율 주행 차량의 데이터 로깅과 실질적으로 동일한 주행 기록들의 데이터 로깅을 포함할 수 있다. 주행 시뮬레이터는 자율 주행 차량 제어 시스템들에 제안된 업데이트들을 테스트하는데 사용할 수 있다. 운전 시뮬레이터는 자율 주행 차량 제어 시스템의 성능을 특성화하는 표준화된 메트릭들의 세트(124)를 생성하기 위해 예를 들어 서버(103) 알고리즘(124)에 의한 처리를 위해 그것의 주행 기록들을 업로드 할 수 있다.
자율 주행 차량(101)은 운전자로부터 입력이 전혀 없거나 거의 없는 환경을 통해 차량이 내비게이트 하는 자율 모드로 주행하도록 구성될 수 있는 차량을 지칭한다. 이러한 자율 주행 차량은 차량이 동작하는 환경에 대한 정보를 검출하도록 구성된 하나 이상의 센서들을 가지는 센서 시스템을 포함할 수 있다. 차량 및 그것과 관련된 컨트롤러(들)은 환경을 통해 내비게이트 하기 위해 검출된 정보를 사용한다. 자율 주행 차량(101)은 수동 모드, 완전 자율 모드 또는 부분 자율 모드에서 동작할 수 있다. 본 명세서에서 설명된 바와 같이, 몇몇 실시예들에서 자율 주행 차량은 서버(104)의 자율 주행 시뮬레이터에서 시뮬레이션 된다. 자율 주행 차량 타입(예를 들어, Lexus®, Honda®, SmartCar®, Kia® 등) 및 자율 주행 차량 컨트롤러 타입(예를 들어, 모델 예측 제어 또는 선형 2차 조정기)과 같은 특성들 및 식별자들은 자율 주행 시뮬레이션 시스템 내에서 시뮬레이션 된 자율 주행 차량들 및 시뮬레이션 된 자율 주행 차량 주행 세션(session)에 의해 생성된 주행 기록들을 식별하는데 사용될 수 있다.
일 실시예에서, 자율 주행 차량(101)은 인식 및 계획 시스템(110), 차량 제어 시스템(111), 무선 통신 시스템(112), 사용자 인터페이스 시스템(113) 및 센서 시스템(115)을 포함하지만, 이에 제한되지 않는다. 자율 주행 차량(101)은 예를 들어, 가속 신호들 또는 명령들, 감속 신호들 또는 명령들, 스티어링(steering) 신호들 또는 명령들, 제동(braking) 신호들 또는 명령들 등과 같은, 다양한 통신 신호들 및/또는 명령들을 사용하는 인식 및 계획 시스템(110) 및/또는 차량 제어 시스템(111)에 의해 제어될 수도 있는 일반적인 차량들에 포함된, 엔진, 휠(wheel)들, 핸들(steering wheel), 변속기 등과 같이, 어떤 일반적인 구성요소들을 추가적으로 포함할 수도 있다.
구성 요소들(110-115)은 상호 접속, 버스, 네트워크, 또는 이들의 조합을 통해 서로 통신 가능하게 연결될 수도 있다. 예를 들어, 구성 요소들(110-115)은 컨트롤러 영역 네트워크(controller area network, CAN) 버스를 통해 서로 통신 가능하게 연결될 수도 있다. CAN 버스는 호스트 컴퓨터 없이 애플리케이션들에서 마이크로 컨트롤러들 및 디바이스들이 서로 통신하는 것을 허용하도록 설계된(designed) 차량 버스 표준이다. 자동차들 내의 다중 전기 배선(multiplex electrical wiring)을 위해 설계된, 메시지 기반 프로토콜이지만, 많은 다른 문맥(context)들에도 또한 사용된다.
도 2를 참고하면, 일 실시예에서, 센서 시스템(115)은 하나 이상의 카메라들(211), 위성 항법 시스템(global positioning system, GPS) 유닛(212), 관성 측정 유닛(inertial measurement unit, IMU)(213), 레이더(radar) 유닛(214), 및 라이트 디텍션 앤드 레인지(light detection and range, LIDAR) 유닛(215)을 포함하지만, 이에 제한되지 않는다. GPS 시스템(212)은 자율 주행 차량의 위치에 관한 정보를 제공하도록 동작 가능한(operable) 트랜시버(transceiver)를 포함할 수도 있다. IMU(213)은 관성 가속도에 기초하여 자율 주행 차량의 위치 및 방향 변화들을 센싱할(sense) 수도 있다. 레이더 유닛(214)은 자율 주행 차량의 로컬(local) 환경 내의 객체들을 센싱하도록 무선 신호(radio signal)들을 이용하는 시스템을 나타낼 수도 있다. 일부 실시예들에서, 객체들을 센싱하는 것에서 추가로, 레이더 유닛(214)은 객체들의 방향(heading) 및/또는 속도를 추가적으로 센싱할 수도 있다. LIDAR 유닛(215)은 레이저들을 사용하여 자율 주행 차량이 위치되는 환경에서 객체들을 센싱할 수도 있다. LIDAR 유닛(215)은 다른 시스템 구성 요소들 중에서 하나 이상의 검출기들, 레이저 스캐너, 및 하나 이상의 레이저 소스(source)들을 포함할 수 있다. 카메라들(211)은 자율 주행 차량을 둘러싼 환경의 이미지들을 캡쳐하기 위한 하나 이상의 디바이스들을 포함할 수도 있다. 카메라(211)는 여전히 카메라들 및/또는 비디오 카메라들일 수도 있다. 카메라는 예를 들어, 회전 및/또는 기울임 플랫폼(platform)에 카메라를 마운팅(mounting)함으로써, 기계적으로 움직일 수도 있다.
센서 시스템(115)은 소나(sonar) 센서, 적외선 센서, 스티어링 센서(steering sensor), 스로틀(throttle) 센서, 제동 센서, 및 오디오 센서(예를 들어, 마이크로폰)와 같은 다른 센서들을 더 포함할 수도 있다. 오디오 센서는 자율 주행 차량을 둘러싼 환경으로부터 소리를 캡쳐하도록 구성될 수도 있다. 스티어링 센서는 핸들의 스티어링 각도, 차량의 휠들, 또는 이들의 조합을 센싱하도록 구성될 수도 있다. 스로틀 센서 및 제동 센서는 차량의 스로틀 위치 및 제동 위치 각각을 센싱한다. 몇몇 상황들에서, 스로틀 센서 및 제동 센서는 통합 스로틀/제동 센서로서 통합될 수도 있다.
일 실시예에서, 차량 제어 시스템(111)은 스티어링 유닛(201), 스로틀 유닛(202)(또한, 가속 유닛이라고도 지칭함), 및 제동 유닛(203)을 포함하지만, 이에 제한되지는 않는다. 스티어링 유닛(201)은 차량의 진로 또는 방향을 조정하는 것이다. 스로틀 유닛(202)은 차량의 속도 및 가속도를 차례로 제어하는 엔진 또는 모터의 속도를 제어하는 것이다. 제동 유닛(203)은 차량의 휠들 또는 타이어들을 느리게 하기 위해 마찰을 제공함으로써 차량을 감속시키는 것이다.
제어 시스템(111)은 서브시스템 컨트롤러들(205)을 더 포함할 수도 있다. 서브시스템 컨트롤러들(205)은 스티어링 유닛(201)을 위한 컨트롤러, 스로틀 유닛(202)을 위한 컨트롤러 및 제동 유닛(203)을 위한 컨트롤러를 포함할 수 있다. 서브시스템 컨트롤러(205) 각각은 ADV 제어 시스템(111)으로부터 하나 이상의 제어 명령들을 수신한다. 아래에 도 3을 참고하여 설명된 바와 같이, ADV 제어 시스템(111)은 ADV 루트(route)의 일부를 내비게이트 하기 위해 ADV가 따라갈 궤도 경로를 수신한다. 제어 시스템(111)은 궤도 경로를 따라 ADV 내비게이트 하는데 필요한 스티어링, 제동 및/또는 스로틀링(throttling)의 양을 결정할 수 있다. 이후에 제어 시스템(111)은 하나 이상의 제어 서브시스템(스티어링 유닛(201), 스로틀 유닛(202), 제동 유닛(203))에 하나 이상의 명령들을 발행시킨다(issue). 스티어링 명령은 도(degree)들 또는 라디안(radian)들로 표시되는 타겟(target) 스티어링(예를 들어, 직진의 왼쪽 또는 오른쪽) 각도의 형태일 수 있다. 제어 시스템(111)에서 스로틀 유닛(202)으로의 스로틀 명령은 예를 들어, 타겟 속도, 가속도 또는 전체 스로틀의 백분율일 수 있다. 제어 시스템(111)에서 제동 유닛(203)으로의 제동 명령은 예를 들어, 타겟 속도, 감속률(deceleration rate), 또는 완전 제동 백분율일 수 있다. 제어 시스템(111)에서 제어 서브시스템(스티어링 유닛(102), 스로틀(202), 또는 제동(203))으로의 제어 명령 각각은 서브시스템 내의 컨트롤러에 의해 제어 서브시스템에 대한 물리적 작동으로 변환될 수 있다.
제어 시스템(111)으로부터의 수신된 명령의 제어 서브시스템에 의한 물리적 엑추에이션은 즉각적이지 않다. 물리적 엑추에이션에서의 시간 지연은 컨트롤러(111)로부터 명령을 내리는 시간과 서브시스템 컨트롤러가 물리적 엑추에이션을 시작하기 위한 명령을 출력하는 시간 사이의 차이를 나타낸다. 명령의 실행이 서브시스템 컨트롤러에 의해 시작된 후에, 컨트롤러(111)에 의해 지시된 물리적 타겟 엑추에이션을 달성(attain)하기 위해 명령을 실행하는 것에 동적 지연들이 존재한다. 여기에 설명된 시스템들 및 방법들은 서브시스템의 물리적 엑추에이션에서 시간 지연 및 동적 지연들을 특성화하는 서브시스템 컨트롤러 각각에 대한 메트릭들을 결정한다. ADV 컨트롤러에서 서브시스템 컨트롤러로의 예시 명령 및 그 결과적인(resulting) 서브시스템의 엑추에이션 역학 및 시간 지연이 도 3C를 참조하여 이하에서 설명된다.
서브시스템 컨트롤러(들)(205)은 예를 들어, 동적 모델들의 파라미터들에 대해 저장소(storage)(207) 및 동적 지연 모델들(206)을 위한 저장소를 포함할 수 있다.
서브시스템 컨트롤러들(205)은 ADV 컨트롤러(111)와 통합되거나 또는 서드파티(third-party) 독립형(stand-alone) 서브시스템 컨트롤러들로 통합될 수 있다. 실제로, 서브시스템 컨트롤러들은 ADV 제어 시스템이 프로그래밍 인터페이스를 통해 서브시스템 컨트롤러와 통신하는 서드파티 컨트롤러들인 경우가 종종 있고, 그리고 제어 서브시스템에 의해 어떻게 명령이 실행되고 그리고 엑추에이션 되는지에 대한 세부사항은 ADV 컨트롤러 설계자(designer)에게 "블랙 박스"이다. 여기에 설명되는 바와 같이, 서브시스템의 시간 지연 및 엑추에이션 동적 지연들을 식별하는 것은 ADV 컨트롤러 설계자가 시간 지연 및 엑추에이션 동적 지연들이 존재하는 원인 또는 이유를 알 필요없이, 제어 서브시스템들의 시간 지연 및 엑추에이션 동적 지연들을 어카운트(account)하는 향상된 ADV 컨트롤러들 또는 서브시스템 애드온(add-on) 컨트롤러들을 생성할 수 있도록 한다. 제어 서브시스템 시간 지연 및 엑추에이션 동적 지연은 빠른 제동, 가속, 또는 스티어링이 요구되는 주행 시나리오들에서 특히 중요하다. 도 2에서 도시된 구성요소들은 하드웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있음에 유의한다.
도 1을 참고하면, 무선 통신 시스템(112)은 디바이스들, 센서들, 다른 차량들 등과 같이 외부 시스템들 및 자율 주행 차량(101) 사이의 통신을 허용한다. 예를 들어, 무선 통신 시스템(112)은 네트워크(102)를 통해 서버들(103-104) 같은, 통신 네트워크를 통해 또는 직접적으로 하나 이상의 디바이스들과 무선으로 통신할 수 있다. 무선 통신 시스템(112)은 임의의 셀룰러 통신 네트워크(cellular communication network) 또는 무선 근거리 통신망(WLAN)을 사용할 수 있으며, 예를 들어 다른 구성요소 또는 시스템과 통신하기 위해 WiFi를 사용할 수 있다. 무선 통신 시스템(112)은 예를 들어, 적외선 링크, 블루투스 등을 사용하여, 디바이스(예를 들어, 차량(101) 내의 스피커, 디스플레이 디바이스, 승객(passenger)의 모바일 디바이스)와 직접적으로 통신할 수 있다. 사용자 인터페이스 시스템(113)은 예를 들어, 키보드, 터치 스크린 디스플레이 디바이스, 마이크로폰 및 스피커 등을 포함하는 차량(101) 내에 구현된 주변 디바이스들의 일부일 수도 있다.
자율 주행 차량(101)의 기능들 중 일부 또는 전부는 특히, 자율 주행 모드에서 동작할 경우, 인식 및 계획 시스템(110)에 의해 제어 또는 관리될 수도 있다. 인식 및 계획 시스템(110)은 센서 시스템(115), 제어 시스템(111), 무선 통신 시스템(112), 및/또는 사용자 인터페이스 시스템(113)으로부터 정보를 수신하고, 수신한 정보를 처리하고, 출발 포인트(point)에서 도착 포인트까지의 루트(route) 또는 경로를 계획하고, 그리고 계획 및 제어 정보에 기초하여 차량(101)을 운전하기 위해 필요한 소프트웨어(예를 들어, 동작 시스템, 계획 및 라우팅(routing) 프로그램들) 및 하드웨어(예를 들어, 프로세서(processor)(들), 메모리(memory), 저장소(storage))를 포함한다. 대안적으로, 인식 및 계획 시스템(110)은 차량 제어 시스템(111)과 통합될 수도 있다.
예를 들어, 승객으로서 사용자는 예를 들어, 사용자 인터페이스를 통해 이동(trip)의 도착지 및 출발 위치를 지정할 수도 있다. 인식 및 계획 시스템(110)은 이동 관련 데이터를 획득한다. 예를 들어, 인식 및 계획 시스템(110)은 서버들(103-104)의 부분일 수도 있는 MPOI 서버로부터 위치 및 루트 정보를 획득할 수도 있다. 위치 서버는 위치 서비스들을 제공하고, 그리고 MPOI 서버는 지도 서비스들 및 특정 위치들의 POI들을 제공한다. 대안적으로, 이러한 위치 및 MPOI 정보는 인식 및 계획 시스템(110)의 영구 저장 디바이스에 로컬로 캐시(cache)될 수도 있다.
자율 주행 차량(101)이 루트를 따라 이동하는 동안, 인식 및 계획 시스템(110)은 또한 교통 정보 시스템 또는 서버(TIS)로부터 실시간 교통 정보를 획득할 수도 있다. 서버들(103-104)은 서드파티 엔티티(entity)에 의해 동작될 수도 있음에 유의한다. 대안적으로, 서버들(103-104)의 기능들은 인식 및 계획 시스템(110)과 통합될 수도 있다. 센서 시스템(115)에 의해 센싱된 또는 검출된 실시간 로컬 환경 데이터(예를 들어, 장애물(obstacle)들, 객체들, 근처의 차량들) 뿐만 아니라, 위치 정보, MPOI 정보 및 실시간 교통 정보에 기초하여, 인식 및 계획 시스템(110)은 최적의 루트를 계획할 수 있고, 그리고 지정된 도착지로 안전하게 그리고 효율적으로 도달하기 위해 계획된 루트를 따라, 예를 들어, 제어 시스템(111)을 통해, 차량(101)을 운전할 수 있다.
자율 주행 차량(ADV)(101)은 예를 들어, 센서 시스템(115), 제어 시스템(111), 및 인식 및 계획 시스템(110)과 같은 서브시스템들로부터 데이터를 캡처하는 주행 기록들을 로그(log)하고 그리고 생성할 수 있다. 주행 기록들은 데이터 수집기(121)에 의해 저장하기 위해 서버(예를 들어, 서버(103))에 업로드 될 수 있다. 예를 들어, 서버(103) 알고리즘 및 모델들(124)에 저장된 크로스-플랫폼 제어 프로파일링 시스템은 주행을 생성하기 위해 다수(large plurality)의 ADV들 및 시뮬레이션 된 ADV들로부터 주행 기록들을 분석할 수 있다.
서버(103)는 다양한 클라이언트들에 대한 데이터 분석 서비스들을 수행하기 위한 데이터 분석 시스템일 수도 있다. 일 실시예에서, 데이터 분석 시스템(103)은 데이터 수집기(121) 및 머신 러닝 엔진(machine learning engine)(122)을 포함한다. 데이터 수집기(121)는 사람 운전자들에 의해 운전되는 일반 차량들이거나 자율 주행 차량들인, 다양한 차량들로부터 운전 통계(statistic)들(123)을 수집한다. 운전 통계들(123)은 상이한 시점들에서 차량들의 센서들에 의해 캡쳐된 차량들의 응답들(예를 들어, 속도들, 가속도들, 감속도들, 방향들) 및 발행된(issued) 주행 명령들(예를 들어, 스로틀, 제동, 스티어링 명령들)을 나타내는 정보를 포함한다. 운전 통계들(123)은 예를 들어, 루트들(시작 및 도착 위치들을 포함하는), MPOI들, 길 상태들, 날씨 상태들 등과 같이 상이한 시점들에서 운전 환경들을 설명하는 정보들을 더 포함할 수 있다.
운전 통계들(123)에 기초하여, 머신 러닝 엔진(122)은 다양한 목적들을 위해 예측의 모델들(124) 및/또는 알고리즘들, 규칙(rule)들의 세트를 훈련시키거나 또는 생성한다. 일 실시예에서, 알고리즘들(124)은 ADV 주행 데이터 및 시뮬레이션 된 ADV 주행 데이터를 사용하여 ADV의 자율 주행 제어 시스템의 성능을 특성화하는 표준화된 통계들(123) 및 메트릭들의 세트를 생성하는 크로스-플랫폼 제어 프로파일링 시스템을 포함할 수도 있다("크로스-플랫폼"은 실제 및 시뮬레이션 된 ADV 주행 기록들을 의미함). 로우(raw) 주행 데이터 기록들은 지정된 시간 또는 수동으로 ADV에서 데이터 수집기(121)로 업로드 된다. 시뮬레이션 된 ADV 주행 데이터는 또한 데이터 수집기(121)에 업로드 된다. 알고리즘들(124)은 ADV 제어 시스템의 성능을 특성화하는 표준화된 메트릭들의 세트를 생성하는데 사용된다. 메트릭들은 운전 통계들(123)에 저장되고 그리고 설계 엔지니어들과 같은 가입된 사용자들에게 배포된다.
도 3a 및 3b는 일 실시예에 따라 자율 주행 차량과 사용되는 인식 및 계획 시스템의 예시를 도시한 블록 다이어그램들이다. 시스템(300)은 센서 시스템(115), 제어 시스템(111), 및 인식 및 계획 시스템(110)을 포함하지만 이에 제한되지 않는 도 1의 자율 주행 차량(101)의 일부로서 구현될 수도 있다. 도 3a 내지 도 3b를 참고하면, 인식 및 계획 시스템(110)은 로컬화(localization) 모듈(301), 인식 모듈(302), 예측 모듈(303), 결정 모듈(304), 계획 모듈(305), 제어 모듈(306), 라우팅 모듈(307) 및 주행 로거(driving logger)(308)을 포함하지만, 이에 제한되지 않는다.
모듈들(301-308)의 일부 또는 전부는 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수도 있다. 예를 들어, 이러한 모듈들은 하나 이상의 프로세서들(미도시)에 의해 실행되고, 그리고 메모리(351)내에 로드(load)된, 영구 저장 디바이스(352)에 설치될 수도 있다. 이러한 모듈들의 일부 또는 전부는 도 2의 차량 제어 시스템(111)의 모듈들의 일부 또는 전부와 통합되거나 통신 가능하게 연결될 수도 있다. 모듈들(301-308)의 일부는 통합된 모듈로서 함께 통합될 수도 있다.
로컬화 모듈(301)은 자율 주행 차량(300)의 현재 위치를 결정하고(예를 들어, GPS 유닛(212)을 레버리징(leveraging)하여), 그리고 사용자의 루트 또는 이동과 관련된 임의의 데이터를 처리한다. 로컬화 모듈(301)(또한, 지도 및 루트 모듈이라고도 함)은 사용자의 루트 또는 이동과 관련된 임의의 데이터를 처리한다. 사용자는 예를 들어, 사용자 인터페이스를 통해, 이동의 도착지 및 시작 위치를 지정하고 그리고 로그인(log in)할 수도 있다. 로컬화 모듈(301)은 이동 관련 데이터를 획득하기 위해, 지도 및 루트 정보(311)와 같은 자율 주행 차량(300)의 다른 구성 요소들과 통신한다. 예를 들어, 로컬화 모듈(301)은 지도 및 POI (MPOI) 서버 및 위치 서버로부터 위치 및 루트 정보를 획득할 수도 있다. 위치 서버는 위치 서비스들을 제공하고 그리고 MPOI 서버는 지도 및 루트 정보(311)의 일부로서 캐시될 수도 있는 특정 위치들의 POI들 및 지도 서비스들을 제공한다. 자율 주행 차량(300)이 루트를 따라 이동하는 동안, 로컬화 모듈(301)은 또한 교통 정보 시스템 또는 서버로부터 실시간 교통 정보를 획득할 수도 있다.
로컬화 모듈(301)에 의해 획득된 로컬화 정보 및 센서 시스템(115)에 의해 제공된 센서 데이터에 기초하여, 주변 환경의 인식이 인식 모듈(302)에 의해 결정된다. 인식 정보는 운전자가 운전하는 차량 주변에 일반적인 운전자가 어떤 것을 인식하는지를 나타낼 수 있다. 인식은 예를 들어, 객체의 형태를 가지는, 차선(lane) 구성, 신호등 신호들, 또 다른 차량의 상대 위치, 보행자, 건물, 횡단 보도 또는 기타 교통 관련 표지판들(예를 들어, 정지 표지판들, 양보 표지판들) 등을 포함할 수 있다. 차선 구성은 예를 들어, 차선의 형상(예를 들어, 직선 또는 곡률(curvature)), 차선의 폭, 도로에서 차선들의 수, 일방 통행 또는 양방 통행 차선, 차선들 병합 또는 분할, 나가는(exiting) 차선 등과 같이, 차선 또는 차선들을 설명하는 정보를 포함할 수 있다.
인식 모듈(302)은 자율 주행 차량의 환경에서 특징들 및/또는 객체들을 식별하기 위해 하나 이상의 카메라들에 의해 캡쳐된 이미지들을 분석하고 그리고 처리하기 위한 컴퓨터 비전 시스템의 기능들 또는 컴퓨터 비전 시스템을 포함할 수도 있다. 객체들은 장애물들, 보행자들, 다른 차량들, 도로 경계들, 및/또는 교통 신호들을 포함할 수 있다. 컴퓨터 비전 시스템은 객체 인식 알고리즘(object recognition algorithm), 비디오 트랙킹(tracking), 및 다른 컴퓨터 비전 기술들을 사용할 수도 있다. 일부 실시예들에서, 컴퓨터 비전 시스템은 환경을 매핑하고, 객체들을 트래킹하고, 그리고 객체들의 속도 추정 등을 할 수 있다. 인식 모듈(302)은 또한 레이더 및/또는 LIDAR 와 같이 다른 센서들에 의해 제공되는 다른 센서들 데이터에 기초하여 객체들을 검출할 수 있다.
객체들 각각에 대해, 예측 모듈(303)은 상황들에서 객체가 어떻게 행동할지를 예측한다. 예측은 한 세트의 지도/루트 정보(311) 및 교통 규칙들(312)을 고려하여 그 시점에서 운전 환경을 인식하는 인식 데이터에 기초하여 수행된다. 예를 들어, 객체가 반대 방향의 차량이고, 현재 운전 환경이 교차로를 포함하는 경우, 예측 모듈(303)은 차량이 직진 방향으로 진행할 것인지 또는 방향을 틀 것인지를 예측할 것이다. 인식 데이터가 교차로에 신호등이 없음을 나타내는 경우, 예측 모듈(303)은 교차로에 진입하기 전에 차량이 완전히 정지해야 할지도 모른다고 예측할 수도 있다. 인식 데이터가 차량이 현재 좌회전 전용 차선 또는 우회전 전용 차선에 있다고 나타내는 경우, 예측 모듈(303)은 차량이 각각 좌회전 또는 우회전할 가능성이 더 높을 것으로 예측할 수도 있다.
객체들 각각에 대해, 결정 모듈(304)은 객체를 처리하는 방법에 관한 결정을 한다. 예를 들어, 특정 객체(예를 들어, 교차 루트(crossing route) 내의 또 다른 차량) 뿐 아니라 객체를 설명하는 그것의 메타데이터(예를 들어, 속도, 방향, 회전 각도)에 대해 결정 모듈(304)은 객체를 만나는 방법(예를 들어, 추월, 양보, 정지, 통과)을 결정한다. 결정 모듈(304)은 영구 저장 디바이스(352)에 저장될 수 있는, 교통 규칙들 또는 운전 규칙들(312)과 같은 규칙들의 세트에 따라 그러한 결정을 할 수도 있다. 영구 저장소(352)는 ADV 컨트롤러 업데이트들(314)을 위한 저장소를 더 포함할 수도 있다.
ADV 컨트롤러 업데이트들(314)은 도 2를 참조하여 위에서 설명된 하나 이상의 서브시스템 컨트롤러들(205) 및/또는 ADV 컨트롤러(314)에 대한 업데이트들을 포함할 수 있다. ADV 컨트롤러 업데이트들(314)은 예를 들어 서버(103 또는 104)에 의해 다수의 ADV들로부터의 크라우드-소싱된 주행 로그들(313) 주행 기록들을 사용하여 생성될 수 있다. 주행 로그들(313) 주행 기록들은 ADV(101)에서 서버(103 또는 104)로 업로드 될 수 있다. 서버(103 또는 104)는 아래의 도 5, 6, 7a 및 7b를 참조하여 설명된 바와 같이 제어 서브시스템(스로틀, 제동장치들, 스티어링) 각각의 엑추에이션 동적 지연들 및 시간 지연을 식별하기 위해 운전 로그들(313)을 처리할 수 있다.
라우팅 모듈(307)은 출발 포인트에서 도착 포인트까지 하나 이상의 루트들 또는 경로들을 제공하도록 구성된다. 예를 들어, 사용자로부터 수신된, 출발 포인트에서 도착 위치로의 주어진 이동에 대해, 라우팅 모듈(307)은 루트 및 지도 정보(311)를 획득하고, 그리고 출발 위치로부터 도착 위치에 도달하기 위해 모든 가능한 루트들 또는 경로들을 결정한다. 라우팅 모듈(307)은 출발 위치로부터 도착 위치에 도달하기 위해 결정되는 루트들 각각에 대한 지형도(topographic map)의 형태로 기준선(reference line)을 생성할 수도 있다. 기준선은 다른 차량들, 장애물들, 또는 교통 상태와 같이 다른 간섭을 받지 않는 이상적인 루트 또는 경로를 나타낸다. 즉, 도로에 다른 차량, 보행자들, 또는 장애물들이 없는 경우, ADV는 기준선을 따라 정확하게 또는 밀접하게 따라 가야한다. 이후에, 지형도들은 결정 모듈(304) 및/또는 계획 모듈(305)에 제공된다. 결정 모듈(304) 및/또는 계획 모듈(305)은 로컬화 모듈(301)로부터의 교통 상태들, 인식 모듈(302)에 의해 인식된 운전 환경, 및 예측 모듈(303)에 의해 예측된 교통 상태와 같이 다른 모듈들에 의해 제공된 다른 데이터를 고려하여 가장 최적의 루트들 중 하나를 선택하고 수정하기 위해 가능한 루트들 모두를 검사한다. ADV를 제어하기 위한 실제 경로 또는 루트는 그 시점에서의 특정 운전 환경(specific driving environment)에 따라 라우팅 모듈(307)에 의해 제공된 기준선과 상이하거나 근접할 수도 있다.
인식된 객체들 각각에 대한 결정에 기초하여, 계획 모듈(305)은 기본적으로 라우팅 모듈(307)에 의해 제공된 기준선을 사용하여, 운전 파라미터들(예를 들어, 거리, 속도, 및/또는 회전 각도) 뿐 아니라, 자율 주행 차량에 대한 루트 또는 경로를 계획한다. 즉, 주어진 객체에 대해, 계획 모듈(305)은 어떻게 할지를 결정하는 반면, 결정 모듈(304)은 객체와 무엇을 할지 결정한다. 예를 들어, 주어진 객체에 대해, 계획 모듈(305)은 객체의 좌측 또는 우측 중 어디를 통과할지를 결정할 수도 있는 반면, 결정 모듈(304)은 객체를 통과하기로 결정할 수도 있다. 계획 및 제어 데이터는 계획 모듈(305)에 의해 생성되며, 차량(300)이 다음 이동 사이클(cycle)(예를 들어, 다음 루트/경로 세그먼트(segment))에서 어떻게 이동할지를 설명하는 정보를 포함한다. 예를 들어, 계획 및 제어 데이터는 차량(300)에게 시간당 30마일(mph)의 속도로 10미터 이동하고, 다음에 25mph의 속도로 우측 차선으로 바꾸도록 지시할 수도 있다.
계획 및 제어 데이터에 기초하여, 제어 모듈(306)은 계획 및 제어 데이터에 의해 정의된 루트 또는 경로에 따라, 차량 제어 시스템(111)에 적절한 명령들 또는 신호들을 전송함으로써, 자율 주행 차량을 제어하고 그리고 운전한다. 계획 및 제어 데이터는 경로 또는 루트를 따라 상이한 시점에서 운전 파라미터들(예를 들어, 스로틀, 제동, 스티어링 명령들) 또는 적절한 차량 설정들을 사용하여 루트 또는 경로의 제 1 포인트에서 제 2 포인트로 차량을 운전하기에 충분한 정보를 포함한다.
일 실시예에서, 계획 단계(phase)는 예를 들어, 100밀리초(ms)의 모든 시간 간격에서와 같은, 운전 사이클들이라고도 하는, 다수의 계획 사이클들에서 수행된다. 계획 사이클들 또는 운전 사이클들 각각에 대해 계획 및 제어 데이터에 기초하여 하나 이상의 제어 명령들이 발행된다. 즉, 모든 100ms 동안, 계획 모듈(305)은 예를 들어, ADV가 타겟 위치(target position)에 도달하는데 필요한 시간 및 타겟 위치를 포함하여 다음 루트 세그먼트 또는 경로 세그먼트를 계획한다. 대안적으로, 계획 모듈(305)은 추가적으로 특정 속도(specific speed), 방향 및/또는 스티어링 각도 등을 지정할 수도 있다. 일 실시예에서, 계획 모듈(305)은 5초와 같이 다음 사전 결정된 기간의 시간동안 경로 세그먼트 또는 루트 세그먼트를 계획한다. 계획 사이클 각각에 대해, 계획 모듈(305)은 이전 사이클에서 계획된 타겟 위치에 기초하여 현재 사이클(예를 들어, 다음 5초)에 대한 타겟 위치를 계획한다. 이후에, 제어 모듈(306)은 현재 사이클의 계획 및 제어 데이터에 기초하여 하나 이상의 제어 명령들(예를 들어, 스로틀, 제동, 스티어링 제어 명령들)을 생성한다.
결정 모듈(304) 및 계획 모듈(305)은 통합 모듈로서 통합될 수도 있음에 유의한다. 결정 모듈(304)/계획 모듈(305)은 자율 주행 차량의 주행 경로를 결정하기 위해 내비게이션(navigation) 시스템 또는 내비게이션 시스템의 기능들을 포함할 수도 있다. 예를 들어, 내비게이션 시스템은 일반적으로 최종 도착지로 향하는 도로 기반 경로를 따라 자율 주행 차량을 전진시키는 동안에 인식된 장애물들을 실질적으로 피하도록 경로를 따라 자율 주행 차량의 이동에 영향을 미치는 일련의 속도들 및 방향성 있는 방향(directional heading)들을 결정할 수도 있다. 도착지는 사용자 인터페이스 시스템(113)을 통한 사용자 입력들에 따라 설정(set)될 수도 있다. 내비게이션 시스템은 자율 주행 차량이 동작하는 동안 주행 경로를 동적으로 업데이트(update)할 수도 있다. 내비게이션 시스템은 자율 주행 차량에 대한 주행 경로를 결정하기 위해 하나 이상의 지도들 및 GPS 시스템으로부터의 데이터를 통합할 수 있다.
주행 로거(308)는 ADV 제어 시스템의 적어도 3개의 데이터 채널들: 제어 채널, 섀시(chassis) 채널 및 로컬화 채널로부터의 주행 기록들을 기록한다. 제어 채널은 제동, 스로틀 및 스티어링과 같은 ADV 제어 시스템들의 제어 명령들에 대한 정보를 생성한다. 섀시 채널은 실제 위치들 또는 제동, 스로틀 및 스티어링 시스템들의 엑추에이션들을 판독한 것(reading)들 및 다양한 센서들(가속도계들과 같은)로부터 정보를 생성한다. 로컬화 채널은 고해상도(HD) 지도 또는 GPS(global positioning satellite) 시스템과 같은 표준 참조를 참조하여 ADV의 실제 위치 및 방향에 대한 정보를 생성한다. 데이터 기록은 초당 약 100프레임(fps) 또는 프레임당 약 10밀리초(ms)로 기록될 수 있다. 운전 기록 각각에는 타임스탬프(timestamp)가 있다. 타임스탬프는 주행 루트의 시작과 같은 시작 시간에 상대적인 hh:mm:ss:ms(시간:분:초:밀리초) 형식의 절대적인 타임스탬프일 수 있다. 실시예에서, 타임스탬프는 주행 루트의 시작과 같은 시작 시간에 상대적인 프레임 번호일 수 있다. 일 실시예에서, 운전 기록 각각은 타임스탬프 이외에 날짜 스탬프를 추가적으로 가질 수 있다. 데이터 로거(308)는 시뮬레이션 된 ADV 주행 세션들뿐만 아니라 실제 ADV 주행 세션들에 대한 주행 기록들을 로그할 수 있다.
데이터 로거(308)는 주행 로그들 저장소(313)와 같은 비 휘발성 저장소에 주행 기록들을 기록할 수 있다. 주행 로그들(313)은 ADV 컨트롤러의 성능을 등급화(grade)하는 표준화된 성능 메트릭들의 세트를 생성하기 위해 서버 시스템(예를 들어, 서버(들)(103-104))에 업로드 될 수 있다. ADV의 컨트롤러는 메트릭들의 표준화된 세트를 사용하여 업데이트 될 수 있고, 그리고 ADV의 업데이트 된 컨트롤러는 비 휘발성 저장소(314) 내에 저장될 수 있다.
도 3b에 도시된 바와 같이, 데이터 로거(308)는 또한 계획 모듈로부터 주행 기록들을 수신할 수 있다. 계획 모듈 주행 기록들은 ADV 컨트롤러의 성능을 등급화 하기 위해 계획된 주행 조건들과 실제(또는 시뮬레이션 된) 주행 조건들을 비교하는데 사용될 수 있다.
도 3c는 일 실시예에 따라 예시적인 ADV 제어 명령 및 제어 명령에 대한 자율 주행 차량 제어 서브시스템 엑추에이션 작동 응답을 도시한다. 가상의(hypothetical) 예시적 제어 명령(350)이 단계 함수로서 도시된다. 실제로, 제어 입력들은 단계 함수들이 아니다. 하지만, 제어 입력은 여기서 설명할 개념들을 잘 도시한다. 제어 명령(350)은 시간-지연(355)을 가진다. 시간-지연은 ADV 제어 서브시스템(예를 들어, 스로틀, 스티어링, 제동 장치들)에 제공된 ADV 제어 시스템(111)에 의해 제공된 제어 입력과, 제어 입력에 대한 응답으로 제어 서브시스템의 엑추에이션 시작 사이의 시간이다.
제어 명령(350)은 서브시스템 엑추에이션(352)으로 전달되기 전에 로우-패스 필터(351)를 통해 패스될 수 있다. ADV는 "드라이브-바이 와이어"로서, 제어 서브시스템 엑추에이션이 제어 명령의 전송을 통해 이루어짐을 의미한다. 실제로, 제어 서브시스템 엑추에이터들은 ADV 또는 ADV 컨트롤러의 설계자와는 상이한 서드파티들로 인해 종종 제공된다. 이에 따라, ADV 또는 ADV 컨트롤러의 설계자는 오버슈트(357) 및 상승 시간(356)과 같은 엑추에이션 지연들이 존재함을 인지하고 있으며, ADV 또는 ADV 컨트롤러의 설계자는 엑추에이션 지연들의 정확한 소스들을 알지 못한다. ADV 설계자 또는 ADV 컨트롤러 설계자에게 제어 서브시스템 엑추에이터는 입력 제어 명령들과 관련하여 엑추에이션 지연들을 가지는 그저 "블랙 박스"일 뿐이다. ADV 설계자 및 ADV컨트롤러 설계자가 개선된 ADV 컨트롤러들 및/또는 개선된 서브시스템 컨트롤러 애드온에서 엑추에이션 지연들 및 시간-지연을 어카운트할 수 있도록, 여기서 설명되는 시스템들 및 방법들이 엑추에이션 지연들 및 시간-지연을 식별하고 그리고 정량화(quantify)할 수 있다.
도 3d는 일실시예에 따르면, 자율 주행 차량에 사용되는 스티어링 제어 서브시스템 및 동적 소스들을 도시한다.
스티어링 제어 서브시스템(360)은 ADV(101)의 예시적 제어 서브시스템이다. ADV들에서 스티어링 서브시스템은 일반적으로 제어 명령(예를 들어, 제어 명령(350))을 수신하는 "유선 주행(drive by wire)" 시스템들이고, 그리고 물리적 및 전기적 수단들을 통해 제어 명령을 실행한다. 스티어링 제어 서브시스템(360)은 벨트 드라이브(361), 핸드휠(handwheel) 피드백 모터(363), 핸드휠 각도 센서(362), 스티어링 엑추에이터(364), 피니언(pinion) 각도 센서 및 타이어들을 포함할 수 있다. 예를 들어, 타이어들과 같은 스티어링 엑추에이터(364)는 엑추에이션 동적 지연의 소스들을 도입할 수도 있다.
도 4는 일 실시예에 따른 자율 주행을 위한 시스템 아키텍처를 도시하는 블록 다이어그램이다. 시스템 아키텍처(400)는 도 3a 및 도 3b에 도시된 바와 같이 자율 주행 시스템의 시스템 아키텍처를 나타낼 수도 있다. 도 4를 참조하면, 시스템 아키텍처(400)는 애플리케이션 레이어(layer)(401), 계획 및 제어(PNC) 레이어(402), 인식 레이어(403), 드라이버 레이어(404), 펌웨어(firmware) 레이어(405), 및 하드웨어 레이어(406)를 포함할 수 있지만 이에 제한되지 않는다. 애플리케이션 레이어(401)는 예를 들어, 사용자 인터페이스 시스템(113)과 관련된 기능들과 같은 자율 주행 사량의 사용자들 및 승객들과 상호작용하는 구성 애플리케이션 또는 사용자 인터페이스를 포함할 수도 있다. PNC 레이어(402)는 적어도 계획 모듈(305) 및 제어 모듈(306)의 기능들을 포함할 수도 있다. 인식 레이어(403)는 적어도 인식 모듈(302)의 기능들을 포함할 수도 있다. 일 실시예에서, 예측 모듈(303) 및/또는 결정 모듈(304)의 기능들을 포함하는 추가 레이어가 존재한다. 대안적으로, 이러한 기능들은 PNC 레이어(402) 및/또는 인식 레이어(403)에 포함될 수도 있다. 시스템 아키텍처(400)는 드라이버 레이어(404), 펌웨어 레이어(405) 및 하드웨어 레이어(406)를 더 포함한다. 펌웨어 레이어(405)는 적어도 FPGA(field programmable gate array)의 형태로 구현될 수도 있는 센서 시스템(115)의 기능을 나타낼 수도 있다. 하드웨어 레이어(406)는 제어 시스템(111)과 같은 자율 주행 차량의 하드웨어를 나타낼 수도 있다. 레이어들(401-403)은 디바이스 드라이버 레이어(404)를 통해 하드웨어 레이어(406) 및 펌웨어 레이어(405)와 통신할 수 있다.
도 5는 일 실시예에 따라 자율 주행 차량 컨트롤러를 개선하는데 사용하기 위해 자율 주행 차량의 제어 서브시스템들의 엑추에이션 동적 지연을 설명하는 메트릭들을 추정하는 동적 파라메트릭(parametric) 추정 시스템(500) 및 방법을 도시하는 블록 다이어그램들이다. 제어 서브시스템들은 자율 주행 차량(ADV)의 제동, 스로틀링 및 스티어링 시스템들을 포함할 수 있다. 시스템 및 방법(500)의 목적(object)는 제어 서브시스템(예를 들어, 스로틀링, 제동 및 스티어링)의 엑추에이션에서 동적 지연들을 설명하는 복수의 메트릭들을 결정하는 것이다. 연속-시간 동적 시스템에 대한 시간 도메인(domain)에서, 메트릭들은 시간-지연
Figure pat00004
, 상승 시간
Figure pat00005
, 정착 시간
Figure pat00006
및 오버슈트
Figure pat00007
를 포함할 수 있다. 연속-시간 동적 시스템에 대한 진동수(frequency) 도메인에서 메트릭들은 서브시스템의 컨트롤러의 동적 대역폭
Figure pat00008
및 공진 피크
Figure pat00009
를 포함할 수 있다. 메트릭들은 ADV 컨트롤러 또는 AD 제어 서브시스템 컨트롤러를 생성하거나 또는 존재하는 ADV 컨트롤러 또는 ADV 제어 서브시스템 컨트롤러를 개선하는데 사용된다. 방법 및 시스템은 복수의 제어 서브시스템들(예를 들어, 스로틀링, 제동 및 스티어링) 각각에 대해 ADV의 제어 서브시스템에 기인하는 엑추에이션 지연 및 시간-지연을 모델링하는 동적 모델을 생성하는 것을 포함할 수 있다. 동적 모델은 동적 모델에 적용되는 경우, 동적 모델에 의해 설명된 제어 서브시스템에서 엑추에이션 지연들 및 시간-지연의 최상의 추정치를 제공하는 복수의 파라미터들을 가진다. 일 실시예에서, 제동/스로틀 엑추에이션 동적 모델에 대한 파라미터들은 스티어링 엑추에이션 동적 모델의 파라미터들과 상이하다.
동작(501)에서 스로틀/제동 및 스티어링을 위한 차량 엑추에이션 동적 모델들은 다음과 같이 표현되며, 엑추에이션 동적 모델들 각각은 4개의 파라미터들
Figure pat00010
Figure pat00011
을 가진다. 스로틀/제동을 위한 엑추에이션 동적 모델에 대한 파라미터들은 스티어링을 위한 엑추에이션 동적 모델에 대한 파라미터들과 상이할 수 있다.
진동수 도메인에서 종 방향(longitudinal) 스로틀링/제동 2차 이산-시간 역학(dynamics) 모델은 다음과 같이 표현될 수 있다:
Figure pat00012
Figure pat00013
는 ADV 컨트롤러에서 원하는 가속 또는 감속 명령이고,
Figure pat00014
는 스로틀 및/또는 제동 제어 서브시스템에서 측정된 가속 또는 감속이고, 그리고
Figure pat00015
Figure pat00016
는 2차 동적 모델의 파라미터들이다.
진동수 도메인에서 측면(Lateral) 스티어링 2차 이산-시간 역학 모델은 다음과 같이 표현될 수 있다:
Figure pat00017
Figure pat00018
는 ADV 컨트롤러에서 원하는 스티어링 각도이고,
Figure pat00019
는 섀시 채널에서 측정된 피드백 스티어링 각도이고, 그리고
Figure pat00020
Figure pat00021
는 2차 동적 모델의 파라미터들이다.
동작(502)에서 동적 파라미터들 추정 기호(symbol)들이 공식화된다.
스로틀 제어 서브시스템을 예로서 사용하여 다음을 가정한다:
(1) 스로틀 제어 서브시스템 출력
Figure pat00022
,
(2) 스로틀 제어 서브시스템 입력
Figure pat00023
, 그리고
(3) 시스템 오류(error)
Figure pat00024
Figure pat00025
.
동적 모델들(예를 들어, 스로틀/제동 서브시스템 엑추에이션 동적 모델)의 객체들은 다음과 같다:
(1) 최소 제곱 형식에서 시스템 오류
Figure pat00026
를 가장 작게 만드는 동적 파라미터들 세트
Figure pat00027
를 추정하고; 그리고
(2) 파라미터들 세트
Figure pat00028
에 기초하여, 스로틀/제동 서브시스템의 공진 피크
Figure pat00029
및 스로틀/제동 서브시스템의 대역폭
Figure pat00030
을 추산한다.
동작 (503)에서, 제어 서브시스템(예를 들어, 스로틀링, 제동 및 스티어링) 입력-출력 관계에 대한 시간-지연 효과가 엑추에이션 역학 모델 파라미터 추정기에 도입된다. 예를 들어, 스로틀링
Figure pat00031
에 대해 스로틀링 시간-지연의 존재 때문에, 원래의 시스템 출력
Figure pat00032
은 시간-보상 시스템 출력
Figure pat00033
으로 대체된다.
동작 (504)에서, 하나의 제어 서브시스템(예를 들어, 스로틀링, 제동 또는 스티어링)에 대한 동적 모델 파라미터 추정기 설계 및 솔루션이 설명된다. 예를 들어, @-커브에 대한 총 데이터 프레임들 수는 N인, ADV에 의한 S-커브 내비게이션과 같은 단일 운전 시나리오를 가정한다. 엑추에이션 동적 모델 파라미터들의 최상의 추정치는 다음과 같이 얻어진다:
Figure pat00034
존재하는 저장된 크라우드 소싱된 주행 데이터로부터 길이 N을 가지는 출력들 및 입력들 세트는
Figure pat00035
이다.
추정 매트릭스는 다음의 출력 매트릭스
Figure pat00036
으로서 정의될 수 있다:
Figure pat00037
오류 매트릭스
Figure pat00038
는 다음과 같이 정의될 수 있다:
Figure pat00039
.
자동-회귀 이동 평균(auto-regressive moving average, ARMA) 모델의 상태 매트릭스
Figure pat00040
는 다음과 같이 정의될 수 있다:
Figure pat00041
Figure pat00042
는 4개의 열들 및 N-2+1개의 행들이 있는 매트릭스고, 그리고
Figure pat00043
위의 용어들을 사용하여 확장된 동적 시스템은 다음과 같이 재작성될 수 있다:
Figure pat00044
최소 제곱법을 사용하여, 동적 파라미터의 최상의 추정치는
Figure pat00045
로 표현될 수 있다.
동작 (505)에서, 원래 이산-시간 동적 모델(제어 서브시스템 각각에 대해 하나씩)은 연속-시간 시스템으로 변환될 수 있다. z-도메인 내에서 스로틀/제동 제어 서브시스템에 대해 상기 동작 (504)에서 획득된
Figure pat00046
Figure pat00047
을 사용하면:
(1)
Figure pat00048
Figure pat00049
는 ADV 컨트롤러에서 원하는 가속 또는 감속 명령이고,
Figure pat00050
는 스로틀 및/또는 제동 제어 서브시스템에서 측정된 가속 또는 감속이고, 그리고,
Figure pat00051
Figure pat00052
는 2차 동적 모델의 파라미터들이다.
Tustin 추정 방법(Tustin Estimation method)(당 업계에 공지됨)을 사용하면,
Figure pat00053
이 방정식을 위의 z-도메인 역학 모델 (1)로 대체하면, 연속-시간 동적 모델(s-도메인)은 다음과 같다:
(2)
Figure pat00054
.
도 6은 제어 서브시스템(예를 들어, 스로틀, 제동 또는 스티어링)의 엑추에이터에서 동적 지연 및 시간-지연을 식별하는 방법(600)을 도시한다. 제어 서브시스템에서 동적 지연을 식별하는 것은 ADV의 제어 서브시스템을 엑추에이팅 하는 경우, 동적 지연 및 시간-지연을 어카운트 하도록 추가 서브시스템-지정 컨트롤러 개발 또는 ADV 컨트롤러의 확장이 가능하게 할 수 있다. 추가적인 서브시스템-지정 컨트롤러 또는 확장된 ADV 컨트롤러는 제어 서브시스템의 2차 엑추에이션 역학을 어카운트 함으로써 ADV의 계획된 궤적을 보다 정확하고 원활하게(smoothly) 준수(adhere)할 수 있다.
동작 (601)에서 하나 이상의 자율 주행 차량(ADV) 제어 서브시스템들(예를 들어, 스로틀, 제동, 스티어링) 각각에 대해 진동수 도메인에서 복수의 파라미터들을 가지는 이산-시간 동적 모델이 생성된다. 진동수 도메인에서 이산-시간 동적 모델들을 생성하는 것은 도 5를 참조하여 위에서 자세히 설명된다.
동작 (602)에서, 식별된 주행 시나리오에 대한 크라우드-소싱된 ADV 주행 데이터를 사용하여 동적 모델에 대한 복수의 파라미터들을 추정하는 추정기가 생성된다. 이후에, 추정기 및 크라우드-소싱된 ADV 주행 데이터를 사용하여 복수의 파라미터들이 추정된다.
동작 (603)에서, 추정된 파라미터들 및 크라우드-소싱된 데이터를 가지는 동적 모델을 사용하여, ADV 제어 서브시스템의 대역폭 및 공진 피크를 나타내는 메트릭들이 결정된다.
동작 (604)에서, 동적 모델은 이산-시간 시스템에서 연속-시간 시스템으로 변환된다. 연속-시간 시스템에서, 연속-시간 동적 모델을 사용하여 ADV 제어 서브시스템에 대한 상승 시간, 오버슈트 및 정착 시간을 나타내는 메트릭들이 결정된다.
동작 (605)에서 서브시스템 컨트롤러 로직(logic)은 하나 이상의 ADV들에 분배되며, 로직은 상기 메트릭들의 적어도 일부분에 기초하여, 서브시스템 엑추에이터 동적 지연 및 시간-지연을 어카운트 한다. 이후에, 하나 이상의 ADV들은 서브시스템 컨트롤러 로직을 사용하여 내비게이션 된다. 일 실시예에서, 서브시스템 컨트롤러 로직은 ADV 컨트롤러에 부가되고 그리고 인터페이스하는 별도의 컨트롤러에 구현된다.
도 7a 및 7b는 일 실시예에 따라 자율 주행 차량 제어 서브시스템에서 엑추에이션 동적 지연들 및 시간-지연을 식별하는 방법(700)을 도시하는 블록 다이어그램들이다. 제어 서브시스템에서 동적 지연을 식별하는 것은 ADV의 제어 서브시스템을 엑추에이팅 하는 경우, 동적 지연 및 시간-지연을 어카운트하여 추가 서브시스템-지정 컨트롤러를 개발 또는 ADV 컨트롤러 확장을 가능하게 할 수 있다. 추가적인 서브시스템-지정 컨트롤러 또는 확장된 ADV 컨트롤러는 제어 서브시스템의 2차 엑추에이션 역학을 어카운트 함으로써 ADV의 계획된 궤적을 보다 정확하고 원활하게 준수할 수 있다.
이제 도 7a를 참조하면, 동작 (701)에서, 시스템은 다수의 ADV 주행 기록들에서 주행기록들을 추출한다. 일 실시예에서, 주행 기록들은 지정된 시험 주행 시나리오들에 의해 생성된 주행 데이터와 반대로 범용(general-purpose) 주행 기록들의 데이터베이스로부터 추출된다. 지정된 ADV 유형(예를 들어, Toyota Prius, mini-van, Honda Accord등), 지정된 ADV 컨트롤러 유형(모델 예측 컨트롤러(Model Predictive Controller)들, 선형 구정 조정기(Linear Quadrature Regulator)) 또는 지정된 주행 시나리오의 임의 또는 전부에 대해 주행 기록들이 선택될 수 있다.
동작 (702)에서, 하나 이상 자율 주행 차량(ADV) 제어 서브시스템들(예를 들어, 스로틀, 제동, 스티어링) 각각에 대해, 진동수 도메인 내에서 복수의 파라미터들을 가진 이산-시간 동적 모델이 생성된다. 진동수 도메인에서 이산-시간 동적 모델들을 생성하는 것은 도 6를 참조하여 위에서 자세히 설명된다.
동작 (703)에서, 진동수 도메인 내에서 이산-시간 동적 모델에 시간-지연 기한이 도입될 수 있다. 시간-지연 기한은 ADV 제어 시스템에서 ADV 제어 서브시스템(예를 들어, 스로틀, 스티어링, 제동 장치들)에 제공된 제어 입력과 제어 입력에 대한 응답으로 제어 서브시스템의 엑추에이션 시작 사이의 관계를 어카운트 한다.
동작 (704)에서, 식별된 주행 시나리오에 대한 크라우드-소싱된 ADV 주행 데이터를 사용하여 동적 모델에 대한 복수의 파라미터들을 추정하는 추정기가 생성된다. 이후에 추정기 및 크라우드-소싱된 ADV 주행 데이터를 사용하여 복수의 파라미터들이 추정된다.
동작 (705)에서, ADV 제어 서브시스템의 동작의 대역폭 및 공진 피크를 나타내는 메트릭들은 추정된 파라미터들 및 크라우드-소싱된 데이터를 가지는 이산-시간 동적 모델을 사용하여 추정된다.
이제 도 7b를 참조하여, 동작 (706)에서, 고유 진동수 및 댐핑비(damping ratio)는 이산-시간 동적 모델 및 추정된 파라미터들을 사용하여 결정된다.
동작 (707)에서, 동적 모델은 이산-시간 시스템에서 연속-시간 시스템으로 변환된다. 연속-시간 시스템에서 연속-시간 동적 모델을 사용하여 ADV 제어 서브시스템에 대한 상승 시간, 오버슈트 및 정착 시간을 나타내는 메트릭들이 결정된다.
동작 (708)에서, 서브시스템 컨트롤러 로직은 하나 이상의 ADV들에 분배되며, 로직은 상기 메트릭들의 적어도 일부분에 기초하여, 서브시스템 엑추에이터 동적 지연 및 시간-지연을 어카운트 한다. 이후에 하나 이상의 ADV들이 서브시스템 컨트롤러 로직을 사용하여 내비게이트 된다. 일 실시예에서, 서브시스템 컨트롤러 로직은 ADV 컨트롤러에 추가되고 그리고 인터페이스 하는 별도의 컨트롤러로 구현된다. 방법(700)이 종료된다.
상기 도시되고 설명된 바와 같은 구성 요소들 중 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있음에 유의한다. 예를 들어, 이러한 구성 요소들은 프로세서(미도시)에 의해 메모리에 로드 및 실행되어 본 출원 전체에 기술된 프로세스들 또는 동작들을 수행할 수 있는 영구 저장 디바이스에 설치 및 저장되는 소프트웨어로서 구현될 수 있다. 대안적으로, 이러한 구성 요소들은 집적 회로(예를 들어, 애플리케이션 특정 IC 또는 ASIC), 디지털 신호 프로세서(digital signal processor, DSP), 또는 필드 프로그래머블 게이트 어레이(field programmable gate array, FPGA)와 같이, 애플리케이션으로부터 대응하는 드라이버 및/또는 운영 체제(operating system)를 통해 접근(assess)될 수 있는 전용 하드웨어에 프로그래밍 되거나, 임베디드(embedded) 실행 코드(code)로서 구현될 수 있다. 또한, 이러한 구성 요소들은 하나 이상의 특정 명령들을 통해 소프트웨어 구성요소에 의해 접근 가능한(accessible) 명령 세트의 일부로서 프로세서 코어 또는 프로세서에서 특정 하드웨어 로직으로서 구현될 수 있다.
전술한 상세한 설명들의 몇몇 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 동작들의 알고리즘 및 상징적 표시들의 관점에서 제시되고 있다. 이러한 알고리즘적 설명들 및 표시들은 데이터 처리 분야의 당업자들이 그들의 작업 내용을 다른 당업자들에게 가장 효과적으로 전달하기 위해 사용되는 방식들이다. 여기서, 알고리즘은 일반적으로, 원하는 결과를 도출하는 일관된 동작들의 시퀀스인 것으로 생각될 수 있다. 동작들은 이러한 물리적 수량들의 물리적 조작들이 요구된다.
그러나, 이들 및 유사한 용어들은 모두 적절한 물리적 수량들과 관련되어야 하며, 이들 수량들에 적용되는 단지 편리한 레이블들일 뿐임을 명심해야 한다. 상기 논의로부터 명백하게 달리 구체적으로 언급되지 않는 한, 설명 전반에 걸쳐, 아래의 청구 범위들에 제시된 것과 같은 용어들을 이용하는 논의들은, 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적(전기적) 수량들로 표시된 데이터를 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 그러한 정보 저장, 전송 또는 디스플레이 디바이스들 내의 물리적 수량들로 유사하게 표시되는 다른 데이터로 조작 및 변환하는, 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 작동 및 프로세스들을 의미하는 것으로 이해된다.
본 개시의 실시예들은 또한 본 명세서의 동작들을 수행하기 위한 장치에 관한 것이다. 그러한 컴퓨터 프로그램은 비 일시적 컴퓨터 판독 가능 매체에 저장된다. 기기-판독 가능 매체는 기기(예를 들어, 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 예를 들어, 기기-판독 가능(예를 들어, 컴퓨터-판독 가능) 매체는 기기(예를 들어, 컴퓨터) 판독 가능 저장 매체(예를 들어, 읽기 전용 메모리(read only memory, "ROM"), 랜덤 액세스 메모리(random access memory, "RAM"), 자기 디스크 저장 매체, 과학 저장 매체, 플래시 메모리 디바이스들)를 포함한다.
전술한 도면들에 도시된 프로세스들 또는 방법들은 하드웨어(예를 들어, 회로, 전용 로직 등), 소프트웨어 (예를 들어, 비 일시적 컴퓨터 판독 가능 매체에 구현되는) 또는 이들의 조합을 포함하는 처리 로직에 의해 수행될 수도 있다. 프로세스들 또는 방법들이 몇몇 순차적 동작들과 관련하여 위에서 설명되었음에도, 설명된 동작들 중 몇몇은 다른 순서로 수행될 수도 있음을 이해해야 한다. 또한, 몇몇 동작들은 순차적이 아닌 병렬로 수행될 수도 있다.
본 개시의 실시예들은 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 다양한 프로그래밍 언어들이 본 명세서에 설명된 바와 같은 개시 내용의 실시예들의 교시(teaching)들을 구현하기 위해 사용될 수도 있음을 이해될 것이다.
전술한 명세서에서, 본 개시의 실시예들은 특정 예시적인 실시예들을 참고하여 설명되었다. 다음의 청구 범위들에 기재된 본 개시의 더 넓은 사상 및 범위를 벗어나지 않고 다양한 변형들이 이루어질 수 있음이 명백할 것이다. 따라서, 명세서 및 도면들은 제한적인 의미보다는 예시적인 의미로 간주되어야 한다.

Claims (21)

  1. 자율주행차량(autonomous driving vehicle, ADV) 제어 시스템을 개선하는 컴퓨터-구현된 방법으로서, 상기 방법은:
    하나 이상의 ADV 제어 서브시스템(subsystem)들 각각에 대해서, 복수의 파라미터(parameter)들을 가지는 이산-시간 동적 모델(discrete-time dynamic model) 을 생성하는 단계 - 상기 이산-시간 동적 모델은 상기 ADV 제어 서브시스템의 엑추에이션 지연(actuation delay)을 특성화(characterizing)함 -;
    사전결정된 주행 시나리오(driving scenario)에 대한 크라우드-소싱된(crowd-sourced) ADV 주행 데이터를 사용하여 상기 이산-시간 동적 모델에 대한 상기 복수의 파라미터들 각각을 추정하는(estimate) 단계;
    상기 추정된 파라미터들과 상기 이산-시간 동적 모델을 사용하여 상기 ADV 제어 서브시스템의 대역폭 메트릭(bandwidth metric)을 결정하는 단계; 및
    상기 이산-시간 동적 모델을 연속-시간(continuous-time) 동적 모델로 변환하고 그리고 상기 연속-시간 동적 모델을 사용하여 상승 시간(rise time) 메트릭 및 오버슈트(overshoot) 메트릭을 결정하는 단계;
    를 포함하고, 그리고
    상기 대역폭 메트릭, 상기 상승 시간 메트릭 및 상기 오버슈트 메트릭은 ADV 자율주행을 위한 상기 엑추에이션 지연을 보상하기 위해 ADV 서브시스템 컨트롤러(controller)에 의해 사용되는,
    컴퓨터-구현된 방법.
  2. 제1항에 있어서,
    상기 이산-시간 동적 모델을 이용하여 상기 ADV 제어 서브시스템의 공진 피크(resonant peak) 메트릭을 결정하는 단계;
    를 더 포함하고, 그리고
    상기 공진 피크 메트릭은 상기 엑추에이션 지연을 보상하기 위해 상기 ADV 서브시스템 컨트롤러에 의해 이용(utilize)되는,
    컴퓨터-구현된 방법.
  3. 제1항에 있어서,
    상기 연속-시간 동적 모델을 사용하여 상기 ADV 제어 서브시스템에 대한 정착 시간(settling time) 메트릭을 결정하는 단계;
    를 더 포함하고, 그리고
    상기 정착 시간 메트릭은 상기 엑추에이션 지연을 보상하기 위해 상기 ADV 서브시스템 컨트롤러에 의해 이용되는,
    컴퓨터-구현된 방법.
  4. 제1항에 있어서,
    상기 엑추에이션 지연은 상기 제어 서브시스템에 의해 수신된 제어 명령의 초기 실행 시간과 상기 제어 명령의 상기 초기 실행에 대한 응답으로 상기 서브시스템의 측정된 엑추에이션의 시간 사이의 차이를 나타내는(represent),
    컴퓨터-구현된 방법.
  5. 제1항에 있어서,
    상기 하나 이상의 ADV 제어 서브시스템들은,
    스로틀(throttle) 제어 서브시스템, 제동(braking) 제어 서브시스템, 또는 스티어링(steering) 제어 서브시스템 중 하나 이상을 포함하는,
    컴퓨터-구현된 방법.
  6. 제1항에 있어서,
    상기 크라우드-소싱된 ADV 주행 데이터는,
    지정된(specified) ADV 타입(type), 지정된 ADV 컨트롤러 타입, 또는 하나 이상의 지정된 ADV 서브시스템 컨트롤러 타입들 중 하나 이상에 따라 선택되는,
    컴퓨터-구현된 방법.
  7. 제1항에 있어서,
    상기 서브시스템에 대한 상기 이산-시간 동적 모델은,
    Figure pat00055
    의 형태의 2차 동적 모델이고, 그리고
    상기 복수의 파라미터들은
    Figure pat00056
    Figure pat00057
    인,
    컴퓨터-구현된 방법.
  8. 제1항에 있어서,
    상기 이산-시간 동적 모델을 생성하는 단계는,
    상기 서브시스템에 대한 시간-지연 기한(time-latency term)을 도입하는 단계;
    를 더 포함하고, 상기 시간-지연 기한은 ADV 컨트롤러에 의한 명령의 전송과 상기 ADV 서브시스템 컨트롤러에 의한 상기 명령의 초기 실행 사이의 시간을 나타내는,
    컴퓨터-구현된 방법.
  9. 제1항에 있어서,
    상기 복수의 파라미터들을 추정하는 단계는,
    상기 서브시스템에 대한 상기 이산-시간 동적 모델의 상기 파라미터들을 결정하기 위해 상기 크라우드-소싱된 ADV 주행 데이터의 최소 제곱법(least-squares fit)을 수행하는 단계;
    를 포함하는,
    컴퓨터-구현된 방법.
  10. 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금 자율주행 차량(ADV) 제어 시스템을 개선하는 동작들을 수행하도록 하는 명령들이 저장된 비-일시적 기기-판독 가능 매체로서, 상기 동작들은:
    하나 이상의 ADV 제어 서브시스템들 각각에 대해서, 복수의 파라미터들을 가지는 이산-시간 동적 모델을 생성하는 동작 - 상기 이산-시간 동적 모델은 상기 ADV 제어 서브시스템의 엑추에이션 지연을 특성화함 -;
    사전결정된 주행 시나리오에 대한 크라우드-소싱된 ADV 주행 데이터를 사용하여 상기 이산-시간 동적 모델에 대한 상기 복수의 파라미터들 각각을 추정하는 동작;
    상기 추정된 파라미터들과 상기 이산-시간 동적 모델을 사용하여 상기 ADV 제어 서브시스템의 대역폭 메트릭을 결정하는 동작; 및
    상기 이산-시간 동적 모델을 연속-시간 동적 모델로 변환하고 그리고 상기 연속-시간 동적 모델을 사용하여 상승 시간 메트릭 및 오버슈트 메트릭을 결정하는 동작;
    을 포함하고, 그리고
    상기 대역폭 메트릭, 상기 상승 시간 메트릭 및 상기 오버슈트 메트릭은 ADV 자율주행을 위한 상기 엑추에이션 지연을 보상하기 위해 ADV 서브시스템 컨트롤러에 의해 사용되는,
    비-일시적 기기-판독 가능 매체.
  11. 제10항에 있어서,
    상기 이산-시간 동적 모델을 이용하여 상기 ADV 제어 서브시스템의 공진 피크 메트릭을 결정하는 동작;
    을 더 포함하고, 그리고
    상기 공진 피크 메트릭은 상기 엑추에이션 지연을 보상하기 위해 상기 ADV 서브시스템 컨트롤러에 의해 이용되는,
    비-일시적 기기-판독 가능 매체.
  12. 제10항에 있어서,
    상기 연속-시간 동적 모델을 사용하여 상기 ADV 제어 서브시스템에 대한 정착 시간 메트릭을 결정하는 동작;
    을 더 포함하고, 그리고
    상기 정착 시간 메트릭은 상기 엑추에이션 지연을 보상하기 위해 상기 ADV 서브시스템 컨트롤러에 의해 이용되는,
    비-일시적 기기-판독 가능 매체.
  13. 제10항에 있어서,
    상기 엑추에이션 지연은 상기 제어 서브시스템에 의해 수신된 제어 명령의 초기 실행 시간과 상기 제어 명령의 상기 초기 실행에 대한 응답으로 상기 서브시스템의 측정된 엑추에이션의 시간 사이의 차이를 나타내는,
    비-일시적 기기-판독 가능 매체.
  14. 제10항에 있어서,
    상기 하나 이상의 ADV 제어 서브시스템들은,
    스로틀 제어 서브시스템, 제동 제어 서브시스템, 또는 스티어링 제어 서브시스템 중 하나 이상을 포함하는,
    비-일시적 기기-판독 가능 매체.
  15. 제10항에 있어서,
    상기 크라우드-소싱된 ADV 주행 데이터는,
    지정된 ADV 타입, 지정된 ADV 컨트롤러 타입, 또는 하나 이상의 지정된 ADV 서브시스템 컨트롤러 타입들 중 하나 이상에 따라 선택되는,
    비-일시적 기기-판독 가능 매체.
  16. 제10항에 있어서,
    상기 서브시스템에 대한 상기 이산-시간 동적 모델은,
    Figure pat00058
    의 형태의 2차 동적 모델이고, 그리고
    상기 복수의 파라미터들은
    Figure pat00059
    Figure pat00060
    인,
    비-일시적 기기-판독 가능 매체.
  17. 제10항에 있어서,
    상기 이산-시간 동적 모델을 생성하는 동작은,
    상기 서브시스템에 대한 시간-지연 기한을 도입하는 동작;
    을 더 포함하고, 그리고
    상기 시간-지연 기한은 ADV 컨트롤러에 의한 명령의 전송과 상기 ADV 서브시스템 컨트롤러에 의한 상기 명령의 초기 실행 사이의 시간을 나타내는,
    비-일시적 기기-판독 가능 매체.
  18. 제10항에 있어서,
    상기 복수의 파라미터들을 추정하는 동작은,
    상기 서브시스템에 대한 상기 이산-시간 동적 모델의 상기 파라미터들을 결정하기 위해 상기 크라우드-소싱된 ADV 주행 데이터의 최소 제곱법을 수행하는 동작;
    을 포함하는,
    비-일시적 기기-판독 가능 매체.
  19. 데이터 처리 시스템에 있어서,
    프로세서; 및
    상기 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금 자율주행 차량(ADV) 제어 시스템 개선의 동작들을 수행하도록 하는 명령들을 저장하기 위해 상기 프로세서와 연결된 메모리를 포함하고,
    상기 동작들은:
    하나 이상의 ADV 제어 서브시스템들 각각에 대해서, 복수의 파라미터들을 가지는 이산-시간 동적 모델을 생성하는 동작 - 상기 이산-시간 동적 모델은 상기 ADV 제어 서브시스템의 엑추에이션 지연을 특성화함-;
    사전결정된 주행 시나리오에 대한 크라우드-소싱된 ADV 주행 데이터를 사용하여 상기 이산-시간 동적 모델에 대한 상기 복수의 파라미터들 각각을 추정하는 동작;
    상기 추정된 파라미터들과 상기 이산-시간 동적 모델을 사용하여 상기 ADV 제어 서브시스템의 대역폭 메트릭을 결정하는 동작; 및
    상기 이산-시간 동적 모델을 연속-시간 동적 모델로 변환하고 그리고 상기 연속-시간 동적 모델을 사용하여 상승 시간 메트릭 및 오버슈트 메트릭을 결정하는 동작;
    을 포함하고, 그리고
    상기 대역폭 메트릭, 상기 상승 시간 메트릭 및 상기 오버슈트 메트릭은 ADV 자율주행을 위한 상기 엑추에이션 지연을 보상하기 위해 ADV 서브시스템 컨트롤러에 의해 사용되는,
    데이터 처리 시스템.
  20. 제 19 항에 있어서,
    상기 이산-시간 동적 모델을 이용하여 상기 ADV 제어 서브시스템의 공진 피크 메트릭을 결정하는 동작;
    를 더 포함하고, 그리고
    상기 공진 피크 메트릭은 상기 엑추에이션 지연을 보상하기 위해 상기 ADV 서브시스템 컨트롤러에 의해 이용되는,
    데이터 처리 시스템.
  21. 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은 하나 이상의 프로세서에 의해 실행될 때, 제1항 내지 제9항 중 어느 한 항의 방법을 구현하는, 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
KR1020200130993A 2020-02-13 2020-10-12 자율 주행 차량 제어를 위한 크로스-플랫폼 제어 프로파일링 KR102381568B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/790,036 2020-02-13
US16/790,036 US11167770B2 (en) 2020-02-13 2020-02-13 Autonomous vehicle actuation dynamics and latency identification

Publications (2)

Publication Number Publication Date
KR20210103377A true KR20210103377A (ko) 2021-08-23
KR102381568B1 KR102381568B1 (ko) 2022-03-31

Family

ID=74183002

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200130993A KR102381568B1 (ko) 2020-02-13 2020-10-12 자율 주행 차량 제어를 위한 크로스-플랫폼 제어 프로파일링

Country Status (5)

Country Link
US (1) US11167770B2 (ko)
EP (1) EP3865365A1 (ko)
JP (1) JP7061181B2 (ko)
KR (1) KR102381568B1 (ko)
CN (1) CN113246950A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023013984A1 (ko) 2021-08-05 2023-02-09 주식회사 엘지에너지솔루션 전극 제조용 건조 장치 및 이를 이용한 전극의 제조방법
KR20230082717A (ko) 2021-12-01 2023-06-09 한국생산기술연구원 자율주행 차량의 원격제어 안전성 확보를 위한 양방향 재귀 필터 시스템 및 이의 제어방법
KR20230085236A (ko) 2021-12-03 2023-06-14 한국생산기술연구원 자율주행 원격제어시의 안전 제어를 위한 모니터링 시스템

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11560152B2 (en) * 2020-12-23 2023-01-24 Automotive Research & Testing Center Method and system for controlling movements of an autonomous vehicle with self diagnosis capability
US20230152796A1 (en) * 2021-11-15 2023-05-18 Motional Ad Llc Vehicle control time delay compensation
CN114237198A (zh) * 2021-11-29 2022-03-25 理工雷科智途(泰安)汽车科技有限公司 一种基于SocketCAN通信自动驾驶车辆底盘控制方法
US20230347894A1 (en) * 2022-04-28 2023-11-02 Toyota Research Institute, Inc. Systems and methods for determining vehicle control based on estimated realization delay
WO2024054178A1 (en) * 2022-09-07 2024-03-14 Istanbul Okan Universitesi Method of determining driving conditions for total emission optimisation in autonomous vehicles

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180051568A (ko) * 2016-09-28 2018-05-16 바이두 유에스에이 엘엘씨 자율 주행 차량을 위한 시스템 지연 보정 제어 방법
KR20180052673A (ko) * 2016-09-28 2018-05-18 바이두 유에스에이 엘엘씨 자율 주행 차량 제어를 위한 시스템 지연 추정 방법
EP3327530A1 (en) * 2016-11-23 2018-05-30 Baidu USA LLC Method for determining command delays of autonomous vehicles
KR20180084744A (ko) * 2016-12-14 2018-07-25 바이두 유에스에이 엘엘씨 자율 주행 차량을 위한 속력 제어 파라미터 추정 방법
KR102007806B1 (ko) * 2015-02-06 2019-08-07 변정훈 크라우드소싱 데이터 기반 차량 제어

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7460984B1 (en) * 2004-05-25 2008-12-02 The Mathworks, Inc. Compensating for delay in modeling environments
US7487077B1 (en) * 2004-09-20 2009-02-03 The Mathworks, Inc. Modeling delay using a discrete event execution modeling environment
US20160362118A1 (en) * 2011-08-31 2016-12-15 Pulsar Informatics, Inc. Driver performance metric
US9169795B2 (en) * 2013-02-27 2015-10-27 Ford Global Technologies, Llc Exhaust gas sensor diagnosis and controls adaptation
WO2014146068A1 (en) * 2013-03-15 2014-09-18 Larimore Wallace A method and system of dynamic model identification for monitoring and control of dynamic machines with variable structure or variable operation conditions
US10097120B2 (en) * 2016-09-29 2018-10-09 Steering Solutions Ip Holding Corporation Current prediction for delay compensation in motor control systems
US10775790B2 (en) * 2018-02-09 2020-09-15 Baidu Usa Llc Methods and systems for model predictive control of autonomous driving vehicle
US11409284B2 (en) * 2019-05-15 2022-08-09 Baidu Usa Llc Relaxation optimization model to plan an open space trajectory for autonomous vehicles
CN110775066B (zh) * 2019-11-25 2021-01-22 苏州智加科技有限公司 自动驾驶车辆转向系统的建模方法和车辆转向系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102007806B1 (ko) * 2015-02-06 2019-08-07 변정훈 크라우드소싱 데이터 기반 차량 제어
KR20180051568A (ko) * 2016-09-28 2018-05-16 바이두 유에스에이 엘엘씨 자율 주행 차량을 위한 시스템 지연 보정 제어 방법
KR20180052673A (ko) * 2016-09-28 2018-05-18 바이두 유에스에이 엘엘씨 자율 주행 차량 제어를 위한 시스템 지연 추정 방법
EP3327530A1 (en) * 2016-11-23 2018-05-30 Baidu USA LLC Method for determining command delays of autonomous vehicles
JP2018083612A (ja) * 2016-11-23 2018-05-31 バイドゥ・ユーエスエイ・リミテッド・ライアビリティ・カンパニーBaidu USA LLC 自律走行車のコマンド遅延を決定するための方法
KR20180084744A (ko) * 2016-12-14 2018-07-25 바이두 유에스에이 엘엘씨 자율 주행 차량을 위한 속력 제어 파라미터 추정 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023013984A1 (ko) 2021-08-05 2023-02-09 주식회사 엘지에너지솔루션 전극 제조용 건조 장치 및 이를 이용한 전극의 제조방법
KR20230082717A (ko) 2021-12-01 2023-06-09 한국생산기술연구원 자율주행 차량의 원격제어 안전성 확보를 위한 양방향 재귀 필터 시스템 및 이의 제어방법
KR20230085236A (ko) 2021-12-03 2023-06-14 한국생산기술연구원 자율주행 원격제어시의 안전 제어를 위한 모니터링 시스템

Also Published As

Publication number Publication date
JP2021127106A (ja) 2021-09-02
JP7061181B2 (ja) 2022-04-27
KR102381568B1 (ko) 2022-03-31
US20210253118A1 (en) 2021-08-19
US11167770B2 (en) 2021-11-09
EP3865365A1 (en) 2021-08-18
CN113246950A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
KR102381568B1 (ko) 자율 주행 차량 제어를 위한 크로스-플랫폼 제어 프로파일링
CN110377025B (zh) 用于自动驾驶车辆的传感器聚合框架
CN111240312B (zh) 用于自动驾驶车辆的基于学习的动态建模方法
US11492008B2 (en) Model reference adaptive control algorithm to address the vehicle actuation dynamics
US11453409B2 (en) Extended model reference adaptive control algorithm for the vehicle actuation time-latency
CN113508065B (zh) 用于自主车辆控制的跨平台控制剖析
JP2021147030A (ja) シナリオに基づく自動運転車両の制御
US11738771B2 (en) Dynamic model with actuation latency
CN113525406A (zh) 用于车辆运动控制器的基于贝叶斯全局优化的参数调谐
US20230159047A1 (en) Learning-based critic for tuning a motion planner of autonomous driving vehicle
CN113508350B (zh) 基于反馈的实时转向校准系统
KR102599790B1 (ko) 자율 주행 차량을 이용하는 모델 트레이닝 및 온보드 검증을 위한 오디오 로깅
CN117130298A (zh) 用于评估自动驾驶系统的方法、装置及存储介质
US20230042001A1 (en) Weighted planning trajectory profiling method for autonomous vehicle
CN114537444A (zh) 评估自主驾驶车辆的开放空间规划器的方法、介质和系统

Legal Events

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