KR102458608B1 - 차량 작동 역학을 해결하기 위한 모델 참조 적응형 제어 알고리즘 - Google Patents

차량 작동 역학을 해결하기 위한 모델 참조 적응형 제어 알고리즘 Download PDF

Info

Publication number
KR102458608B1
KR102458608B1 KR1020200142198A KR20200142198A KR102458608B1 KR 102458608 B1 KR102458608 B1 KR 102458608B1 KR 1020200142198 A KR1020200142198 A KR 1020200142198A KR 20200142198 A KR20200142198 A KR 20200142198A KR 102458608 B1 KR102458608 B1 KR 102458608B1
Authority
KR
South Korea
Prior art keywords
control
actuation
control subsystem
adv
subsystem
Prior art date
Application number
KR1020200142198A
Other languages
English (en)
Other versions
KR20210107517A (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 KR20210107517A publication Critical patent/KR20210107517A/ko
Application granted granted Critical
Publication of KR102458608B1 publication Critical patent/KR102458608B1/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
    • 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
    • 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
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • 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/10Conjoint control of vehicle sub-units of different type or different function including control of change-speed gearings
    • 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/10Path keeping
    • 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
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • G05B11/42Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining a characteristic which is both proportional and time-dependent, e.g. P. I., P. I. D.
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • 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
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0008Feedback, closed loop systems or details of feedback error signal
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0014Adaptive controllers
    • 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/0022Gains, weighting coefficients or weighting functions
    • B60W2050/0024Variable gains
    • 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/0019Control system elements or transfer functions
    • B60W2050/0042Transfer function lag; delays
    • 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
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/10Path keeping

Landscapes

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

Abstract

자율 주행 차량(ADV)에서 제어 서브시스템(예를 들면, 스로틀, 제동 또는 조향)에서 2 차 동적 지연을 줄이기 위한 시스템 및 방법이 개시된다. 제어 입력은 ADV 인식 및 계획 시스템에서 수신된다. 제어 입력은 제어 명령에서 ADV의 제어 서브시스템으로 변환된다. 참조 작동 출력은 ADV의 저장소에서 획득된다. 참조 작동 출력은 제어 서브시스템 액추에이터에 기인한 2차 작동 동적 지연을 설명하는 평활화된 출력이다. 제어 입력과 참조 작동 출력의 차이에 따라 적응형 이득이 결정되고 입력 제어 신호에 적용하여 제어 출력과 참조 작동 출력 간의 오차를 줄인다.

Description

차량 작동 역학을 해결하기 위한 모델 참조 적응형 제어 알고리즘{MODEL REFERENCE ADPTIVE CONTROL ALGORITHM TO ADDRESS THE VEHICLE ACTUATION DYNAMICS}
본 개시의 실시예는 일반적으로 자율 주행 차량을 작동하는 것에 관한 것이다. 보다 구체적으로, 본 개시 내용의 실시예는 자율 차량 제어를 개선하기 위해 제어 자율 차량 제어 서브시스템에서 시간 지연 및 작동 동적 지연(actuation dynamic delay)을 해결하기 위한 효율적인 실시간 프로세스에 관한 것이다.
자율 모드(예를 들면, 무인)로 작동하는 차량은 탑승자, 특히 운전자가 일부 주행 관련 책임에서 벗어날 수 있다. 자율 모드에서 작동할 때 차량은 온보드 센서를 사용하여 다양한 위치를 탐색할 수 있으므로 차량이 최소한의 인간 상호 작용으로 또는 경우에 따라 승객없이 이동할 수 있다.
이동 계획 및 제어는 자율 주행에서 중요한 동작이다. 그러나 기존의 이동 계획 동작은 제동, 스로틀 및 조향과 같은 제어 서브시스템의 2차 역학(second order dynamics)을 고려하지 않고, 주로 곡률과 속도(1차 역학(first order dynamics))에서 주어진 경로를 완료하는 데 어려움을 추정한다.
제동, 스로틀 및 조향("드라이브-바이-와이어(drive-by-wire)")과 같은 제어 시스템의 전자 결정 및 작동으로 인해, 차량 작동 시스템에 약간의 지연 시간과 시스템 동적 지연(system dynamic delays)이 있다. 계획된 궤적을 유지하기 위해 제어 명령이 필요함을 감지하는 지연으로 인해 시간 지연이 발생할 수 있다. 시간 지연은 차량 주변의 물체를 식별하는 데 필요한 데이터 수집 및 처리 시간과 계획된 궤도를 유지하는데 필요한 제어 명령 계산에 기인할 수 있다. 시간 지연은 약 50-100 밀리초(ms)일 수 있다. 작동 동적 지연(actuation dynamic delay)은 제어 서브시스템에서 제동, 스로틀 또는 조향과 같은 제어 명령이 수신될 때 발생할 수 있다. 제어 서브시스템은 제어 명령을 실행하기 위해 물리적 구성 요소를 작동해야 한다. 작동 동적 지연은 특히 급가속 또는 급회전 주행 시나리오에서 원하지 않는 스로틀링/제동/조향 제어 응답을 초래할 수 있다. 예를 들어, 일반적인 사이드 패스(side-pass) 주행 시나리오에서 자율 주행 차량이 현재 차선에서 다른 차선으로 빠르게 변경될 때, 조향 동작은 일반적으로 제어 모듈의 조향 명령을 기반으로 하는 원하는 조향 각도에 비해 약간의 동적 지연을 나타낸다. 그 결과 전체 차선 변경 프로세스가 부드럽지 않게 되고, 차량 승객이 불편해 할 수 있다.
작동 동적 지연은 모터, 구동 벨트, 제동 패드 및 실린더 또는 연소(combustion)와 같은 물리적 액추에이터 또는 구성 요소(element)로 인해 발생할 수 있으며 제어 명령을 구현하는 물리적 동작을 구현하는 데 시간이 필요하다. 수신된 명령의 작동 동적 지연은 작동의 상승 시간, 오버 슈트(overshoot) 양 및 수신된 제어 명령과 일치하는 물리적 액추에이터의 측정된 상태에 대한 안정화 시간(settling time)으로 나타날 수 있다. 작동 동적 지연은 대기 시간보다 훨씬 긴 수백 밀리 초 정도일 수 있다.
제동, 조향, 스로틀과 같은 제어 서브시스템은 자율 주행 차량용 제어 시스템을 개발하는 업체와는 다른 타사 공급 업체(third-party suppliers)에서 제공하는 경우가 많다. 따라서 자율 주행 차량 제어 서브시스템의 개발자는 제어 서브시스템의 작동 특성을 "블랙 박스"로 고려해야 한다. 따라서, 자율 주행 차량 분야에서 이전의 산업적 노력은 작동 역학(actuation dynamics)의 부정적인 영향을 줄이기 위해 조향 작동시 간단한 PID(Proportional-Integral-derivative) 컨트롤러를 설계하려고 시도했다. 그러나 PID 기반 컨트롤러의 구조가 지나치게 단순화되어, PID 컨트롤러는 조향 동적 응답을 어느 정도 증가시킬 수 있지만 작동 시간 지연 및 동적 지연 문제를 완전히 해결할 수는 없다.
본 발명의 해결하고자 하는 과제는 차량 작동 역학을 해결하기 위한 모델 참조 적응형 제어 알고리즘을 제공하는데 있다.
본 발명의 일 실시예는 자율 주행 차량(ADV) 제어 시스템의 제어 서브시스템을 작동시키는 컴퓨터 구현 방법으로서, ADV의 상기 제어 서브시스템의 작동 제어 시스템의 피드백 컨트롤러에 제 1 제어 입력을 수신하는 단계; 상기 제어 서브시스템의 액추에이터의 출력 작동 명령과 제 2 제어 입력에 기초한 모델 참조 시스템에 의해 생성된 참조 작동 출력 사이의 오차를 결정하는 단계; 상기 오차에 기초한 적응형 이득을 결정하는 단계; 및 상기 제어 서브시스템에 의해 출력된 측정된 작동 동작, 상기 제 1 제어 입력 및 상기 적응형 이득에 기초하여 상기 제어 서브시스템을 작동시키기 위해 제 2 작동 명령을 출력하는 단계를 포함하는, 방법을 제공할 수 있다.
참조 작동 출력은 상기 제어 서브시스템의 2차 속성에 적어도 부분적으로 기초할 수 있다.
상기 제어 서브시스템의 2차 속성은 제어 서브시스템의 제어 동작을 시작하는 시간 지연, 상승 시간, 오버 슈트 양, 또는 제어 서브시스템의 액추에이터의 안정화 시간 중 하나 이상을 포함할 수 있다.
상기 제 1 제어 입력은 상기 ADV의 현재 주행 사이클 동안 상기 피드백 컨트롤러에서 수신되고, 상기 제 2 제어 입력은 이전 주행 사이클 동안 피드백 컨트롤러에서 수신될 수 있다.
상기 제 1 제어 입력 및 상기 제 2 제어 입력은 상기 ADV의 차량 섀시로부터 획득된 차량 상태를 고려하여 상기 ADV의 복수의 센서로부터 획득된 센서 데이터에 기초하여 상기 ADV를 주행하기 위한 궤적을 계획하도록 구성된 자율 주행 시스템으로부터 수신될 수 있다.
상기 제어 서브시스템은 스로틀 제어 서브시스템, 제동 제어 서브시스템, 또는 조향 제어 서브시스템 중 적어도 하나를 포함할 수 있다.
상기 제어 서브시스템의 작동의 측정된 상태가 적용된 적응형 이득이 있는 상기 참조 작동 출력의 임계 값 내에 있을 때까지, 상기 제어 서브시스템의 액추에이터의 출력 작동 명령과 상기 참조 작동 출력 사이의 오차를 결정하는 단계, 적응형 이득을 결정하는 단계, 및 다음 작동 명령을 출력하는 단계를 반복적으로 수행하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예는 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 자율 주행 차량(ADV) 제어 시스템의 제어 서브시스템을 작동시키는 동작을 수행하게 하는 명령이 저장된 비일시적 기계 판독 가능 매체로서, 동작은 ADV의 상기 제어 서브시스템의 작동 제어 시스템의 피드백 컨트롤러에 제 1 제어 입력을 수신하는 단계; 상기 제어 서브시스템의 액추에이터의 출력 작동 명령과 제 2 제어 입력에 기초한 모델 참조 시스템에 의해 생성된 참조 작동 출력 사이의 오차를 결정하는 단계; 상기 오차에 기초한 적응형 이득을 결정하는 단계; 및 상기 제어 서브시스템에 의해 출력된 측정된 작동 동작, 상기 제 1 제어 입력 및 상기 적응형 이득에 기초하여 상기 제어 서브시스템을 작동시키기 위해 제 2 작동 명령을 출력하는 단계를 포함하는, 기계 판독 가능 매체를 제공할 수 있다.
참조 작동 출력은 상기 제어 서브시스템의 2차 속성에 적어도 부분적으로 기초할 수 있다.
상기 제어 서브시스템의 2차 속성은 제어 서브시스템의 제어 동작을 시작하는 시간 지연, 상승 시간, 오버 슈트 양, 또는 제어 서브시스템의 액추에이터의 안정화 시간 중 하나 이상을 포함할 수 있다.
상기 제 1 제어 입력은 상기 ADV의 현재 주행 사이클 동안 상기 피드백 컨트롤러에서 수신되고, 상기 제 2 제어 입력은 이전 주행 사이클 동안 피드백 컨트롤러에서 수신될 수 있다.
상기 제 1 제어 입력 및 상기 제 2 제어 입력은 상기 ADV의 섀시로부터 획득된 차량 상태를 고려하여 상기 ADV의 복수의 센서로부터 획득된 센서 데이터에 기초하여 상기 ADV를 주행하기 위한 궤적을 계획하도록 구성된 자율 주행 시스템으로부터 수신될 수 있다.
상기 제어 서브시스템은 스로틀 제어 서브시스템, 제동 제어 서브시스템, 또는 조향 제어 서브시스템 중 적어도 하나를 포함할 수 있다.
상기 동작은, 상기 제어 서브시스템의 작동의 측정된 상태가 적용된 적응형 이득이 있는 상기 참조 작동 출력의 임계 값 내에 있을 때까지, 상기 제어 서브시스템의 액추에이터의 출력 작동 명령과 상기 참조 작동 출력 사이의 오차를 결정하는 단계, 적응형 이득을 결정하는 단계, 및 다음 작동 명령을 출력하는 단계를 반복적으로 수행하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예는 자율 주행 차량(ADV)의 ADV 제어 시스템의 제어 서브시스템을 작동하기 위한 작동 제어 시스템으로서, 제 1 제어 입력을 수신하는 피드백 컨트롤러; 상기 피드백 컨트롤러에 연결된 모델 참조 모듈; 상기 피드백 컨트롤러에 연결된 바이-와이어 작동 시스템; 상기 바이-와이어 작동 시스템의 출력 작동 명령과 제 2 제어 입력에 기초한 상기 모델 참조 모듈에 의해 생성된 참조 작동 출력 사이의 오차를 결정하기 위한 결합 로직; 및 상기 오차에 기초한 적응형 이득을 결정하기 위한 적용형 이득 시스템을 포함하되, 상기 피드백 컨트롤러는 상기 바이-와이어 작동 시스템에 의해 측정된 작동 동작 출력, 상기 제 1 제어 입력, 및 상기 적응형 이득에 기초하여 상기 바이-와이어 작동 시스템을 작동시키기 위한 제 2 작동 명령을 출력하도록 구성된, 작동 제어 시스템을 제공할 수 있다.
참조 작동 출력은 상기 바이-와이어 작동 시스템의 2차 속성에 적어도 부분적으로 기초할 수 있다.
상기 바이-와이어 작동 시스템의 2차 속성은 바이-와이어 작동 시스템의 제어 동작을 시작하는 시간 지연, 상승 시간, 오버 슈트 양, 또는 상기 바이-와이어 작동 시스템의 액추에이터의 안정화 시간 중 하나 이상을 포함할 수 있다.
상기 제 1 제어 입력은 상기 ADV의 현재 주행 사이클 동안 상기 피드백 컨트롤러에서 수신되고, 상기 제 2 제어 입력은 이전 주행 사이클 동안 피드백 컨트롤러에서 수신될 수 있다.
상기 제 1 제어 입력 및 상기 제 2 제어 입력은 상기 ADV의 차량 섀시로부터 획득된 차량 상태를 고려하여 상기 ADV의 복수의 센서로부터 획득된 센서 데이터에 기초하여 상기 ADV를 주행하기 위한 궤적을 계획하도록 구성된 자율 주행 시스템으로부터 수신될 수 있다.
상기 바이-와이어 작동 시스템은 스로틀 제어 서브시스템, 제동 제어 서브시스템, 또는 조향 제어 서브시스템 중 적어도 하나를 포함할 수 있다.
본 발명의 효과는 차량 작동 역학을 해결하기 위한 모델 참조 적응형 제어 알고리즘을 제공하는 것이다.
본 개시 내용의 실시예는 동일한 참조 번호가 유사한 구성 요소를 나타내는 첨부 도면(drawings)의 도(figures)에서 제한을 가하는 것이 아니라 예로서 예시된다.
도 1은 일 실시예에 따른 네트워크 시스템을 예시하는 블록도이다.
도 2는 일 실시예에 따른 자율 주행 차량의 예를 예시하는 블록도이다.
도 3a 및 3b는 일 실시예에 따른 자율 주행 차량에 사용되는 인식 및 계획 시스템(perception and planning system)의 예를 예시하는 블록도이다.
도 3c는 일 실시예에 따른 예시적인 ADV(Autonomous Driving Vehicle, 자율 주행 차량) 제어 명령 및 제어 명령에 대한 자율 차량 제어 서브시스템 작동 동작 응답을 도시한다.
도 3d는 일 실시예에 따른 자율 주행 차량에 사용되는 조향 제어 서브시스템 및 역학 소스(sources of dynamics)를 도시한다.
도 4는 일 실시예에 따른 자율 주행 시스템의 아키텍처를 예시하는 블록도이다.
도 5a는 일 실시예에 따른 ADV의 하나 이상의 제어 서브시스템의 작동을 개선하는 MRAC(Model Reference Adaptive Controller, 모델 참조 적응형 컨트롤러)를 통합하는 시스템 및 데이터 흐름을 예시하는 블록도이다.
도 5b는 일 실시예에 따른 모델 참조 적응형 컨트롤러의 데이터 흐름을 예시하는 블록도이다.
도 5c는 일 실시예에 따른 모델 참조 적응형 컨트롤러에 의해 수정된 서브시스템 제어 작동을 예시하는 블록도이다.
도 6은 일 실시예에 따른 모델 참조 적응형 컨트롤러를 사용하여 제어 서브시스템(예를 들어, 스로틀, 제동, 조향)의 작동을 개선하는 방법을 예시하는 블록도이다.
도 7은 일 실시예에 따른 모델 참조 적응형 컨트롤러를 사용하여 제어 서브시스템(예를 들어, 스로틀, 제동, 조향)의 작동을 개선하는 방법을 예시하는 블록도이다.
본 개시의 다양한 실시예 및 양태는 아래에서 논의되는 세부 사항을 참조하여 설명될 것이며, 첨부된 도면은 다양한 실시예를 예시할 것이다. 다음의 설명 및 도면은 본 개시를 예시하는 것이며 본 개시를 제한하는 것으로 해석되어서는 안된다. 본 개시 내용의 다양한 실시예의 철저한 이해를 제공하기 위해 다수의 특정 세부 사항이 설명된다. 그러나, 특정 예에서, 본 개시의 실시예에 대한 간결한 논의를 제공하기 위해 잘 알려진 또는 통상적인 세부 사항은 설명되지 않는다.
명세서에서 "일 실시예" 또는 "실시예"에 대한 언급은 실시예와 관련하여 설명된 특정 특징, 구조 또는 특성이 본 개시의 적어도 하나의 실시예에 포함될 수 있음을 의미한다. 명세서의 다양한 위치에서 "일 실시예에서"라는 문구의 출현은 반드시 모두 동일한 실시예를 지칭하는 것은 아니다.
일 실시예에서, 자율 주행 차량(ADV) 제어 시스템의 제어 서브시스템의 성능을 개선하는 방법은 ADV의 제어 서브시스템의 작동 시스템(예를 들면, 스로틀, 제동, 조향)의 피드백 컨트롤러에 제어 입력을 수신하는 단계를 포함한다. 제어 입력에 해당하는 참조 작동 출력이 결정된다. 모델 참조 작동 출력은 ADV의 저장소에서 제어 서브시스템 및 수신된 제어 입력에 해당하는 참조 작동 출력을 조회하여 결정될 수 있다. 참조 작동 출력은 제어 서브시스템의 작동 시간 지연 및 2 차 동적 지연에 적어도 부분적으로 기반할 수 있다. 제어 서브시스템의 2 차 동적 지연은 제어 서브시스템의 제어 동작을 시작하는 시간 지연, 작동의 상승 시간, 작동의 오버 슈트 양 또는 제어 서브시스템의 작동의 안정화 시간 중 하나 이상을 포함할 수 있다. 방법은 또한 제어 서브시스템의 액추에이터의 출력 작동 명령과 참조 작동 출력 사이의 오차를 결정하고, 오차에 기초한 적응형 이득을 결정하는 단계를 포함한다. 제어 서브시스템을 작동시키기 위해 작동 명령이 출력된다. 작동 명령은 측정된 작동 동작, 원하는 입력 및 적응형 이득을 기반으로 한다.
일 실시예에서, 방법은 제어 서브시스템의 액추에이터의 출력 작동 명령과 참조 작동 출력 사이의 오차를 결정하는 동작을 반복하고, 오차에 기초한 적응형 이득을 결정하는 단계; 및 제어 서브시스템의 측정된 작동 상태가 참조 작동 출력의 임계 값 내에 있을 때까지 제어 서브시스템을 작동시키기 위해 다음 작동 명령을 출력하는 단계를 포함한다. 작동 명령은 측정된 작동 동작, 원하는 입력 및 적응형 이득을 기반으로 할 수 있다.
일 실시예에서, 임의의/모든 상기 방법 기능은 프로세싱 시스템에 의해 구현될 수 있으며, 이는 프로세싱 시스템에 의해 실행될 때 컴퓨팅 시스템이 청구된 기능을 구현하게 하는 실행 가능한 명령어로 프로그래밍된 메모리에 결합된 하나 이상의 하드웨어 프로세서를 포함한다. 일 실시예에서, 메모리는 비일시적 컴퓨터 판독 가능 매체 또는 다른 유형의 메모리일 수 있다.
도 1은 본 개시의 일 실시예에 따른 자율 차량 네트워크 구성을 예시하는 블록도이다. 도 1을 참조하면, 네트워크 구성(100)은 네트워크(102)를 통해 하나 이상의 서버(103-104)에 통신 가능하게 결합될 수 있는 자율 차량(101)을 포함한다. 하나의 자율 차량이 도시되어 있지만, 다수의 자율 차량이 서로 결합될 수 있고/있거나 네트워크(102)를 통해 서버(103-104)에 연결된다. 네트워크(102)는 LAN(local area network), 인터넷과 같은 WAN(wide area network), 셀룰러 네트워크, 위성 네트워크, 또는 이들의 조합, 유선 또는 무선과 같은 임의 유형의 네트워크일 수 있다. 서버(들)(103-104)는 웹 또는 클라우드 서버, 애플리케이션 서버, 백엔드 서버, 또는 이들의 조합과 같은 임의 종류의 서버 또는 서버 클러스터일 수 있다. 서버(103-104)는 데이터 분석 서버, 콘텐츠 서버, 교통 정보 서버, 지도 및 관심 지점(MPOI) 서버, 시뮬레이션된 자율 차량 주행 서버 또는 위치 서버 등일 수 있다. 자율 주행 시뮬레이터 서버(104)는 실제 자율 주행 차량의 데이터 로깅(logging)과 실질적으로 동일한 주행 기록의 데이터 로깅을 포함할 수 있다. 주행 시뮬레이터는 자율 주행 차량 제어 시스템에 제안된 업데이트를 테스트하는 데 사용할 수 있다. 주행 시뮬레이터는 자율 차량 제어 시스템의 성능을 특성화하는 표준화된 메트릭 세트(124)를 생성하기 위해 예를 들어 서버(103) 알고리즘(124)에 의한 처리를 위해 주행 기록을 업로드할 수 있다.
자율 차량(101)은 운전자로부터의 입력이 거의 또는 전혀없는 환경을 통해 차량이 탐색하는 자율 모드로 구동되도록 구성될 수 있는 차량을 의미한다. 이러한 자율 차량은 차량이 작동하는 환경에 대한 정보를 감지하도록 구성된 하나 이상의 센서를 갖는 센서 시스템을 포함할 수 있다. 차량 및 연관 컨트롤러(들)는 감지된 정보를 사용하여 환경을 탐색한다. 자율 차량(101)은 수동 모드, 완전 자율 모드 또는 부분 자율 모드로 작동할 수 있다. 본 명세서에 설명된 바와 같이, 일부 실시예에서, 자율 차량은 서버(104)의 자율 주행 시뮬레이터에서 시뮬레이션된다. 자율 차량 유형(예를 들면, Lexus®, Honda®, SmartCar®, Kia® 등)과 같은 특성 및 식별자(identifiers), 그리고 자율 차량 컨트롤러 유형(예를 들면, 모델 예측 제어 또는 선형 2 차 레귤레이터)은 자율 주행 시뮬레이션 시스템 내에서 시뮬레이션된 자율 차량과 시뮬레이션된 자율 주행 세션에서 생성된 주행 기록을 식별하는 데 사용할 수 있다.
일 실시예에서, 자율 차량(101)은 인식 및 계획 시스템(110), 차량 제어 시스템(111), 무선 통신 시스템(112), 사용자 인터페이스 시스템(113) 및 센서 시스템(115)을 포함하지만 이에 제한되지 않는다. 자율 차량(101)은 엔진, 휠, 조향 휠, 변속기 등과 같은 일반 차량에 포함된 특정 공통 컴포넌트를 더 포함할 수 있는데, 이는 예를 들면 가속 신호 또는 명령, 감속 신호 또는 명령, 조향 신호 또는 명령, 제동 신호 또는 명령 등과 같은 다양한 통신 신호 및/또는 명령을 이용하여 차량 제어 시스템(111) 및/또는 인식 및 계획 시스템(110)에 의해 제어될 수 있다.
컴포넌트(110-115)는 상호 연결(interconnect), 버스, 네트워크 또는 이들의 조합을 통해 서로 통신 가능하게 결합될 수 있다. 예를 들어, 컴포넌트(110-115)는 컨트롤러 영역 네트워크(CAN) 버스를 통해 서로 통신 가능하게 연결될 수 있다. CAN 버스는 마이크로 컨트롤러와 장치가 호스트 컴퓨터없이 애플리케이션에서 서로 통신할 수 있도록 설계된 차량 버스 표준이다. 원래는 자동차 내의 다중 전기 배선용으로 설계된 메시지 기반 프로토콜이지만 다른 많은 상황에서도 사용된다.
이제 도 2를 참조하면, 일 실시예에서, 센서 시스템(115)은, 한정하는 것은 아니지만, 하나 이상의 카메라(211), 위성 위치 확인 시스템(GPS) 유닛(212), 관성 측정 유닛(IMU)(213), 레이더 유닛(214) 및 광 검출 및 범위 측정(LIDAR) 유닛(215)을 포함할 수 있다. GPS 시스템(212)은 자율 차량의 위치에 관한 정보를 제공하도록 작동할 수 있는 송수신기를 포함할 수 있다. IMU 유닛(213)은 관성 가속도에 기초하여 자율 차량의 위치 및 방향 변화를 감지할 수 있다. 레이더 유닛(214)은 자율 차량의 로컬 환경 내의 물체를 감지하기 위해 무선 신호를 이용하는 시스템을 나타낼 수 있다. 일부 실시예에서, 물체를 감지하는 것 외에도, 레이더 유닛(214)은 물체의 속도 및/또는 방향을 추가로 감지할 수 있다. LIDAR 유닛(215)은 레이저를 사용하여 자율 차량이 위치하는 환경에서 물체를 감지할 수 있다. LIDAR 유닛(215)은 다른 시스템 컴포넌트 중에서 하나 이상의 레이저 소스, 레이저 스캐너 및 하나 이상의 검출기를 포함할 수 있다. 카메라(211)는 자율 차량을 둘러싼 환경의 이미지를 캡처하기 위한 하나 이상의 장치를 포함할 수 있다. 카메라(211)는 스틸 카메라 및/또는 비디오 카메라일 수 있다. 카메라는, 예를 들어, 플랫폼을 회전 및/또는 기울여 카메라를 장착함으로써 기계적으로 움직일 수 있다.
센서 시스템(115)은 소나 센서, 적외선 센서, 조향 센서, 스로틀 센서, 제동 센서 및 오디오 센서(예를 들어, 마이크로폰)와 같은 다른 센서를 더 포함할 수 있다. 오디오 센서는 자율 차량을 둘러싼 환경에서 소리를 캡처하도록 구성될 수 있다. 조향 센서는 조향 휠, 차량의 휠 또는 이들의 조합의 조향 각도를 감지하도록 구성될 수 있다. 스로틀 센서와 제동 센서는 각각 차량의 스로틀 위치와 제동 위치를 감지한다. 어떤 상황에서는 스로틀 센서와 제동 센서가 통합된 스로틀/제동 센서로 통합될 수 있다.
일 실시예에서, 차량 제어 시스템(111)은 조향 유닛(201), 스로틀 유닛(202)(가속 유닛이라고도 함) 및 제동 유닛(203)을 포함하지만 이에 한정되지 않는다. 조향 유닛(201)은 차량의 방향 또는 진로를 조정하기 위한 것이다. 스로틀 유닛(202)은 차량의 속도와 가속도를 차례로 제어하는 모터 또는 엔진의 속도를 제어하는 것이다. 제동 유닛(203)은 차량의 휠이나 타이어를 늦추는 마찰을 제공하여 차량을 감속시키는 것이다.
제어 시스템(111)은 서브시스템 컨트롤러 유닛(206)을 더 포함할 수 있다. 서브시스템 컨트롤러(205)는 조향 유닛(201)을 위한 컨트롤러, 스로틀 유닛(202)을 위한 컨트롤러, 제동 유닛(203)을 위한 컨트롤러를 포함할 수 있다. 각 서브시스템 컨트롤러(205)는 ADV 제어 시스템(111)으로부터 하나 이상의 제어 명령을 받는다. 아래의 도 3c를 참조하여 설명된 바와 같이, ADV 제어 시스템(111)은 ADV가 ADV 경로의 일부를 탐색하기 위해 따라갈 궤도 경로를 수신한다. 제어 시스템(111)은 궤적 경로를 따라 ADV를 탐색하는 데 필요한 조향, 제동 및/또는 스로틀의 양을 결정할 수 있다. 그 후 제어 시스템(111)은 하나 이상의 제어 서브시스템(조향 유닛(201), 스로틀 유닛(202), 제동 유닛(203))에 하나 이상의 명령을 발행한다. 조향 명령은 목표 조향 각도, 예를 들면, 각도 또는 라디안으로 표시되는, 직진의 왼쪽 또는 오른쪽의 형태일 수 있다. 제어 시스템(111)에서 스로틀 유닛(202)으로의 스로틀 명령은, 예를 들면, 목표 속도, 가속도 또는 전체 스로틀의 백분율일 수 있다. 제어 시스템(111)에서 제동 유닛(203)으로의 제동 명령은, 예를 들어, 목표 속도, 감속도 또는 전체 제동의 백분율일 수 있다. 제어 시스템(111)에서 제어 서브시스템(조향 유닛(102), 스로틀(202) 또는 제동(203))으로의 각 제어 명령은 서브시스템 내의 컨트롤러에 의해 제어 서브시스템에 대한 물리적 동작으로 변환될 수 있다.
제어 시스템(111)으로부터 수신된 명령의 제어 서브시스템에 의한 물리적 작동은 즉각적이지 않다. 물리적 작동의 시간 지연은 컨트롤러(111)에서 명령을 내리는 시간과 서브시스템 컨트롤러가 물리적 작동을 시작하는 명령을 출력하는 시간의 차이를 나타낸다. 서브시스템 컨트롤러에 의해 명령 실행이 시작된 후, 컨트롤러(111)에 의해 명령된 물리적 타겟 작동을 달성하기 위한 명령을 실행할 때 동적 지연이 존재한다. 여기에 설명된 시스템 및 방법은 서브시스템의 물리적 작동에서 시간 지연과 동적 지연을 특징으로하는 각 서브시스템 컨트롤러에 대한 메트릭(metrics)을 결정한다. ADV 컨트롤러에서 서브시스템 컨트롤러로의 명령 예와 그에 따른 서브시스템의 시간 지연 및 작동 역학은 도 3c를 참조하여 아래에 설명되어 있다.
서브시스템 컨트롤러(들)(205)는 참조 작동 출력을 위한 저장소(206), 예를 들어, 동적 모델의 파라미터에 대한 저장소(207), 적응형 이득을 위한 저장소(208), 그리고 하나 이상의 모델 참조 적응형 컨트롤러(MRAC)에 대한 로직 또는 업데이트(209)를 포함 할 수있다. 참조 작동 출력(206), 적응형 이득(208), 그리고 MRAC(209)가 아래 도 5a-5c를 참조하여 더 자세히 설명되어 있다.
서브시스템 컨트롤러(205)는 ADV 컨트롤러(111) 또는 타사 독립형 서브시스템 컨트롤러로 통합될 수 있다. 실제로, 서브시스템 컨트롤러는 ADV 제어 시스템이 프로그래밍 인터페이스를 통해 서브시스템 컨트롤러와 통신하는 타사 컨트롤러이며, 제어 서브시스템에 의해 명령이 실행되고 작동되는 방식에 대한 세부 사항은 ADV 컨트롤러 디자이너에게 "블랙 박스"이다. 여기에 설명된 바와 같이, 서브시스템의 시간 지연 및 작동 동적 지연을 보상하면, ADV가 시간 지연 및 작동 동적 지연의 원인 또는 이유를 알 필요없이 서브시스템의 시간 지연 및 작동 동적 지연을 적응형으로 설명할 수 있다. 제어 서브시스템 시간 지연 및 작동 동적 지연은 빠른 제동, 가속 또는 조향이 필요한 주행 시나리오에서 특히 중요하다. 도 2에 표시된 컴포넌트는 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다.
다시 도 1을 참조하면, 무선 통신 시스템(112)은 자율 차량(101)과 장치, 센서, 다른 차량 등과 같은 외부 시스템 간의 통신을 허용하기 위한 것이다. 예를 들어, 무선 통신 시스템(112)은 네트워크(102)를 통해 서버(103-104)와 같은 통신 네트워크를 통해 또는 직접 하나 이상의 장치와 무선으로 통신할 수 있다. 무선 통신 시스템(112)은 임의의 셀룰러 통신 네트워크 또는 무선 근거리 통신망(WLAN)을 사용할 수 있으며, 예를 들어, 다른 컴포넌트 또는 시스템과 통신하기 위해 WiFi를 사용할 수 있다. 무선 통신 시스템(112)은, 예를 들어, 적외선 링크, 블루투스 등을 사용하여 장치(예를 들어, 승객의 모바일 장치, 디스플레이 장치, 차량(101) 내의 스피커)와 직접 통신할 수 있다. 사용자 인터페이스 시스템(113)은, 예를 들어, 키보드, 터치 스크린 디스플레이 장치, 마이크 및 스피커 등을 포함하는 차량(101) 내에서 구현되는 주변 장치의 일부일 수 있다.
자율 차량(101)의 일부 또는 모든 기능은, 특히, 자율 주행 모드에서 동작할 때, 인식 및 계획 시스템(110)에 의해 제어되거나 관리될 수 있다. 인식 및 계획 시스템(110)은 센서 시스템(115), 제어 시스템(111), 무선 통신 시스템(112) 및/또는 사용자 인터페이스 시스템(113)으로부터 정보를 수신하고, 수신된 정보를 처리하고, 출발 지점에서 목적지 지점까지의 경로 또는 경로를 계획한 다음, 계획 및 제어 정보에 기초하여 차량(101)을 주행하도록 필요한 하드웨어(예를 들면, 프로세서(들), 메모리, 저장소) 및 소프트웨어(예를 들면, 운영 체제, 계획 및 경로 프로그램)를 포함한다. 대안적으로, 인식 및 계획 시스템(110)은 차량 제어 시스템(111)과 통합될 수 있다.
예를 들어, 승객인 사용자는, 예를 들어, 사용자 인터페이스를 통해 여행의 시작 위치와 목적지를 지정할 수 있다. 인식 및 계획 시스템(110)은 여행 관련 데이터를 획득한다. 예를 들어, 인식 및 계획 시스템(110)은 MPOI 서버로부터 위치 및 경로 정보를 얻을 수 있는데, 이는 서버(103-104)의 일부일 수 있다. 위치 서버는 위치 서비스를 제공하고 MPOI 서버는 지도 서비스와 특정 위치의 POI를 제공한다. 대안적으로, 그러한 위치 및 MPOI 정보는 인식 및 계획 시스템(110)의 영구 저장 장치에 국부적으로 캐시될 수 있다.
자율 차량(101)이 경로를 따라 이동하는 동안, 인식 및 계획 시스템(110)은 또한 교통 정보 시스템 또는 서버(TIS)로부터 실시간 교통 정보를 얻을 수 있다. 서버(103-104)는 타사에 의해 운영될 수 있다. 대안적으로, 서버(103-104)의 기능은 인식 및 계획 시스템(110)과 통합될 수 있다. 실시간 교통 정보, MPOI 정보 및 위치 정보뿐만 아니라 센서 시스템(115)(예를 들어, 장애물, 물체, 주변 차량) 에 의해 감지되거나 센싱된 실시간 로컬 환경 데이터를 기반으로, 인식 및 계획 시스템(110)은 지정된 목적지에 안전하고 효율적으로 도달하기 위해 계획된 경로에 따라, 예를 들어, 제어 시스템(111)을 통해 최적의 경로를 계획하고 차량(101)을 주행할 수 있다.
자율 주행 차량(ADV)(101)은 서브시스템, 예를 들면, 센서 시스템(115), 제어 시스템(111), 및 인식 및 계획 시스템(110)에서 데이터를 캡처하는 주행 기록을 생성하고 기록할 수 있다. 주행 기록은 서버, 예를 들어, 데이터 수집기(121)에 의한 저장을 위한 서버(103)에 업로드될 수 있다. 예를 들어, 서버(103) 알고리즘 및 모델(124)에 저장된 크로스 플랫폼 제어 프로파일링 시스템은 큰 다수의 ADV 및 시뮬레이션된 ADV로부터 주행 기록을 분석하여 주행을 생성할 수 있다.
서버(103)는 다양한 클라이언트에 대한 데이터 분석 서비스를 수행하는 데이터 분석 시스템일 수 있다. 일 실시예에서, 데이터 분석 시스템(103)은 데이터 수집기(121) 및 기계 학습 엔진(122)을 포함한다. 데이터 수집기(121)는 자율 차량 또는 인간 운전자에 의해 구동되는 일반 차량인 다양한 차량으로부터 주행 통계(123)를 수집한다. 주행 통계(123)는 실행된 주행 명령(예를 들면, 스로틀, 제동, 조향 명령) 및 상이한 시점에서 차량의 센서에 의해 캡처된 차량의 응답(예를 들면, 속도, 가속, 감속, 방향)을 나타내는 정보를 포함한다. 주행 통계(123)는, 예를 들어, 경로(시작 및 목적지 포함), MPOI, 도로 상태, 기상 조건 등과 같은 상이한 시점에서의 주행 환경을 설명하는 정보를 더 포함할 수 있다.
주행 통계(123)에 기초하여, 기계 학습 엔진(122)은 다양한 목적을 위해 일련의 규칙, 알고리즘 및/또는 예측 모델(124)을 생성하거나 훈련시킨다. 일 실시예에서, 알고리즘(124)은 ADV 주행 데이터 및 시뮬레이션된 ADV 주행 데이터("크로스 플랫폼"은 실제 및 시뮬레이션된 ADV 주행 기록을 의미함)를 사용하여 ADV의 자율 주행 제어 시스템의 성능을 특성화하는 표준화된 통계 또는 메트릭 세트를 생성하는 크로스 플랫폼 제어 프로파일링 시스템을 포함할 수 있다. 원시 주행 데이터 레코드는 지정된 시간에 또는 수동으로 ADV에서 데이터 수집기(121)로 업로드된다. 시뮬레이션된 ADV 주행 데이터는 데이터 수집기(121)에도 업로드된다. 알고리즘(124)은 ADV 제어 시스템의 성능을 특성화하는 표준화된 메트릭 세트를 생성하는 데 사용된다. 메트릭은 주행 통계(123)에 저장되고, 설계 엔지니어와 같은 구독 사용자에게 배포된다.
도 3a 및 3b는 일 실시예에 따른 자율 차량과 함께 사용되는 인식 및 계획 시스템의 예를 예시하는 블록도이다. 시스템(300)은 인식 및 계획 시스템(110), 제어 시스템(111) 및 센서 시스템(115)을 포함하지만, 이에 한정되지 않는, 도 1의 자율 차량(101)의 일부로서 구현될 수 있다. 도 3a-3b를 참조하면, 인식 및 계획 시스템(110)은 위치 파악 모듈(301), 인식 모듈(302), 예측 모듈(303), 결정 모듈(304), 계획 모듈(305), 제어 모듈(306), 경로 모듈(307) 및 주행 기록기(308)를 포함하지만, 이에 한정되지는 않는다.
모듈(301-308)의 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 이러한 모듈은 영구 저장 장치(352)에 설치되고, 메모리(351)에 로드되며, 하나 이상의 프로세서(미도시)에 의해 실행될 수 있다. 이들 모듈의 일부 또는 전부는 도 2의 차량 제어 시스템(111)의 일부 또는 모든 모듈에 통신 가능하게 결합되거나 통합될 수 있다. 일부 모듈(301-308)은 통합된 모듈로서 함께 통합될 수 있다.
위치 파악 모듈(301)은 자율 차량(300)의 현재 위치를 결정하고(예를 들어, GPS 유닛(212) 활용) 사용자의 여행 또는 경로와 관련된 임의의 데이터를 관리한다. 위치 파악 모듈(301)(지도 및 경로 모듈이라고도 함)은 사용자의 여행 또는 경로와 관련된 임의의 데이터를 관리한다. 사용자는, 예를 들어, 사용자 인터페이스를 통해 로그인하여 여행의 시작 위치와 목적지를 지정할 수 있다. 위치 파악 모듈(301)은 여행 관련 데이터를 획득하기 위해 지도 및 경로 정보(311)와 같은 자율 차량(300)의 다른 컴포넌트와 통신한다. 예를 들어, 위치 파악 모듈(301)은 위치 서버 및 지도 및 POI(MPOI) 서버로부터 위치 및 경로 정보를 획득할 수 있다. 위치 서버는 위치 서비스를 제공하고 MPOI 서버는 지도 서비스 및 특정 위치의 POI를 제공하며, 이는 지도 및 경로 정보(311)의 일부로 캐시될 수 있다. 자율 차량(300)이 경로를 따라 이동하는 동안, 위치 파악 모듈(301)은 또한 교통 정보 시스템 또는 서버로부터 실시간 교통 정보를 얻을 수 있다.
센서 시스템(115)에 의해 제공되는 센서 데이터 및 위치 파악 모듈(301)에 의해 획득된 위치 정보에 기초하여, 주변 환경의 인식은 인식 모듈(302)에 의해 결정된다. 인식 정보는 운전자가 주행중인 차량 주변에서 일반 운전자가 인식하는 것을 나타낼 수 있다. 인식은 차선 구성, 신호등 신호, 다른 차량의 상대적 위치, 보행자, 건물, 횡단 보도 또는, 예를 들어, 물체의 형태에서, 기타 교통 관련 표지판(예를 들면, 정지 표지판, 양보 표지판) 등을 포함할 수 있다. 차선 구성은, 예를 들면, 차선의 모양(예를 들면, 직선 또는 곡률), 차선 너비, 도로의 차선 수, 일방 통행 또는 양방향 통행 차선, 차선 병합 또는 분할, 차선 종료 등과 같은 차선을 설명하는 정보를 포함한다.
인식 모듈(302)은 자율 차량의 환경에서 물체 및/또는 특징을 식별하기 위해 하나 이상의 카메라에 의해 캡처된 이미지를 처리하고 분석하기 위한 컴퓨터 비전 시스템 또는 컴퓨터 비전 시스템의 기능을 포함할 수 있다. 물체는 교통 신호, 도로 경계, 다른 차량, 보행자 및/또는 장애물 등을 포함할 수 있다. 컴퓨터 비전 시스템은 물체 인식 알고리즘, 비디오 추적 및 기타 컴퓨터 비전 기술을 사용할 수 있다. 일부 실시예에서, 컴퓨터 비전 시스템은 환경을 맵핑하고, 물체를 추적하고, 물체의 속도를 추정할 수 있다. 인식 모듈(302)은 또한 레이더 및/또는 LIDAR와 같은 다른 센서에 의해 제공되는 다른 센서 데이터에 기초하여 물체를 검출할 수 있다.
각각의 물체에 대해, 예측 모듈(303)은 상황 하에서 물체가 행동할 것을 예측한다. 예측은 지도/경로 정보(311) 및 교통 규칙(312)의 관점의 시점에서 주행 환경을 인식하는 인식 데이터를 기반으로 수행된다. 예를 들어, 물체가 반대 방향의 차량이고 현재 주행 환경은 교차로를 포함한다면, 예측 모듈(303)은 차량이 직진할지 회전할지를 예측할 것이다. 인식 데이터가 교차로에 신호등이 없음을 나타내는 경우, 예측 모듈(303)은 교차로에 진입하기 전에 차량이 완전히 정지해야 할 수도 있음을 예측할 수 있다. 인식 데이터가 차량이 현재 좌회전 전용 차선 또는 우회전 전용 차선에 있음을 나타내는 경우, 예측 모듈(303)은 차량이 각각 좌회전 또는 우회전을 할 가능성이 더 높음을 예측할 수 있다.
각각의 물체에 대해, 결정 모듈(304)은 물체를 처리하는 방법에 관한 결정을 내린다. 예를 들어, 특정 물체(예를 들어, 횡단 경로에 있는 다른 차량) 및 물체를 설명하는 메타 데이터(예를 들어, 속도, 방향, 회전 각도)에 대해, 결정 모듈(304)은 물체를 만나는 방법(예를 들어, 추월 , 양보, 중지, 통과)을 결정한다. 결정 모듈(304)은 교통 규칙 또는 주행 규칙(312)과 같은 일련의 규칙에 따라 그러한 결정을 내릴 수 있는데, 이는 영구 저장 장치(352)에 저장될 수 있다.
경로 모듈(307)은 시작 지점에서 목적지 지점까지 하나 이상의 경로 또는 길(routes or paths)을 제공하도록 구성된다. 예를 들어, 사용자로부터 수신된 시작 위치에서 목적지 위치로의 주어진 여정에 대해, 경로 모듈(307)은 경로 및 지도 정보(311)를 획득하고 목적지 위치에 도달하기 위해 시작 위치로부터 가능한 모든 경로 또는 길을 결정한다. 경로 모듈(307)은 목적지 위치에 도달하기 위해 시작 위치로부터 결정하는 각각의 경로에 대한 지형 맵의 형태로 참조 라인을 생성할 수 있다. 참조 라인은 다른 차량, 장애물 또는 교통 상황과 같은 다른 것의 간섭이 없는 이상적인 경로 또는 길을 나타낸다. 즉, 도로에 다른 차량, 보행자 또는 장애물이 없는 경우 ADV는 참조 라인을 정확히 또는 가깝게 따라야 한다. 그런 다음 지형 지도가 결정 모듈(304) 및/또는 계획 모듈(305)에 제공된다. 결정 모듈(304) 및/또는 계획 모듈(305)은 위치 모듈(301)로부터의 교통 상황, 인식 모듈(302)에 의해 인식되는 주행 환경 및 예측 모듈(303)에 의해 예측되는 교통 상황과 같은 다른 모듈에 의해 제공되는 다른 데이터를 고려하여 가장 최적의 경로 중 하나를 선택하고 수정하기 위해 가능한 모든 경로를 검사한다. ADV를 제어하기 위한 실제 경로 또는 길은 해당 시점의 특정 주행 환경에 따라 경로 모듈(307)에 의해 제공되는 참조 라인에 가깝거나 다를 수 있다.
인식된 각각의 물체에 대한 결정에 기초하여, 계획 모듈(305)은 기초로서 경로 모듈(307)에 의해 제공된 참조 라인을 이용하여, 주행 파라미터(예를 들어, 거리, 속도 및/또는 회전 각도)뿐만 아니라 자율 차량에 대한 경로 또는 길을 계획한다. 즉, 주어진 물체에 대해, 결정 모듈(304)은 물체로 무엇을 할 것인지를 결정하는 반면, 계획 모듈(305)은 그것을 수행하는 방법을 결정한다. 예를 들어, 주어진 물체에 대해, 결정 모듈(304)은 물체를 통과하기로 결정할 수 있는 반면, 계획 모듈(305)은 물체의 왼쪽으로 통과할지 또는 오른쪽으로 통과할지를 결정할 수 있다. 계획 및 제어 데이터는 차량(300)이 다음 이동 사이클(예를 들어, 다음 경로/길 세그먼트)에서 어떻게 이동할 것인지를 설명하는 정보를 포함하는 계획 모듈(305)에 의해 생성된다. 예를 들어, 계획 및 제어 데이터는 차량(300)에게 시속 30 마일(mph)의 속도로 10 미터를 이동한 다음 25mph의 속도로 오른쪽 차선으로 변경하도록 지시할 수 있다.
계획 및 제어 데이터에 기초하여, 제어 모듈(306)은 계획 및 제어 데이터에 의해 정의된 경로 또는 길에 따라 적절한 명령 또는 신호를 차량 제어 시스템(111)에 전송함으로써 자율 차량을 제어하고 주행한다. 계획 및 제어 데이터는 경로 또는 길을 따라 다른 시점에서 적절한 차량 설정 또는 주행 파라미터(예를 들어, 스로틀, 제동, 조향 명령)를 사용하여 경로 또는 길의 첫번째 지점에서 두번째 지점으로 차량을 주행하기에 충분한 정보를 포함한다.
일 실시예에서, 계획 단계는, 예를 들어, 100 밀리 초(ms)의 매 시간 간격에서와 같이, 주행 사이클이라고도하는, 다수의 계획 사이클로 수행된다. 각 계획 사이클 또는 주행 사이클에 대해, 계획 및 제어 데이터를 기반으로 하나 이상의 제어 명령이 발행된다. 즉, 매 100ms마다, 계획 모듈(305)은, 예를 들어, ADV가 목표 위치에 도달하는 데 필요한 목표 위치 및 시간을 포함하는, 다음 경로 세그먼트 또는 길 세그먼트를 계획한다. 대안적으로, 계획 모듈(305)은 특정 속도, 방향 및/또는 조향 각도 등을 추가로 지정할 수 있다. 일 실시예에서, 계획 모듈(305)은 5초와 같은 다음의 미리 결정된 시간 기간 동안 경로 세그먼트 또는 길 세그먼트를 계획한다. 각 계획 사이클에 대해, 계획 모듈(305)은 이전 사이클에서 계획된 목표 위치에 기초하여 현재 사이클(예를 들어, 다음 5초)에 대한 목표 위치를 계획한다. 제어 모듈(306)은 다음으로 현재 사이클의 계획 및 제어 데이터에 기초하여 하나 이상의 제어 명령(예를 들어, 스로틀, 제동, 조향 제어 명령)을 생성한다.
결정 모듈(304) 및 계획 모듈(305)은 통합 모듈로서 통합될 수 있다. 결정 모듈(304)/계획 모듈(305)은 자율 차량에 대한 주행 경로를 결정하기 위해 내비게이션 시스템 또는 내비게이션 시스템의 기능을 포함할 수 있다. 예를 들어, 내비게이션 시스템은 일반적으로 최종 목적지로 이어지는 도로 기반 경로를 따라 자율 주행 차량을 전진시키면서 인식된 장애물을 실질적으로 피하는 경로를 따라 자율 주행 차량의 이동에 영향을 미치는 일련의 속도 및 방향(directional headings)을 결정할 수 있다. 목적지는 사용자 인터페이스 시스템(113)을 통한 사용자 입력에 따라 설정될 수 있다. 내비게이션 시스템은 자율 차량이 작동하는 동안 주행 경로를 동적으로 업데이트할 수 있다. 내비게이션 시스템은 자율 주행 차량의 주행 경로를 결정하기 위해 GPS 시스템과 하나 이상의 지도로부터 데이터를 통합할 수 있다.
주행 기록기(308)는 ADV 제어 시스템의 적어도 3개의 데이터 채널(제어 채널, 섀시 채널 및 위치 파악 채널)에서 주행 기록을 기록한다. 제어 채널은 제동, 스로틀 및 조향과 같은 ADV의 제어 시스템에 대한 제어 명령에 대한 정보를 생성한다. 섀시 채널은 가속도계, 제동, 스로틀 및 조향 시스템의 실제 위치 또는 작동과 같은 다양한 센서에서 정보를 생성한다. 위치 파악 채널은 고해상도(HD) 지도 또는 GPS(Global Positioning Satellite) 시스템과 같은 표준 참조에 대한 참조를 통해 ADV의 실제 위치 및 방향에 대한 정보를 생성한다. 데이터 기록은 약 100fps(초당 프레임) 또는 약 10밀리 초(ms) 프레임 당 기록될 수 있다. 각 주행 기록에는 타임 스탬프가 있다. 타임 스탬프는 주행 경로의 시작과 같은 시작 시간에 상대적인 hh:mm:ss:ms(시간:분:초:밀리초) 형식의 절대 타임 스탬프일 수 있다. 실시예에서, 타임 스탬프는 주행 경로의 시작과 같은 시작 시간에 상대적인 프레임 번호일 수 있다. 일 실시예에서, 각각의 주행 기록은 타임 스탬프에 추가하여 날짜 스탬프를 추가로 가질 수 있다. 데이터 기록기(308)는 시뮬레이션된 ADV 주행 세션과 실제 ADV 주행 세션에 대한 주행 기록을 기록할 수 있다.
주행 기록기(308)는 주행 기록 저장부(313)와 같은 비휘발성 저장부에 주행 기록을 기록할 수 있다. 주행 기록(313)은, 서버 시스템, 예를 들어, 서버(들)(103-104)에 업로드될 수 있어 ADV의 컨트롤러의 성능을 평가하는 표준화된 성능 메트릭 세트를 생성한다. ADV의 컨트롤러는 표준화된 메트릭 세트를 사용하여 업데이트 할 수 있으며, 업데이트된 ADV의 컨트롤러는 비휘발성 저장부(314)에 저장될 수 있다.
도 3b에 도시된 바와 같이, 데이터 기록기(308)는 또한 계획 모듈로부터 주행 기록을 수신할 수 있다. 계획 모듈 주행 기록은 계획된 주행 조건과 실제(또는 시뮬레이션 된) 주행 조건의 비교에 사용될 수 있어 ADV 컨트롤러의 성능을 평가할 수 있다.
도 3c는 일 실시예에 따른 예시적인 ADV 제어 명령 및 제어 명령에 대한 자율 차량 제어 서브시스템 작동 동작 응답을 도시한다. 가상의 예시적인 제어 명령(350)이 계단 함수(step function)로서 도시된다. 실제로, 제어 입력은 일반적으로 계단 함수가 아니다. 그러나 제어 입력은 여기에서 설명할 개념을 잘 설명한다. 제어 명령(350)은 시간 지연 시간(355)을 갖는다. 시간 지연은 ADV 제어 서브시스템(예를 들면, 스로틀, 조향, 제동)에 제공된 ADV 제어 시스템(111)에 의해 제공된 제어 입력과 제어 입력에 대한 응답으로 제어 서브시스템의 작동 시작 사이의 시간이다.
제어 명령(350)은 서브시스템 작동(352)으로 전달되기 전에 저역 통과 필터(351)를 통해 전달될 수 있다. ADV는 "드라이브-바이-와이어(drive-by-wire)"이며, 이는 제어 서브시스템 작동이 제어 명령의 전송을 통해 이루어진다는 것을 의미한다. 실제로 제어 서브시스템 액추에이터는 ADV 또는 ADV 컨트롤러의 설계자와는 다른 타사에서 제공하는 경우가 많다. 따라서 ADV 또는 ADV 컨트롤러의 설계자는 상승 시간(356), 오버 슈트(357) 및 상승 시간(356)과 같은 작동 지연이 있음을 알고 있지만, ADV 또는 ADV 컨트롤러의 설계자는 동작 지연의 정확한 소스나 원인을 알지 못한다. ADV 디자이너 또는 ADV 컨트롤러 디자이너에게, 제어 서브시스템 액추에이터는 "블랙 박스"일뿐인데, 이는 입력 제어 명령과 관련하여 작동 지연이 있다. 여기에 설명된 시스템 및 방법은 참조 작동 출력, 적응형 이득 및 폐쇄 루프 서브시스템 컨트롤러를 사용하여 작동 지연 및 시간 지연을 설명할 수 있다.
도 3d는 실시예에 따른 자율 차량에 사용되는 조향 제어 서브시스템 및 역학 소스를 도시한다.
조향 제어 서브시스템(360)은 ADV(101)의 예시적인 제어 서브시스템이다. ADV의 조향 서브시스템은 일반적으로 제어 명령, 예를 들면, 제어 명령(350)을 수신하는 "드라이브-바이-와이어"시스템이고, 그리고 물리적 및 전자적 수단을 통해 제어 명령을 실행한다. 조향 제어 서브시스템(360)은 벨트 드라이브(361), 핸드 휠 피드백 모터(363), 핸드 휠 각도 센서(362), 조향 액추에이터(364), 피니언 각도 센서 및 타이어를 포함할 수 있다. 조향 액추에이터(364), 예를 들어, 타이어는 작동 동적 지연의 소스를 도입할 수 있다.
도 4는 일 실시예에 따른 자율 주행을 위한 시스템 아키텍처를 예시하는 블록도이다. 시스템 아키텍처(400)는 도 3a 및 3b에 도시된 바와 같이 자율 주행 시스템의 시스템 아키텍처를 나타낼 수 있다. 도 4를 참조하면, 시스템 아키텍처(400)는 애플리케이션 계층(401), 계획 및 제어(PNC) 계층(402), 인식 계층(403), 드라이버 계층(404), 펌웨어 계층(405) 및 하드웨어 계층(406)을 포함하지만 이에 한정되지는 않는다. 예를 들어, 사용자 인터페이스 시스템(113)과 연관된 기능과 같은 자율 주행 차량의 사용자 또는 승객과 상호 작용하는 사용자 인터페이스 또는 구성 애플리케이션을 포함할 수 있다. PNC 계층(402)은 적어도 계획 모듈(305) 및 제어 모듈(306)의 기능을 포함할 수 있다. 인식 계층(403)은 적어도 인식 모듈(302)의 기능을 포함할 수 있다. 일 실시예에서, 예측 모듈(303) 및/또는 결정 모듈(304)의 기능을 포함하는 추가 계층이 있다. 대안적으로, 그러한 기능은 PNC 계층(402) 및/또는 인식 계층(403)에 포함될 수 있다. 시스템 아키텍처(400)는 드라이버 계층(404), 펌웨어 계층(405) 및 하드웨어 계층(406)을 더 포함한다. 펌웨어 계층(405)은 적어도 센서 시스템(115)의 기능을 나타낼 수 있는데, 이는 FPGA(field programmable gate array)의 형태로 구현될 수 있다. 하드웨어 계층(406)은 제어 시스템(111)과 같은 자율 주행 차량의 하드웨어를 나타낼 수 있다. 계층(401 내지 403)은 장치 드라이버 계층(404)을 통해 펌웨어 계층(405) 및 하드웨어 계층(406)과 통신할 수 있다.
도 5a는 일 실시예에 따른, 자율 주행 차량(ADV)의 하나 이상의 제어 서브시스템의 작동을 개선하는 모델 참조 적응형 컨트롤러(MRAC)를 통합하는 데이터 흐름 및 시스템(500)을 예시하는 블록도이다. 제어 서브시스템은 ADV의 제동, 스로틀링 및 조향 시스템을 포함할 수 있다. "드라이브-바이-와이어"를 사용하여 제어 서브시스템을 작동할 때, 2차 동적 지연과 제어 서브시스템의 시간 지연이 있다. 2차 동적 지연에는 입력 작동 명령과 관련하여 제어 서브시스템의 측정된 작동 상태의 상승 시간, 오버 슈트 및 안정화 시간이 포함될 수 있다. 작동 제어 시스템(550)은 모델 참조(560), 모델 참조 적응형 제어(MRAC) 피드백 컨트롤러(555) 및 MRAC 적응형 이득 시스템(570)을 사용하여 제어 서브시스템의 보다 원활한 작동 제어를 생성하기 위해 2차 작동 동적 지연을 감소시킬 수 있다.
시스템(500)은 차량 제어 시스템(505) 및 작동 제어 시스템(550)을 포함한다. 작동 제어 시스템(550)은 모든 제어 서브시스템(스로틀, 제동, 조향)에 대한 기능을 포함할 수 있다. 일 실시예에서, 하나 이상의 제어 서브시스템은 각각 작동 제어 시스템(550)을 갖는다. 차량 제어 시스템(505)은 차량 시스템 컨트롤러(515) 및 캘리브레이션 테이블(520)을 포함할 수 있다. 차량 제어 시스템(505)은 차량 제어 시스템(505) "외부 루프"보다 빠르거나 빠르게 반복할 수 있는 "내부 루프"인 작동 제어 시스템(550)과 관련하여 "외부 루프"로 간주될 수 있다.
작동시, 차량 제어 시스템(505)은 인식 및 계획 시스템, 예를 들면, ADV의 인식 및 계획 시스템(111)으로부터 계획 궤적 r,(510)을 수신한다. 합산 회로(511)는 계획 및 궤적(510) 신호를 수신하고 또한 차량 시스템(575)의 상태 출력 x,(576)를 수신한다. 상태 출력(576)은 차량 시스템(예를 들어, 섀시)(575)의 제어 서브시스템의 현재 측정된 작동 상태를 나타낸다. 예를 들어, 계획 및 궤적(510)은 조향 서브시스템이 중앙에서 8° 왼쪽으로 작동하도록 명령을 받도록 지정할 수 있으며, 상태 출력(576)은 조향 서브시스템의 현재 상태가 중앙에서 5° 왼쪽에 있음을 보고한다. 합산 회로(511)는 차량 시스템 컨트롤러(515)에 중앙의 추가 3° 왼쪽으로 차이를 보고할 수 있다.
차량 시스템 컨트롤러(515)는 모델 예측 컨트롤러(MPC) 또는 선형 2차 레귤레이터(LQR) 등 임의 유형의 ADV 차량 컨트롤러가 될 수 있다. 차량 시스템 컨트롤러(515)는 제어 명령(516)(예를 들면, 조향 명령)을 캘리브레이션 테이블(520)에 출력한다. 캘리브레이션 테이블(520)은 중앙 명령(원하는 입력 522)의 추가 3° 왼쪽의 조향 입력으로 8°의 계획 궤적(510) 입력에 대한 서브시스템 제어 작동 명령(521)(예를 들면, 조향 제어 서브시스템을 작동시키는 명령)을 생성하여, 계획 및 궤적 신호(510)에 표시된 중앙 왼쪽 8°를 달성한다. 원하는 입력 r,(522)는 MRAC 피드백 컨트롤러(555)와 모델 참조(원하는 작동)(560) 모두에 입력된다.
이제 도 5b를 참조하면, 예시적인 원하는 입력(522)이 작동 제어 시스템(550)에 대한 계단 함수 입력으로서 도시된다. 실제로, 제어 서브시스템의 작동 시스템에 대한 입력은 거의 계단 함수가 아니다. 그러나, 계단 함수는 작동 제어 시스템(550)의 2차 작동 역학을 예시하는 역할을 한다. 2차 작동 역학은 또한 도 3c를 참조하여 위에서 설명된다.
모델 참조(560)의 기능은 차량 제어 시스템(505)의 "불완전한" 작동 시스템과 비교하여 "원하는" 시스템을 생성하기 위한 것이고, 그런 후 모델 참조(560)와 차량 제어 시스템(505) 사이의 오차는 적응형 프로세스에서 사용되어 제어 서브시스템 작동이 임계 허용 오차 내에서 모델 참조를 달성할 수 있도록 이득을 적응형으로 생성한다. 모델 참조(560)는 수신된 원하는 입력(522)에 대응하는 참조 작동 출력(561)을 조회할 수 있다. 참조 동작 출력은 위의 도 2를 참조하여 도시된 바와 같이 서브시스템 컨트롤러(들)(205)의 참조 동작 출력(206)으로부터 검색될 수 있다. 모델 참조(560)는 제어 서브시스템의 2차 동적 지연을 고려하는 기계 생성 또는 수동 생성 작동 곡선일 수 있다. 예를 들어, 원하는 입력(522)의 예가 주어지면, 모델 참조(560)는 예시적 원하는 참조 출력, x REF (561)을 찾는다. 원하는 참조 출력(561)은 합산 회로(567)에 의해 수신된다.
모델 참조(560)가 참조 작동 출력(561)을 결정하는 것과 실질적으로 동시에, MRAC 피드백 컨트롤러(555)는 원하는 입력(522)를 수신한다. MRAC 피드백 컨트롤러(555)에서 원하는 입력(561)을 받은 시간이 t 0에 수신된 것이라고 가정하면, MRAC 피드백 컨트롤러(555)는 원하는 입력(522)과 관련된 적응형 이득을 아직 받지 못할 것이다. 따라서, 시간 t 0에서, MRAC 피드백 컨트롤러는 적응형 이득(571)없이 작동 명령 u,(566)으로서 원하는 입력(522)을 바이-와이어-작동 시스템(565)에 전달할 수 있다. 실제로, 바이-와이어-작동 시스템(565)은 종종 블랙 박스로 취급되는 타타 컴포넌트이다. 따라서, 바이-와이어-작동 시스템(565)은 바이-와이어-작동 시스템(565)의 제조자에 의해 생성된 작동 시스템(565)의 프로그래밍 또는 로직에 따라 작동 동작, x(566)을 생성한다. 작동 동작(566)은(1) 합산 회로(567) 및(2) MRAC 피드백 컨트롤러(555)에 의해 MRAC 피드백 컨트롤러(555)에 대한 입력으로서 시간 t 1에 수신된다.
합산 회로(567)는 시간 t 0에 바이-와이어 작동 시스템(565)에 의해 출력된 작동 동작(566)과 시간 t 0에 모델 참조(560)에 의한 참조 작동 출력(561) 사이의 차이인 제어 오차 e,(569)를 결정한다. MRAC 적응형 이득 시스템(570)은 MRAC 피드백 컨트롤러(555)로 전달할 적응형 이득(571)의 양을 결정하여 시간 t 1에 바이-와이어 동작(565)으로 전송할 작동 명령(566)을 결정한다. MRAC 적응형 이득 시스템(570)은 폐쇄 루프 작동 제어 시스템(550)의 수렴 및 안정성을 보장하기 위해 적응형 이득을 사용하여 온라인 조정을 수행한다. 일 실시예에서, 적응형 이득(571)은 MRAC 적응형 이득 시스템(570)에 의해 다음과 같이 결정될 수 있다.
(1) "이상적인" 이득이 있는 "이상적인" 피드백 제어:
Figure 112020115372915-pat00001
여기서
Figure 112020115372915-pat00002
, 및
Figure 112020115372915-pat00003
(2) 추정된 시변 이득을 통한 적응형 피드백 제어:
Figure 112020115372915-pat00004
, 여기서
Figure 112020115372915-pat00005
Figure 112020115372915-pat00006
Figure 112020115372915-pat00007
는 적응형 프로세스의 수렴 속도를 결정하는 일정한 적응 형 이득이다.
(3) 실제 시스템-참조 시스템:
Figure 112020115372915-pat00008
(4) 폐쇄-루프 오차 역학은 비선형 비자율 3차 시스템에 의해 제공된다:
Figure 112020115372915-pat00009
,
Figure 112020115372915-pat00010
, 및
Figure 112020115372915-pat00011
(5) 비선형, 시변 안정성 시스템 표현식은 다음과 같다:
Figure 112020115372915-pat00012
Figure 112020115372915-pat00013
, 및
Figure 112020115372915-pat00014
Figure 112020115372915-pat00015
로,
Figure 112020115372915-pat00016
이다.
MRAC 피드백 컨트롤러(555)는 동적으로 조정된 적응형 이득(571)을 사용하여 제어 서브시스템의 입력과 상태를 피드백함으로써 실현 가능한 작동 제어 명령(556)을 생성한다. 제어 명령(556)은 바이-와이어 작동 시스템(565)으로 전송되어, 다음번의 반복에서 작동 동작(566)을 추가로 생성하는데, 이는 참조 작동 동작(561)에 더 가깝다.
이제 도 5c를 참조하면,도 5a 및 5b의 세부 사항을 더 설명하는, 예시적인 참조 작동 출력(561)은 합산 또는 결합 회로(567)에 의해 예시적인 작동 동작(566)과 합산된다. 결합된 결과는 MRAC에 제어 오차(569)로서 피드백 이득 시스템(570)에 출력된다. MRAC 적응형 이득 시스템(570)으로부터의 적응형 이득을 작동 동작(566)에 적용한 결과는 MRAC 적응형 이득 시스템(570) 및 MRAC 피드백 컨트롤러(555)의 다음번의 반복을 위해 감소된 오차를 갖는 작동 신호(571)를 생성한다.
도 6은 일 실시예에 따른 모델 참조형 컨트롤러(MRAC)를 사용하여 제어 서브시스템(예를 들어, 스로틀, 제동, 조향)의 작동을 개선하는 방법(600)을 예시하는 블록도이다.
작동(601)에서, ADV의 제어 서브시스템(예를 들면, 스로틀, 제동, 또는 조향)의 작동 제어 시스템(550)의 피드백 컨트롤러(555)에 제어 입력이 수신된다.
작동(602)에서, 수신된 제어 입력에 대응하는 참조 작동 출력이 결정될 수 있다. 일 실시예에서, 수신된 제어 입력에 대응하는 제어 서브시스템에 대한 참조 작동 출력은 서브시스템 컨트롤러(205)의 저장소, 참조 작동 출력(206)에서 조회될 수 있다.
작동(603)에서, 제어 서브시스템의 액추에이터의 출력 작동 명령과 참조 작동 출력 사이의 오차량이 결정될 수 있다. 오차량은 예를 들어, 도 5a-5c를 참조하여 전술 한 바와 같이 작동 제어 시스템(550)의 합산 회로(567)에 의해 결정될 수 있다.
작동(604)에서, 적응형 이득량이 오차량을 이용하여 결정될 수 있다.
작동(605)에서, 측정된 작동 동작, 원하는 입력 및 적응형 이득에 기초한 제어 서브시스템을 작동시키기 위한 제 2 작동 명령이 제어 서브시스템으로 출력된다. 방법(600)이 종료된다.
도 7은 일 실시예에 따른 모델 참조형 컨트롤러를 사용하여 제어 서브시스템(예를 들어, 스로틀, 제동, 조향)의 작동을 개선하는 방법(700)을 예시하는 블록도이다.
작동(701)에서, 제어 입력이 ADV의 제어 서브시스템(예를 들면, 스로틀, 제동 또는 조향)의 작동 제어 시스템(550)의 피드백 컨트롤러(555)에 수신된다.
작동(702)에서, 수신된 제어 입력에 대응하는 참조 작동 출력이 결정될 수 있다. 일 실시예에서, 수신된 제어 입력에 대응하는 제어 서브시스템에 대한 참조 작동 출력은 컨트롤러 서브시스템(205)의 저장소, 참조 작동 출력(206)에서 조회될 수 있다. 참조 작동 출력은 제어 시스템의 2차 동적 지연에 적어도 부분적으로 기반할 수 있다.
작동(703)에서, 제어 서브시스템의 액추에이터의 출력 작동 명령과 참조 작동 출력 사이의 오차량이 결정될 수 있다. 오차량은, 도 5a-5c를 참조하여 전술한 바와 같이, 예를 들어, 작동 제어 시스템(550)의 합산 회로(567)에 의해 결정될 수 있다.
작동(704)에서, 적응형 이득량이 오차량을 이용하여 결정될 수 있다. 일 실시예에서, 적응형 이득은 시간에 따라 변하는 적응형 이득 및 적응형 프로세스의 수렴 속도를 결정하는 일정한 적응형 이득에 적어도 부분적으로 기초할 수 있다. 적응형 이득은 제어 서브시스템에 대한 제 2 작동 명령을 얻기 위해 참조 작동 출력에 적용할 수 있다.
작동(705)에서, 제 2 작동 명령이 제어 서브시스템을 작동시키기 위해 출력될 수 있다. 제 2 작동 명령은 측정된 작동 출력, 원하는 입력 및 적응형 이득을 기반으로 한다.
작동(706)에서, 동작(703-705)은 동작된 제어 서브시스템의 측정된 상태가 적용된 적응형 이득을 갖는 참조 동작 출력의 임계값 내에 있을 때까지 반복될 수 있다. 방법(700)이 종료된다.
위에서 도시되고 설명된 컴포넌트의 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 이러한 컴포넌트는 영구 저장 장치에 설치 및 저장되는 소프트웨어로 구현될 수 있으며, 이는 본 출원 전체에 설명된 프로세스 또는 작업을 수행하기 위해 프로세서(도시되지 않음)에 의해 메모리에 로드 및 실행될 수 있다. 대안적으로, 이러한 컴포넌트는 집적 회로(예를 들면, 애플리케이션 특정 IC 또는 ASIC), 디지털 신호 프로세서(DSP) 또는 필드 프로그래밍 가능 게이트 어레이(FPGA)와 같은 전용 하드웨어에 프로그래밍되거나 내장된 실행 코드로 구현될 수 있는데, 이는 애플리케이션으로부터 해당 드라이버 및/또는 운영 체제를 통해 액세스될 수 있다. 더욱이, 이러한 컴포넌트는 하나 이상의 특정 명령어를 통해 소프트웨어 컴포넌트에 의해 액세스 가능한 명령어 세트의 일부로서 프로세서 또는 프로세서 코어에서 특정 하드웨어 로직으로 구현될 수 있다.
전술한 상세한 설명의 일부 부분은 컴퓨터 메모리 내의 데이터 비트에 대한 연산의 상징적 표현 및 알고리즘의 관점에서 제시되었다. 이러한 알고리즘 설명 및 표현은 데이터 처리 기술의 숙련자가 자신의 작업 내용을 다른 당업자에게 가장 효과적으로 전달하는 데 사용하는 방법이다. 여기에서 알고리즘은 일반적으로 원하는 결과로 이어지는 일관된 동작 시퀀스로 간주된다. 동작은 물리량의 물리적 조작이 필요한 것들이다.
그러나 이러한 용어와 유사한 용어는 모두 적절한 물리량과 연관되어야 하며 이러한 수량에 적용되는 편리한 라벨일 뿐이라는 점을 명심해야 한다. 위의 논의에서 명백하게 달리 구체적으로 언급되지 않는 한, 상기 설명, 아래의 청구 범위에 기재된 것과 같은 용어를 사용하는 논의 전반에 걸쳐, 컴퓨터 시스템의 레지스터 및 메모리 내에서 물리적(전자적) 양으로 표시된 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 기타 그러한 정보 저장소, 전송 또는 디스플레이 장치 내에서 물리적 수량으로 유사하게 표시된 다른 데이터로 조작하고 변환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치의 작업 및 프로세스를 나타내는 것으로 이해된다.
본 개시 내용의 실시예는 또한 본 명세서의 동작을 수행하기 위한 장치에 관한 것이다. 그러한 컴퓨터 프로그램은 비일시적 컴퓨터 판독 가능 매체에 저장된다. 기계 판독 가능 매체는 기계(예를 들면, 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 예를 들어, 기계 판독 가능(예를 들면, 컴퓨터 판독 가능) 매체는 기계(예를 들면, 컴퓨터) 판독 가능 저장 매체(예를 들면, 읽기 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 장치)를 포함한다.
앞의 도면에 묘사된 프로세스 또는 방법은 하드웨어(예를 들어, 회로, 전용 로직 등), 소프트웨어(예를 들어, 비일시적 컴퓨터 판독 가능 매체에 구현됨) 또는 이들의 조합을 포함하는 처리 로직에 의해 수행될 수 있다. 프로세스 또는 방법이 일부 순차적 동작의 관점에서 설명되었지만, 설명된 작동 중 일부는 다른 순서로 수행될 수 있다는 것을 이해해야 한다. 또한 일부 작동은 순차적으로 수행되지 않고 병렬로 수행될 수 있다.
본 개시의 실시예는 임의의 특정 프로그래밍 언어에 대한 참조로 설명되지 않는다. 다양한 프로그래밍 언어가 본 명세서에 설명된 바와 같은 개시 내용의 실시예의 교시를 구현하기 위해 사용될 수 있다는 것이 이해될 것이다.
전술한 명세서에서, 본 개시의 실시예들은 그 특정 예시적인 실시예들을 참조하여 설명되었다. 다음의 청구 범위에 기재된 본 개시의 더 넓은 사상 및 범위를 벗어나지 않고 다양한 변형이 이루어질 수 있음이 명백할 것이다. 따라서, 명세서 및 도면은 제한적인 의미가 아니라 예시적인 의미로 간주되어야 한다.

Claims (21)

  1. 자율 주행 차량(ADV) 제어 시스템의 제어 서브시스템을 작동시키는 컴퓨터 구현 방법으로서,
    ADV의 상기 제어 서브시스템의 작동 제어 시스템의 피드백 컨트롤러에 제 1 제어 입력을 수신하는 단계;
    상기 제어 서브시스템의 액추에이터에 의해 출력된 작동 동작과 제 2 제어 입력에 기초한 모델 참조 시스템에 의해 출력된 참조 작동 사이의 오차를 결정하는 단계;
    상기 오차에 기초한 적응형 이득을 결정하는 단계; 및
    상기 제어 서브시스템에 의해 출력된 작동 동작, 상기 제 1 제어 입력 및 상기 적응형 이득에 기초하여 상기 제어 서브시스템의 액추에이터를 작동시키기 위해 작동 명령을 출력하는 단계를 포함하고,
    상기 제 1 제어 입력은 상기 ADV의 현재 주행 사이클 동안 상기 피드백 컨트롤러에서 수신되고, 상기 제 2 제어 입력은 이전 주행 사이클 동안 피드백 컨트롤러에서 수신되고,
    참조 작동 출력은 상기 제어 서브시스템의 2차 속성에 적어도 부분적으로 기초하고, 상기 제어 서브시스템의 2차 속성은 제어 서브시스템의 제어 동작을 시작하는 시간 지연을 포함하는, 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 제어 서브시스템의 2차 속성은 또한, 제어 서브시스템의 액추에이터의 상승 시간, 오버 슈트 양, 또는 안정화 시간 중 하나 이상을 포함하는, 방법.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 제 1 제어 입력 및 상기 제 2 제어 입력은 상기 ADV의 차량 섀시로부터 획득된 차량 상태를 고려하여 상기 ADV의 복수의 센서로부터 획득된 센서 데이터에 기초하여 상기 ADV를 주행하기 위한 궤적을 계획하도록 구성된 자율 주행 시스템으로부터 수신된, 방법.
  6. 제 1 항에 있어서,
    상기 제어 서브시스템은 스로틀 제어 서브시스템, 제동 제어 서브시스템, 또는 조향 제어 서브시스템 중 적어도 하나를 포함하는, 방법.
  7. 제 1 항에 있어서,
    상기 제어 서브시스템의 작동의 측정된 상태가 적용된 적응형 이득이 있는 상기 참조 작동의 임계 값 내에 있을 때까지, 상기 제어 서브시스템의 액추에이터에 의해 출력된 작동 동작과 상기 참조 작동 사이의 오차를 결정하는 단계, 적응형 이득을 결정하는 단계, 및 다음 작동 명령을 출력하는 단계를 반복적으로 수행하는 단계를 더 포함하는, 방법.
  8. 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 자율 주행 차량(ADV) 제어 시스템의 제어 서브시스템을 작동시키는 동작을 수행하게 하는 명령이 저장된 비일시적 기계 판독 가능 매체로서, 동작은
    ADV의 상기 제어 서브시스템의 작동 제어 시스템의 피드백 컨트롤러에 제 1 제어 입력을 수신하는 단계;
    상기 제어 서브시스템의 액추에이터에 의해 출력된 작동 동작과 제 2 제어 입력에 기초한 모델 참조 시스템에 의해 출력된 참조 작동 사이의 오차를 결정하는 단계;
    상기 오차에 기초한 적응형 이득을 결정하는 단계; 및
    상기 제어 서브시스템에 의해 출력된 작동 동작, 상기 제 1 제어 입력 및 상기 적응형 이득에 기초하여 상기 제어 서브시스템의 액추에이터를 작동시키기 위해 작동 명령을 출력하는 단계를 포함하고,
    상기 제 1 제어 입력은 상기 ADV의 현재 주행 사이클 동안 상기 피드백 컨트롤러에서 수신되고, 상기 제 2 제어 입력은 이전 주행 사이클 동안 피드백 컨트롤러에서 수신되고,
    참조 작동 출력은 상기 제어 서브시스템의 2차 속성에 적어도 부분적으로 기초하고, 상기 제어 서브시스템의 2차 속성은 제어 서브시스템의 제어 동작을 시작하는 시간 지연을 포함하는, 기계 판독 가능 매체.
  9. 삭제
  10. 제 8 항에 있어서,
    상기 제어 서브시스템의 2차 속성은 또한 제어 서브시스템의 액추에이터의 상승 시간, 오버 슈트 양, 또는 안정화 시간 중 하나 이상을 포함하는, 기계 판독 가능 매체.
  11. 삭제
  12. 제 8 항에 있어서,
    상기 제 1 제어 입력 및 상기 제 2 제어 입력은 상기 ADV의 섀시로부터 획득된 차량 상태를 고려하여 상기 ADV의 복수의 센서로부터 획득된 센서 데이터에 기초하여 상기 ADV를 주행하기 위한 궤적을 계획하도록 구성된 자율 주행 시스템으로부터 수신된, 기계 판독 가능 매체.
  13. 제 8 항에 있어서,
    상기 제어 서브시스템은 스로틀 제어 서브시스템, 제동 제어 서브시스템, 또는 조향 제어 서브시스템 중 적어도 하나를 포함하는, 기계 판독 가능 매체.
  14. 제 8 항에 있어서,
    상기 동작은, 상기 제어 서브시스템의 작동의 측정된 상태가 적용된 적응형 이득이 있는 상기 참조 작동의 임계 값 내에 있을 때까지, 상기 제어 서브시스템의 액추에이터에 의해 출력된 작동 동작과 상기 참조 작동 사이의 오차를 결정하는 단계, 적응형 이득을 결정하는 단계, 및 다음 작동 명령을 출력하는 단계를 반복적으로 수행하는 단계를 더 포함하는, 기계 판독 가능 매체.
  15. 자율 주행 차량(ADV)의 ADV 제어 시스템의 제어 서브시스템을 작동하기 위한 작동 제어 시스템으로서,
    제 1 제어 입력을 수신하는 피드백 컨트롤러;
    상기 피드백 컨트롤러에 연결된 모델 참조 모듈;
    상기 피드백 컨트롤러에 연결된 바이-와이어 작동 시스템;
    상기 바이-와이어 작동 시스템에 의해 출력된 작동 동작과 제 2 제어 입력에 기초한 상기 모델 참조 모듈에 의해 출력된 참조 작동 사이의 오차를 결정하기 위한 결합 로직; 및
    상기 오차에 기초한 적응형 이득을 결정하기 위한 적용형 이득 시스템을 포함하되, 상기 피드백 컨트롤러는 상기 바이-와이어 작동 시스템에 의해 출력된 작동 동작, 상기 제 1 제어 입력, 및 상기 적응형 이득에 기초하여 상기 바이-와이어 작동 시스템의 액추에이터를 작동시키기 위한 작동 명령을 출력하도록 구성되고,
    상기 제 1 제어 입력은 상기 ADV의 현재 주행 사이클 동안 상기 피드백 컨트롤러에서 수신되고, 상기 제 2 제어 입력은 이전 주행 사이클 동안 피드백 컨트롤러에서 수신되고,
    참조 작동 출력은 상기 제어 서브시스템의 2차 속성에 적어도 부분적으로 기초하고, 상기 제어 서브시스템의 2차 속성은 제어 서브시스템의 제어 동작을 시작하는 시간 지연을 포함하는, 작동 제어 시스템.
  16. 삭제
  17. 제 15 항에 있어서,
    상기 바이-와이어 작동 시스템의 2차 속성은 또한 상기 바이-와이어 작동 시스템의 액추에이터의 상승 시간, 오버 슈트 양, 또는 안정화 시간 중 하나 이상을 포함하는, 작동 제어 시스템.
  18. 삭제
  19. 제 15 항에 있어서,
    상기 제 1 제어 입력 및 상기 제 2 제어 입력은 상기 ADV의 차량 섀시로부터 획득된 차량 상태를 고려하여 상기 ADV의 복수의 센서로부터 획득된 센서 데이터에 기초하여 상기 ADV를 주행하기 위한 궤적을 계획하도록 구성된 자율 주행 시스템으로부터 수신된, 작동 제어 시스템.
  20. 제 15 항에 있어서,
    상기 바이-와이어 작동 시스템은 스로틀 제어 서브시스템, 제동 제어 서브시스템, 또는 조향 제어 서브시스템 중 적어도 하나를 포함하는, 작동 제어 시스템.
  21. 매체에 저장된 컴퓨터프로그램으로서,
    프로세서에 의해 실행될 때, 제1항, 제3항 및 제5항 내지 제7항 중 어느 한 항의 방법을 구현하는, 매체에 저장된 컴퓨터프로그램.
KR1020200142198A 2020-02-21 2020-10-29 차량 작동 역학을 해결하기 위한 모델 참조 적응형 제어 알고리즘 KR102458608B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/797,833 US11492008B2 (en) 2020-02-21 2020-02-21 Model reference adaptive control algorithm to address the vehicle actuation dynamics
US16/797,833 2020-02-21

Publications (2)

Publication Number Publication Date
KR20210107517A KR20210107517A (ko) 2021-09-01
KR102458608B1 true KR102458608B1 (ko) 2022-10-26

Family

ID=74103929

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200142198A KR102458608B1 (ko) 2020-02-21 2020-10-29 차량 작동 역학을 해결하기 위한 모델 참조 적응형 제어 알고리즘

Country Status (5)

Country Link
US (1) US11492008B2 (ko)
EP (1) EP3868624B1 (ko)
JP (1) JP2021133923A (ko)
KR (1) KR102458608B1 (ko)
CN (1) CN113291283B (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386261B2 (en) 2008-11-14 2013-02-26 Vocollect Healthcare Systems, Inc. Training/coaching system for a voice-enabled work environment
US11479265B2 (en) * 2020-03-25 2022-10-25 Baidu Usa Llc Incremental lateral control system using feedbacks for autonomous driving vehicles
KR20230025358A (ko) 2021-08-13 2023-02-21 주식회사 엘지에너지솔루션 음극 활물질, 이를 포함하는 음극, 이를 포함하는 이차전지 및 음극 활물질의 제조방법
US20230347894A1 (en) * 2022-04-28 2023-11-02 Toyota Research Institute, Inc. Systems and methods for determining vehicle control based on estimated realization delay
WO2024039866A1 (en) * 2022-08-19 2024-02-22 Tesla, Inc. Real time trajectory planning system with dynamic modelling of component level system latency for self driving vehicles
CN117784590B (zh) * 2024-02-28 2024-05-10 齐鲁工业大学(山东省科学院) 一种微生物燃料电池的pid控制方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004285915A (ja) * 2003-03-24 2004-10-14 Denso Corp 車両用制御装置
JP2018018398A (ja) * 2016-07-29 2018-02-01 株式会社自律制御システム研究所 適応制御方法、適応制御装置およびこの適応制御装置を備えた機器

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07110712A (ja) 1993-10-13 1995-04-25 Toyota Central Res & Dev Lab Inc 操舵角制御装置
US7317978B2 (en) 2003-09-05 2008-01-08 Nissan Motor Co., Ltd. Driving force control apparatus for vehicle
KR101172670B1 (ko) * 2004-08-06 2012-08-08 혼다 기켄 고교 가부시키가이샤 차량의 제어 장치
KR101384522B1 (ko) * 2011-12-15 2014-04-14 현대자동차주식회사 운전자의 주행 패턴과 관련한 차량의 자동 조향 제어 방법
GB201305067D0 (en) * 2013-03-19 2013-05-01 Massive Analytic Ltd Apparatus for controlling a land vehicle which is self-driving or partially self-driving
JP6075479B1 (ja) * 2016-01-28 2017-02-08 株式会社明電舎 車両の自動運転システムおよび自動運転方法
US10435015B2 (en) * 2016-09-28 2019-10-08 Baidu Usa Llc System delay corrected control method for autonomous vehicles
KR102124804B1 (ko) * 2018-05-13 2020-06-23 엘지전자 주식회사 자율주행 차량의 제어 장치 및 그 장치의 제어방법
CN108733955B (zh) * 2018-05-30 2020-07-17 厦门大学 一种智能电动汽车纵向运动控制系统及方法
CN108791301B (zh) * 2018-05-31 2020-03-24 重庆大学 基于驾驶员特性的智能汽车驾驶过程横向动态控制方法
CN110271534B (zh) 2019-06-14 2021-05-28 百度在线网络技术(北京)有限公司 自动驾驶车辆的控制方法、装置、计算机设备和存储介质
CN110803172B (zh) * 2019-12-04 2020-12-01 苏州智加科技有限公司 自动驾驶车辆制动系统的建模方法和车辆制动系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004285915A (ja) * 2003-03-24 2004-10-14 Denso Corp 車両用制御装置
JP2018018398A (ja) * 2016-07-29 2018-02-01 株式会社自律制御システム研究所 適応制御方法、適応制御装置およびこの適応制御装置を備えた機器

Also Published As

Publication number Publication date
CN113291283A (zh) 2021-08-24
JP2021133923A (ja) 2021-09-13
KR20210107517A (ko) 2021-09-01
US20210261160A1 (en) 2021-08-26
EP3868624A1 (en) 2021-08-25
EP3868624B1 (en) 2022-10-19
US11492008B2 (en) 2022-11-08
CN113291283B (zh) 2023-12-22

Similar Documents

Publication Publication Date Title
KR102458608B1 (ko) 차량 작동 역학을 해결하기 위한 모델 참조 적응형 제어 알고리즘
CN112034834B (zh) 使用强化学习来加速自动驾驶车辆的轨迹规划的离线代理
KR102381568B1 (ko) 자율 주행 차량 제어를 위한 크로스-플랫폼 제어 프로파일링
CN111240312B (zh) 用于自动驾驶车辆的基于学习的动态建模方法
US11453409B2 (en) Extended model reference adaptive control algorithm for the vehicle actuation time-latency
CN111948938B (zh) 规划用于自动驾驶车辆的开放空间轨迹的松弛优化模型
US11731651B2 (en) Automatic parameter tuning framework for controllers used in autonomous driving vehicles
CN112034833A (zh) 规划用于自动驾驶车辆的开放空间轨迹的在线代理
JP7189187B2 (ja) シナリオに基づく自動運転車両の制御
US11673584B2 (en) Bayesian Global optimization-based parameter tuning for vehicle motion controllers
US11656627B2 (en) Open space path planning using inverse reinforcement learning
US20210291862A1 (en) Learning based controller for autonomous driving
EP4113393A2 (en) Learning-based critic for tuning a motion planner of autonomous driving vehicle
CN113508350B (zh) 基于反馈的实时转向校准系统
US11738771B2 (en) Dynamic model with actuation latency
CN116225026A (zh) 自动驾驶车辆操作方法、电子设备以及计算机可读介质
US20240185611A1 (en) Image signal processing (isp) tuning with downstream perception metric in autonomous driving
WO2024039866A1 (en) Real time trajectory planning system with dynamic modelling of component level system latency for self driving vehicles

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant