KR101982456B1 - 자율 주행 모드로 재진입하는 자율 주행 차량 제어를 위한 방법 및 시스템 - Google Patents

자율 주행 모드로 재진입하는 자율 주행 차량 제어를 위한 방법 및 시스템 Download PDF

Info

Publication number
KR101982456B1
KR101982456B1 KR1020187007705A KR20187007705A KR101982456B1 KR 101982456 B1 KR101982456 B1 KR 101982456B1 KR 1020187007705 A KR1020187007705 A KR 1020187007705A KR 20187007705 A KR20187007705 A KR 20187007705A KR 101982456 B1 KR101982456 B1 KR 101982456B1
Authority
KR
South Korea
Prior art keywords
pedal
adv
value
driving mode
torque
Prior art date
Application number
KR1020187007705A
Other languages
English (en)
Other versions
KR20180114547A (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 KR20180114547A publication Critical patent/KR20180114547A/ko
Application granted granted Critical
Publication of KR101982456B1 publication Critical patent/KR101982456B1/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
    • 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, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/14Adaptive cruise control
    • B60W30/16Control of distance between vehicles, e.g. keeping a distance to preceding 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
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/005Handover processes
    • B60W60/0051Handover processes from occupants to 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
    • 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, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/09Taking automatic action to avoid collision, e.g. braking and steering
    • 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, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/14Adaptive cruise control
    • B60W30/143Speed control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • B60W40/105Speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • B60W40/107Longitudinal acceleration
    • 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/082Selecting or switching between different modes of propelling
    • 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/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W50/16Tactile feedback to the driver, e.g. vibration or force feedback to the driver on the steering wheel or the accelerator pedal
    • 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
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0055Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements
    • G05D1/0061Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements for transition from automatic pilot to manual pilot and vice versa
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D17/00Control of torque; Control of mechanical power
    • 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/0019Control system elements or transfer functions
    • B60W2050/0026Lookup tables or parameter maps
    • 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/0062Adapting control system settings
    • B60W2050/007Switching between manual and automatic parameter input, and vice versa
    • 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/0062Adapting control system settings
    • B60W2050/007Switching between manual and automatic parameter input, and vice versa
    • B60W2050/0074Driver shifts control to the controller, e.g. by pressing a button
    • 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/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0095Automatic control mode change
    • B60W2050/0096Control during transition between modes
    • 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
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo or light sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • B60W2420/408
    • 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
    • B60W2510/00Input parameters relating to a particular sub-units
    • B60W2510/06Combustion engines, Gas turbines
    • B60W2510/0604Throttle 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
    • B60W2510/00Input parameters relating to a particular sub-units
    • B60W2510/06Combustion engines, Gas turbines
    • B60W2510/0657Engine torque
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • B60W2520/105Longitudinal acceleration
    • 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
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/10Accelerator pedal 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
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/12Brake pedal 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
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/20Ambient conditions, e.g. wind or rain
    • 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
    • B60W2720/00Output or target parameters relating to overall vehicle dynamics
    • B60W2720/10Longitudinal speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2720/00Output or target parameters relating to overall vehicle dynamics
    • B60W2720/10Longitudinal speed
    • B60W2720/106Longitudinal acceleration

Abstract

자율 주행 차량(ADV)이 수동 주행 모드에서 자율 주행 모드로 전환되는 것으로 검출되면, ADV가 수동 주행 모드에서 작동하고 있었던 이전 명령 사이클에서 ADV의 속력에 대응하는 제1 페달 값이 결정된다. 제2 페달 값은 ADV가 자율 주행 모드로 작동하고 있는 현재 명령 사이클에서 ADV의 목표 속력에 기초하여 결정된다. 페달 값은 스로틀 페달 또는 브레이크 페달이 중립 위치로부터 최대 페달 압력 또는 최대 페달 가압 거리의 페달 백분율을 나타낸다. ADV가 수동 주행 모드에서 자율 주행 모드로 전환하기 전후에 유사한 가속도로 주행하도록 속력 명령이 제 1 페달 값 및 제 2 페달 값에 기초하여 ADV에 생성되어 발행된다.

Description

자율 주행 모드로 재진입하는 자율 주행 차량 제어를 위한 방법 및 시스템
본 발명의 실시예들은 일반적으로 자율 주행 차량을 동작하는 것에 관한 것이다. 보다 상세하게는, 본 발명의 실시예들은 수동 주행 모드로부터 자율 주행 모드로 재진입할 때 자율 주행 차량을 제어하는 것에 관한 것이다.
자율 모드(예: 운전자 없이)에서 작동하는 차량에서 탑승자, 특히 운전자는 일부 운전과 관련하여 담당하고 있는 사항들로부터 경감될 수 있다. 자율 모드에서 작동할 때, 차량은 온보드 센서를 사용하여 다양한 위치들로 내비게이트할 수 있고, 그 결과 최소한의 인간과의 상호 작용으로 또는 일부의 경우 승객 없이 차량이 이동하는 것이 허용된다.
일반적으로, 자율 주행 차량(ADV)은 수동 주행 모드 또는 자율 주행 모드에서 운행될 수 있다. 수동 주행 모드에서, 사람 운전자가 차량을 제어한다. 차량이 운행 중이고 자율 주행 모드로 재진입해야 함에도 불구하고, ADV가 자율 주행 모드를 벗어나는 경우가 있다. 차량이 수동 주행 모드로부터 자율 주행 모드로 재진입할 때, 승객들은 주행 모드 전환 동안 갑작스러운 가속 또는 감속을 경험할 수 있다. 이는 주행 모드 전환 동안의 속도 또는 가속/감속 기준의 급격한 변화(jump)에 의한 것입니다. 이는 궁극적으로 제어기의 출력에서 불연속성을 유발할 것이며, 따라서 주행 모드 전환 중에 급격한 가속 또는 감속 변화를 유발할 것이다. 이 재진입 단계에서 급격한 속력 변화와 같은 덜컹거림(bump)이 일어나 승객들을 불편하게 할 수 있다.
본 개시의 실시예들은 자율 주행 차량을 작동시키기 위한 컴퓨터로 구현된 방법, 비일시적 기계 판독가능한 매체 및 데이터 처리 시스템을 제공한다.
본 개시의 일 실시예에서, 자율 주행 차량을 운행하기 위한 컴퓨터로 구현된 방법은: 상기 자율 주행 차량(ADV)이 수동 주행 모드에서 자율 주행 모드로 전환되는 것을 검출하는 단계; 상기 ADV가 상기 수동 주행 모드에서 작동 중이었던 이전 명령 사이클에서 발행된 속력 제어 명령에 응답하여 상기 ADV의 속력에 대응하는 제1 페달 값을 결정하는 단계; 상기 ADV가 상기 자율 주행 모드에서 동작하고 있는 현재 명령 사이클에서 상기 ADV의 목표 속력에 기초하여 제2 페달 값을 결정하는 단계; 및 상기 ADV가 상기 수동 주행 모드에서 상기 자율 주행 모드로 전환하기 전후에 유사한 가속도로 주행하도록 상기 제1 페달 값 및 상기 제2 페달 값에 기초하여 상기 ADV에 속력 제어 명령을 발행하는 단계를 포함한다.
본 개시의 다른 실시예에서, 명령어들을 저장하는 비일시적 기계 판독 가능 매체로서, 상기 명령어들은 프로세서에 의해 실행될 때 상기 프로세서로 하여금 동작들을 수행하게 하고, 상기 동작들은: 상기 자율 주행 차량(ADV)이 수동 주행 모드에서 자율 주행 모드로 전환되는 것을 검출하는 것; 상기 ADV가 상기 수동 주행 모드에서 작동 중이었던 이전 명령 사이클에서 발행된 속력 제어 명령에 응답하여 상기 ADV의 속력에 대응하는 제1 페달 값을 결정하는 것; 상기 ADV가 상기 자율 주행 모드에서 동작하고 있는 현재 명령 사이클에서 상기 ADV의 목표 속력에 기초하여 제2 페달 값을 결정하는 것; 및 상기 ADV가 상기 수동 주행 모드에서 상기 자율 주행 모드로 전환하기 전후에 유사한 가속도로 주행하도록 상기 제1 페달 값 및 상기 제2 페달 값에 기초하여 상기 ADV에 속력 제어 명령을 발행하는 것을 포함한다.
본 개시의 또 다른 실시예에서, 데이터 처리 시스템은: 프로세서; 및 상기 프로세서에 결합되어 명령어들을 저장하는 메모리를 포함하고, 상기 명령어들은 상기 프로세서에 의해 실행될 때 상기 프로세서로 하여금 동작들을 수행하게 하며, 상기 동작들은: 상기 자율 주행 차량(ADV)이 수동 주행 모드에서 자율 주행 모드로 전환되는 것을 검출하는 것; 상기 ADV가 상기 수동 주행 모드에서 작동 중이었던 이전 명령 사이클에서 발행된 속력 제어 명령에 응답하여 상기 ADV의 속력에 대응하는 제1 페달 값을 결정하는 것; 상기 ADV가 상기 자율 주행 모드에서 동작하고 있는 현재 명령 사이클에서 상기 ADV의 목표 속력에 기초하여 제2 페달 값을 결정하는 것; 및 상기 ADV가 상기 수동 주행 모드에서 상기 자율 주행 모드로 전환하기 전후에 유사한 가속도로 주행하도록 상기 제1 페달 값 및 상기 제2 페달 값에 기초하여 상기 ADV에 속력 제어 명령을 발행하는 것을 포함한다.
본 발명의 실시예들은 유사한 참조 번호가 유사한 요소들을 나타내는 첨부된 도면들의 도면들에서 예시로서 설명되고 이에 한정되지 않는다.
도 1은 본 발명의 일 실시예에 따른 네트워크 시스템을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 자율 주행 차량의 일례를 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 자율 주행 차량과 함께 사용되는 인지 및 계획 시스템의 일례를 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 자율 주행 차량의 주행 모드 전환을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 속력 제어 모듈의 일례를 나타내는 블록도이다.
도 6는 본 발명의 일 실시예에 따른 속력 제어 모듈의 프로세스를 나타내는 처리 흐름도이다.
도 7는 본 발명의 일 실시예에 따른 속도 폐 루프 제어기의 일례를 나타내는 블록도이다.
도 8은 본 발명의 일 실시예에 따라 자율 주행 차량을 동작시키는 프로세스를 나타내는 흐름도이다.
도 9는 일 실시예에 따른 데이터 처리 시스템을 나타내는 블록도이다.
본 발명의 다양한 실시예들 및 양상들은 이하 세부 설명을 참조하여 설명되며, 첨부 도면들은 다양한 실시예들을 나타낸다. 아래의 설명 및 도면은 본 발명을 예시적으로 보여주며, 본 발명을 제한하는 것으로 해석되어서는 안 된다. 다수의 구체적인 세부 사항들이 본 발명의 다양한 실시예들의 완전한 이해를 제공하기 위해 설명된다. 그러나, 어떤 경우에는, 본 발명의 실시예들에 대한 간결한 설명을 제공하기 위해 잘 알려진 또는 종래의 세부 사항은 설명되지 않는다.
명세서에서의 "일 실시예" 또는 "실시예"에 대한 참조는, 실시예와 관련하여 설명된 특정 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함될 수 있다는 것을 의미한다. 명세서의 다양한 곳에서 기재된 "일 실시예에서"라는 문구는 모두 반드시 동일한 실시예를 지칭하는 것은 아니다.
일부 실시예에 따르면, 제어기 프리셋(preset) 시스템은 자율 주행 차량의 속력 제어기를 산출하고 미리 설정하도록 이용되어, 속력 제어기의 출력 (예를 들어, 속력 제어 명령, 페달 백분율)이 ADV가 수동 주행 모드에서 자율 주행 모드로 전환하기 시작할 때 기존 속력을 고려하여 점차적으로만 변경되도록 보장된다. 그 결과, 주행 모드 전환 도중의 급격한 속력 또는 속도 변화가 최소화 될 수 있다.
일 실시예에 따르면, ADV가 수동 주행 모드에서 자율 주행 모드로 전환되는 것으로 검출될 때, ADV의 속력에 대응하는 제1 페달(pedal) 값이 결정된다. ADV가 수동 주행 모드에서 작동 중이었던 이전 명령 사이클에서 발행된 속력 제어 명령에 응답하여, ADV의 속력(예를 들어, 현재 속력)이 차량 플랫폼(platform)으로부터 측정된다. 제2 페달 값은 ADV가 자율 주행 모드로 작동하고 있는 현재 명령 사이클에서 ADV의 목표 속력에 기초하여 결정된다. 페달 값은 스로틀 페달 또는 브레이크 페달이 중립 위치로부터 가압되거나 눌러지는 최대 페달 압력 또는 최대 페달 거리의 페달 백분율을 나타낸다. ADV가 수동 주행 모드에서 자율 주행 모드로 전환하기 전후에 유사한 속력 또는 가속도로 주행하도록, 속력 명령이 제1 페달 값 및 제2 페달 값에 기초하여 ADV에 생성되어 발행된다.
일 실시예에서, 사전 설정된(preset) 값은 제1 페달 값 및 제2 페달 값에 기초하여 산출된다. 사전 설정된 값은 폐 루프 제어기의 정상 동작 중 일부 또는 전부를 통과시킴으로써, ADV로부터의 페달 피드백을 나타내는 폐 루프 제어기의 출력의 주요 또는 상당 부분으로 이용된다. 제2 페달 값은 목표 속력을 기초로 개방 루프 컨트롤러를 사용하여 결정된다. 제2 페달 값은 상이한 명령 사이클에서 요구된 목표 속력들 사이의 차이에 기초하여 결정될 수 있다. 그리고 나서, 최종 페달 값은 사전 설정 값 및 제2 페달 값에 기초하여 산출되고, 속력 제어 명령은 최종 페달 값에 기초하여 생성된다. 최종 페달 값은 주행 모드가 전환되기 전에 ADV의 유사한 속력 또는 가속도를 유지하는 데 요구된 페달 백분율을 나타낸다.
도 1은 본 발명의 일 실시예에 따른 자율 주행 차량 네트워크 구성을 나타내는 블록도이다. 도 1을 참조하면, 네트워크 구성(100)은, 네트워크(102) 상에서 하나 이상의 서버(103-104)와 통신 가능하게 결합될 수 있는 자율 주행 차량(101)을 포함한다. 하나의 자율 주행 차량이 도시되어 있지만, 다수의 자율 주행 차량이 서로 결합될 수 있고/있거나 네트워크(102)를 통해 서버들(103-104)에 결합될 수 있다. 네트워크(102)는 근거리 통신망(LAN), 인터넷과 같은 광역 네트워크(WAN), 셀룰러 네트워크, 위성 네트워크 또는 이들의 조합과 같은 유선 또는 무선의 임의의 유형의 네트워크일 수 있다. 서버(들) (103-104)는 웹 또는 클라우드 서버, 애플리케이션 서버, 백엔드 서버 또는 이들의 조합과 같은 임의의 종류의 서버 또는 서버 클러스터일 수 있다. 서버(103-104)는 데이터 분석 서버, 콘텐츠 서버, 교통 정보 서버, 지도 및 관심 지점(MPOI: map and point of interest) 서버 또는 위치 서버 등일 수 있다.
자율 주행 차량은, 자율 주행 모드에서 운전자로부터의 입력이 거의 또는 전혀 없이 차량이 주변 환경 사이로 내비게이트할 수 있도록 구성될 수 있는 차량을 지칭한다. 이러한 자율 주행 차량은 차량이 운행되는 환경에 관한 정보를 검출하도록 구성된 하나 이상의 센서를 갖는 센서 시스템을 포함할 수 있다. 차량 및 관련 제어기(들)는 검출된 정보를 이용하여 주변 환경 사이로 내비게이트한다. 자율 주행 차량(101)은 수동 모드, 완전 자율 주행 모드 또는 부분 자율 주행 모드로 운행될 수 있다.
일 실시예에서, 자율 주행 차량(101)은 인지 및 계획 시스템(110), 차량 제어 시스템(111), 무선 통신 시스템(112), 사용자 인터페이스 시스템(113), 인포테인먼트 시스템(114) 및 센서 시스템(115)을 포함하지만, 이에 한정되지 않는다. 자율 주행 차량(101)은, 예를 들어, 가속 신호 또는 명령, 감속 신호 또는 명령, 조향 신호 또는 명령, 제동 신호 또는 명령 등과 같은 다양한 통신 신호 및/또는 명령을 사용하여, 차량 제어 시스템(111) 및/또는 인지 및 계획 시스템(110)에 의해 제어될 수 있는, 엔진, 차륜(wheel), 스티어링 휠, 변속기 등과 같은, 일반 차량에 포함되는 특정 공통 구성 요소를 더 포함할 수 있다.
구성요소(110-115)는 인터커넥트(interconnect), 버스, 네트워크 또는 이들의 조합을 통해 서로 통신 가능하게 결합될 수 있다. 예를 들어, 구성요소(110-115)는, 제어기 영역 네트워크(CAN) 버스를 통해 서로 통신 가능하게 결합될 수 있다. CAN 버스는, 호스트 컴퓨터가 없는 어플리케이션들에서 마이크로 컨트롤러들과 장치들이 서로 통신할 수 있도록 설계된 차량 버스 표준이다. 그것은 메시지 기반 프로토콜로서, 원래는 자동차 내의 멀티플렉스(multiplex) 전기 배선을 위해 설계되었지만, 다른 많은 상황에서도 사용된다.
이제 도 2를 참조하면, 일 실시예에서, 센서 시스템(115)은, 하나 이상의 카메라(211), GPS(global positioning system) 유닛(212), 관성 측정 유닛(IMU)(213), 레이더 유닛(214) 및 광 검출 및 측정(LIDAR) 유닛(215)을 포함하지만, 이에 한정되지 않는다. GPS 시스템(212)은 자율 주행 차량의 위치에 관한 정보를 제공하도록 동작 가능한 송수신기를 포함할 수 있다. IMU 유닛(213)은, 관성 가속도에 기초하여 자율 주행 차량의 위치 및 방향 변화를 감지할 수 있다. 레이더 유닛(214)은, 무선 신호를 이용하여 자율 주행 차량의 로컬 환경 내의 물체들을 감지하는 시스템을 나타낼 수 있다. 일부 실시예들에서, 물체를 감지하는 것 외에, 레이더 유닛(214)은 물체의 속력 및/또는 진행 방향(heading)을 추가로 감지할 수 있다. LIDAR 유닛(215)은, 레이저를 사용하여 자율 주행 차량이 위치한 환경 내의 물체들을 감지할 수 있다. LIDAR 유닛(215)은, 다른 시스템 구성 요소들 중에서, 하나 이상의 레이저 소스, 레이저 스캐너 및 하나 이상의 검출기를 포함할 수 있다. 카메라(211)는 자율 주행 차량을 둘러싸는 환경의 이미지를 캡쳐하기 위한 하나 이상의 장치를 포함할 수 있다. 카메라(211)는 정지 화상 카메라 및/또는 비디오 카메라일 수 있다. 카메라는, 예를 들어, 카메라를 회전 및/또는 틸팅 플랫폼에 장착함으로써, 기계적으로 이동 가능할 수 있다.
센서 시스템(115)은, 소나 센서, 적외선 센서, 스티어링(조향) 센서, 스로틀 센서, 제동 센서 및 오디오 센서(예를 들어, 마이크로폰)와 같은 다른 센서들을 더 포함 할 수 있다. 오디오 센서는 자율 주행 차량을 둘러싸는 환경에서 소리(sound)를 캡쳐하도록 구성될 수 있다. 스티어링 센서는, 스티어링 휠, 차량의 차륜 또는 이들의 조합의 스티어링 각도를 감지하도록 구성될 수 있다. 스로틀 센서 및 제동 센서는, 차량의 스로틀 위치 및 제동 위치를 각각 감지한다. 일부 상황에서는, 스로틀 센서와 제동 센서가 통합 스로틀/제동 센서로 통합될 수 있다. 센서 시스템(115)은 차량의 페달 백분율, 토크 및 속력을 측정할 수 있는 센서들을 더 포함할 수 있다.
일 실시예에서, 차량 제어 시스템(111)은, 스티어링 유닛(201), 스로틀 유닛(202)(가속 유닛으로도 지칭됨) 및 제동 유닛(203)을 포함하지만, 이에 한정되지 않는다. 스티어링 유닛(201)은, 차량의 방향 또는 진행 방향을 조정하기 위한 것이다. 스로틀 유닛(202)은 모터 또는 엔진의 속력을 제어하여 차량의 속력 및 가속을 차례로 제어하기 위한 것이다. 제동 유닛(203)은 차량의 차륜 또는 타이어를 감속시키도록 마찰을 제공함으로써 차량을 감속시키기 위한 것이다. 도 2에 도시된 구성 요소들은, 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다.
도 1을 다시 참조하면, 무선 통신 시스템(112)은, 자율 주행 차량(101)과, 장치들, 센서들, 다른 차량들 등과 같은 외부 시스템들 간의 통신을 가능하게 한다. 예를 들어, 무선 통신 시스템(112)은, 하나 이상의 장치들과 직접 또는 네트워크(102) 상의 서버들(103-104)과 같은 통신 네트워크를 통해 무선 통신할 수 있다. 무선 통신 시스템(112)은, 임의의 셀룰러 통신 네트워크 또는 무선 근거리 네트워크(WLAN)를 사용할 수 있으며, 예를 들어, 다른 구성 요소 또는 시스템과 통신하기 위해 WiFi를 사용할 수 있다. 무선 통신 시스템(112)은, 예를 들어, 적외선 링크, 블루투스 등을 사용하여, 장치(예를 들어, 승객의 모바일 장치, 디스플레이 장치, 차량(101) 내의 스피커)와 직접 통신할 수 있다. 사용자 인터페이스 시스템(113)은, 예를 들어, 키보드, 터치 스크린 디스플레이 장치, 마이크로폰 및 스피커 등을 포함하는 차량(101) 내에 구현되는 주변 장치들의 일부일 수 있다.
자율 주행 차량(101)의 일부 또는 모든 기능은, 특히 자율 주행 모드에서 운행될 때, 인지 및 계획 시스템(110)에 의해 제어되거나 관리될 수 있다. 인지 및 계획 시스템(110)은, 센서 시스템(115), 제어 시스템(111), 무선 통신 시스템(112) 및/또는 사용자 인터페이스 시스템(113)으로부터 정보를 수신하고, 수신된 정보를 처리하고, 출발점에서 목적지점까지의 루트(route) 또는 경로를 계획한 다음, 계획 및 제어 정보에 기초하여 차량(101)을 주행하기 위해, 필요한 하드웨어(예를 들어, 프로세서(들), 메모리, 저장 장치) 및 소프트웨어(예를 들어, 운영 체계, 계획 및 라우팅(routing) 프로그램)을 포함한다. 대안적으로, 인지 및 계획 시스템(110)은 차량 제어 시스템(111)과 통합될 수 있다.
예를 들어, 승객인 사용자는, 예를 들어, 사용자 인터페이스를 통해 여행의 출발 위치 및 목적지를 지정할 수 있다. 인지 및 계획 시스템(110)은 여행 관련 데이터를 획득한다. 예를 들어, 인지 및 계획 시스템(110)은 서버들(103-104)의 일부일 수 있는 MPOI 서버로부터 위치 및 루트 정보를 획득할 수 있다. 위치 서버는 위치 서비스를 제공하고, MPOI 서버는 지도 서비스와 특정 위치들의 POI들을 제공한다. 대안적으로, 이러한 위치 및 MPOI 정보는 인지 및 계획 시스템(110)의 영구 저장 장치에 국부적으로 캐시될 수 있다.
자율 주행 차량(101)이 루트를 따라 이동하는 동안, 인지 및 계획 시스템(110)은 교통 정보 시스템 또는 서버(TIS)로부터 실시간 교통 정보도 획득할 수 있다. 서버(103-104)는 제3 엔티티에 의해 운영될 수 있다. 대안적으로, 서버들(103-104)의 기능들은 인지 및 계획 시스템(110)과 통합될 수 있다. 인지 및 계획 시스템(110)은, 실시간 교통 정보, MPOI 정보 및 위치 정보 뿐만 아니라 센서 시스템(115)에 의해 검출 또는 감지된 실시간 로컬 환경 데이터(예를 들어, 장애물, 물체, 주변 차량)에 기초하여, 예를 들어, 제어 시스템(111)을 통해, 최적의 루트를 계획하고, 지정된 목적지에 안전하고 효율적으로 도착하기 위해 계획된 루트에 따라 차량(101)을 주행할 수 있다.
서버(103)는 다양한 클라이언트에 대해 데이터 분석 서비스를 수행하기 위한 데이터 분석 시스템일 수 있다. 일 실시예에서, 데이터 분석 시스템(103)은 데이터 수집기(121) 및 머신 러닝 엔진(122)을 포함한다. 데이터 수집기(121)는 자율 주행 차량 또는 인간 운전자에 의해 운행되는 일반 차량을 포함하는 다양한 차량으로부터 주행 통계(123)를 수집한다. 주행 통계(123)는 상이한 시점에서, 발행된 주행 명령(예를 들어, 스로틀, 브레이크, 스티어링 명령) 및 차량의 센서에 의해 캡쳐된 차량의 응답(예를 들어, 속력, 가속, 감속, 방향)을 나타내는 정보를 포함한다. 주행 통계(123)는, 상이한 시점에서의 주행 환경을 설명하는 정보, 예를 들어, 루트(출발 및 목적지 위치 포함), MPOI, 도로 상태, 날씨 상태 등을 더 포함할 수 있다.
주행 통계(123)에 기초하여, 머신 러닝 엔진(122)은 다양한 목적을 위해 규칙, 알고리즘 및/또는 예측 모델들의 세트(124)를 수행하거나 훈련시킨다. 예를 들어, 규칙(124)은 개방 루프 제어기에 의해 사용될 수 있는 목표 속력에 기초하여 페달 값을 결정하는 규칙들을 포함할 수 있다. 규칙들(124)은 차량 플랫폼으로부터 측정된 토크에 기초하여 페달 값을 결정하는 규칙들을 포함할 수 있다. 알고리즘(124)은 페달 값에 기초하여 폐 루프 제어기를 구성하기 위해 사전 설정된 값을 산출하는 알고리즘을 포함할 수 있다. 규칙 및 알고리즘(124)은 그 다음에 자율 주행 차량에 업로드되어 차량을 실시간으로 운행하는데 이용될 수 있다. 특히, 규칙 또는 알고리즘(124)은 차량이 수동 주행 모드에서 자율 주행 모드로 전환될 때 주행 모드 전환이 가능한 한 부드럽게 이루어질 수 있도록 이용될 수 있다.
도 3은 본 발명의 일 실시예에 따른 자율 주행 차량과 함께 사용되는 인지 및 계획 시스템의 일례를 나타내는 블록도이다. 시스템(300)은, 도 1의 자율 주행 차량(101)의 일부로서 구현될 수 있으며, 인지 및 계획 시스템(110), 제어 시스템(111) 및 센서 시스템(115)을 포함하지만, 이에 한정되지 않는다. 도 3을 참조하면, 인지 및 계획 시스템(110)은 로컬라이제이션(localization) 모듈(301), 인지 모듈(302), 결정 모듈(303), 계획 모듈(304), 제어 모듈(305) 및 주행 모드 검출기(306)를 포함하지만, 이에 제한되지 않는다.
모듈들(301-306)의 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 이들 모듈은 영구 저장 장치(352)에 설치되고, 메모리(351)에 로드되며, 하나 이상의 프로세서(미도시)에 의해 실행될 수 있다. 이들 모듈 중 일부 또는 전부는, 도 2의 차량 제어 시스템(111)의 일부 또는 모든 모듈들과 통신 가능하게 결합되거나 통합될 수 있다. 모듈들(301-306) 중 일부는 통합 모듈로서 함께 통합될 수 있다.
로컬라이제이션 모듈(301)은, (예를 들어, GPS 유닛(212)을 이용하여) 자율 주행 차량(300)의 현재 위치를 결정하고, 사용자의 여행 또는 루트와 관련된 임의의 데이터를 관리한다. 로컬라이제이션 모듈(301)(맵 및 루트 모듈이라고도 함)은 사용자의 여행 또는 루트와 관련된 임의의 데이터를 관리한다. 사용자는, 예를 들어, 사용자 인터페이스를 통해 로그인하고 여행의 출발 위치 및 목적지를 지정할 수 있다. 로컬라이제이션 모듈(301)은, 지도 및 루트 정보(311)와 같은 자율 주행 차량(300)의 다른 구성 요소와 통신하여 여행 관련 데이터를 획득한다. 예를 들어, 로컬라이제이션 모듈(301)은 위치 서버, 및 지도 및 POI(MPOI) 서버로부터 위치 및 루트 정보를 획득할 수 있다. 위치 서버는 위치 서비스를 제공하고, MPOI 서버는 지도 서비스와 지도 및 경로 정보(311)의 일부로서 캐시될 수 있는 특정 위치들의 POI들을 제공한다. 자율 주행 차량(300)이 루트를 따라 이동하는 동안, 로컬라이제이션(localization) 모듈(301)은 교통 정보 시스템 또는 서버로부터 실시간 교통 정보도 획득할 수 있다.
센서 시스템(115)에 의해 제공되는 센서 데이터 및 로컬라이제이션 모듈(301)에 의해 획득되는 로컬라이제이션 정보에 기초하여, 인지 모듈(302)에 의해 주변 환경의 인지(perception)가 결정된다. 인지 정보는 일반 운전자가 그가 주행하는 차량 주위를 어떻게 인지(perceive)하는지를 나타낼 수 있다. 인지(perception)는 차로 구성(예를 들어, 직선 또는 곡선 차선), 신호등 신호, 다른 차량의 상대적 위치, 보행자, 건물, 횡단 보도 또는 기타 교통 관련 표지판(예를 들어, 정지 표지판, 양보 표지판) 등을, 예를 들어, 물체의 형태로 포함할 수 있다.
인지 모듈(302)은, 자율 주행 차량의 환경에서 물체 및/또는 특징을 식별하기 위해, 하나 이상의 카메라에 의해 캡쳐된 이미지를 처리 및 분석하는 컴퓨터 비전 시스템 또는 컴퓨터 비전 시스템의 기능을 포함할 수 있다. 물체는 교통 신호, 도로 경계, 다른 차량, 보행자 및/또는 장애물 등을 포함할 수 있다. 컴퓨터 비전 시스템은 물체 인식 알고리즘, 비디오 추적 및 다른 컴퓨터 비전 기술을 사용할 수 있다. 일부 실시예에서, 컴퓨터 비전 시스템은, 환경을 매핑하고, 물체를 추적하고, 물체의 속력 추정 등을 할 수 있다. 인지 모듈(302)은 레이더 및/또는 LIDAR와 같은 다른 센서에 의해 제공되는 다른 센서 데이터에 기초하여 물체를 검출할 수도 있다.
각각의 물체에 대해, 결정 모듈(303)은 물체를 어떻게 다룰지에 대한 결정을 한다. 예를 들어, 특정 물체(예를 들어, 교차 루트에 있는 다른 차량)뿐만 아니라 물체를 기술하는 메타 데이터(예를 들어, 속력, 방향, 선회 각도)에 대해서, 결정 모듈(303)은 물체를 어떤 식으로 대면할지를 결정한다(예를 들어, 추월, 양보, 정지, 통과). 결정 모듈(303)은, 영구 저장 장치(352)에 저장될 수 있는 트래픽 규칙 또는 운전 규칙(312)과 같은 규칙들의 세트에 따라 이러한 결정을 내릴 수 있다.
인지된 물체들 각각에 대한 결정에 기초하여, 계획 모듈(304)은 자율 주행 차량에 대한 경로 또는 루트뿐만 아니라 주행 파라미터(예를 들어, 거리, 속력 및/또는 회전 각도)를 계획한다. 즉, 주어진 물체에 대해, 결정 모듈(303)은 물체에 대한 처리를 결정하고, 계획 모듈(304)은 그것을 어떻게 수행할지를 결정한다. 예를 들어, 주어진 물체에 대해, 결정 모듈(303)은 물체를 지나가는 것으로 결정할 수 있는 반면, 계획 모듈(304)은 물체의 좌측 또는 우측으로 지나갈지를 결정할 수 있다. 계획 및 제어 데이터는 계획 모듈(304)에 의해 생성되고, 차량(300)이 다음 이동 사이클(예를 들어, 다음 루트/경로 세그먼트)에서 어떻게 움직일 것인지를 기술하는 정보를 포함한다. 예를 들어, 계획 및 제어 데이터는, 차량(300)이 시속 30 마일(mph)의 속력으로 10m 이동한 다음 25 mph의 속력으로 우측 차로로 변경하도록 지시할 수 있다.
계획 및 제어 데이터에 기초하여, 제어 모듈(305)은 계획 및 제어 데이터에 의해 정의된 루트 또는 경로에 따라, 차량 제어 시스템(111)에 적절한 명령 또는 신호를 전송함으로써 자율 주행 차량을 제어 및 주행한다. 계획 및 제어 데이터에는, 경로 또는 루트 상의 시간에 따른 상이한 지점들에서 적절한 차량 설정 또는 주행 파라미터(예를 들어, 스로틀, 제동 및 선회 명령)를 사용하여 루트 또는 경로의 제1 지점에서 제2 지점까지 차량을 주행할 수 있는 충분한 정보가 포함되어 있다.
결정 모듈(303) 및 계획 모듈(304)은 통합 모듈로서 통합될 수 있다. 결정 모듈(303)/계획 모듈(304)은, 자율 주행 차량에 대한 주행 경로를 결정하기 위한 내비게이션 시스템 또는 내비게이션 시스템의 기능들을 포함할 수 있다. 예를 들어, 네비게이션 시스템은, 일련의 속력 및 진행 방향(directional heading)을 결정하여, 인지된 장애물을 실질적으로 피하는 경로를 따라 자율 주행 차량의 이동을 수행하면서, 궁극적인 목적지에 이르는 도로 기반 경로를 따라 자율 주행 차량을 일반적으로 전진시킬 수 있다. 목적지는, 사용자 인터페이스 시스템(113)을 통한 사용자 입력에 따라 설정될 수 있다. 내비게이션 시스템은, 자율 주행 차량이 운행되는 동안 주행 경로를 동적으로 업데이트할 수 있다. 네비게이션 시스템은, 자율 주행 차량을 위한 주행 경로를 결정하기 위해 GPS 시스템 및 하나 이상의 맵으로부터의 데이터를 통합할 수 있다.
결정 모듈(303)/계획 모듈(304)은, 자율 주행 차량의 환경에서의 잠재적 장애물을 식별, 평가 및 회피하거나 협상하기 위한 충돌 회피 시스템 또는 충돌 회피 시스템의 기능을 더 포함할 수 있다. 예를 들어, 충돌 회피 시스템은, 급회피 조작, 선회 조작, 제동 조작 등을 수행하기 위해, 제어 시스템(111)의 하나 이상의 서브 시스템을 조작하여 자율 주행 차량의 네비게이션의 변화를 수행할 수 있다. 충돌 회피 시스템은, 주변의 교통 패턴, 도로 조건 등에 기초하여, 실현 가능한 장애물 회피 조작을 자동으로 결정할 수 있다. 충돌 회피 시스템은, 자율 주행 차량이 급회피하여 진입할 인접 영역에서, 차량, 건축 장애물 등을 다른 센서 시스템이 검출할 때, 급회피 조작이 수행되지 않도록 구성될 수 있다. 충돌 회피 시스템이, 사용 가능하면서 자율 운행 차량의 탑승자의 안전을 극대화하는 조작을 자동적으로 선택할 수 있다. 충돌 회피 시스템은, 자율 운행 차량의 승객실에서 최소량의 가속을 일으킬 것으로 예상되는 회피 조작을 선택할 수 있다.
일 실시예에서, 제어 모듈(305)은 차량의 속력을 제어하는 속력 제어 모듈 (310)을 포함한다. 속력 제어 모듈(310)은 현재 명령 사이클에 대한 목표 속력 및 이전 명령 사이클로부터의 속력 피드백에 기초하여 속력 제어 명령을 생성하도록 구성된다. 명령 싸이클은, 제어 명령이 차량에 발행되는 기간을 지칭한다. 명령 사이클은 제어 명령이 얼마나 자주 발행될 것인지를 나타낸다. 예를 들어, 매 0.1 초마다 제어 명령이 발행되면, 명령 주기는 0.1초라고 지칭된다.
전술한 바와 같이, ADV는 수동 주행 모드 또는 자율 주행 모드로 운행될 수 있으며, 이는 주행 모드 검출기(306)에 의해 검출되거나 감지될 수 있다. 통상적으로, 수동 주행 모드 또는 자율 주행 모드를 턴온(turn on) 또는 턴오프(turn off)하기 위해, 인간 운전자의 도달 범위 내에 스위치 또는 버튼이 배치 될 수 있다. 이러한 스위치 동작은 주행 모드 검출기(306)에 의해 검출될 수 있다. 수동 주행 모드에서, 인간 운전자는 차량의 가속, 감속, 스티어링 및 백업(backup) 등을 포함한 차량의 제어를 장악할 수 있다. 차량의 속력은 인간 운전자가 얼마나 깊게 스로틀 페달 또는 브레이크 페달을 가압하거나 밟았는지에 의해 제어되며, 이는 페달 거리 또는 페달 압력으로 나타낼 수 있다. 자율 주행 모드 동안, 차량의 동작은 상당한 사용자 개입 없이 인지 및 계획 시스템(110)에 의해 실질적으로 제어된다. 차량의 속력은 속력 제어 모듈(310)에 의해 생성되는 속력 제어 명령에 의해 제어된다.
전형적으로, 자율 주행 모드 동안, 속력 제어 모듈(310)은 계획 모듈(304)에 의해 요구된 현재 명령 사이클의 목표 속력 및 차량의 차량 플랫폼으로부터 측정되고 피드백되는 차량의 현재 속력에 기초하여 속력 제어 명령을 결정한다. 현재 속력은 이전 명령 사이클에서 발행된 속력 제어 명령에 응답하여 차량 플랫폼으로부터 측정될 수 있다. 목표 속력은 사전 계획 및 제어 데이터를 고려한 주행 환경의 인식에 기초하여 계획 모듈(304)에 의해 계획되고 결정될 수 있다. ADV가 수동 주행 모드에서 운행되고 수동 주행 모드에서 자율 주행 모드로 전환할 때, 계획 모듈(304)은 차량이 수동 모드에서 운행될 때부터의 이전의 주행 통계 데이터에 기초하여 결정될 수 없는 목표 속력을 요청한다. 결과적으로, 도 4에 도시된 바와 같이 차량이 수동 주행 모드에서 자율 주행 모드로 전환할 때, 현재 명령 사이클의 목표 속력과 이전 명령 사이클에 대응하는 실제 속력 사이에 현저한 차이가 있을 수 있다.
이제 도 4를 참조하면, Vm(수동 모드 속도)라고도 하는, 수동 주행 모드 동안 속력(401)으로 차량이 주행하고 있다고 가정한다. 차량이 수동 주행 모드에서 자율 주행 모드로 전환할 때, 계획 모듈(304)은 다가오는 명령 사이클, 즉 현재 명령 사이클에 대한 차량의 목표 속력을 계획하고 결정한다. 계획 모듈(304)은, 본 명세서에서 자율 주행을 위한 속도로써 Va로 지칭되는, 현재 명령 사이클에 대한 자율 주행을 위한 목표 속력을 결정한다고 가정한다. 도 4에 도시된 바와 같이, 수동 주행 모드 및 자율 주행 모드로부터의 전환 중에, Vm과 Va 사이에는 차이가 있다. 이러한 차이는 가속 또는 감속의 형태로 차량의 속력의 급작스러운 변화를 야기할 수 있다. 이러한 급작스러운 속력 변화는 승객의 불편함을 유발할 수 있다.
계획 모듈(304)은, 이력 주행 데이터의 일부로서의 이전 명령 사이클 또는 사이클들에서 차량의 목표 속력 및/또는 목표 위치와 같은, 이전 계획 및 제어 데이터에 기초하여 목표 속력을 결정할 수 있다. 이력 구동 데이터는 영구 저장 장치에 저장되고 유지될 수 있다. 차량이 수동 주행 모드로 운행되었기 때문에, 이러한 과거의 계획 및 제어 데이터를 사용할 수 없거나 부정확하다(예를 들어, 최신 정보가 아님). 결과적으로, 계획 모듈(304)에 의해 생성된 목표 속력은, 주행 모드 전환 시점에서의 차량의 실제 속력과와 크게 다를 수 있다. 따라서, 이 예에서의 전환 시간(t1)에서, 목표 속력(402)은 그 시점에서의 차량(401)의 실제 속력보다 상당히 낮다. 차량이 계획된 목표 속력(402)에 따라 구성되면, 차량은 자율 주행 모드로 진입할 때 급작스러운 감속을 경험할 것이다. 유사하게, 목표 속력(402)이 실제 속력(401)보다 상당히 높은 경우, 차량은 자율 주행 모드에 진입할 때 급작스런 가속을 경험할 것이다. 이러한 급작스러운 감속 또는 급작스런 가속은 승객을 불편하게 할 수 있다. 따라서, 본 발명의 실시예들은 실시간으로 측정된 실제 피드백에 기초하여 제어기를 구성함으로써 목표 속력(402)이 실제 속력(401)에 더 가깝도록 조정하는 것이다. 목표로 하는 실제 속력은 이 예에서 속력(403)이 될 것이다. 결과적으로, 급격한 가속 또는 급격한 감속이 감소될 수 있다.
도 5는 본 발명의 일 실시예에 따른 속력 제어 모듈의 일례를 나타내는 블록도이다. 도 5를 참조하면, 속력 제어 모듈(310)은 속도 개방 루프(velocity open-loop; VOL) 제어기(501), 속도 폐 루프(velocity close-loop; VCL) 제어기(502), 속도 조절기 프리셋(velocity regulator preset; VRP) 모듈(503) 및 토크 대 페달(토크/페달) 변환기(504)를 포함한다. 컴포넌트(501-504)는, 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현 될 수 있다. 일 실시예에서, VOL 제어기(501)는 목표 속력에 기초하여 페달 백분율을 나타내는 페달 값을 결정하도록 구성된다. VCL 제어기(502)는, 목표 속력(예를 들어, 달성될 다음 속력)과 차량의 실제 속력(예를 들어, 현재 속력) 사이의 오차 또는 차이에 기초하여 페달 값을 결정하도록 구성된다. 토크/페달 변환기(504)는, 차량 플랫폼으로부터 측정된 토크를 페달 백분율(즉, 측정된 토크를 생성하기 위한 페달 백분율)을 나타내는 페달 값으로 변환하도록 구성되고, 이는 VCL 제어기(504)를 구성 또는 사전 설정(preset)하는데 이용될 수 있다.
도 6는 본 발명의 일 실시예에 따른 속력 제어 모듈의 프로세스를 나타내는 처리 흐름도이다. 도 6을 참조하면, 계획 모듈(304)에 의해 결정된 목표 속력에 응답하여, VOL 제어기(501)는 목표 속력(601)에 기초하여 페달 값(602)을 결정한다. 일 실시 예에서, VOL 제어기 (501)는 일정 시간 (예를 들어, 델타 시간 또는 Δt)에 걸친 속도 차이에 기초하여 페달 값(602)을 결정할 수 있다. 예를 들어, VOL 제어기(501)는 상이한 명령 사이클에서 계획된 2 개의 목표 속력 사이의 차이를 결정한다. 목표 속력의 차이에 기초하여, 페달 백분율을 나타내는 페달 값이 결정된다. 즉, VOL 제어기(501)는 가속 또는 감속일 수 있는, 목표 속력의 변화를 달성하기 위해 스로틀/가솔린 페달 또는 브레이크 페달이 얼마나 가압되어야 하는지를 결정한다. 일 실시예에서, VOL 제어기(501)는, 예를 들어, 사전 결정된 알고리즘 또는 룩업 테이블(lookup table)을 사용하여 목표 속력 변화를 달성하기 위해 요구되는 토크로 속도 차이를 변환한다. 토크로부터, VOL 제어기(501)는, 예를 들어, 사전 결정된 알고리즘 또는 룩업 테이블을 사용하여, 페달 백분율을 나타내는 페달 값으로 토크를 변환한다.
또한, VCL 제어기(502)는 계획 모듈(304)로부터 수신된 목표 속력(601)과 차량 플랫폼(510)으로부터 측정된 현재 실제 속력(604) 사이의 차이에 기초하여 페달 백분율을 나타내는 페달 값(603)을 생성한다. 실제 속력(604)은 이전 명령 사이클에서 발행된 속력 제어 명령에 응답한 차량의 실제 속력을 나타낸다. 주행 모드가 수동 주행 모드에서 자율 주행 모드로 전환되는 동안, 이전 명령 사이클에서 발행된 속력 제어 명령은 차량이 수동 주행 모드에서 작동하고 있었던 동안 사람의 운전자 행동을 나타낸다. 예를 들어, 가파른 제어 명령은 사람 운전자가 스로틀 페달 또는 브레이크 페달을 밟거나 가압했을 때의 거리 또는 힘을 나타낼 수 있다. 페달 값(603)은 피드백 페달 값을 나타낸다. 그리고 나서, 페달 값(602 및 603)은 차량의 속력을 제어하는데 이용된다. 일 실시예에서, 최종 페달 값(605)은 페달 값(602) 및 페달 값(603)에 기초하여 산출되고, 이 예에서는, 페달 값(602 및 603)의 합에 기초하여 산출된다. 일 실시예에서, 최종 페달 값(605)은 페달 값(602)과 페달 값(603)의 가중 합에 기초하여 결정된다. 페달 값(602) 및 페달 값(603) 각각은, 이전의 주행 통계에 기초하여 데이터 분석법(103)과 같은 데이터 분석 시스템에 의해 오프라인으로 결정될 수 있는, 특정 가중 인자 또는 가중 계수와 관련된다.
일 실시예에서, VCL 제어기(502)는 비례-적분-미분(proportional-integral-derivative; PID) 제어기(미도시)를 포함한다. PID 제어기는 비례, 적분 및 미분 계수로 모델링될 수 있다. 이들 계수는, 예를 들어, 다음과 같은 데이터 분석 시스템 또는 서버(103)와 같은 다량의 주행 통계에 기초하여 데이터 분석 시스템에 의해 오프라인으로 초기에 구성될 수 있다.
Figure 112018026803484-pct00001
여기서, Kp, Ki 및 Kd는 PID 제어기의 비례, 적분 및 미분 계수들이다.
PID는 산업 제어 시스템에서 일반적으로 사용되는 제어 루프 피드백 메커니즘(컨트롤러)이다. PID 제어기는 원하는 설정 점과 측정된 프로세스 변수 사이의 차이로서 오차 값을 연속적으로 산출하고, 비례(Kp), 적분(Ki) 및 미분(Kd) 항들에 기초한 보정을 적용한다. PID 제어기는 원하는 설정 점과 측정된 프로세스 변수 사이의 차이로서 오차 값을 연속적으로 산출하고, 비례, 적분 및 미분 항들에 기초한 보정을 적용한다. 제어기는 제어 변수를 가중 합에 의해 결정된 새로운 값으로 조정함으로써 시간에 따른 오차를 최소화하려고 시도한다. 다시 도 6을 참조하면, PID 제어기에 대한 입력으로서의 에러 e(t)는 계획 모듈(304)에 의해 제공된 목표 속력(601)과 차량 플랫폼(510)으로부터 측정된 실제 속력(604) 사이의 차이를 나타낸다.
차량이 수동 주행 모드에서 운행될 때, 사람 운전자가 차량을 제어하기 때문에, VOL 제어기(501), VCL 제어기(502)는 차량의 속력을 제어하는데 이용되지 않는다. 차량이 수동 주행 모드에서 자율 주행 모드로 전환할 때, 계획 모듈(304)은 계획을 시작하고, 차량의 목표 속력, 이 예에서는, 목표 속력(601)을 생성한다. 기준으로서 이용 가능한 이전의 주행 데이터가 없으므로, 계획된 목표 속력(601)은 부정확하거나 목표에서 벗어날 수 있다. 결과적으로, 목표 속력(601) 및 그 시점에서의 차량의 실제 속력(604) 사이의 차이는 현저하게 상이할 수 있다. VCL 제어기(502)는, 목표 속력(601), 및 실제 속력(604) 사이의 차이에 기초하여 페달 값 피드백(603)을 생성하기 때문에, VCL 제어기(502)의 출력(603)은 계획 모듈(304)에 의해 제공되는 오프-타겟(off-target) 속력(601)에 의해 오류를 포함할 수 있다.
일 실시예에서, VRP 모듈(503)은, VOL 제어기(501)로부터 생성된 페달 값(602) 및 토크/페달 변환기(504)에 의해 생성된 페달 값(607)에 기초하여 VCL 제어기(502)에 대한 피드백 페달 값(606)을 생성하도록 구성된다. 페달 값(607)은 그 시점에서의 실제 속력을 유지하기 위해 차량 플랫폼(510)에 적용된 실제 페달 백분율을 나타낸다. 일 실시예에서, 토크/페달 변환기(504)는, 예를 들어, 차량의 CAN 버스를 통해 차량 플랫폼(510)으로부터 측정된 토크(608)를 페달 값(607)으로 변환한다. 일 실시예에서, 토크/페달 변환기(504)는, 페달 값(607)을 도출하기 위해 측정된 토크(608)에 기초하여 토크/페달 매핑 테이블에서 룩업 연산을 수행한다. 일 실시예에서, 토크/페달 매핑 테이블은 다수의 매핑 엔트리를 포함한다. 각 매핑 엔트리는 특정 토크 값 또는 토크 값 범위를 페달 값에 매핑한다. VRP 모듈(503)은, VOL 제어기(501)에 의해 제공되는 페달 값(602) 및 토크/페달 변환기(504)에 의해 제공되는 페달 값(607)에 기초하여 VCL 제어기(502)의 출력(603)을 구성하도록, 사전 설정된 페달 값(606)을 산출한다.
예시를 위해, 현재 시간 또는 명령 사이클이 시간 t로 지칭되는 경우, 이전 시간 또는 이전 명령 사이클은 시간(t-Δt)으로 지칭된다. 시간(t-Δt)에 대한 페달 값은 p(t-Δt)로 표시는 반면, 시간 t에 대한 페달 값은 p(t)로 표시된다. 목표는 차량 플랫폼(510)에 적용될 p(t)(605)를, 가능한 한 많이 p(t-Δt)에 가깝도록 생성하는 것이다. 토크/페달 변환기(504)는 차량 플랫폼(510)으로부터 측정된 토크(608)를 p(t-Δt)를 나타내는 페달 값(607)으로 변환한다. VRP 모듈(503)은, VOL 제어기(501)에 의해 제공된 p(t)(602) 및 토크/페달 변환기(504)에 의해 제공된 p(t-Δt)(607)에 기초하여, 프리셋 페달 값(606)을 산출한다.
일 실시예에서, 페달 값 또는 피드백 페달 값(603)을 나타내는 프리셋 페달 값(606)은 토크/페달 변환기(504)에 의해 제공된 p(t-Δt)(607)와 VOL 제어기(501)에 의해 제공된 p(t)(602)의 차이, 예를 들어, 대략 p(t-Δt) - p(t)에 기초하여 결정된다. 일 실시예에서, 프리셋 페달 값(606)은 페달 값(603)과 페달 값(607) 사이의 가중된 차이에 기초하여 결정될 수 있다. 페달 값(603) 및 페달 값(607) 각각은 특정 가중 인자 또는 가중 계수와 연관될 수 있다. 산출된 프리셋 페달 값(606)은, VCL 제어기(502)의 내부 동작의 일부 또는 전부를 우회하여, 페달 값 피드백을 나타내는 VCL 제어기(502)의 출력(603)의 중요한 또는 실질적인 부분으로서 이용될 것이다. 차량 플랫폼(510)에 적용될 최종 페달 값(605)은, 예를 들어, 페달 값 p(t)(602)와 페달 값 (p(t-Δt)-p(t))(603)의 합이 될 것이며, 여기서 최종 페달 값(605)은 p(t-Δt)에 근접할 것이다. 즉, 현재 시간(t) 동안, 최종 페달 값 p(t)(605)는, 이전 명령 사이클의 p(t-Δt)에 근접한다. 주행 모드가 수동 주행 모드에서 자율 주행 모드로 전환되는 동안, 이전 명령 사이클에서 발행된 속력 제어 명령은 스로틀 페달 또는 브레이크 페달을 밟는 행동과 같은, 사람의 운전자 행동을 나타낸다. 결과적으로, 최종 페달 값 p(t)와 이전 최종 페달 값 p(t- Δt) 사이의 차이로 인한 급작스런 가속 또는 감속은 감소될 수 있다. 그 후, 속도 기준 p(t)는 속도 피드백 p(t-Δt)에서 점차적으로 벗어날 것이다.
도 7는 본 발명의 일 실시예에 따른 속도 폐 루프 제어기의 일례를 나타내는 블록도이다. 도 7을 참조하면, VCL 제어기(502)는 PID 제어기(701) 및 선택기 로직(702)을 포함한다. 선택기(702)는, PID 제어기(701)로부터의 출력 또는 VRP 모듈(503)로부터의 출력(606) 중 하나를 선택하도록 구성된다. 일 실시예에서, VRP 모듈(503) 뿐만 아니라 전술한 바와 같은 다른 구성 요소들은, 수동 주행 모드 또는 자율 주행 모드 중 어느 하나에서, 차량이 운행되는 동안, 프리셋 페달 값(606A)을 상시로 또는 주기적으로 산출한다. 정상적인 자율 주행 모드 동안, 선택기(702)는 PID 제어기(701)의 출력을 선택하여 VCL 제어기(502)의 출력이 되도록 한다.
주행 모드 검출기(306)에 의해 검출될 수 있는, 수동 주행 모드에서 자율 주행 모드로 변화하는 주행 모드의 검출에 응답하여, 트리거 신호(606B)가 선택기(702)로 전송되어, VRP 모듈(503)의 출력을 선택하도록 선택기(702)에 지시된다. 즉, 프리셋 페달 값(606A)은 VCL 제어기(502)의 출력(603)이 되도록 한다. 트리거 신호(606B)는 논리적으로 로우 레벨, 논리적으로 하이 레벨, 상승 에지 또는 하강 에지 중 하나의 선택 신호일 수 있다. 논리 레벨들 또는 에지들 중 하나는, 선택기(702)가 PID 제어기(701) 또는 VRP 모듈(503) 중의 하나의 출력을 선택하도록 지시하는데 이용될 수 있다. 다른 실시 예에서, VRP 모듈(503)은 프리셋 페달 값(606A)만을 제공하는 반면, 주행 모드 검출기(306)는 선택 신호(예를 들어, 신호(606B))를 제공하도록 선택기(702)에 직접 연결될 수 있다. 일 실시예에서, 프리셋 값(606A)은, 예를 들어 PID 제어기(701)의 Ki 계수와 같은, PID 제어기(701)의 하나 이상의 계수 또는 파라미터를 수정하는데 사용될 수 있다. 이는 실제로 PID 제어기(701)의 적분 항(integral term)과 같은 특정 항을 프리셋한다.
도 8은 본 발명의 일 실시예에 따라 자율 주행 차량을 동작시키는 프로세스를 나타내는 흐름도이다. 프로세스(800)은 소프트웨어, 하드웨어, 또는 이들의 조합을 포함할 수 있는 프로세싱 로직에 의해 수행될 수 있다. 예를 들어, 프로세스(800)는, 도 3의 제어 모듈(305)에 의해 수행될 수 있다. 도 8을 참조하면, 단계(801)에서, 프로세싱 로직은, ADV가 수동 운행 모드로부터 자율 주행 모드로 전환되는 것을 검출한다. 검출에 응답하여, 단계(802)에서, 프로세싱 로직은, 이전 명령 사이클 (t-Δt)에서 발행된 속력 제어 명령에 응답하여 ADV의 속력에 대응하는 제 1 페달 값을 결정한다. 주행 모드가 수동 주행 모드에서 자율 주행 모드로 전환되는 동안, 이전 명령 사이클에서 발행된 속력 제어 명령은 스로틀 페달 또는 브레이크 페달을 밟는 행동과 같은, 사람의 운전자 행동을 나타낸다. 페달 값은 페달(예를 들어, 스로틀 페달 또는 브레이크 페달)이 가압되는 최대 거리 또는 압력의 페달 백분율을 나타낸다. 예를 들어, 제1 페달 값은 페달 피드백의 일부로서 VRP 모듈(503) 및/또는 토크/페달 변환기(504)에 의해 생성될 수 있다. 단계(803)에서, 프로세싱 로직은 ADV가 자율 주행 모드에서 동작하고 있는 현재 명령 사이클(t)에서 ADV의 목표 속력에 기초하여 제2 페달 값을 결정한다. 단계(804)에서, 프로세싱 로직은 ADV가 수동 주행 모드에서 자율 주행 모드로 전환하기 전후의 유사한 속력 또는 가속도로 동작하도록 제1 페달 값 및 제2 페달 값으로부터 결정된 최종 페달 값에 기초하여 ADV에 속력 제어 명령을 발행한다.
상술되고 도시된 구성 요소의 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 이러한 구성 요소는, 본 출원 전반에 걸쳐 기술된 프로세스 또는 동작들을 실행하기 위해, 프로세서(미도시)에 의해 메모리에 로딩되어 실행될 수 있는, 영구 기억 장치에 인스톨되어 저장되는 소프트웨어로서 구현될 수 있다. 대안적으로, 이러한 구성 요소는, 집적 회로(예를 들어, 주문형 집적 회로 또는 ASIC), 디지털 신호 처리기(DSP) 또는 현장 프로그래머블 게이트 어레이(Field Programmable Gate Array; FPGA)와 같은 전용 하드웨어에 프로그램되거나 내장된 실행 가능 코드로서 구현될 수 있으며, 이는 애플리케이션으로부터 대응하는 드라이버 및/또는 운영 체제를 통해 액세스될 수 있다. 또한, 이러한 구성 요소는 하나 이상의 특정 명령을 통해 소프트웨어 구성 요소에 의해 액세스 가능한 명령 세트의 일부로서 프로세서 또는 프로세서 코어에서 특정 하드웨어 로직으로서 구현될 수 있다.
도 9는 본 발명의 일 실시예와 함께 사용될 수 있는 데이터 처리 시스템의 일례를 나타내는 블록도이다. 예를 들어, 시스템(1500)은, 예를 들어, 도 1의 임의의 서버(103-104) 또는 인지 및 계획 시스템(110)과 같은, 상술된 임의의 프로세스 또는 방법을 수행하는 상술된 데이터 처리 시스템 중 임의의 것을 나타낼 수 있다. 시스템(1500)은 다수의 상이한 구성 요소들을 포함할 수 있다. 이들 구성 요소는, 집적 회로(IC), 그 부분, 개별 전자 장치 또는 컴퓨터 시스템의 마더 보드 또는 애드-인 카드와 같은 회로 보드에 적용되는 다른 모듈로서 구현 될 수 있거나, 컴퓨터 시스템의 샤시 내에 다른 방법으로 통합되는 구성 요소들로써 구현될 수 있다.
또한, 시스템(1500)은 컴퓨터 시스템의 많은 구성 요소들의 상위 레벨 뷰를 도시하기 위한 것이다. 그러나, 추가의 구성 요소가 특정 구현 예에 존재할 수 있고, 또한, 구성 요소의 다른 배열이 다른 구현 예에서 나타날 수 있음을 이해해야 한다. 시스템(1500)은 데스크탑, 랩탑, 태블릿, 서버, 이동 전화, 미디어 플레이어, PDA(personal digital assistant), 스마트 워치, 개인용 통신기, 게임 장치, 네트워크 라우터 또는 허브, 무선 액세스 포인트(AP) 또는 중계기(repeater), 셋톱 박스 또는 이들의 조합일 수 있다. 또한, 단지 하나의 기계 또는 시스템이 도시되어 있지만, "기계" 또는 "시스템"이라는 용어는, 본 출원에서 기술하는 방법들의 하나 이상을 실행하기 위해, 개별적으로 또는 공동으로 명령어들의 세트(또는 다수의 세트)를 수행하는 임의의 기계 또는 시스템의 집합을 포함하도록 취급될 것이다.
일 실시예에서, 시스템(1500)은 버스 또는 인터커넥트(1510)를 통해 프로세서(1501), 메모리(1503) 및 디바이스들(1505-1508)을 포함한다. 프로세서(1501)는 단일 프로세서 코어 또는 그 안에 포함된 다중 프로세서 코어를 갖는 단일 프로세서 또는 다중 프로세서를 나타낼 수 있다. 프로세서(1501)는, 마이크로 프로세서, 중앙 처리 장치(CPU) 등과 같은 하나 이상의 범용 프로세서를 나타낼 수 있다. 구체적으로, 프로세서(1501)는 CISC(COMPLEX INSTRUCTION SET COMPUTING) 마이크로프로세서, RISC(REDUCED INSTRUCTION SET COMPUTING) 마이크로프로세서, VLIW(VERY LONG INSTRUCTION WORD) 마이크로프로세서, 또는 다른 명령어 세트를 구현하는 마이크로프로세서, 또는 명령어 세트의 조합을 구현하는 프로세서일 수 있다. 프로세서(1501)는 주문형 집적 회로(ASIC), 셀룰러 또는 베이스 밴드 프로세서, 필드 프로그래머블 게이트 어레이(FPGA), 디지털 신호 프로세서(DSP), 네트워크 프로세서, 그래픽 프로세서, 통신 프로세서, 암호화 프로세서, 코-프로세서, 임베디드 프로세서, 또는 명령어를 처리할 수 있는 임의의 다른 유형의 로직 등과 같은 하나 이상의 특수 목적 프로세서일 수도 있다.
초 저전압 프로세서와 같은 저전력 멀티 코어 프로세서 소켓일 수 있는, 프로세서(1501)는, 메인 프로세싱 유닛 및 시스템의 다양한 구성요소와의 통신을 위한 중앙 허브로서 작동할 수 있다. 이러한 프로세서는 시스템 온 칩(SoC)으로서 구현될 수 있다. 프로세서(1501)는, 본 명세서에서 논의된 동작들 및 단계들을 수행하기 위한 명령어들을 실행하도록 구성된다. 시스템(1500)은, 디스플레이 제어기, 그래픽 프로세서 및/또는 디스플레이 장치를 포함할 수 있는, 선택적인 그래픽 서브 시스템(1504)과 통신하는 그래픽 인터페이스를 더 포함할 수 있다.
프로세서(1501)는, 일 실시예에서 주어진 양의 시스템 메모리를 제공하기 위해 다수의 메모리 장치를 통해 구현될 수 있는 메모리(1503)와 통신할 수 있다. 메모리(1503)는, 랜덤 액세스 메모리(RAM), 다이나믹 RAM(DRAM), 동기식 DRAM(SDRAM), 스태틱 RAM(SRAM)와 같은 하나 이상의 휘발성 저장(또는 메모리) 장치 또는 다른 유형의 저장 장치를 포함할 수 있다. 메모리(1503)는, 프로세서(1501) 또는 임의의 다른 장치에 의해 실행되는 명령어들의 시퀀스를 포함하는 정보를 저장할 수 있다. 예를 들어, 다양한 운영 체제, 장치 드라이버, 펌웨어(예를 들어, 입출력 기본 시스템 또는 BIOS), 및/또는 애플리케이션의 실행 가능 코드 및/또는 데이터는 메모리(1503)에 로드되고 프로세서(1501)에 의해 실행될 수 있다. 운영 체제는, 예를 들어, 로봇 운영 체제(ROS), 마이크로소프트® 사의 윈도우즈® 운영 체제, 애플의 맥 OS®/iOS®, 구글®의 안드로이드®, LINUX, UNIX, 또는 다른 실시간 또는 임베디드 운영 체제와 같은 임의의 유형의 운영 체제일 수 있다.
시스템(1500)은, 네트워크 인터페이스 장치(들)(1505), 선택적인 입력 장치(들)(1506) 및 다른 선택적인 IO 장치(들)(1507)을 포함하는 장치들(1505-1508)과 같은 IO 장치들을 더 포함할 수 있다. 네트워크 인터페이스 디바이스(1505)는 무선 트랜시버 및/또는 네트워크 인터페이스 카드(NIC)를 포함할 수 있다. 무선 트랜시버는, WiFi 트랜시버, 적외선 트랜시버, 블루투스 트랜시버, WiMax 트랜시버, 무선 셀룰러 전화 트랜시버, 위성 트랜시버(예를 들어, GPS(Global Positioning System) 송수신기) 또는 다른 무선 주파수(RF) 트랜시버일 수 있으며, 또는 이들의 조합일 수 있다. NIC는 이더넷 카드일 수 있다.
입력 장치(들)(1506)은, 마우스, 터치 패드, (디스플레이 장치(1504)와 통합될 수 있는) 터치 감지 스크린, 스타일러스와 같은 포인터 장치 및/또는 키보드(예를 들어, 물리적 키보드 또는 터치 감지 스크린의 일부로 표시되는 가상 키보드)를 포함할 수 있다. 예를 들어, 입력 장치(1506)는, 터치 스크린에 결합되는 터치 스크린 제어기를 포함할 수 있다. 터치 스크린 및 터치 스크린 제어기는, 예컨대 다수의 터치 감도 기술 중 임의의 것을 사용하여 접촉(CONTACT) 및 이동(MOVE) 또는 중지(BREAK)를 검출할 수 있다. 터치 감도 기술은 예를 들어, 용량성, 저항성, 적외선 및 표면 탄성파 기술뿐만 아니라, 터치 스크린과의 하나 이상의 접촉점을 결정하기 위한 그 외의 근접 센서 어레이 또는 다른 요소를 포함하며, 이에 제한되지 않는다.
IO 장치들(1507)은 오디오 장치를 포함할 수 있다. 오디오 장치는 음성 인식, 음성 복제, 디지털 녹음 및/또는 전화 기능과 같은 음성 작동 기능을 용이하게 하기 위해 스피커 및/또는 마이크를 포함할 수 있다. 다른 IO 장치들(1507)은, USB(universal serial bus) 포트(들), 병렬 포트(들), 직렬 포트(들), 프린터, 네트워크 인터페이스, 버스 브리지(예를 들어, PCI-PCI 브리지), 센서(들)(예를 들어, 가속도계, 자이로스코프, 자력계, 광 센서, 나침반, 근접 센서 등과 같은 모션 센서) 또는 이들의 조합을 포함할 수 있다. 디바이스들(1507)은 이미징 프로세싱 서브 시스템(예를 들어, 카메라)를 더 포함할 수 있다. 이미징 프로세싱 서브 시스템은, 사진 및 비디오 클립 녹화와 같은 카메라 기능들을 용이하게 하는데 이용되는, CCD(CHARGE COUPLED DEVICE) 또는 CMOS(COMPLEMENTARY METAL-OXIDE SEMICONDUCTOR) 광학 센서를 포함할 수 있다. 특정 센서는, 센서 허브(미도시)를 통해 인터커넥트(1510)에 연결될 수 있지만, 키보드 또는 열 센서와 같은 다른 장치는 시스템(1500)의 특정 구성 또는 설계에 따라 내장형 제어기(미도시)에 의해 제어될 수 있다.
데이터, 애플리케이션, 하나 이상의 운영 체제 등과 같은 정보의 영구 저장을 제공하기 위해, 대용량 저장 장치(미도시)가 또한 프로세서(1501)에 연결될 수 있다. 다양한 실시예에서, 시스템 응답성을 향상시킬 뿐만 아니라 더 얇고 가벼운 시스템 설계를 가능하게 하기 위해, 이 대용량 저장 장치는 SSD(solid state device)를 통해 구현될 수 있다. 그러나, 다른 실시예들에서, 대용량 저장 장치는, 시스템 활동의 재시작 시에 빠른 파워 업이 일어나도록, 파워 다운 이벤트들 동안 컨텍스트 상태(context state) 및 다른 그러한 정보의 비 휘발성 저장을 가능하게 하기 위해 SSD 캐시로서 작용하는, 더 적은 양의 SSD 스토리지와 함께 하드 디스크 드라이브(HDD)를 사용하여 주로 구현될 수 있다. 또한, 플래시 장치는, 예를 들어, 직렬 주변 장치 인터페이스(SPI)를 통해 프로세서(1501)에 결합될 수 있다. 이 플래시 장치는, 시스템의 다른 펌웨어뿐만 아니라 BIOS를 포함하는, 시스템 소프트웨어의 비휘발성 저장 공간을 제공할 수 있습니다.
저장 장치(1508)는, 본 명세서에 기술된 방법들 또는 기능들의 하나 이상을 내장하는 하나 이상의 명령어 세트 또는 소프트웨어(예를 들어, 모듈, 유닛 및/또는 로직(1528))가 저장되는 컴퓨터 액세스 가능 저장 매체(1509)(기계 판독 가능 저장 매체 또는 컴퓨터 판독 가능 매체로도 알려짐)을 포함할 수 있다. 프로세싱 모듈/유닛/로직(1528)은, 예를 들어, 계획 모듈(304) 및 제어 모듈(305)과 같은, 전술한 구성 요소들 중 임의의 것을 나타낼 수 있다. 처리 모듈/유닛/로직(1528)은 또한 머신 액세스 가능 저장 매체를 또한 구성하는, 데이터 처리 시스템(1500), 메모리(1503) 및 프로세서(1501)에 의한 실행 중에 메모리(1503) 및/또는 프로세서(1501) 내에 완전히 또는 적어도 부분적으로 상주할 수 있다. 프로세싱 모듈/유닛/로직(1528)은 네트워크 인터페이스 장치(1505)를 통해 네트워크를 통해 더 송신되거나 수신될 수 있다.
또한, 컴퓨터 판독 가능 저장 매체(1509)는 전술한 일부 소프트웨어 기능을 지속적으로 저장하는데 사용될 수 있다. 컴퓨터 판독 가능 저장 매체(1509)는 단일 매체로 예시적인 실시예로 도시되지만, "컴퓨터 판독 가능 저장 매체"라는 용어는 하나 이상의 명령어 세트들을 저장하는 단일 매체 또는 다중 매체(예를 들어, 중앙 집중식 또는 분산형 데이터베이스 및/또는 연관된 캐시들 및 서버들)를 포함하도록 취급되어야 한다. "컴퓨터 판독 가능 저장 매체"라는 용어는, 또한 기계에 의한 실행을 위한 명령 세트를 저장 또는 인코딩할 수 있고, 본 발명의 방법들 중 하나 이상을 기계가 수행하게 하는 임의의 매체를 포함하도록 취급될 것이다. 따라서, "컴퓨터 판독 가능 저장 매체"라는 용어는, 솔리드 스테이트 메모리, 광학 및 자기 매체, 또는 임의의 다른 비 일시적 기계 판독 가능 매체를 포함하도록 취급될 것이지만, 이에 한정되는 것은 아니다.
프로세싱 모듈/유닛/로직(1528), 본 명세서에서 설명된 구성 요소들 및 다른 특징들은, 개별 하드웨어 구성 요소들로서 구현되거나, ASIC, FPGA, DSP 또는 유사한 장치와 같은 하드웨어 구성 요소들의 기능성에 통합될 수 있다. 또한, 처리 모듈/유닛/로직(1528)은 하드웨어 장치 내의 펌웨어 또는 기능 회로로 구현될 수 있다. 또한, 처리 모듈/유닛/로직(1528)은 임의의 조합 하드웨어 장치 및 소프트웨어 구성 요소로 구현될 수 있다.
시스템(1500)은, 데이터 처리 시스템의 다양한 구성 요소로 도시되어 있지만, 구성 요소를 상호 접속시키는 임의의 특정 아키텍처 또는 방식을 나타내기 위한 것이 아니다. 이러한 세부 사항들은 본 발명의 실시예들과 관련되지 않다. 네트워크 컴퓨터들, 핸드 헬드 컴퓨터들, 이동 전화들, 서버들 및/또는 더 적은 구성 요소 또는 더 많은 구성 요소를 갖는 다른 데이터 처리 시스템들이 또한 본 발명의 실시예들과 함께 사용될 수 있다.
전술한 상세한 설명의 일부는, 컴퓨터 메모리 내의 데이터 비트에 대한 연산의 알고리즘 및 기호 표현과 관련하여 제시되었다. 이러한 알고리즘 설명 및 표현은, 데이터 처리 기술 분야의 당업자가 자신의 연구 내용을 다른 당업자에게 가장 효과적으로 전달하는데 사용되는 방법이다. 여기에서의 알고리즘은 일반적으로 원하는 결과를 이끌어내는 일관된 동작 순서로 인식된다. 이 동작들은 물리량의 물리적인 조작을 요구하는 것들이다.
그러나 이러한 모든 용어 및 그와 유사한 용어는 적절한 물리양과 관련되어 있으며 이러한 양에 적용되는 편리한 레이블이다. 상기 논의로부터 명백한 바와 같이 특별히 언급하지 않는 한, 명세서 전반에 걸쳐, 이하의 특허청구범위에 기재된 것과 같은 용어를 이용한 설명은 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치의 동작 및 프로세스를 참고하며, 동작 및 프로세스는 컴퓨터 시스템의 레지스터 및 메모리 내의 물리(전자) 양으로 표현된 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 기타 정보 저장 장치, 전송 또는 디스플레이 장치 내에서 물리량으로 유사하게 표현되는 다른 데이터로 조작 및 변형한다.
본 발명의 실시예는 또한 본 명세서의 동작을 수행하기 위한 장치에 관한 것이다. 이러한 컴퓨터 프로그램은 비일시적 컴퓨터 판독 가능 매체에 저장된다. 기계 판독 가능 매체는, 기계(예를 들어, 컴퓨터) 판독 가능 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 예를 들어, 기계 판독 가능(예를 들어, 컴퓨터 판독 가능) 매체는 기계(예를 들어, 컴퓨터) 판독 가능 저장 매체(예를 들어, 읽기 전용 메모리(ROM)), 랜덤 액세스 메모리(RAM), 자기 저장 매체, 광학 저장 매체, 플래시 메모리 장치)를 포함한다.
상기 도면들에 도시된 프로세스들 또는 방법들은, 하드웨어(예를 들어, 회로, 전용 로직 등), 소프트웨어(예를 들어, 비일시적인 컴퓨터 판독 가능 매체 상에 구현되는), 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 수행될 수 있다. 프로세스들 또는 방법들이 몇몇 순차적인 동작들과 관련해서 위에서 설명되었지만, 기술된 동작들 중 일부는 다른 순서로 수행될 수 있다. 더욱이, 몇몇 동작들은 순차적이 아니라 병렬로 수행될 수 있다.
본 발명의 실시예는 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 본 명세서에 설명된 본 발명의 실시예들의 교시를 구현하기 위해 다양한 프로그래밍 언어가 사용될 수 있다는 것을 이해할 것이다.
전술한 명세서에서, 본 발명의 실시예는 특정 실시예를 참조하여 설명되었다. 후술할 특허청구범위에 기재된 본 발명의 더 넓은 사상 및 범위를 벗어나지 않으면서도 다양한 변형이 가능하다는 것은 명백할 것이다. 따라서, 명세서 및 도면은 제한적인 의미라기보다는 예시적인 의미로 간주되어야 한다.

Claims (24)

  1. 자율 주행 차량을 운행하기 위한 컴퓨터로 구현된 방법에 있어서,
    상기 자율 주행 차량(ADV)이 수동 주행 모드에서 자율 주행 모드로 전환되는 것을 검출하는 단계;
    상기 ADV가 상기 수동 주행 모드에서 작동 중이었던 이전 명령 사이클에서 발행된 속력 제어 명령에 응답하여 상기 ADV의 속력에 대응하는 제1 페달 값을 결정하는 단계;
    상기 ADV가 상기 자율 주행 모드에서 동작하고 있는 현재 명령 사이클에서 상기 ADV의 목표 속력에 기초하여 제2 페달 값을 결정하는 단계; 및
    상기 ADV가 상기 수동 주행 모드에서 상기 자율 주행 모드로 전환하기 전후에 유사한 가속도로 주행하도록 상기 제1 페달 값 및 상기 제2 페달 값에 기초하여 상기 ADV에 속력 제어 명령을 발행하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 제1 페달 값을 결정하는 단계는,
    상기 이전 명령 사이클에서 상기 ADV로부터의 센서 데이터에 기초하여 제1 토크 값을 측정하는 단계; 및
    사전 결정된 알고리즘을 사용하여 상기 ADV의 제1 토크 값에 기초하여 상기 제1 페달 값을 결정하는 단계를 포함하는, 방법.
  3. 제2항에 있어서, 상기 제1 토크 값에 기초하여 상기 제1 페달 값을 결정하는 단계는,
    토크 - 페달(토크/페달) 매핑 테이블에서 룩업(lookup) 연산을 수행하는 단계를 포함하고, 상기 토크/페달 매핑 테이블은 복수의 매핑 엔트리를 포함하고, 각각의 매핑 엔트리는 특정 토크 값을 특정 페달 값으로 매핑하는, 방법.
  4. 제1항에 있어서, 상기 ADV의 목표 속력에 기초하여 제2 페달 값을 결정하는 단계는,
    상기 이전 명령 사이클에 대한 목표 속력을 결정하는 단계; 및
    상기 현재 명령 사이클의 목표 속력과 상기 이전 명령 사이클의 목표 속력 사이의 차이에 기초하여 상기 제2 페달 값을 결정하는 단계를 포함하는, 방법.
  5. 제4항에 있어서,
    상기 이전 명령 사이클로부터 상기 현재 명령 사이클로 상기 목표 속력을 변경하는데 필요한 토크를 나타내는 토크 값을 산출하는 단계; 및
    토크/페달 매핑 테이블을 사용하여 상기 토크 값을 상기 제 2 페달 값으로 변환하는 단계를 더 포함하는, 방법.
  6. 제1항에 있어서,
    상기 제1 페달 값 및 상기 제2 페달 값에 기초하여 사전 설정된(preset) 값을 산출하되, 여기서 상기 사전 설정된 값은 상기 ADV로부터의 페달 피드백을 나타내는 폐 루프 제어기의 출력으로서 이용되는 단계; 및
    상기 사전 설정된 값 및 상기 제2 페달 값에 기초하여 최종 페달 값을 산출하되, 여기서 상기 속력 제어 명령은 상기 최종 페달 값에 기초하여 발행되는 단계를 더 포함하는, 방법.
  7. 제6항에 있어서, 상기 폐 루프 제어기는 상기 자율 주행 모드 중에 이전 명령 사이클에서 발행된 속력 제어 명령에 응답하여 상기 현재 명령 사이클의 목표 속력 및 상기 ADV의 실제 속력에 기초하여 상기 페달 피드백을 생성하는, 방법.
  8. 제7 항에 있어서, 상기 사전 설정된 값은 상기 ADV가 상기 수동 주행 모드로부터 상기 자율 주행 모드로 전환되는 것을 검출하는 것에 응답하여 상기 목표 속력 및 상기 실제 속력에 기초하여 산출된 상기 페달 피드백 대신에 상기 폐 루프 제어기에 의해 이용되는, 방법.
  9. 제1항에 있어서, 페달 값은 상기 ADV의 속력 제어를 위한 스로틀 페달 또는 브레이크 페달의 최대 페달 값의 백분율을 나타내는, 방법.
  10. 명령어들을 저장하는 비일시적 기계 판독 가능 매체로서, 상기 명령어들은 프로세서에 의해 실행될 때 상기 프로세서로 하여금 동작들을 수행하게 하고, 상기 동작들은,
    자율 주행 차량(ADV)이 수동 주행 모드에서 자율 주행 모드로 전환되는 것을 검출하는 것;
    상기 ADV가 상기 수동 주행 모드에서 작동 중이었던 이전 명령 사이클에서 발행된 속력 제어 명령에 응답하여 상기 ADV의 속력에 대응하는 제1 페달 값을 결정하는 것;
    상기 ADV가 상기 자율 주행 모드에서 동작하고 있는 현재 명령 사이클에서 상기 ADV의 목표 속력에 기초하여 제2 페달 값을 결정하는 것; 및
    상기 ADV가 상기 수동 주행 모드에서 상기 자율 주행 모드로 전환하기 전후에 유사한 가속도로 주행하도록 상기 제1 페달 값 및 상기 제2 페달 값에 기초하여 상기 ADV에 속력 제어 명령을 발행하는 것을 포함하는, 비일시적 기계 판독 가능 매체.
  11. 제10 항에 있어서, 상기 제1 페달 값을 결정하는 것은,
    상기 이전 명령 사이클에서 상기 ADV로부터의 센서 데이터에 기초하여 제1 토크 값을 측정하는 것; 및
    사전 결정된 알고리즘을 사용하여 상기 ADV의 제1 토크 값에 기초하여 상기 제1 페달 값을 결정하는 것을 포함하는, 비일시적 기계 판독 가능 매체.
  12. 제11항에 있어서, 상기 제1 토크 값에 기초하여 상기 제1 페달 값을 결정하는 것은,
    토크 - 페달(토크 / 페달) 매핑 테이블에서 룩업(lookup) 연산을 수행하는 것을 포함하고, 상기 토크/페달 매핑 테이블은 복수의 매핑 엔트리를 포함하고, 각각의 매핑 엔트리는 특정 토크 값을 특정 페달 값으로 매핑하는, 비일시적 기계 판독 가능 매체.
  13. 제10항에 있어서, 상기 ADV의 목표 속력에 기초하여 제2 페달 값을 결정하는 것은,
    상기 이전 명령 사이클에 대한 목표 속력을 결정하는 것; 및
    상기 현재 명령 사이클의 목표 속력과 상기 이전 명령 사이클의 목표 속력 사이의 차이에 기초하여 상기 제2 페달 값을 결정하는 것을 포함하는, 비일시적 기계 판독 가능 매체.
  14. 제13항에 있어서, 상기 동작들은,
    상기 이전 명령 사이클로부터 상기 현재 명령 사이클로 상기 목표 속력을 변경하는데 필요한 토크를 나타내는 토크 값을 산출하는 것; 및
    토크/페달 매핑 테이블을 사용하여 상기 토크 값을 상기 제 2 페달 값으로 변환하는 것을 더 포함하는, 비일시적 기계 판독 가능 매체.
  15. 제10항에 있어서, 상기 동작들은,
    상기 제1 페달 값 및 상기 제2 페달 값에 기초하여 사전 설정된 값을 산출하되, 여기서 상기 사전 설정된 값은 상기 ADV로부터의 페달 피드백을 나타내는 폐 루프 제어기의 출력으로서 이용되는 것; 및
    상기 사전 설정된 값 및 상기 제2 페달 값에 기초하여 최종 페달 값을 산출하되, 여기서 상기 속력 제어 명령은 상기 최종 페달 값에 기초하여 발행되는 것을 더 포함하는, 비일시적 기계 판독 가능 매체.
  16. 제15항에 있어서, 상기 폐 루프 제어기는 상기 자율 주행 모드 중에 이전 명령 사이클에서 발행된 속력 제어 명령에 응답하여 상기 현재 명령 사이클의 목표 속력 및 상기 ADV의 실제 속력에 기초하여 상기 페달 피드백을 생성하는, 비일시적 기계 판독 가능 매체.
  17. 제16항에 있어서, 상기 사전 설정된 값은 상기 ADV가 상기 수동 주행 모드로부터 상기 자율 주행 모드로 전환되는 것을 검출하는 것에 응답하여 상기 목표 속력 및 상기 실제 속력에 기초하여 산출된 상기 페달 피드백 대신에 상기 폐 루프 제어기에 의해 이용되는, 비일시적 기계 판독 가능 매체.
  18. 데이터 처리 시스템에 있어서,
    프로세서; 및
    상기 프로세서에 결합되어 명령어들을 저장하는 메모리를 포함하고, 상기 명령어들은 상기 프로세서에 의해 실행될 때 상기 프로세서로 하여금 동작들을 수행하게 하며, 상기 동작들은,
    자율 주행 차량(ADV)이 수동 주행 모드에서 자율 주행 모드로 전환되는 것을 검출하는 것;
    상기 ADV가 상기 수동 주행 모드에서 작동 중이었던 이전 명령 사이클에서 발행된 속력 제어 명령에 응답하여 상기 ADV의 속력에 대응하는 제1 페달 값을 결정하는 것;
    상기 ADV가 상기 자율 주행 모드에서 동작하고 있는 현재 명령 사이클에서 상기 ADV의 목표 속력에 기초하여 제2 페달 값을 결정하는 것; 및
    상기 ADV가 상기 수동 주행 모드에서 상기 자율 주행 모드로 전환하기 전후에 유사한 가속도로 주행하도록 상기 제1 페달 값 및 상기 제2 페달 값에 기초하여 상기 ADV에 속력 제어 명령을 발행하는 것을 포함하는, 데이터 처리 시스템.
  19. 제18항에 있어서, 제1 페달 값을 결정하는 것은,
    상기 이전 명령 사이클에서 상기 ADV로부터의 센서 데이터에 기초하여 제1 토크 값을 측정하는 것; 및
    사전 결정된 알고리즘을 사용하여 상기 ADV의 제1 토크 값에 기초하여 상기 제1 페달 값을 결정하는 것을 포함하는, 데이터 처리 시스템.
  20. 제19항에 있어서, 상기 제1 토크 값에 기초하여 상기 제1 페달 값을 결정하는 것은,
    토크 - 페달(토크 / 페달) 매핑 테이블에서 룩업(lookup) 연산을 수행하는 것을 포함하고, 상기 토크/페달 매핑 테이블은 복수의 매핑 엔트리를 포함하고, 각각의 매핑 엔트리는 특정 토크 값을 특정 페달 값으로 매핑하는, 데이터 처리 시스템.
  21. 제18항에 있어서, 상기 ADV의 목표 속력에 기초하여 제2 페달 값을 결정하는 것은,
    상기 이전 명령 사이클에 대한 목표 속력을 결정하는 것; 및
    상기 현재 명령 사이클의 목표 속력과 상기 이전 명령 사이클의 목표 속력 사이의 차이에 기초하여 상기 제2 페달 값을 결정하는 것을 포함하는, 데이터 처리 시스템.
  22. 제21항에 있어서, 상기 동작들은,
    상기 이전 명령 사이클로부터 상기 현재 명령 사이클로 상기 목표 속력을 변경하는데 필요한 토크를 나타내는 토크 값을 산출하는 것; 및
    토크/페달 매핑 테이블을 사용하여 상기 토크 값을 상기 제 2 페달 값으로 변환하는 것을 더 포함하는, 데이터 처리 시스템.
  23. 제18항에 있어서, 상기 동작들은,
    상기 제1 페달 값 및 상기 제2 페달 값에 기초하여 사전 설정된 값을 산출하되, 여기서 상기 사전 설정된 값은 상기 ADV로부터의 페달 피드백을 나타내는 폐 루프 제어기의 출력으로서 이용되는 것; 및
    상기 사전 설정된 값 및 상기 제2 페달 값에 기초하여 최종 페달 값을 산출하되, 여기서, 상기 속력 제어 명령은 상기 최종 페달 값에 기초하여 발행되는 것을 더 포함하는, 데이터 처리 시스템.
  24. 제23항에 있어서, 상기 폐 루프 제어기는 상기 자율 주행 모드 중에 이전 명령 사이클에서 발행된 속력 제어 명령에 응답하여 상기 현재 명령 사이클의 목표 속력 및 상기 ADV의 실제 속력에 기초하여 상기 페달 피드백을 생성하는, 데이터 처리 시스템.
KR1020187007705A 2017-03-10 2017-03-10 자율 주행 모드로 재진입하는 자율 주행 차량 제어를 위한 방법 및 시스템 KR101982456B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/076239 WO2018161335A1 (en) 2017-03-10 2017-03-10 Method and system for controlling autonomous driving vehicle reentering autonomous driving mode

Publications (2)

Publication Number Publication Date
KR20180114547A KR20180114547A (ko) 2018-10-18
KR101982456B1 true KR101982456B1 (ko) 2019-08-28

Family

ID=63449000

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187007705A KR101982456B1 (ko) 2017-03-10 2017-03-10 자율 주행 모드로 재진입하는 자율 주행 차량 제어를 위한 방법 및 시스템

Country Status (6)

Country Link
US (1) US10452074B2 (ko)
EP (1) EP3390189B1 (ko)
JP (1) JP6683805B2 (ko)
KR (1) KR101982456B1 (ko)
CN (1) CN109070744B (ko)
WO (1) WO2018161335A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017208762A1 (de) * 2017-05-23 2018-11-29 Bayerische Motoren Werke Aktiengesellschaft Fahrsystem zum automatisierten Fahren mit Mitteln zum Markieren von Bereichen am Lenkrad und entsprechendes Verfahren
CN109229102A (zh) * 2017-07-04 2019-01-18 百度在线网络技术(北京)有限公司 无人驾驶车辆控制系统、方法和装置
US10437247B2 (en) 2017-08-10 2019-10-08 Udelv Inc. Multi-stage operation of autonomous vehicles
US10642266B2 (en) * 2017-12-28 2020-05-05 Automotive Research & Testing Center Safe warning system for automatic driving takeover and safe warning method thereof
US10467581B2 (en) 2018-01-19 2019-11-05 Udelv Inc. Delivery management system
EP3697640B1 (en) * 2018-12-26 2022-06-01 Baidu.com Times Technology (Beijing) Co., Ltd. Torque feedback based vehicle longitudinal automatic calibration system for autonomous driving vehicles
CN109814568B (zh) * 2019-02-19 2022-05-03 阿波罗智能技术(北京)有限公司 无人车速度轨迹的生成方法、装置和存储介质
CN110069064B (zh) * 2019-03-19 2021-01-29 驭势科技(北京)有限公司 一种自动驾驶系统升级的方法、自动驾驶系统及车载设备
CN112519575B (zh) * 2019-09-18 2022-04-22 华为技术有限公司 调整油门踏板特性的方法和装置
US20210107498A1 (en) * 2019-10-09 2021-04-15 Baidu Usa Llc Safe transition from autonomous-to-manual driving mode with assistance of autonomous driving system
CN110837251A (zh) * 2019-11-18 2020-02-25 北京百度网讯科技有限公司 自动驾驶车辆的遥控器、控制方法及相关设备
JP6979091B2 (ja) * 2020-01-29 2021-12-08 本田技研工業株式会社 車両制御装置、車両、車両制御方法及びプログラム
JP7306283B2 (ja) * 2020-01-31 2023-07-11 トヨタ自動車株式会社 車両
JP7234955B2 (ja) * 2020-01-31 2023-03-08 トヨタ自動車株式会社 車両
JP7327187B2 (ja) * 2020-01-31 2023-08-16 トヨタ自動車株式会社 車両、及び自動運転システム
US11513517B2 (en) * 2020-03-30 2022-11-29 Uatc, Llc System and methods for controlling state transitions using a vehicle controller
US11352023B2 (en) 2020-07-01 2022-06-07 May Mobility, Inc. Method and system for dynamically curating autonomous vehicle policies
CN113002545B (zh) * 2021-02-26 2022-07-22 北京汽车股份有限公司 一种车辆控制方法、装置及车辆
JP2022142052A (ja) * 2021-03-16 2022-09-30 本田技研工業株式会社 車両制御装置、車両制御方法、およびプログラム
JP2024512980A (ja) 2021-04-02 2024-03-21 メイ モビリティー,インコーポレイテッド 不完全な環境情報で自律エージェントを動作させる方法及びシステム
US11565717B2 (en) * 2021-06-02 2023-01-31 May Mobility, Inc. Method and system for remote assistance of an autonomous agent
WO2023154568A1 (en) 2022-02-14 2023-08-17 May Mobility, Inc. Method and system for conditional operation of an autonomous agent

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016092796A1 (en) 2014-12-12 2016-06-16 Sony Corporation Automatic driving control device and automatic driving control method, and program
US20160362116A1 (en) 2015-06-15 2016-12-15 Toyota Jidosha Kabushiki Kaisha Autonomous driving device and vehicle control device

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3523352C2 (de) * 1984-07-27 1997-07-03 Volkswagen Ag Verfahren zum Regeln der Fahrgeschwindigkeit eines Kraftfahrzeuges, insbesondere eines Kraftfahrzeuges mit Verbrennungsmotor
JP2987836B2 (ja) * 1988-11-18 1999-12-06 三菱自動車工業株式会社 車両用自動走行制御装置
JP2917038B2 (ja) * 1990-03-29 1999-07-12 マツダ株式会社 自律走行車両の制御装置
JP3236414B2 (ja) * 1993-06-23 2001-12-10 株式会社クボタ 乗用型水田作業車の操向制御装置
DE19547716B4 (de) * 1995-12-20 2008-12-24 Robert Bosch Gmbh Verfahren und Vorrichtung zum Regeln bzw. Begrenzen der Geschwindigkeit eines Fahrzeugs
JP2001188611A (ja) * 1999-12-28 2001-07-10 Sanyo Electric Co Ltd 誘導式搬送車
JP2001271920A (ja) * 2000-03-27 2001-10-05 Toyota Motor Corp 車両制御装置
US6442472B1 (en) * 2001-02-28 2002-08-27 General Motors Corporation Modification of pedal progression with acceleration feedback using electronic throttle control
JP4648175B2 (ja) * 2005-05-16 2011-03-09 クラリオン株式会社 自動車の走行制御装置及び方法
US8255103B2 (en) * 2007-03-27 2012-08-28 GM Global Technology Operations LLC Electronic brake system pedal release transition control apparatus and method
US8260482B1 (en) * 2010-04-28 2012-09-04 Google Inc. User interface for displaying internal state of autonomous driving system
DE102012002318B4 (de) * 2012-02-06 2023-02-23 Audi Ag Verfahren zum Betreiben eines Kraftwagens und Kraftwagen mit einem Fahrerassistenzsystem
GB2505028B (en) * 2012-08-16 2014-12-10 Jaguar Land Rover Ltd Vehicle speed control system and method
KR20140043536A (ko) * 2012-09-24 2014-04-10 현대자동차주식회사 자율주행 차량의 차량 제어권 전환 방법
US8825258B2 (en) * 2012-11-30 2014-09-02 Google Inc. Engaging and disengaging for autonomous driving
DE112014006584B4 (de) * 2014-04-14 2022-09-22 Mitsubishi Electric Corporation Fahrassistenzvorrichtung und Fahrassistenzverfahren
GB2526143B (en) * 2014-05-16 2018-02-28 Jaguar Land Rover Ltd Vehicle speed control system and method
JP6394497B2 (ja) * 2015-05-25 2018-09-26 トヨタ自動車株式会社 車両の自動運転システム
JP6237716B2 (ja) * 2015-06-25 2017-11-29 株式会社アドヴィックス 車両用制御装置
JP5866594B1 (ja) * 2015-07-31 2016-02-17 パナソニックIpマネジメント株式会社 運転支援装置、運転支援システム、運転支援方法、運転支援プログラム及び自動運転車両
DE102016004725A1 (de) * 2016-04-19 2017-02-09 Daimler Ag Verfahren zum Betrieb eines Fahrzeugs
CN105818810B (zh) * 2016-04-22 2018-07-27 百度在线网络技术(北京)有限公司 应用于无人驾驶汽车的控制方法及智能设备
CN105711591A (zh) * 2016-04-26 2016-06-29 百度在线网络技术(北京)有限公司 无人驾驶车辆、无人驾驶车辆的控制方法和装置
CN105882627A (zh) * 2016-04-26 2016-08-24 百度在线网络技术(北京)有限公司 车辆、车辆控制方法和装置
US10059330B2 (en) * 2016-09-22 2018-08-28 Toyota Motor Engineering & Manufacturing North America, Inc. Drafting detection and vehicle operation optimization system
DE112017006605T5 (de) * 2016-12-27 2019-09-12 Honda Motor Co., Ltd. Fahrzeugsteuervorrichtung, fahrzeugsteuerverfahren und programm
JP6624094B2 (ja) * 2017-01-27 2019-12-25 トヨタ自動車株式会社 制動装置
JP6855832B2 (ja) * 2017-02-21 2021-04-07 トヨタ自動車株式会社 車両の駆動システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016092796A1 (en) 2014-12-12 2016-06-16 Sony Corporation Automatic driving control device and automatic driving control method, and program
US20160362116A1 (en) 2015-06-15 2016-12-15 Toyota Jidosha Kabushiki Kaisha Autonomous driving device and vehicle control device

Also Published As

Publication number Publication date
US20180299898A1 (en) 2018-10-18
US10452074B2 (en) 2019-10-22
EP3390189A1 (en) 2018-10-24
EP3390189B1 (en) 2021-06-02
JP2019515821A (ja) 2019-06-13
CN109070744B (zh) 2021-10-26
WO2018161335A1 (en) 2018-09-13
EP3390189A4 (en) 2018-10-24
KR20180114547A (ko) 2018-10-18
CN109070744A (zh) 2018-12-21
JP6683805B2 (ja) 2020-04-22

Similar Documents

Publication Publication Date Title
KR101982456B1 (ko) 자율 주행 모드로 재진입하는 자율 주행 차량 제어를 위한 방법 및 시스템
KR102020163B1 (ko) 자율 주행 차량의 조향률의 동적 조정
KR102042123B1 (ko) 자율 주행 차량을 위한 속력 제어 파라미터 추정 방법
KR102047945B1 (ko) 자율 주행 모드를 재진입하는 자율 주행 차량 제어를 위한 종방향 캐스케이디드 제어기 프리셋
KR102070530B1 (ko) 모션 계획에 기초한 자율 주행 차량의 운행 방법 및 시스템
KR102260486B1 (ko) 자율 주행 차량의 완전 정지를 위한 속력 제어
KR102033265B1 (ko) 자율 주행 차량 제어를 위한 시스템 지연 추정 방법
KR101975725B1 (ko) 학습 기반 모델 예측 제어를 이용한 자율 주행 차량의 노면 마찰 결정 방법 및 시스템
CN108255170B (zh) 动态地调整自动驾驶车辆的速度控制率的方法
US10569651B2 (en) Speed control and steering control assistant based on pitch status and roll status of autonomous driving vehicle
KR20200011344A (ko) 여분의 초음파 radar를 구비한 자율 주행 차량
KR102042946B1 (ko) 자율 주행 차량을 위한 감속 연석 기반 방향 검출 및 차선 유지 시스템
KR20190094095A (ko) 자율 주행 차량의 제어 피드백에 기초한 맵 업데이트 방법 및 시스템
JP6786511B2 (ja) 自律走行車の速度を追従する方法及びシステム
KR20200143242A (ko) 비전 기반 인식 시스템에 의한 대립적 샘플들 검출 방법
EP3659889A1 (en) Predetermined calibration table-based vehicle throttle/brake assist system for level 2 autonomous vehicle

Legal Events

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