KR20210042801A - 자율 주행 시스템의 어시스턴스를 이용하는 자율 주행 모드에서 수동 주행 모드로의 안전한 전환 - Google Patents

자율 주행 시스템의 어시스턴스를 이용하는 자율 주행 모드에서 수동 주행 모드로의 안전한 전환 Download PDF

Info

Publication number
KR20210042801A
KR20210042801A KR1020200098689A KR20200098689A KR20210042801A KR 20210042801 A KR20210042801 A KR 20210042801A KR 1020200098689 A KR1020200098689 A KR 1020200098689A KR 20200098689 A KR20200098689 A KR 20200098689A KR 20210042801 A KR20210042801 A KR 20210042801A
Authority
KR
South Korea
Prior art keywords
transition
adv
determining whether
driver
response
Prior art date
Application number
KR1020200098689A
Other languages
English (en)
Inventor
샤오동 리우
닝 취
Original Assignee
바이두 유에스에이 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 바이두 유에스에이 엘엘씨 filed Critical 바이두 유에스에이 엘엘씨
Publication of KR20210042801A publication Critical patent/KR20210042801A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/005Handover processes
    • B60W60/0053Handover processes from vehicle to occupant
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D1/00Steering controls, i.e. means for initiating a change of direction of the vehicle
    • B62D1/24Steering controls, i.e. means for initiating a change of direction of the vehicle not vehicle-mounted
    • B62D1/28Steering controls, i.e. means for initiating a change of direction of the vehicle not vehicle-mounted non-mechanical, e.g. following a line or other known markers
    • B62D1/286Systems for interrupting non-mechanical steering due to driver intervention
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Arrangement of adaptations of instruments
    • B60K35/22
    • B60K35/28
    • 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
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/04Traffic conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • 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
    • 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
    • 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
    • B60W60/0018Planning or execution of driving tasks specially adapted for safety by employing degraded modes, e.g. reducing speed, in response to suboptimal conditions
    • 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/0059Estimation of the risk associated with autonomous or manual driving, e.g. situation too complex, sensor failure or driver incapacity
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D15/00Steering not otherwise provided for
    • B62D15/02Steering position indicators ; Steering position determination; Steering aids
    • B62D15/025Active steering aids, e.g. helping the driver by actively influencing the steering system after environment evaluation
    • 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
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0125Traffic data processing
    • 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/0019Control system elements or transfer functions
    • B60W2050/0028Mathematical models, e.g. for simulation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/007Switching between manual and automatic parameter input, and vice versa
    • B60W2050/0072Controller asks driver to take over
    • 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
    • B60W2050/146Display means
    • 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
    • B60W2400/00Indexing codes relating to detected, measured or calculated conditions or factors
    • 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/215Selection or confirmation of options
    • 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/60Traffic rules, e.g. speed limits or right of way
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/50External transmission of data to or from the vehicle for navigation 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
    • 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

Abstract

일 실시예에서, 자율 주행 차량(ADV)에 대한 자율 주행(AD)에서 수동 운전(MD) 모드로 전환하는 방법이 개시된다. 상기 방법은 AD에서 MD로의 전환이 ADV의 현재 위치에서 허용되는지 여부를 결정하는 단계를 포함한다. 상기 방법은 현재 주행 시나리오가 AD에서 MD로의 전환에 대해 안전한지 여부를 결정하는 단계를 더 포함한다. 상기 방법은 AD에서 MD로의 전환이 현재 위치에서 허용되고 그리고 현재 주행 시나리오가 AD에서 MD로의 전환에 대해 안전하다는 결정에 응답하여, AD에서 MD로의 전환을 활성화한다. 상기 방법은 AD에서 MD로의 전환에 대한 요청이 있는지 여부를 결정하는 단계를 더 포함한다. 상기 방법은 요청이 있다는 결정에 응답하여, ADV의 현재 차량 모션 궤적을 컴퓨팅 하는 단계를 더 포함한다. 상기 방법은 현재 차량 모션 궤적을 ADV의 운전자의 입력들로부터 유도된 모션 궤적과 비교하는 단계를 더 포함한다. 상기 방법은 비교에 기초하여 AD에서 MD로의 전환을 확인할지 여부를 결정하는 단계를 더 포함한다.

Description

자율 주행 시스템의 어시스턴스를 이용하는 자율 주행 모드에서 수동 주행 모드로의 안전한 전환 {SAFE TRANSITION FROM AUTONOMOUS-TO-MANUAL DRIVING MODE WITH ASSISTANCE OF AUTONOMOUS DRIVING SYSTEM}
본 개시의 실시예들은 일반적으로 자율 차량들을 동작시키는 것에 관한 것이다. 보다 구체적으로, 본 개시의 실시예들은 자율 주행 시스템의 어시스턴스(assistance)와 자율 주행 (autonomous driving, AD) 모드에서 수동 주행(manual driving, MD) 모드로의 안전한 전환에 관한 것이다.
자율 모드(예를 들어, 무인(driverless))에서 동작하는 차량들은 탑승자들, 특히 운전자를 일부 운전 관련 책임들로부터 벗어나게 할 수 있다. 자율 모드로 동작하는 경우, 차량은 내장 센서들을 이용하여 다양한 장소들로 내비게이트(navigate)할 수 있어, 최소한의 사람과의 상호 작용 또는 어떠한 승객들도 없는 일부의 경우들에서 차량이 주행(travel)하도록 허용한다.
일반적으로, 자율 주행 차량의 배치에 대해 두가지 접근법들이 있다. 한 접근법은 특정 제어 구성요소들(예를 들어, 스티어링 휠(steering wheel), 가속 페달(acceleration pedal), 브레이크(brake) 페달 등) 없이 차량을 배치하는 것이다. 또 다른 접근법은 그러한 제어 구성요소들과 함께 차량을 배치하는 것으로, 이로 인해 운전자가 차량의 제어를 인계할 기회를 허용하는 것이다. 전자와 관련하여, 운전자가 관여하지 않기 때문에, AD에서 MD로의(AD-to-MD) 또는 MD에서 AD로의(MD-to-AD) 전환(transition)은 고려 사항(factor)이 아니다. 하지만, 후자에 관해서, AD에서 MD로의 또는 MD에서 AD로의 전환은 전환 동안에 차량을 위험한 상황(hazardous situation)에 놓이게 할 수도 있는 안전하지 않은 제어 작동(action)들로 인해 신중하게 고려될 필요가 있다. 예를 들면, 전환 동안, AD 및 MD(사람 운전자에 의해)는 제어를 위해 경쟁할 수도 있으며, 이로 인해 거칠고 그리고 잠재적으로 위험한 전환을 초래할 수 있다. 또 다른 예는 AD 및 MD가 상대방(counterpart)이 제어하고 있다고 가정할 수도 있어, 따라서 AD 또는 MD 어느 것도 차량을 제어하지 않게 된다는 것이다.
테스팅(testing) 목적들을 위해 탑승 중인(on-board) 안전 운전자(driver)를 이용하는 수정된 프로토타입(prototype) 자율 주행 차량들 이외에, 생산 자율 주행 차량이 아직 존재하지 않았기 때문에, AD에서 MD로의 또는 MD에서 AD로의 전환을 본격적으로 다루기 위한(address) 작업이 거의 수행되지 않았거나 보고되지(거의) 않았다.
본 개시의 실시예들은 예시의 수단으로서 도시되고 유사한 참조번호들은 유사한 요소들을 명시하는 첨부되는 도면들에서의 도시들로 제한되지 않는다.
도 1은 일 실시예에 따라 네트워크화(networked) 시스템을 도시한 블록 다이어그램(block diagram)이다.
도 2는 일 실시예에 따라 자율 차량의 예시를 도시한 블록 다이어그램이다.
도 3a-3b는 일 실시예에 따라 자율 주행 차량(ADV)과 사용된 인식 및 계획 시스템의 예시를 도시한 블록 다이어그램들이다.
도 4a-4b는 일 실시예에 따라 와이어 시스템(wire system)에 의한 주행을 도시한 다이어그램들이다.
도 5는 일 실시예에 따라 자율 주행(AD)에서 수동 주행(MD)으로의 전환을 활성화하기 위한 예시 방법을 도시한 플로우(flow) 다이어그램이다.
도 6은 일 실시예에 따라 AD에서 MD로의 전환을 확인하기 위한 예시 방법을 도시한 플로우 다이어그램이다.
도 7은 일 실시예에 따라 AD에서 MD로의 전환을 모니터링하기 위한 예시 방법을 도시한 플로우 다이어그램이다.
도 8은 일 실시예에 따라 AD 모드에서 MD 모드로 운전자 개시된 전환을 위한 예시 방법을 도시한 플로우 다이어그램이다.
도 9는 일 실시예에 따라 AD 모드에서 MD 모드로 시스템 개시된 전환을 위한 예시적인 방법을 도시한 플로우 다이어그램이다.
도 10은 일 실시예에 따라 AD 모드에서 MD 모드로 시스템 개시된 전환을 위한 또 다른 예시적인 방법을 도시한 플로우 다이어그램이다.
도 11은 일 실시예에 따라 데이터 처리 시스템을 도시한 블록 다이어그램이다.
본 개시의 다양한 실시예들 및 양상들이 아래에서 설명되는 세부사항들을 참조하여 기술될 것이며, 첨부 도면들은 다양한 실시예들을 도시할 것이다. 이후의 설명 및 도면들은 본 개시의 예시일 뿐, 본 개시를 제한하는 것으로 해석되지 않아야 한다. 본 개시의 다양한 실시예들에 대한 전반적인 이해를 제공하기 위해 다수의 구체적인 세부사항들이 기술된다. 그러나, 어떤 경우들에서, 본 개시의 실시예들의 간결한 설명을 제공하기 위해 공지되거나 종래의 세부사항들은 기술되지 않는다.
본 명세서에서 “일 실시예” 또는 “실시예”에 대한 언급은 실시예들과 함께 기술되는 특정한 특징, 구조, 또는 특성이 본 개시의 적어도 하나의 실시예에 포함됨을 의미한다. 본 명세서의 다양한 부분들에서“일 실시예에서”라는 문구의 등장들은 반드시 동일한 실시예를 모두 지칭하는 것은 아니다.
몇몇 실시예들은 운전자가 가속 페달, 브레이크 페달, 및 스티어링 휠과 같은 제어 구성요소들을 통해 차량의 종 방향 (longitudinal) 모션 및 측 방향(lateral) 모션에 대해 직접적인 제어를 가지고 있지 않은 경우, 와이어(예를 들어, 스티어-바이-와이어(steer-by-wire), 브레이크-바이-와이어(brake-by-wire), 스로틀-바이-와이어(throttle-by-wire), 쉬프트-바이-와이어(shift-by-wire) 등) 차량들에 의해 자율 주행을 타겟(target)으로 하는 AD에서 MD로의 전환을 위한 방법, 장치 및 시스템에 관한 것이다. 기계적 구성요소들(또는 연결들(linkage))에 의해 일반적으로 달성되는 차량 기능들을 수행하기 위해 와이어(또한, x-바이-와이어(x-by-wire)로 치칭되는)에 의한 주행은 전기적 또는 전기-기계적 시스템들의 사용을 지칭한다. 이 기술은 일반적인 기계식 제어 시스템들을 페달 및 스티어링 감지 에뮬레이터(steering feel emulator)들과 같은 사람-기계 인터페이스 및 전기기계식 엑추에이터(actuator)들을 사용하는 전기 제어 시스템으로 대체한다.
본 개시의 일 실시예들은 차량의 자율 주행 시스템(예를 들어, 센서 시스템, 제어 시스템, 인지 및 계획 시스템 등)에 의해 제공된 정보(예를 들어, 교통 정보, 도로(road) 정보, 차량의 응답들, 운전자의 인계 요청으로부터 종 방향/측 방향 모션 의도 등)를 사용하는 AD에서 MD로의 전환의 안전성을 개선하는데 초점을 둔다. 운전자의 직접 인계 제어는 와이어 차량에 의한 자율 주행으로 간주되지 않기 때문에, 명령들로서, 운전자의 의도는 차량을 제어하기 위한 종 방향 및 측 방향 명령들로 변환된다.
몇몇 실시예들에 따라, 자율 주행 차량(ADV)을 위한 자율 주행(AD)에서 수동 주행(MD) 모드로의 전환에 대한 방법들 및 시스템들이 설명된다. 일 실시예에서, AD에서 MD로의 전환이 ADV의 현재 위치(location)에서 허용되는지 여부가 결정된다. 현재 주행 시나리오(driving scenario)가 AD에서 MD로의 전환에 대해 안전한지 여부가 결정된다. AD에서 MD로의 전환이 현재 위치에서 허용되고 그리고 현재 주행 시나리오가 안전하다는 결정에 응답하여, AD에서 MD로의 전환이 활성화(enable) 된다. AD에서 MD로의 전환 요청이 있는지 여부가 결정된다. 요청이 있다는 결정에 응답하여, ADV의 현재 차량 모션 궤적(motion trajectory)은 컴퓨팅 된다. 현재 차량 모션 궤적은 ADV의 운전자의 입력들로부터 유도된 모션 궤적과 비교된다. AD에서 MD로의 전환을 확인할지 여부는 비교에 기초하여 결정된다.
일 실시예에서, 사전 결정된 시간 프레임 내에 AD에서 MD로의 전환이 성공적으로 완료되었는지 여부가 결정된다. AD에서 MD로의 전환이 사전 결정된 시간 프레임 내에 성공적으로 완료되었다는 결정에 응답하여, ADV는 AD에서 MD 모드로 전환된다.
일 실시예에서, ADV의 현재 위치에 AD에서 MD로의 전환이 허용되는지를 결정하기 전에, 지도 및 관심 포인트(map and point of interest, MPOI) 정보에 기초하여 안전하지 않은 것으로 결정된 계획된 루트(planned route)를 따른 도로 섹션(section)들이 식별된다. ADV의 현재 위치가 안전하지 않은 도로 섹션 상에 있는지 여부가 결정된다.
일 실시예에서, ADV의 현재 위치에 AD에서 MD로의 전환이 허용되는지 여부 결정은 ADV의 현재 위치가 안전하지 않은 도로 섹션에 있다는 결정에 응답하여 AD에서 MD로의 전환이 허용되지 않는다는 결정을 포함한다.
일 실시예에서, 현재 주행 시나리오는 AD에서 MD로의 전환에 대해 안전한지 여부는 ADB에 의해 검출된 실시간(real-time) 로컬 환경 데이터(local environment data) 및 실시간 교통 정보(traffic information)에 기초하여 결정된다.
일 실시예에서, 사전 결정된 시간 프레임 내에 AD에서 MD로의 전환이 성공적으로 완료되었는지 여부를 결정하기 전에, 전화 타이머가 시작된다. 사전 결정된 시간 프레임 내에 AD에서 MD로의 전환이 성공적으로 완료되지 않았다는 결정에 응답하여, 전환 타이머가 만료되었는지 여부를 결정된다.
일 실시예에서, ADV가 동작 설계 도메인(operational design domain, ODD) 경계에 접근하거나 예상되지 않은 시나리오에 직면한다(face)는 검출에 응답하여, ADV의 운전자는 ADV를 제어하도록 허용된다.
일 실시예에서, 타임아웃(timeout)이 발생하기 전에 운전자에 의해 ADV의 제어가 확인되었는지 여부가 결정된다. 타임아웃이 발생하기 전에 운전자에 의해 ADV의 제어가 확인되지 않았다는 결정에 응답하여, ADV는 안전 상태(safe state)로 진행하도록 명령된다.
일 실시예에서, ADV는 실패 동작 모드(fail operational mode)로 동작하고 있는지 여부가 결정된다. ADV가 실패 동작 모드로 동작하고 있다는 결정에 응답하여, ADV의 운전자가 ADV를 제어하도록 허용될지 여부가 결정된다. 운전자가 ADV를 제어하도록 허용된다는 결정에 응답하여, 운전자 인계(take-over) 요청이 전송된다.
일 실시예에서, 운전자 응답 타이머가 시작되고, 그리고 운전자 응답 타이머가 만료되기 전에 운전자 인계 요청이 확인되었는지 여부가 결정된다.
일 실시예에서, AD에서 MD로의 전환을 활성화하는 단계 이후에, AD에서 MD로의 전환이 활성화됨을 나타내는 메시지가 디스플레이 된다. AD에서 MD로의 전환이 현재 위치에서 허용되지 않거나 현재 주행 시나리오가 AD에서 MD로의 전환에 대해 안전하지 않다는 결정에 응답하여, AD에서 MD로의 전환이 활성화되지 않음(또는 비활성화(disable))을 나타내는 메시지가 디스플레이 된다.
도 1은 본 개시의 일 실시예에 따라 자율 차량 네트워크 구성을 도시한다. 도 1을 참고하면, 네트워크 구성(100)은 네트워크(102)를 통해 하나 이상의 서버들(103-104)과 통신 가능하게(communicatively) 연결될 수도 있는 자율 차량(101)을 포함한다. 하나의 자율 차량이 도시되지만, 다수(multiple)의 자율 차량들이 네트워크(102)를 통해 서버(103-104)와 연결되고 그리고/또는 서로 연결될 수 있다. 네트워크(102)는 근거리 통신망 (local area network, LAN), 인터넷과 같은 광역 통신망 (wide area network, WAN), 셀룰러(cellular) 네트워크, 위성(satellite) 네트워크 또는 이들의 조합과 같은, 유선 또는 무선의 네트워크들의 임의의 타입들일 수도 있다. 서버(들)(103-104)은 웹(Web) 또는 클라우드(cloud) 서버들, 애플리케이션(application) 서버들, 백엔드(backend) 서버들, 또는 이들의 조합과 같은 임의의 종류의 서버들 또는 서버들의 클러스터일 수도 있다. 서버들(103-104)은 데이터 분석 서버들, 컨텐츠(content) 서버들, 교통 정보 서버들, 지도 및 관심 포인트(MPOI) 서버들, 또는 위치 서버들 등일 수도 있다.
자율 차량은 운전자로부터 입력이 없거나 거의 없는 환경을 통해 차량이 주행하는(navigate) 자율 모드로 구성될 수 있는 차량을 지칭한다. 이러한 자율 차량은 차량이 동작하는 환경에 대한 정보를 검출하도록 구성된 하나 이상의 센서들을 가지는 센서 시스템을 포함할 수 있다. 차량 및 그것의 관련 제어기(controller)(들)은 환경을 통해서 주행하도록 감지된 정보를 사용한다. 자율 차량(101)은 수동 모드, 완전 자율 모드 또는 부분 자율 모드에서 동작할 수 있다. 이하에서 "자율 차량(autonomous vehicle)" 및 "자율 주행 차량(ADV)"의 용어는 서로 바꾸어 사용될 수도 있다.
일 실시예에서, 자율 차량(101)은 인식 및 계획 시스템(110), 차량 제어 시스템(111), 무선 통신 시스템(112), 사용자 인터페이스 시스템(113), 인포테인먼트 시스템(infotainment system), 및 센서 시스템(115)을 포함하지만, 이에 제한되지 않는다. 자율 차량(101)은 예를 들어, 가속 신호들 또는 명령들, 감속 신호들 또는 명령들, 스티어링(steering) 신호들 또는 명령들, 제동(braking) 신호들 또는 명령들 등과 같은, 다양한 통신 신호들 및/또는 명령들을 사용하는 인식 및 계획 시스템(110) 및/또는 차량 제어 시스템(111)에 의해 제어될 수도 있는 일반적인 차량들에 포함된, 엔진, 휠(wheel)들, 핸들(steering wheel), 변속기 등과 같이, 어떤 일반적인 구성요소들을 추가적으로 포함할 수도 있다.
구성 요소들(110-115)은 상호 접속, 버스, 네트워크, 또는 이들의 조합을 통해 서로 통신 가능하게 연결될 수도 있다. 예를 들어, 구성 요소들(110-115)은 제어기 영역 네트워크(controller area network, CAN) 버스를 통해 서로 통신 가능하게 연결될 수도 있다. CAN 버스는 호스트 컴퓨터 없이 애플리케이션들에서 마이크로 컨트롤러(controller)들 및 디바이스들이 서로 통신하는 것을 허용하도록 설계된(designed) 차량 버스 표준이다. 자동차들 내의 다중 전기 배선(multiplex electrical wiring)을 위해 설계된, 메시지 기반 프로토콜이지만, 많은 다른 문맥(context)들에도 또한 사용된다.
도 2를 참고하면, 일 실시예에서, 센서 시스템(115)은 하나 이상의 카메라들(211), 위성 항법 시스템(global positioning system, GPS) 유닛(212), 관성 측정 유닛(inertial measurement unit, IMU)(213), 레이더(radar) 유닛(214), 및 빛 탐지 및 범위(LIDAR) 유닛(215)을 포함하지만, 이에 대해 제한되지 않는다. GPS 시스템(212)은 자율 차량의 위치에 관한 정보를 제공하도록 동작 가능한(operable) 트랜시버(transceiver)를 포함할 수도 있다. IMU(213)은 관성 가속도에 기초하여 자율 차량의 위치 및 방향 변화들을 센싱할(sense) 수도 있다. 레이더 유닛(214)은 자율 차량의 로컬(local) 환경 내의 객체들을 센싱하도록 무선 신호(radio signal)들을 이용하는 시스템을 나타낼 수도 있다. 일부 실시예들에서, 객체들을 센싱하는 것에서 추가로, 레이더 유닛(214)은 객체들의 방향(heading) 및/또는 속도를 추가적으로 센싱할 수도 있다. LIDAR 유닛(215)은 레이저들을 사용하여 자율 차량이 위치되는 환경에서 객체들을 센싱할 수도 있다. LIDAR 유닛(215)은 다른 시스템 구성 요소들 중에서 하나 이상의 검출기들, 레이저 스캐너, 및 하나 이상의 레이저 소스(source)들을 포함할 수 있다. 카메라들(211)은 자율 차량을 둘러싼 환경의 이미지들을 캡쳐하기 위한 하나 이상의 디바이스들을 포함할 수도 있다. 카메라(211)는 여전히 카메라들 및/또는 비디오 카메라들일 수도 있다. 카메라는 예를 들어, 회전 및/또는 기울임 플랫폼(platform)에 카메라를 마운팅(mounting)함으로써, 기계적으로 움직일 수도 있다.
센서 시스템(115)은 소나(sonar) 센서, 적외선 센서, 스티어링 센서(steering sensor), 스로틀(throttle) 센서, 제동 센서, 및 오디오 센서(예를 들어, 마이크로폰)와 같은 다른 센서들을 더 포함할 수도 있다. 오디오 센서는 자율 차량을 둘러싼 환경으로부터 소리를 캡쳐하도록 구성될 수도 있다. 스티어링 센서는 핸들의 스티어링 각도, 차량의 휠들, 또는 이들의 조합을 센싱하도록 구성될 수도 있다. 스로틀 센서 및 제동 센서는 차량의 스로틀 위치 및 제동 위치 각각을 센싱한다. 몇몇 상황들에서, 스로틀 센서 및 제동 센서는 통합 스로틀/제동 센서로서 통합될 수도 있다.
일 실시예에서, 차량 제어 시스템(111)은 스티어링 유닛(201), 스로틀 유닛(202)(또한, 가속 유닛이라고도 지칭함), 및 제동 유닛(203)을 포함하지만, 이에 제한되지는 않는다. 스티어링 유닛(201)은 차량의 진로 또는 방향을 조정하는 것이다. 스로틀 유닛(202)은 차량의 속도 및 가속도를 차례로 제어하는 엔진 또는 모터의 속도를 제어하는 것이다. 제동 유닛(203)은 차량의 휠들 또는 타이어들을 느리게 하기 위해 마찰을 제공함으로써 차량을 감속시키는 것이다. 도 2에서 도시된 구성요소들은 하드웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있음에 유의한다.
도 1을 참고하면, 무선 통신 시스템(112)은 디바이스들, 센서들, 다른 차량들 등과 같이 외부 시스템들 및 자율 차량(101) 사이의 통신을 허용한다. 예를 들어, 무선 통신 시스템(112)은 네트워크(102)를 통해 서버들(103-104) 같이, 통신 네트워크를 통해 또는 직접적으로 하나 이상의 디바이스들과 무선으로 통신할 수 있다. 무선 통신 시스템(112)은 임의의 셀룰러(cellular) 통신 네트워크 또는 무선 근거리 네트워크(WLAN)를 사용할 수 있으며, 예를 들어, 또 다른 구성요소 또는 시스템과 통신하기 위한 WiFi를 사용할 수 있다. 무선 통신 시스템(112)은 예를 들어, 적외선 링크, 블루투스 등을 사용하여, 디바이스(예를 들어, 차량(101) 내의 스피커, 디스플레이 디바이스, 승객(passenger)의 모바일 디바이스)와 직접적으로 통신할 수 있다. 사용자 인터페이스 시스템(113)은 예를 들어, 키보드, 터치 스크린 디스플레이 디바이스, 마이크로폰 및 스피커 등을 포함하는 차량(101)내에 구현된 주변 디바이스들의 일부일 수도 있다.
자율 차량(101)의 기능들 중 몇몇 또는 전부는 특히, 자율 주행 모드에서 동작할 경우, 인식 및 계획 시스템(110)에 의해 제어 또는 관리될 수도 있다. 인식 및 계획 시스템(110)은 센서 시스템(115), 제어 시스템(111), 무선 통신 시스템(112), 및/또는 사용자 인터페이스 시스템(113)으로부터 정보를 수신하고, 수신한 정보를 처리하고, 출발 포인트(point)에서 도착 포인트까지의 루트(route) 또는 경로를 계획하고, 그리고나서 계획 및 제어 정보에 기초하여 차량(101)을 운전하기 위해 필요한 소프트웨어(예를 들어, 동작 시스템, 계획 및 라우팅(routing) 프로그램들) 및 하드웨어(예를 들어, 프로세서(processor)(들), 메모리(memory), 저장소(storage))를 포함한다. 대안적으로, 인식 및 계획 시스템(110)은 차량 제어 시스템(111)과 통합될 수도 있다.
예를 들어, 승객으로서 사용자는 예를 들어, 사용자 인터페이스를 통해 이동(trip)의 도착지 및 출발 위치를 지정할 수도 있다. 인식 및 계획 시스템(110)은 이동 관련 데이터를 획득한다. 예를 들어, 인식 및 계획 시스템(110)은 서버들(103-104)의 부분일 수도 있는 MPOI 서버로부터 위치 및 루트 정보를 획득할 수도 있다. 위치 서버는 위치 서비스들을 제공하고, 그리고 MPOI 서버는 지도 서비스들 및 특정 위치들의 POI들을 제공한다. 대안적으로, 이러한 위치 및 MPOI 정보는 인식 및 계획 시스템(110)의 영구 저장 디바이스에 로컬로 캐시(cache)될 수도 있다.
자율 차량(101)이 루트를 따라 이동하는 동안, 인식 및 계획 시스템(110)은 또한 교통 정보 시스템 또는 서버(TIS)로부터 실시간 교통 정보를 획득할 수도 있다. 서버들(103-104)은 제 3자 엔티티(entity)에 의해 동작될 수도 있음에 유의한다. 대안적으로, 서버들(103-104)의 기능들은 인식 및 계획 시스템(110)과 통합될 수도 있다. 센서 시스템(115)에 의해 센싱된 또는 검출된 실시간 로컬 환경 데이터(예를 들어, 장애물(obstacle)들, 객체들, 근처의 차량들) 뿐만 아니라, 위치 정보, MPOI 정보 및 실시간 교통 정보에 기초하여, 인식 및 계획 시스템(110)은 최적의 루트 또는 경로(path)를 계획할 수 있고, 그리고 지정된 도착지로 안전하게 그리고 효율적으로 도달하기 위해 계획된 루트를 따라, 예를 들어, 제어 시스템(111)을 통해, 차량(101)을 운전할 수 있다.
서버(103)는 다양한 클라이언트들에 대해 데이터 분석 서비스들을 수행하기 위한 데이터 분석 시스템일 수도 있다. 일 실시예에서, 데이터 분석 시스템(103)은 데이터 수집기(121) 및 머신 러닝 엔진(machine learning engine)(122)을 포함한다. 데이터 수집기(121)는 사람 운전자들에 의해 운전되는 보통 차량들, 또는 자율 차량들인, 다양한 차량들로부터 운전 통계(statistic)들(123)을 수집한다. 운전 통계들(123)은 상이한 시점들에서 차량들의 센서들에 의해 캡쳐된 차량들의 응답들(예를 들어, 속도들, 가속도들, 감속도들, 방향들) 및 지급된(issued) 주행 명령들(예를 들어, 스로틀, 제동, 스티어링 명령들)을 나타내는 정보를 포함한다. 운전 통계들(123)은 예를 들어, 루트들(시작 및 도착 위치들을 포함하는), MPOI들, 도로 상태들, 날씨 상태들 등과 같이 상이한 시점들에서 운전 환경들을 설명하는 정보들을 더 포함할 수 있다.
운전 통계들(123)에 기초하여, 머신 러닝 엔진(122)은 다양한 목적들을 위해 예측의 모델들(124) 및/또는 알고리즘들, 규칙(rule)들의 세트를 훈련시키거나 또는 생성한다. 일 실시예에서, 알고리즘들(124)은 버퍼로 장애물들을 피하고, 그리고 차선(lane) 중앙선에 근접한 경로에 대한 선호도뿐 아니라 경로와 관련된 편의 레벨(comfort level)을 고려하여, 입력들, 제약들 및 코스트 함수(cost function)를 수신하고 그리고 ADV에 대한 경로를 생성하는 경로 알고리즘을 포함할 수도 있다. 경로 계획을 위한 코스트 함수는 또한 알고리즘들(124)의 일부로서 생성될 수도 있다. 알고리즘들(124)은 자율 주행 중에 실시간으로 이용될 수 있도록 ADV에 업로드될 수 있다.
도 3a 및 3b는 일 실시예에 따라 자율 차량과 사용되는 인식 및 계획 시스템의 예시를 도시하는 블록 다이어그램들이다. 시스템(300)은 인식 및 계획 시스템(110), 제어 시스템(111) 및 센서 시스템(115)을 포함하지만, 이에 제한되지 않는 도 1의 자율 차량(101)의 일부로서 구현될 수도 있다. 도 3a-3b를 참고하면, 인식 및 계획 시스템(110)은 로컬화(localization) 모듈(301), 인식 모듈(302), 예측 모듈(303), 결정 모듈(304), 계획 모듈(305), 제어 모듈(306), 라우팅 모듈(307), AD에서 MD로의 전환 인에이블러(enabler) 모듈(308), AD에서 MD로의 전환 확인 모듈(309) 및 AD에서 MD로의 전환 모니터(310)를 포함하지만, 이에 제한되지 않는다.
모듈들(301-310)의 전부 또는 몇몇은 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수도 있다. 예를 들어, 이러한 모듈들은 하나 이상의 프로세서들(미도시)에 의해 실행되고, 그리고 메모리(351)내에 로드(load)된 영구 저장 디바이스(352)에 설치될 수도 있다. 이러한 모듈들의 전부 또는 몇몇은 도 2의 차량 제어 시스템(111)의 모듈들의 전부 또는 몇몇과 통합되거나 통신 가능하게 연결될 수도 있다. 모듈들(301-310)의 몇몇은 통합된 모듈들로서 함께 통합될 수도 있다.
로컬화 모듈(301)은 자율 차량(300)의 현재 위치를 결정하고(예를 들어, GPS 유닛(212)을 레버리징(leveraging)하여), 그리고 사용자의 루트 또는 이동과 관련된 임의의 데이터를 처리(manage)한다. 로컬화 모듈(301)(또한, 지도 및 루트 모듈이라고도 함)은 사용자의 루트 또는 이동과 관련된 임의의 데이터를 처리한다. 사용자는 예를 들어, 사용자 인터페이스를 통해, 이동의 도착지 및 시작 위치를 지정하고 그리고 로그인(log in)할 수도 있다. 로컬화 모듈(301)은 이동 관련 데이터를 획득하기 위해, 지도 및 루트 정보(311)와 같은 자율 차량(300)의 다른 구성 요소들과 통신한다. 예를 들어, 로컬화 모듈(301)은 지도 및 POI(MPOI) 서버 및 위치 서버로부터 위치 및 루트 정보를 획득할 수도 있다. 위치 서버는 위치 서비스들을 제공하고 그리고 MPOI 서버는 지도 및 루트 정보(311)의 일부로서 캐시될 수도 있는 어떤 위치들의 POI들 및 지도 서비스들을 제공한다. 자율 차량(300)이 루트를 따라 이동하는 동안, 로컬화 모듈(301)은 또한 교통 정보 시스템 또는 서버로부터 실시간 교통 정보를 획득할 수도 있다.
로컬화 모듈(301)에 의해 획득된 로컬화 정보 및 센서 시스템(115)에 의해 제공된 센서 데이터에 기초하여, 주변 환경의 인식은 인식 모듈(302)에 의해 결정된다. 인식 정보는 운전자가 운전하는 차량 주변에 일반적인 운전자가 어떤 것을 인식하는지를 나타낼 수도 있다. 인식은 예를 들어, 객체의 형태를 가지는, 차선(lane) 구성, 신호등 신호들, 또 다른 차량의 상대 위치, 보행자, 건물, 횡단 보도 또는 기타 교통 관련 표지판들(예를 들어, 정지 표지판들, 양보 표지판들) 등을 포함할 수 있다. 차선 구성은 예를 들어, 차선의 형상(예를 들어, 직선 또는 곡률(curvature)), 차선의 폭, 도로에서 차선들의 수, 일방 통행 또는 양방 통행 차선, 차선들 병합 또는 분할, 나가는(exiting) 차선 등과 같이, 차선 또는 차선들을 설명하는 정보를 포함할 수 있다.
인식 모듈(302)은 자율 차량의 환경에서 특징들 및/또는 객체들을 식별하기 위해 하나 이상의 카메라들에 의해 캡쳐된 이미지들을 분석하고 그리고 처리하기 위한 컴퓨터 비전 시스템의 기능들 또는 컴퓨터 비전 시스템을 포함할 수도 있다. 객체들은 장애물들, 보행자들, 다른 차량들, 도로 경계들, 및/또는 교통 신호들 등을 포함할 수 있다. 컴퓨터 비전 시스템은 객체 인식 알고리즘(object recognition algorithm), 비디오 트랙킹(tracking), 및 다른 컴퓨터 비전 기술들을 사용할 수도 있다. 일부 실시예들에서, 컴퓨터 비전 시스템은 환경을 매핑하고, 객체들을 트래킹하고, 그리고 객체들의 속도 추정 등을 할 수 있다. 인식 모듈(302)은 또한 레이더 및/또는 LIDAR 와 같이 다른 센서들에 의해 제공되는 다른 센서들 데이터에 기초하여 객체들을 검출할 수 있다.
객체들 각각에 대해, 예측 모듈(303)은 상황들에서 객체가 어떻게 행동할지를 예측한다. 예측은 한 세트의 지도/루트 정보(311) 및 교통 규칙들(312)을 고려하여 그 시점에서 운전 환경을 인식하는 인식 데이터에 기초하여 수행된다. 예를 들어, 객체가 반대 방향의 차량이고, 현재 운전 환경이 교차로를 포함하는 경우, 예측 모듈(303)은 차량이 직진 방향으로 진행할 것인지 또는 방향을 틀 것인지 여부를 예측할 것이다. 인식 데이터가 교차로에 신호등이 없음을 나타내는 경우, 예측 모듈(303)은 교차로에 진입하기 전에 차량이 완전히 정지해야 할지도 모른다고 예측할 수도 있다. 인식 데이터가 차량이 현재 좌회전 전용 차선 또는 우회전 전용 차선에 있다고 나타내는 경우, 예측 모듈(303)은 차량이 각각 좌회전 또는 우회전할 가능성이 더 높을 것으로 예측할 수도 있다.
객체들 각각에 대해, 결정 모듈(304)은 객체를 처리하는 방법에 관한 결정을 한다. 예를 들어, 특정 객체(예를 들어, 교차 루트(crossing route) 내의 또 다른 차량)뿐 아니라 객체를 설명하는 그것의 메타데이터(예를 들어, 속도, 방향, 회전 각도)에 대해 결정 모듈(304)은 객체를 만나는 방법(예를 들어, 추월, 양보, 정지, 통과)을 결정한다. 결정 모듈(304)은 영구 저장 디바이스(352)에 저장될 수 있는, 교통 규칙들 또는 운전 규칙들(312)과 같은 규칙들의 세트에 따라 그러한 결정을 할 수도 있다.
라우팅 모듈(307)은 출발 포인트에서 도착 포인트까지 하나 이상의 루트들 또는 경로들을 제공하도록 구성된다. 예를 들어, 사용자로부터 수신된, 출발 포인트에서 도착 위치로의 주어진 이동에 대해, 라우팅 모듈(307)은 지도 및 루트 정보(311)를 획득하고, 그리고 출발 위치로부터 도착 위치에 도달하기 위해 모든 가능한 루트들 또는 경로들을 결정한다. 라우팅 모듈(307)은 출발 위치로부터 도착 위치에 도달하기 위해 결정되는 루트들 각각에 대한 지형도(topographic map)의 형태로 기준선(reference line)을 생성할 수도 있다. 기준선은 다른 차량들, 장애물들, 또는 교통 상태와 같이 다른 간섭을 받지 않는 이상적인 루트 또는 경로를 나타낸다. 즉, 도로에 다른 차량, 보행자들, 또는 장애물들이 없는 경우, ADV는 기준선을 따라 정확하게 또는 밀접하게 따라 가야한다. 이후에, 지형도들은 결정 모듈(304) 및/또는 계획 모듈(305)에 제공된다. 결정 모듈(304) 및/또는 계획 모듈(305)은 로컬화 모듈(301)로부터의 교통 상태들, 인식 모듈(302)에 의해 인식된 운전 환경, 및 예측 모듈(303)에 의해 예측된 교통 상태와 같이 다른 모듈들에 의해 제공된 다른 데이터를 고려하여 가장 최적의 루트들 중 하나를 선택하고 수정하기 위해 가능한 루트들 모두를 검사한다. ADV를 제어하기 위한 실제 경로 또는 루트는 그 시점에서의 특정 운전 환경에 따라 라우팅 모듈(307)에 의해 제공된 기준선과 상이하거나 근접할 수도 있다.
인식된 객체들 각각에 대한 결정에 기초하여, 계획 모듈(305)은 기본적으로 라우팅 모듈(307)에 의해 제공된 기준선을 사용하여, 운전 파라미터들(예를 들어, 거리, 속도, 및/또는 회전 각도) 뿐 아니라, 자율 차량에 대한 루트 또는 경로를 계획한다. 즉, 주어진 객체에 대해, 계획 모듈(305)은 어떻게 할지를 결정하는 반면, 결정 모듈(304)은 객체와 무엇을 할지 결정한다. 예를 들어, 주어진 객체에 대해, 계획 모듈(305)은 객체의 좌측 또는 우측 중 어디를 통과할지를 결정할 수도 있는 반면, 결정 모듈(304)은 객체를 통과하기로 결정할 수도 있다. 계획 및 제어 데이터는 차량(300)이 다음 이동 사이클(cycle)(예를 들어, 다음 루트/경로 세그먼트(segment))에서 어떻게 이동할지를 설명하는 정보를 포함하는 계획 모듈(305)에 의해 생성된다. 예를 들어, 계획 및 제어 데이터는 차량(300)에게 시간당 30마일(mph)의 속도로 10미터 이동하고, 다음에 25mph의 속도로 우측 차선으로 바꾸도록 지시할 수도 있다.
계획 및 제어 데이터에 기초하여, 제어 모듈(306)은 계획 및 제어 데이터에 의해 정의된 루트 또는 경로에 따라, 차량 제어 시스템(111)에 적절한 명령들 또는 신호들을 전송함으로써, 자율 차량을 제어하고 그리고 운전한다. 계획 및 제어 데이터는 경로 또는 루트를 따라 상이한 시점에서 운전 파라미터들(예를 들어, 스로틀, 제동, 스티어링 명령들) 또는 적절한 차량 설정들을 사용하여 루트 또는 경로의 제 1 포인트에서 제 2 포인트로 차량을 운전하기에 충분한 정보를 포함한다.
자율 차량을 제어하고 운전하는 것의 일부로서, AD 모드에서 차량이 동작하는 동안에 AD에서 MD로의 전환이 개시될 수도 있다. 일 실시예에서, AD에서 MD로의 전환이 차량의 사람 운전자에 의해 개시될 수도 있다. 또 다른 일 실시예에서, AD에서 MD로의 전환은 특정 주행 시나리오들(예를 들어, 차량이 안전 정지를 준비하는 동안 예상되지 않은 시나리오에 직면한 차량이 동작 설계 도메인(ODD) 경계에 접근하는 경우 등)에서 차량의 자율 주행 시스템(예를 들어, 인식 및 계획 시스템(110))에 의해 개시될 수도 있다. 또 다른 일 실시예에서, AD에서 MD로의 전환이 차량의 자율 주행 시스템에 의해 개시될 수도 있는 반면에, 자동 운전(즉, AD 모드에서 동작) 중에 장애(failure)가 발생된 경우 차량은 시스템 안전을 유지(즉, 최소 위험 조건들을 충족시키기 위해 실패-동작 조작(maneuver)들을 진행)하는 실패-동작 조건(requirement)들을 충족시킨다.
MPOI 정보(또는 지도 및 루트 정보(311)), 위치 정보(예를 들어, 현재 위치) 및 주행 시나리오(예를 들어, 실시간 교통 정보, 센서 시스템(115)에 의해 센싱되거나 검출된 실시간 로컬 환경 데이터, 차량의 응답들(예를 들어, 속도들, 가속도들, 감속도들, 방향들))에 기초하는 도 3a를 계속 참고하면, AD에서 MD로의 전환 인에이블러(308)는 AD에서 MD로의 전환을 활성화 할지 여부를 결정할 수도 있다.
AD에서 MD로의 전환이 활성화되는 경우, AD에서 MD로의 전환 확인 모듈(309)은 AD에서 MD로의 전환에 대한 요청이 있는지를 결정한다. 전술한 바와 같이, AD에서 MD로의 전환은 특정 주행 시나리오들에서 사람 운전자 또는 차량의 자율 주행 시스템에 의해 개시되거나 요청될 수도 있다. 요청 검출에 따라 모듈(309)은 운전자의 입력들로부터 유도된 모션 궤적과 비교하기 위해 현재 모션 궤적(허용 오차(tolerance)를 포함할 수도 있는)을 경계로서 사용할 수도 있다. 두 궤적들이 정렬되는 경우에(즉, 운전자의 의도된 모션 궤적이 현재 모션 궤적의 정의된 경계 내에 있는 경우), AD에서 MD로의 전환이 확인된다. 이와 달리, 궤적들이 정렬되지 않는 경우에, AD에서 MD로의 전환이 여전히 활성화되고 그리고 모듈(309)이 AD에서 MD로의 전환 확인을 재시도할 수도 있지만, AD에서 MD로의 전이가 확인되지 않는다.
AD에서 MD로의 전환 확인시에, AD에서 MD로의 전환 모니터(310)는 전환의 안전성을 보장하기 위해 작동(activate)될 수도 있다. 예를 들어, 모니터(310)가 전환이 사전 결정된 시간 프레임 내에 성공적으로 완료되었다고 결정하는 경우, 모듈(310)은 자율 주행 차량을 MD 모드로 전환시킨다. 한편, 자율 주행 시스템(예를 들어, 인식 및 계획 시스템(110))은 계속 백그라운드에서 실행되고 그리고 필요에 따라 차량을 AD모드로 바꿀 수도 있다. 한편으로, 모니터(310)가 전환이 실패한 것으로 판단하는 경우, 자율 주행 시스템은 AD모드에서 차량을 동작시킬 수도 있고, 그리고 그것 자체의 계산된 모션 궤적을 진행할 수도 있다.
일 실시예에서, 계획 단계(phase)는 예를 들어, 100밀리초(ms)의 모든 시간 간격에서와 같이 운전 사이클(driving cycle)들이라고도 하는, 다수의 계획 사이클들에서 수행된다. 계획 사이클들 또는 운전 사이클들 각각에 대해 계획 및 제어 데이터에 기초하여 하나 이상의 제어 명령들이 지급(issue)된다. 즉, 모든 100ms 동안, 계획 모듈(305)은 예를 들어, ADV가 타겟 위치(target position)에 도달하는데 필요한 시간 및 타겟 위치를 포함하여 다음 루트 세그먼트 또는 경로 세그먼트를 계획한다. 대안적으로, 계획 모듈(305)은 추가적으로 특정 속도, 방향 및/또는 스티어링 각도 등을 지정할 수도 있다. 일 실시예에서, 계획 모듈(305)은 5초와 같이 다음 사전 결정된 기간의 시간동안 경로 세그먼트 또는 루트 세그먼트를 계획한다. 계획 사이클 각각에 대해, 계획 모듈(305)은 이전 사이클에서 계획된 타겟 위치에 기초하여 현재 사이클(예를 들어, 다음 5초)에 대한 타겟 위치를 계획한다. 이후에, 제어 모듈(306)은 현재 사이클의 계획 및 제어 데이터에 기초하여 하나 이상의 제어 명령들(예를 들어, 스로틀, 제동, 스티어링 제어 명령들)을 생성한다.
결정 모듈(304) 및 계획 모듈(305)은 통합 모듈로서 통합될 수도 있음에 유의한다. 결정 모듈(304)/계획 모듈(305)은 자율 차량의 주행 경로를 결정하기 위해 내비게이션(navigation) 시스템 또는 내비게이션 시스템의 기능들을 포함할 수도 있다. 예를 들어, 내비게이션 시스템은 일반적으로 최종 도착지로 향하는 도로 기반 경로를 따라 자율 차량을 전진시키는 동안에 인식된 장애물들을 실질적으로 피하도록 경로를 따라 자율 차량의 이동에 영향을 미치는 일련의 속도들 및 방향성 있는 방향(directional heading)들을 결정할 수도 있다. 도착지는 사용자 인터페이스 시스템(113)을 통한 사용자 입력들에 따라 설정(set)될 수도 있다. 내비게이션 시스템은 자율 차량이 동작하는 동안 주행 경로를 동적으로 업데이트(update)할 수도 있다. 내비게이션 시스템은 자율 차량에 대한 주행 경로를 결정하기 위해 하나 이상의 지도들 및 GPS 시스템으로부터의 데이터를 통합할 수 있다.
도 4a-4b는 일 실시예에 따라 와이어 시스템에 의한 주행을 도시한 다이어그램들이다. 도 4a를 참고하면, 스티어-바이-와이어(또한, x-바이-와이어로 지칭되는) 시스템(400)은 자율 주행 차량(예를 들어, ADV(101))의 일부일 수도 있다. 도시된 바와 같이, 시스템(400)은 차량의 휠들(400a-b)의 스티어링을 제어하는 스티어링 휠(410)을 포함할 수도 있다. 예를 들어, 운전자가 스티어링 휠(410)을 돌릴 경우, 스티어링 에뮬레이터(emulator)는 통신 링크(420)(유선 또는 무선일 수도 있는)를 통해 스티어링 신호 또는 명령을 액추에이터들(430a-b)에 통신할 수도 있다. 스티어링 신호에 기초하여, 액추에이터들(430a-b)은 휠들(440a-b)을 스티어링 각도로 돌릴 수도 있다. 일 실시예에서, 스티어링 신호는 휠들(440a-b) 또는 스티어링 휠(410)의 스티어링 각도의 표시를 포함할 수도 있다. 도 4a에 도시되지는 않았지만, 일 실시예에서 시스템(400)은 차량의 가속 및 감속을 각각 제어하기 위한 스로틀 페달 및 브레이크 페달을 더 포함할 수도 있다. 일 실시예에서, 스로틀 및 브레이크 페달들은 통신 링크(420) 및 엑추에이터들(430a-b)를 사용하여, 또는 대안적으로 그들 각각의 통신 링크들 및 엑추에이터들을 사용하여 차량을 제어할 수도 있다.
도 4a 내지 4b를 계속 참조하면, 시스템(400)은 또한, 차량의 AD에서 MD로의 전환을 제어하기 위해 통신 링크(420) 사이에 AD에서 MD로의 전환 제어기(406)를 또한 포함한다. 제어기(406)는 스티어링 휠(410)에 대한 입력들을 통해 운전자가 휠들(440a-b)을 제어할 수 있는지 여부를 결정하는 “게이트 키퍼(gatekeeper)“로 보일 수 있다. 도 4b에 도시된 바와 같이, 제어기(406)는 AD에서 MD로의 전환 인에이블러(308), 확인 모듈(309) 및 모니터(310)를 포함할 수도 있다. 하지만, 몇몇 실시예들에서, 모듈들(308-310)은 제어기(406)의 일부가 아닐 수도 있고, 그리고 대신에, 모듈들(308-310) 각각은 각자 별개의 모듈일 수도 있다.
전술한 바와 같이, AD에서 MD로의 전환 인에이블러(308)는 MPOI 정보(또는 지도 및 루트 정보(311), 위치 정보(예를 들어, 현재 위치), 주행 시나리오(예를 들어, 실시간 교통 정보, 센서 시스템(115)에 의해 센싱되거나 검출된 실시간 로컬 환경 데이터, 차량의 응답들(예를 들어, 속도들, 가속도들, 감속도들, 방향들))에 기초하여 AD에서 MD로의 전환을 활성화할지 여부를 결정할 수도 있다. 예를 들어, MPOI 정보 및/또는 위치 정보를 사용하는 인에이블러(308)는 차선 병합, 교차로, 상당한 도로 경사(significant road gradient)(오르막 및 내리막 둘 다), 터널 입구/출구, 고속도로 진입로(ramp), 교통 사고들이 빈번한 지역들(교통 사고 통계들 기반) 등과 같은 AD에서 MD로의 전환이 안전하지 않을 수도 있는(이에 따라 허용되지 않는) 특정 도로 섹션들을 정의할 수도 있다. 일 실시예에서, 특정 차량 응답들(또는 조작들) 및/또는 교통 상황들은 예를 들어, 추월 조작, 차선 변경, 많거나 중간 교통량(traffic) 지역 주변의 높은 차량 속도 등과 같이, 그들이 안전하지 않거나 부적절한 것으로 결정됨에 따라 AD에서 MD로의 전환에서 제외될 수도 있다. 따라서, 입력 또는 계획된 루트를 따라서 또는 위치된 안전하지 않은 도로 섹션들은 AD에서 MD로의 전환의 비활성화를 위해 사전 결정될 수도 있다. 추가적으로, 차량이 입력 루트를 따라 진행함에 따라 안전하지 않은 차량 응답들 및/또는 교통 상황들이 또한 동적으로 결정될 수도 있고 그리고 AD에서 MD로의 전환의 비활성화를 위해 저장될 수도 있다. 안전하지 않은 조건들(즉, 안전하지 않은 도로 섹션들, 차량 응답들, 교통 상황들, 등)이 존재하지 않는 경우, 인에이블러(308)는 AD에서 MD로의 전환을 허용하거나 활성화할 수도 있다. 그렇지 않은 경우, 인에이블러(308)는 AD에서 MD로의 전환을 비활성화할 수도 있다. 일 실시예에서, 운전자는 사용자 인터페이스 시스템(113)의 디스플레이 디바이스(예를 들어, 터치 스트린(touch screen) 디스플레이 디바이스)를 통해 AD에서 MD로의 전환의 비활성화 또는 활성화를 통지받을 수도 있다.
AD에서 MD로의 전환이 활성화되는 경우, 모듈(309)은 AD에서 MD로의 전환에 대한 요청이 있었는지 여부를 확인할 수도 있다. 일 실시예에서, AD에서 MD로의 전환 요청은 운전자가 스티어링 휠(410)을 동작하거나 스티어링할 경우에 개시될 수도 있다. 요청 검출에 따라, 운전자의 동작이 안전한지 여부를 결정하기 위해, 모듈(309)은 현재 모션 궤적(경계 또는 한계로 사용되는)을 운전자의 입력들로부터 유도된 모션 궤적과 비교할 수도 있다. 궤도들이 정렬되는 경우(즉, 운전자의 의도된 모션 궤적이 경계 내에 있는 경우), 모듈(309)은 AD에서 MD로의 전환을 확인한다. 그렇지 않은 경우, AD에서 MD로의 전환이 확인되지 않는다. 그러나, AD에서 MD로의 전환이 활성화된 채로 유지된 경우, 운전자는 스티어링 휠(410)을 동작하거나 스티어링하기 위해 재시도할 수도 있다. 일 실시예에서, 운전자는 사용자 인터페이스 시스템(113)의 디스플레이 디바이스(예를 들어, 터치 스크린 디스플레이 디바이스)를 통해 AD에서 MD로의 전환 확인을 통지받을 수도 있다.
AD에서 MD로의 전환 확인에 따라, 전환의 안전을 보장하기 위해 모니터(310)가 작동된다. 그렇게 함으로써, 모니터(310)는 전환 타이머를 트리거(trigger)할 수도 있다. 사전 결정된 시간 프레임 또는 시간 기간 내에 전환이 완료되는 경우, 모니터(310)는 차량을 MD모드로 전환할 수도 있고, 여기서 운전자는 차량을 수동으로 동작 또는 제어할 수 있다. 일 실시예에서, 운전자는 사용자 인터페이스 시스템(113)의 디스플레이 디바이스(예를 들어, 터치 스크린 디스플레이 디바이스)를 통해 차량이 MD 모드에 있음을 통지받을 수도 있다. 한편, 자율 주행 시스템(예를 들어, 인식 및 계획 시스템(110)은 백그라운드에서 계속 동작하고 그리고 필요에 따라 차량을 AD모드로 바꿀 수도 있다. 한편, 모니터(310)는 전환이 실패한 것으로 결정하는 경우, 자율 주행 시스템은 차량을 AD모드로 동작 시킬 수도 있고 그리고, 그 자체의 계산된 모션 궤적을 진행할 수도 있다. 이 경우에, 운전자는 사용자 인터페이스 시스템(113)의 디스플레이 디바이스(예를 들어, 터치 스크린 디스플레이 디바이스)를 통해 차량이 AD모드에 있음을 통지받을 수도 있다.
도 5는 일 실시예에 따라 AD에서 MD로의 전환을 활성화하기 위한 예시적인 방법을 도시한 플로우 다이어그램이다. 방법(500)은 하드웨어, 소프트웨어, 또는 이들의 조합에 의해 수행될 수도 있다. 예를 들어, 방법(500)은 도 3a의 AD에서 MD로의 전환 인에이블러(308)에 의해 수행될 수도 있다.
도 5를 참고하면, 블록(510)에서, 현재 위치에서 AD에서 MD로의 전환이 허용되는지 여부가 결정된다. 예를 들어, MPOI 정보를 사용하여, 계획된 루트를 따르는 특정 도로 섹션들은 차선 병합, 교차로, 상당한 도로 경사(오르막 및 내리막 둘 다), 터널 입구/출구, 고속도로 진입로, 교통 사고들이 빈번한 지역들(교통 사고 통계들 기반) 등과 같이, 안전하지 않다고 결정될 수도 있다. 그러므로, 차량(예를 들어, ADV(101))의 위치 정보에 기초하여, 차량의 현재 위치가 계획된 루트의 안전하지 않은 도로 섹션 상에 있는 경우, AD에서 MD로의 전환은 허용되지 않는다. 그렇지 않은 경우, AD에서 MD로의 전환이 현재 위치에서 허용된다. 블록 (520)에서, 현재 주행 시나리오가 AD에서 MD로의 전환에 대해 안전한지 여부가 결정된다. 일 실시예에서, 센서 시스템(1150)에 의해 센싱되거나 검출된 실시간 로컬 환경 데이터 및 실시간 교통 정보는 현재 주행 시나리오가 AD에서 MD로의 전환에 대해 안전한지 여부를 결정하기 위해 분석될 수도 있다. 예를 들어, 실시간 교통 정보가 그 지역에서 많거나 중간 교통량을 나타내고 그리고/또는 실시간 환경 데이터가 그 지역에 다수의 장애물들이 존재하는 것을 나타내는 경우, 현재 주행 시나리오는 안전하지 않은 것으로 결정될 수도 있다. 추가적으로, 현재 주행 시나리오가 안전한지 여부를 결정하기 위해 차량 응답들(예를 들어, 속도들, 가속도들, 감속도들, 방향들)이 또한 분석될 수도 있다. 예를 들어, 추월 조작, 차선 변경, 교통량이 많은 지역 주변의 높은 차량 속도 등은 현재 주행 시나리오가 안전하지 않음을 나타낼 수도 있다. 그렇지 않은 경우, 현재 주행 시나리오가 안전하다고 결정된다. 블록(530)에서, AD에서 MD로의 전환이 현재 위치에서 허용되고 그리고 현재 주행 시나리오가 AD에서 MD로의 전환에 대해 안전하다는 결정에 응답하여, AD에서 MD로의 전환이 활성화된다. 일 실시예에서, AD에서 MD로의 전환의 활성화는 사용자 인터페이스 시스템(예를 들어, 도 1의 시스템(113))을 통해 차량의 운전자/사용자에게 전달(communicate)될 수도 있다.
도 6은 일 실시예에 따라 AD에서 MD로의 전환을 확인하기 위한 예시적인 방법을 도시한 플로우 다이어그램이다. 방법(600)은 하드웨어, 소프트웨어, 또는 이들의 조합에 의해 수행될 수도 있다. 예를 들어, 방법(600)은 도 3a의 AD에서 MD로의 전환 확인 모듈(309)에 의해 수행될 수도 있다.
도 6을 참조하면, 블록(610)에서 AD에서 MD로의 전환에 대한 요청이 있는지 여부가 결정된다. 일 실시예에서, AD에서 MD로의 전환은 차량의 사람 운전자에 의해 요청될 수도 있다. 또 다른 일 실시예에서, AD에서 MD로의 전환은 특정 주행 시나리오들(예를 들어, 차량이 ODD 경계에 접근하는 경우, 예상되지 않은 시나리오에 직면하는 것 등)에서 차량의 자율 주행 시스템(예를 들어, 인식 및 계획 시스템(110))에 의해 개시될 수도 있다. 또 다른 일 실시예에서, AD에서 MD로의 전환은 차량의 자율 주행 시스템에 의해 개시될 수 있는 반면에, 자동 주행(즉, AD 모드에서 동작) 중에 장애가 발생된 경우 차량은 시스템 안전을 유지(즉, 최소 위험 조건들을 충족시키기 위한 실패-동작 조작들로 진행)하는 실패-동작 요청들을 충족시킨다. 블록(620)에서, AD에서 MD로의 전환에 대한 요청이 있다는 결정에 응답하여, 현재 차량 모션 궤적이 컴퓨팅 된다. 일 실시예에서, 현재 차량 모션 궤적은 센서 시스템(115)에 의해 검출된 센서 데이터에 기초하여 컴퓨팅 된다. 블록(630)에서, 컴퓨팅된 현재 차량 모션 궤적은 운전자의 입력들(예를 들어, 운전자가 차량을 동작시킬 경우에 센싱되는 스티어링 각도, 스로틀 위치 및 브레이크 위치)로부터 유도된 모션 궤적과 비교된다. 블록(640)에서, 비교에 기초하여 AD에서 MD로의 전환을 확인할지 여부가 결정된다. 예를 들어, 궤도들이 정렬되는 경우(즉, 운전자의 의도된 모션 궤적이 경계 내에 있는 경우), AD에서 MD로의 전환이 확인된다. 그렇지 않은 경우, AD에서 MD로의 전환이 확인되지 않는다. 일 실시예에서, AD에서 MD로의 전환 확인은 사용자 인터페이스 시스템(예를 들어, 도 1의 시스템(113))을 통해 차량의 운전자/사용자에게 전달될 수도 있다.
도 7은 일 실시예에 따라 AD에서 MD로의 전환을 모니터링 하기 위한 예시적인 방법을 도시한 플로우 다이어그램이다. 방법(700)은 하드웨어, 소프트웨어, 또는 이들의 조합에 의해 수행될 수도 있다. 예를 들어, 방법(700)은 도 3a의 AD에서 MD로의 전환 모니터(310)에 의해 수행될 수도 있다.
도 7을 참고하면, 블록(710)에서, AD에서 MD로의 전환이 사전 결정된 시간프레임 내에 성공적으로 완료되었는지 여부가 결정된다. 예를 들어, AD에서 MD로의 전환이 결정되는 경우(도 6과 관련하여 이전에 설명된 바와 같이), 사전 결정된 시간 프레임을 측정하기 위해 전환 타이머가 시작될 수도 있다. 블록(720)에서, AD에서 MD로의 전환이 사전 결정된 시간 프레임 내에 성공적으로 완료되었다는 결정에 응답하여, 차량(예를 들어, ADV(101))은 운전자가 차량을 수동으로 동작 또는 제어할 수 있는 AD에서 MD 모드로 전환된다. 일 실시예에서, 차량의 동작 모드(예를 들어, AD 또는 MD 모드)는 사용자 인터페이스 시스템(113)을 통해 운전자에게 전달될 수도 있다.
도 8은 일 실시예에 따라 AD 모드에서 MD모드로의 운전자 개시 전환을 위한 예시적인 방법을 도시한 플로우 다이어그램이다. 방법(800)은 하드웨어, 소프트웨어, 또는 이들의 조합에 의해 수행될 수도 있다. 예를 들어, 방법(800)은 도 3a의 모듈들(308-310)의 조합에 의해 수행될 수도 있다.
도 8을 참조하면, 블록(801)에서, 예를 들어, 도 3a의 지도 및 루트 정보(311)에 의해 제공되는 바와 같이, 계획된 루트는 지도 상에 로드되고 그리고 업데이트된다. 블록(802)에서, AD에서 MD로의 전환이 허용되지 않는 계획된 루트를 따라 사전 결정된 지리적 위치(들)이 판독된다. 블록(803)에서, 현재 위치에서 AD에서 MD로의 전환이 허용되는지 여부가 결정된다. AD에서 MD로의 전환이 현재 위치에서 허용되는 경우, 방법(800)은 블록(804)로 진행한다. 그렇지 않은 경우, 방법(800)은 예를 들어, 도 1의 사용자 인터페이스 시스템(113)을 통해 AD에서 MD로의 전환이 활성화되지 않음(또는 비활성화 됨)는 것을 나타내는 메시지가 디스플레이 되는 블록(807)로 진행한다. 블록(804)에서, AD에서 MD로의 전환에 대한 현재 주행 시나리오가 전술된 바와 같이 적절하거나 안전한지 여부가 결정되고, 그리고 간결성을 위해 다시 설명되지 않는다. 블록(805)에서, AD에서 MD로의 전환이 허용되는지 여부가 결정된다. 그러한 경우, 방법(800)은 예를 들어, 도 1의 사용자 인터페이스 시스템(113)을 통해, AD에서 MD로의 전환이 활성화됨을 나타내는 메시지가 디스플레이 되는 블록(806)으로 진행한다. 그렇지 않은 경우, 방법(800)은 블록(807)으로 진행한다. 블록(808)에서, 운전자에 대한 인계 요청이 수신되는지 여부가 결정된다. 그러한 경우, 방법(800)은 블록(809)로 진행한다. 그렇지 않은 경우, 방법(800)은 블록(820)으로 진행한다. 블록(809)에서, 운전자의 입력들(예를 들어, 운전자가 차량을 동작 시킬 경우에 센싱되는 스티어링 각도, 스로틀 위치 및 브레이크 위치)로부터 차량 모션 궤적이 컴퓨팅 된다. 블록(810)에서, AD 모션 궤적 및 MD 모션 궤적(즉, 운전자의 입력들로부터 컴퓨팅 된 궤적)이 정렬되는지 여부가 결정된다. 그러한 경우, 방법(800)은 예를 들어, 도 1의 사용자 인터페이스 시스템(113)을 통해, AD에서 MD로의 전환이 확인되고 그리고 전환이 진행 중임이 디스플레이 되는 블록(811)로 진행한다. 그렇지 않은 경우, 방법(800)은, 예를 들어, 도 1의 시스템(113)을 통해, AD에서 MD로의 전환이 확인되지 않고 그리고 현재 모드가 “AD”인 것을 나타내는 메시지가 디스플레이 되는 블록(812)으로 진행한다. 블록(813)에서, 예를 들어, 도 1의 사용자 인터페이스 시스템(113)을 통해 “인계하는 동안 현재 차량 경로를 유지하고 그리고 다시 시도하십시오”라는 메시지가 디스플레이 된다. 블록(814)에서, 전환 타이머가 시작된다. 블록(815)에서, AD에서 MD로의 전환 차량 모션 궤적 경계가 정의되고, 그리고 AD에서 MD로의 모니터(예를 들어, 도 3a의 모니터(310))가 작동된다. 블록(816)에서, AD에서 MD로의 전환이 성공적으로 완료되었는지 여부가 결정된다. 그러한 경우, 방법(800)은 예를 들어, 도 1의 사용자 인터페이스 시스템(113)을 통해, 현재 모드가 “MD”임을 나타내는 메시지가 디스플레이 되는 블록(819)으로 진행한다. 그렇지 않은 경우, 방법(800)은 전환 타이머가 타임-아웃(timed-out) 되었는지 여부를 결정하는 블록(817)으로 진행한다. 그러한 경우, 방법(800)은 예를 들어, 도 1의 시스템(113)을 통해, 전환이 실패했으며, 다시 시도를 부탁하고 그리고 현재 모드가 “AD”임을 나타내는 메시지가 디스플레이 되는 블록(818)으로 진행한다. 그렇지 않은 경우, 방법(800)은 계획된 루트가 완료되었는지 여부가 결정되는 블록(820)으로 진행한다. 그러한 경우, 방법(800)은 종료된다. 그렇지 않은 경우, 방법(800)은 블록(801)로 리턴한다(return).
도 9는 일 실시예에 따라 AD 모드에서 MD 모드로 시스템 개시된 전환을 위한 예시적인 방법을 도시한 플로우 다이어그램이다. 방법(900)은 하드웨어, 소프트웨어, 또는 이들의 조합에 의해 수행될 수도 있다. 예를 들어, 방법(900)은 도 3a의 모듈들(308-310)의 조합에 의해 수행될 수도 있다.
도 9를 참조하면, 블록(901)에서, 예를 들어 도 3a의 지도 및 루트 정보(311)에 의해 제공되는 바와 같이 계획된 루트는 지도 상에 로드되거나 업데이트 된다. 블록(902)에서, AD에서 MD로의 전환이 허용되지 않은 계획된 루트를 따라 사전 결정된 지리적 위치(들)이 판독된다. 블록(903)에서, 현재 위치에서 AD에서 MD로의 전환이 허용되는지 여부가 결정된다. AD에서 MD로의 전환이 현재 위치에서 허용되는 경우, 방법(900)이 블록(904)으로 진행한다. 그렇지 않은 경우, 방법(900)은, 예를 들어, 도 1의 사용자 인터페이스 시스템(113)을 통해, AD에서 MD로의 전환이 활성화되지 않음(또는 비활성화됨)을 나타내는 메시지가 디스플레이 되는 블록(907)으로 진행한다. 블록(904)에서, AD에서 MD로의 전환에 대한 현재 주행 시나리오가 전술된 바와 같이, 적절하거나 안전한지 결정되고, 그리고 간결성을 위해 다시 설명되지 않는다. 블록(905)에서, AD에서 MD로의 전환이 허용될지 여부가 결정된다. 그러한 경우, 방법(900)은 예를 들어, 도 1의 사용자 인터페이스 시스템(113)을 통해 AD에서 MD로의 전환이 활성화됨을 나타내는 메시지가 디스플레이 되는 블록(906)으로 진행한다. 그렇지 않은 경우, 방법(900)은 블록(907)으로 진행한다. 블록(908)에서, 예를 들어, ODD 경계 또는 예상되지 않은 주행 시나리오로 인해 안전 상태로 진행하거나 운전자에게 인계하도록 결정된다. 블록(909)에서, 운전자에게 인계하도록 허용할지 여부가 결정된다. 그러한 경우에, 방법(900)은 블록(910)으로 진행한다. 그렇지 않은 경우, 방법(900)은 안전 상태로 진행하도록 ADV가 명령을 받는 블록(919)로 진행한다. 블록(910)에서, 타임아웃이 발생하기 전에 운전자의 인계가 확인되는지 여부가 결정된다. 그러한 경우, 방법(900)은 블록(911)으로 진행한다. 그렇지 않은 경우, 방법(900)은 블록(919)으로 진행한다. 블록(911)에서 AD 모션 궤적이 MD 모션 궤적(즉, 운전자의 입력들로부터 컴퓨팅 된 궤적)과 정렬되는지 여부가 결정된다. 그러한 경우, 방법(900)은, 예를 들어, 도 1의 시스템(113)을 통해, AD에서 MD로의 전환 확인 및 진행 중인 전환이 디스플레이 되는 블록(912)으로 진행한다. 그렇지 않은 경우, 방법(900)은, 예를 들어, 도 1의 시스템(113)을 통해, AD에서 MD로의 전환이 확인되지 않았고 그리고 현재 모드가 “AD”임을 나타내는 메시지가 디스플레이 되는 블록(913)으로 진행한다. 블록(914)에서, 전환 타이머가 시작된다. 블록(915)에서, AD에서 MD로의 전환 차량 모션 궤적은 정의되고 그리고, AD에서 MD로의 전환 모니터(예를 들어, 도 3a의 모니터(310))가 작동된다. 블록(916)에서, AD에서 MD로의 전환이 성공적으로 완료되었는지 여부가 결정된다. 그러한 경우, 방법(900)은 예를 들어, 도 1의 시스템(113)을 통해 현재 모드가 “MD”임을 나타내는 메시지가 디스플레이 되는 블록(918)로 진행한다. 그렇지 않은 경우, 방법(900)은 블록(917)으로 진행한다. 블록(917)에서, 전환 타이머가 타임아웃 되었는지 여부가 결정된다. 그러한 경우, 방법(900)은 블록(919)으로 진행한다. 그렇지 않은 경우, 방법(900)은 블록(920)으로 진행한다. 블록(920)에서, 계획된 루트가 완성되었는지 여부가 결정된다. 그러한 경우, 방법(900)이 종료된다. 그렇지 않은 경우, 방법(900)은 블록(901)로 리턴한다.
도 10은 일 실시예에 따라 AD 모드에서 MD 모드로 시스템 개시된 전환을 위한 또 다른 예시적인 방법을 도시한 플로우 다이어그램이다. 방법(1000)은 하드웨어, 소프트웨어, 또는 이들의 조합에 의해 수행될 수도 있다. 예를 들어, 방법(1000)은 도 3a의 모듈들(308-310)의 조합에 의해 수행될 수도 있다.
도 10을 참조하면, 블록(1001)에서, 예를 들어 도 3a의 지도 및 루트 정보(311)에 의해 제공되는 바와 같이, 계획된 루트는 지도 상에 로드되거나 업데이트된다. 블록(1002)에서, AD에서 MD로의 전환이 허용되지 않는 결정된 루트를 따라 사전 결정된 지리적 위치(들)가 판독된다. 블록(1003)에서, 현재 위치에서 AD에서 MD로의 전환이 허용되는지 여부가 결정된다. 그러한 경우, 방법(1000)은 블록(1004)으로 진행한다. 그렇지 않은 경우, 방법(1000)은 예를 들어, 도 1의 사용자 인터페이스 시스템(113)을 통해, AD에서 MD로의 전환이 활성화되지 않음(또는 비활성화됨)을 나타내는 메시지가 디스플레이 되는 블록(1007)로 진행한다. 블록(1004)에서 AD에서 MD로의 전환에 대한 현재 주행 시나리오가 전술된 바와 같이 적절하거나 안전한지 결정되고, 그리고, 간결성을 위해 다시 설명되지 않는다. 블록(1005)에서, AD에서 MD로의 전환이 허용될지 여부가 결정된다. 그러한 경우, 방법(1000)은 예를 들어, 도 1의 사용자 인터페이스 시스템(113)을 통해, AD에서 MD로의 전환이 활성화됨을 나타내는 메시지가 디스플레이 되는 블록(1006)으로 진행한다. 그렇지 않은 경우, 방법(1000)은 블록(1007)으로 진행한다. 블록(1008)에서, 차량(예를 들어, 도 1의 ADV(101))이 실패 동작 모드에 있는지 여부가 결정된다. 차량이 실패 동작 모드에 있는 경우, 방법(1000)은 블록(1009)으로 진행한다. 그렇지 않은 경우, 방법(1000)은 블록(1021)으로 진행한다. 블록(1009)에서, 운전자에게 인계하도록 허용될지 여부가 결정된다. 운전자에게 인계하도록 허용되는 경우, 방법(1000)은 블록(1010)으로 진행한다. 그렇지 않은 경우, 방법(1000)은 예를 들어, 도 1의 시스템(113)을 통해, AD가 “실패 동작”에 있고 그리고 차량이 실패 동작 모드에서 진행하고 있음을 나타내는 메시지가 디스플레이 되는 블록(1017)으로 진행한다. 블록(1010)에서, 운전자에 대한 인수 요청이 전송되고 그리고 운전자 응답 타이머가 시작된다. 블록(1011)에서, 운전자 응답 타이머가 만료되기(즉, 타임 아웃되기) 전에, 운전자 인계 요청이 확인되는지 여부가 결정된다. 그러한 경우, 방법(1000)은 블록(1012)으로 진행한다. 그렇지 않은 경우, 방법(1000)은 블록(1017)으로 진행한다. 블록(1012)에서 운전자의 입력들(예를 들어, 운전자가 차량을 동작시키는 경우 센싱되는 스티어링 각도, 스로틀 위치 및 브레이크 위치)로부터 차량 모션 궤적이 컴퓨팅 된다. 블록(1013)에서, AD 실패 동작 모션 궤적이 MD 모션 궤적(즉, 운전자의 입력들로부터 컴퓨팅 된 궤적)과 정렬되는지 여부가 결정된다. 그러한 경우, 방법(1000)은 예를 들어, 도 1의 시스템(113)을 통해, AD에서 MD로의 전환이 확인되고 그리고 전환이 진행 중임을 나타내는 메시지가 디스플레이 되는 블록(1014)으로 진행한다. 그렇지 않은 경우, 방법(1000)은 AD에서 MD로의 전환이 확인되지 않고 그리고 현재 모드가 “AD”임을 나타내는 메시지가 디스플레이 되는 블록(1015)으로 진행한다. 블록(1016)에서, AD에서 MD로의 전환 차량 모션 궤적 경계가 정의되고 그리고 AD에서 MD로의 모니터(예를 들어, 도 3a의 모니터(310))가 작동된다. 블록(1018)에서, AD에서 MD로의 전환이 성공적으로 완료되었는지 여부가 결정된다. 그러한 경우, 방법(1000)은 예를 들어 도 1의 시스템(113)을 통해, 현재 모드가 “MD”임이 디스플레이 되는 블록(1020)으로 진행한다. 그렇지 않은 경우, 방법(1000)은 블록(1019)으로 진행한다. 블록(1019)에서, AD에서 MD로의 전환이 타임 아웃 되었는지 여부가 결정된다. 그러한 경우, 방법(1000)은 블록(1021)으로 진행한다. 그렇지 않은 경우, 방법(1000)은 또한, 계획된 루트가 완료되었는지 여부가 결정되는 블록(1021)으로 진행한다. 그러한 경우, 방법(1000)은 종료된다. 그렇지 않은 경우, 방법(1000)은 블록(1001)으로 리턴한다.
상기 도시되고 설명된 바와 같은 구성 요소들 중 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있음에 유의한다. 예를 들어, 이러한 구성 요소들은 프로세서(미도시)에 의해 메모리에 로드 및 실행되어 본 출원 전체에 기술된 프로세스들 또는 동작들을 수행할 수 있는 영구 저장 디바이스에 설치 및 저장되는 소프트웨어로서 구현될 수 있다. 대안적으로, 이러한 구성 요소들은 집적 회로(예를 들어, 애플리케이션 특정 IC 또는 ASIC), 디지털 신호 프로세서(digital signal processor, DSP), 또는 필드 프로그래머블 게이트 어레이(field programmable gate array, FPGA)와 같이, 애플리케이션으로부터 대응하는 드라이버 및/또는 운영 체제(operating system)를 통해 접근(assess)될 수 있는 전용 하드웨어에 프로그래밍 되거나, 임베디드(embedded) 실행 코드(code)로서 구현될 수 있다. 또한, 이러한 구성 요소들은 하나 이상의 특정 명령들을 통해 소프트웨어 구성요소에 의해 접근 가능한(accessible) 명령 세트의 일부로서 프로세서 코어 또는 프로세서에서 특정 하드웨어 로직으로서 구현될 수 있다.
도 11은 본 개시의 일 실시예에 따라 데이터 처리 시스템(data processing system)을 도시한 블록 다이어그램이다. 예를 들어, 시스템(1500)은 예를 들어, 인식 및 계획 시스템(110) 또는 도 1의 임의의 서버들(103-104), 및 도 3a의 AD에서 MD로의 전환 모니터(310)와 같은, 상술한 임의의 프로세스들 또는 방법들을 수행하는 상술한 임의의 데이터 처리 시스템들을 표시할 수도 있다. 시스템(1500)은 다수의 상이한 구성 요소들을 포함할 수 있다. 이러한 구성 요소들은 집적 회로(IC), 이들의 일부, 개별 전자 디바이스, 컴퓨터 시스템의 애드-인(add-in)카드 또는 마더보드(motherboard)와 같이 회로 보드에 적합한 다른 모듈들, 또는 컴퓨터 시스템의 전체 구조(chassis) 내에 포함된 구성 요소들로서 구현될 수 있다.
또한 시스템(1500)은 컴퓨터 시스템의 많은 구성 요소들의 높은 레벨의 뷰(view)를 나타내도록 의도됨에 유의한다. 그러나, 추가적인 구성 요소들이 특정 구현들에 존재할 수도 있으며, 나아가, 도시되는 구성 요소들의 상이한 배열이 다른 구현들에서 발생할 수도 있음을 이해하여야 한다. 시스템(1500)은 데스크탑, 랩탑, 태블릿, 서버, 모바일 폰, 미디어 플레이어(media player), 개인 휴대 정보 단말기(PDA), 스마트 워치, 개인 통신기(communicator), 게임 디바이스, 네트워크 라우터(router)또는 허브, 무선 접근 포인트(AP) 또는 리피터(repeater), 셋-탑(set-top) 박스, 또는 이들의 조합을 표시할 수 있다. 또한, 단일 기기(machine) 또는 시스템만이 도시되어 있지만, 용어 "기기" 또는 "시스템"은 마찬가지로 본 명세서에서 논의된 임의의 하나 이상의 방법론들을 수행하기 위한 명령들의 한 세트를 개별적 또는 공동적으로 실행하는 기기들 또는 시스템들의 임의의 집합을 포함하는 것으로 간주되어야 한다.
일 실시예에서, 시스템(1500)은 버스 또는 인터커넥트(interconnect)(1510)를 통해 연결된 프로세서(1501), 메모리(1503) 및 디바이스들(1505-1508)을 포함한다. 프로세서(1501)는 단일 프로세서 또는 단일 프로세서 코어 또는 다중 프로세서 코어가 포함된 다중 프로세서들을 표시할 수도 있다. 프로세서(1501)는 마이크로 프로세서, 중앙 처리 디바이스(CPU) 등과 같은 하나 이상의 범용 프로세서를 나타낼 수 있다. 보다 구체적으로, 프로세서 (1501)는 복합 명령어 집합 컴퓨팅 (CISC) 마이크로 프로세서, 축소 명령어 집합 컴퓨팅 (RISC) 마이크로 프로세서, 훨씬 긴 명령어 워드 (VLIW) 마이크로 프로세서, 또는 다른 명령어 세트들을 구현하는 프로세서, 또는 명령어 세트들의 조합을 구현하는 프로세서들 일 수 있다. 프로세서(1501)는 또한, ASIC (application specific integrated circuit), 셀룰러(cellular) 또는 기저 대역 프로세서(baseband processor), FPGA (Field Programmable Gate Array), DSP (Digital Signal Processor), 네트워크 프로세서, 그래픽 프로세서, 통신 프로세서, 암호화 프로세서, 코-프로세서(co-processor), 임베디드 프로세서, 또는 명령어들의 처리가 가능한 임의의 다른 유형의 로직과 같은, 하나 이상의 특수-목적(special-purpose) 프로세서들일 수 있다.
초-저전압(ultra-low voltage) 프로세서와 같은 저전력 멀티-코어 프로세서 소켓(socket)일 수도 있는 프로세서(1501)는 시스템의 다양한 구성 요소들과 통신하기 위한 메인 처리 유닛 및 중앙 허브로서 작동할 수도 있다. 이러한 프로세서는 SoC(system on chip)으로서 구현될 수 있다. 프로세서(1501)는 본 명세서에서 논의된 동작들 및 단계들을 수행하기 위한 명령들을 실행하도록 구성된다. 시스템(1500)은 디스플레이 컨트롤러, 그래픽 프로세서 및/또는 디스플레이 디바이스를 포함할 수 있는, 선택적인 그래픽 서브시스템(optional graphics subsystem)(1504)과 통신하는 그래픽 인터페이스를 더 포함할 수도 있다.
프로세서(1501)는 일 실시예에서 주어진 양의 시스템 메모리를 제공하기 위해 다수의 메모리 디바이스들을 통해 구현될 수 있는 메모리(1503)와 통신할 수 있다. 메모리 (1503)는 랜덤 액세스 메모리 (RAM), 동적 RAM (DRAM), 동기식 DRAM (SDRAM), 정적 RAM (SRAM), 또는 다른 유형들의 저장 디바이스들과 같은 하나 이상의 휘발성 저장(volatile storage)(또는 메모리) 디바이스들을 포함할 수 있다. 메모리 (1503)는 프로세서 (1501) 또는 임의의 다른 디바이스에 의해 실행되는 명령들의 시퀀스들을 포함하는 정보를 저장할 수도 있다. 예를 들어, 다양한 운영 체제들, 디바이스 드라이버들, 펌웨어(예를 들어, 입력 출력 기본 시스템 또는 BIOS), 및/또는 애플리케이션의 실행가능 코드 및/또는 데이터들은 메모리(1503)에 로딩되고 프로세서(1501)에 의해 실행될 수 있다. 운영 체제는, 예를 들어, Robot Operating System (ROS), Microsoft®의 Windows® 운영 체제, Apple의 Mac OS®/iOS®, Google의 Android®, LINUX, UNIX 또는 다른 실시간(real-time) 또는 임베디드 운영 체제들과 같은, 임의의 종류의 운영 체제들일 수 있다.
시스템(1500)은 네트워크 인터페이스 디바이스(들)(1505), 선택적인 입력 디바이스 (들)(1506) 및 다른 선택적인 IO 디바이스(들)(1507)를 포함하는 디바이스들(1505-1508)과 같은 IO 디바이스들을 더 포함할 수 있다. 네트워크 인터페이스 디바이스(1505)는 무선 트랜시버 및/또는 네트워크 인터페이스 카드(NIC)를 포함할 수도 있다. 무선 트랜시버(transceiver)는 WiFi 트랜시버, 적외선 트랜시버, 블루투스 트랜시버, WiMax 트랜시버, 무선 셀룰러 전화 트랜시버, 위성 트랜시버 (예를 들어, GPS (Global Positioning System) 트랜시버), 또는 다른 라디오 주파수(RF) 트랜시버 또는 이들의 조합일 수도 있다. NIC는 이더넷 카드(Ethernet card)일 수도 있다.
입력 디바이스(들)(1506)은 마우스, 터치 패드, 터치 감지 스크린(디스플레이 디바이스(1504)와 통합될 수도 있는), 스타일러스(stylus)와 같은 포인터 디바이스, 및/또는 키보드(예를 들어, 물리적 키보드 또는 터치 감지 스크린의 일부분으로 디스플레이 된 가상 키보드)일 수도 있다. 예를 들어, 입력 디바이스(1506)는 터치 스크린에 연결된 터치 스크린 컨트롤러를 포함할 수도 있다. 터치 스크린 및 터치 스크린 컨트롤러는, 예를 들어, 터치 스크린과 하나 이상의 접촉점을 결정하기 위한 다른 근접 센서 어레이들 또는 다른 요소들뿐 아니라, 용량성, 저항성, 적외선 및 표면 탄성파(surface acoustic wave) 기술들을 포함하지만 이에 제한 되지 않는, 복수의 터치 감지 기술들 중 임의의 것을 사용하여 발생되는 접촉 및 움직임 또는 이의 중단(brake)을 감지할 수 있다.
IO 디바이스들(1507)은 오디오 디바이스를 포함할 수도 있다. 오디오 디바이스는 음성 인식, 음성 복제, 디지털 기록, 및/또는 전화 기능들과 같은, 음성-가능(voice-enabled) 기능들을 용이하게 하는 스피커 및/또는 마이크로폰을 포함할 수도 있다. 다른 IO 디바이스들(1507)은 범용 직렬 버스(USB) 포트(들), 병렬 포트(들), 직렬 포트(들), 프린터, 네트워크 인터페이스, 버스 브리지 (예를 들어, PCI-PCI 브리지), 센서(들)(예를 들어, 가속도계, 자이로스코프, 자기력계(magnetometer), 광 센서, 나침반, 근접 센서 등과 같은 모션 센서) 또는 이들의 조합을 더 포함할 수도 있다. 디바이스들(1507)은, 사진들 및 비디오 클립들을 녹화하는 것과 같은 카메라 기능들을 용이하게 하기 위해 이용되는 고체촬상소자(charged coupled device, CCD) 또는 상보성 금속산화물 반도체 (complementary metal-oxide semiconductor, CMOS) 광학 센서와 같은 광학 센서를 포함할 수도 있는 이미징 처리 서브 시스템(예를 들어, 카메라)을 더 포함할 수 있다. 특성 센서들은 센서 허브(도시되지 않은)를 통해 인터커넥트(1510)에 연결될 수 있으며, 반면에, 키보드 또는 열 센서와 같은 다른 디바이스들은 시스템(1500)의 특정 구성 또는 설계에 따라 임베디드 컨트롤러(미도시)에 의해 제어될 수도 있다.
데이터, 애플리케이션들, 하나 이상의 운영 체제들과 같은 정보의 영구 저장을 제공하기 위해, 대용량 저장소(mass storage)(미도시) 또한, 프로세서(1501)에 결합될 수도 있다. 다양한 실시예들에서, 시스템 응답성을 향상시킬 뿐 아니라, 더 얇고 더 가벼운 시스템 설계가 가능하도록, 이러한 대용량 저장소는 솔리드 스테이트 디바이스(solid state device, SSD)를 통해 구현될 수도 있다. 그러나, 다른 실시예들에서, 전원 차단 이벤트들 동안에 컨텍스트 상태(context state) 및 다른 기타 정보의 비-휘발성 저장이 가능하여 시스템 활동들의 재시작에 빠른 전원 공급이 가능하도록 하는 SSD 캐시로서 작동하는 적은 양의 SSD 저장소를 가지는 하드 디스크 드라이브(HDD)를 사용하여 대용량 저장소가 주로 구현될 수도 있다. 또한, 플래시 디바이스는 예를 들어, 직렬 주변 디바이스 인터페이스(SPI)를 통해 프로세서(1501)에 연결될 수도 있다. 이러한 플래시 디바이스는 시스템의 다른 펌웨어뿐만 아니라, BIOS를 포함하여 시스템 소프트웨어의 비-휘발성 저장을 제공할 수도 있다.
저장 디바이스(1508)는 본 명세서에서 기술된 임의의 하나 이상의 방법론들 또는 기능들을 구현하는 명령들 또는 소프트웨어의 하나 이상의 세트들(예를 들어, 모듈, 유닛, 및/또는 로직(1528))이 저장된 컴퓨터-접근가능한 저장 매체(1509)(또한, 기기-판독 가능 저장 매체 또는 컴퓨터-판독 가능 매체라고도 하는)를 포함할 수도 있다. 처리 모듈/유닛/로직(1528)은 예를 들어, 계획 모듈(305), 제어 모듈(306) 및 AD에서 MD로의 전환 모니터(310)와 같은 전술된 임의의 구성 요소들을 나타낼 수도 있다. 처리 모듈/유닛/로직(1528)은 데이터 처리 시스템(1500), 메모리(1503) 및, 기기-접근가능한 저장 매체를 구성하기도 하는 프로세서(1501)에 의해 실행 동안 메모리(1503) 내에 그리고/또는 프로세서(1501) 내에 완전히 또는 적어도 부분적으로 존재할 수 있다. 처리 모듈/유닛/로직(1528)은 추가로 네트워크 인터페이스 디바이스(1505)를 통해 네트워크를 통해 송신되거나 또는 수신될 수도 있다.
컴퓨터-판독 가능 저장 매체(1509)는 또한, 전술한 일부 소프트웨어 기능들을 영구적으로 저장하는데 사용될 수도 있다. 컴퓨터-판독 가능 저장 매체(1509)가 예시적인 실시예에서 단일 매체인 것으로 도시되어 있지만, "컴퓨터-판독 가능 저장 매체"라는 용어는 단일 매체 또는 하나 이상의 명령어들의 세트들을 저장하는 다중 매체(예를 들어, 중앙 또는 분산 데이터베이스, 및/또는 관련된 캐시들 및 서버들)를 포함하는 것으로 간주되어야 한다. "컴퓨터-판독 가능 저장 매체"라는 용어는 또한, 기기에 의해 실행되는 명령들의 세트를 저장 또는 인코딩할 수 있고, 기기가 본 개시의 방법론들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 간주되어야 한다. 따라서, "컴퓨터-판독 가능 저장 매체"라는 용어는 솔리드-스테이트 메모리, 및 광학 및 자기 매체, 또는 임의의 다른 비-일시적 기기-판독 가능 매체를 포함하지만 이에 제한되지는 않는다.
본 명세서에 기술된 처리 모듈/유닛/로직(1528), 구성요소들 및 다른 특징들은 이산 하드웨어 구성 요소들(discrete hardware components)로서 구현되거나 ASICS, FPGA, DSP 또는 유사한 디바이스들과 같은 하드웨어 구성 요소들의 기능에 통합될 수 있다. 추가적으로, 처리 모듈/유닛/로직(1528)은 하드웨어 디바이스 내에서 펌웨어 또는 기능 회로로서 구현될 수 있다. 또한, 처리 모듈/유닛/로직(1528)은 하드웨어 디바이스들 및 소프트웨어 구성요소들의 임의의 조합으로 구현될 수 있다.
시스템(1500)이 데이터 처리 시스템의 다양한 구성 요소들로 도시되어 있지만, 구성 요소들을 상호 연결하는 임의의 특정 아키텍처(architecture) 또는 방식을 나타내도록 의도되지 않았으며; 이러한 세부 사항들은 본 개시의 실시예들과 밀접한 관련이 없음에 유의한다. 또한, 더 적은 구성 요소들 또는 아마도 더 많은 구성 요소들을 가지는 다른 데이터 처리 시스템들, 서버들, 모바일 폰들, 소형 컴퓨터들(handheld computers), 및/또는 네트워크 컴퓨터들이 또한 본 개시의 실시예들과 사용될 수도 있음이 이해될 것이다.
전술한 상세한 설명들의 몇몇 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 동작들의 알고리즘 및 상징적 표시들의 관점에서 제시되고 있다. 이러한 알고리즘적 설명들 및 표시들은 데이터 처리 분야의 당업자들이 그들의 작업 내용을 다른 당업자들에게 가장 효과적으로 전달하기 위해 사용되는 방식들이다. 여기서, 알고리즘은 일반적으로, 원하는 결과를 도출하는 일관된 동작들의 시퀀스인 것으로 생각될 수 있다. 동작들은 이러한 물리적 수량들의 물리적 조작들이 요구된다.
그러나, 이들 및 유사한 용어들은 모두 적절한 물리적 수량들과 관련되어야 하며, 이들 수량들에 적용되는 단지 편리한 레이블들일 뿐임을 명심해야 한다. 상기 논의로부터 명백하게 달리 구체적으로 언급되지 않는 한, 설명 전반에 걸쳐, 아래의 청구 범위들에 제시된 것과 같은 용어들을 이용하는 논의들은, 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적(전기적) 수량들로 표시된 데이터를 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 그러한 정보 저장, 전송 또는 디스플레이 디바이스들 내의 물리적 수량들로 유사하게 표시되는 다른 데이터로 조작 및 변환하는, 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 작동 및 프로세스들을 의미하는 것으로 이해된다.
본 개시의 실시예들은 또한 본 명세서의 동작을 수행하기 위한 장치에 관한 것이다. 이러한 컴퓨터 프로그램은 비-일시적 컴퓨터 판독 가능 매체에 저장된다. 기기-판독 가능 매체는 기기(예를 들어, 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장하기 위해 임의의 메커니즘을 포함한다. 예를 들어, 기기-판독 가능(예를 들어, 컴퓨터-판독 가능) 매체는 기기(예를 들어, 컴퓨터) 판독 가능 저장 매체(예를 들어, 판독 전용 메모리(“ROM”)), 랜덤 엑세스 메모리(random access memory,”RAM”), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 디바이스들을 포함한다.
전술한 도면들에 도시된 프로세스들 또는 방법들은 하드웨어(예를 들어, 회로, 전용 로직 등), 소프트웨어 (예를 들어, 비 일시적 컴퓨터 판독 가능 매체에 구현되는) 또는 이들의 조합을 포함하는 처리 로직에 의해 수행될 수도 있다. 프로세스들 또는 방법들이 몇몇 순차적 동작들과 관련하여 위에서 설명되었음에도, 설명된 동작들 중 몇몇은 다른 순서로 수행될 수도 있음을 이해해야 한다. 또한, 몇몇 동작들은 순차적이 아닌 병렬로 수행될 수도 있다.
본 개시의 실시예들에는 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 본 명세서에서 기술된 바와 같이 본 개시의 실시예들의 교시(teaching)들을 구현하기 위해 다양한 프로그래밍 언어들이 사용될 수도 있음이 이해될 것이다.
전술한 명세서에서, 본 개시의 실시예들은 특정 예시적인 실시예들을 참고하여 설명되었다. 다음의 청구 범위들에 기재된 본 개시의 더 넓은 사상 및 범위를 벗어나지 않고 다양한 변형들이 이루어질 수 있음이 명백할 것이다. 따라서, 명세서 및 도면들은 제한적인 의미보다는 예시적인 의미로 간주되어야 한다.

Claims (29)

  1. 자율 주행 차량(autonomous driving vehicle, ADV)을 위한 자율 주행(AD)에서 수동 주행(manual driving, MD) 모드(mode)로 전환하는(transitioning) 컴퓨터-구현된 방법으로서, 상기 방법은:
    상기 ADV의 현재 위치에서 AD에서 MD로의(AD-to-MD) 전환이 허용되는지 여부를 결정하는 단계;
    현재 주행 시나리오가 상기 AD에서 MD로의 전환에 대해 안전한지 여부를 결정하는 단계;
    상기 AD에서 MD로의 전환이 상기 현재 위치에서 허용되고 그리고 상기 현재 주행 시나리오가 상기 AD에서 MD로의 전환에 대해 안전하다는 결정에 응답하여, 상기 AD에서 MD로의 전환을 활성화하는(enabling) 단계;
    상기 AD에서 MD로의 전환에 대해 요청(request)이 있는지 여부를 결정하는 단계;
    상기 요청이 있다는 결정에 응답하여, 상기 ADV의 현재 차량 모션 궤적(motion trajectory)을 컴퓨팅(computing)하는 단계;
    상기 현재 차량 모션 궤적을 상기 ADV의 운전자의 입력들로부터 유도된(derived) 모션 궤적과 비교하는 단계; 및
    상기 비교에 기초하여 상기 AD에서 MD로의 전환을 확인할지 여부를 결정하는 단계;
    를 포함하는 방법.
  2. 제 1항에 있어서,
    사전 결정된 시간 프레임(predefined timeframe) 내에 상기 AD에서 MD로의 전환이 성공적으로 완료되었는지 여부를 결정하는 단계; 및
    상기 AD에서 MD로의 전환이 상기 사전 결정된 시간 프레임 내에 성공적으로 완료되었다는 결정에 응답하여, 상기 ADV를 AD에서 MD 모드로 전환하는 단계;
    를 더 포함하는 방법.
  3. 제 1항에 있어서,
    상기 ADV의 상기 현재 위치에서 상기 AD에서 MD로의 전환이 허용되는지 여부를 결정하는 단계 이전에,
    지도 및 관심 포인트(map and point of interest, MPOI) 정보에 기초하여 안전하지 않은 것으로 결정된 계획된 루트(planned route)를 따라 도로 섹션(section)들을 식별하는 단계; 및
    상기 ADV의 상기 현재 위치가 안전하지 않은 도로 섹션 상에 있는지 여부를 결정하는 단계;
    를 더 포함하는 방법.
  4. 제 3항에 있어서,
    상기 ADV의 상기 현재 위치에서 상기 AD에서 MD로의 전환이 허용되는지 여부를 결정하는 단계는:
    상기 ADV의 상기 현재 위치가 상기 안전하지 않은 도로 섹션 상에 있다는 결정에 응답하여 상기 AD에서 MD로의 전환이 허용되지 않음을 결정하는 단계;를 포함하는 방법.
  5. 제 1항에 있어서,
    상기 현재 주행 시나리오가 상기 AD에서 MD로의 전환에 대해 안전한지 여부는 상기 ADV에 의해 검출된 실시간(real-time) 로컬 환경 데이터(local environment data) 및 실시간 교통 정보(traffic information)에 기초하여 결정되는 방법.
  6. 제 2항에 있어서,
    상기 사전 결정된 시간 프레임 내에 상기 AD에서 MD로의 전환이 성공적으로 완료되었는지 여부를 결정하는 단계 이전에, 전환 타이머(timer)를 시작하는 단계; 및
    상기 사전 결정된 시간 프레임 내에 상기 AD에서 MD로의 전환이 성공적으로 완료되지 않았다는 결정에 응답하여, 상기 전환 타이머가 만료되었는지 여부를 결정하는 단계;
    를 더 포함하는 방법.
  7. 제 2항에 있어서,
    상기 ADV가 동작 설계 도메인(operational design domain, ODD) 경계에 접근하거나 또는 예상되지 않은 시나리오에 직면하는(face) 것을 검출하는 것에 응답하여, 상기 ADV의 운전자가 상기 ADV를 제어하도록 허용하는 단계;
    를 더 포함하는 방법.
  8. 제 7항에 있어서,
    타임아웃(timeout)이 발생하기 전에 상기 운전자에 의한 상기 ADV의 상기 제어가 확인되는지 여부를 결정하는 단계; 및
    상기 타임아웃이 발생하기 전에 상기 운전자에 의한 상기 ADV의 상기 제어가 확인되지 않았다는 결정에 응답하여, 안전 상태(safe state)로 진행하도록 상기 ADV를 명령하는 단계;
    를 더 포함하는 방법.
  9. 제 7항에 있어서,
    상기 사전 결정된 시간 프레임 내에 상기 AD에서 MD로의 전환이 성공적으로 완료되었는지 여부를 결정하는 단계 이전에, 전환 타이머를 시작하는 단계;
    상기 AD에서 MD로의 전환이 상기 사전 결정된 시간 프레임 내에 성공적으로 완료되지 않았다는 결정에 응답하여, 상기 전환 타이머가 만료되었는지 여부를 결정하는 단계; 및
    상기 전환 타이머가 만료되었다는 결정에 응답하여, 안전 상태로 진행하도록 상기 ADV로 명령하는 단계;
    를 더 포함하는 방법.
  10. 제 2항에 있어서,
    상기 ADV가 실패 동작 모드(fail operational mode)로 동작하고 있는지 여부를 결정하는 단계;
    상기 ADV가 상기 실패 동작 모드로 동작하고 있다는 결정에 응답하여, 상기 ADV의 운전자가 상기 ADV를 제어하도록 허용될지 여부를 결정하는 단계; 및
    상기 운전자가 상기 ADV를 제어하도록 허용된다는 결정에 응답하여, 운전자 인계 요청(driver take-over request)을 전송하는 단계;
    를 더 포함하는 방법.
  11. 제 10항에 있어서,
    운전자 응답 타이머를 시작하는 단계; 및
    상기 운전자 응답 타이머가 만료되기 전에 상기 운전자 인계 요청이 확인되는지 여부를 결정하는 단계;
    를 더 포함하는 방법.
  12. 제 1항에 있어서,
    상기 AD에서 MD로의 전환을 활성화하는 단계 이후에, 상기 AD에서 MD로의 전환이 활성화됨을 나타내는 메시지를 디스플레이 하는 단계; 및
    상기 AD에서 MD로의 전환이 상기 현재 위치에 허용되지 않거나 또는 상기 현재 주행 시나리오가 상기 AD에서 MD로의 전환에 대해 안전하지 않다는 결정에 응답하여, 상기 AD에서 MD로의 전환이 활성화되지 않음을 나타내는 메시지를 디스플레이 하는 단계;
    를 더 포함하는 방법.
  13. 제 1항에 있어서,
    상기 현재 차량 모션 궤적을 상기 ADV의 운전자의 입력들로부터 유도된 상기 모션 궤적과 비교하는 단계는:
    상기 현재 차량 모션 궤적이 상기 운전자의 상기 입력들로부터 유도된 상기 모션 궤적과 정렬(align)되는지 여부를 결정하는 단계;
    를 포함하는 방법.
  14. 제 13항에 있어서,
    상기 현재 차량 모션 궤적이 상기 운전자의 상기 입력들로부터 유도된 상기 모션 궤적과 정렬된다는 결정에 응답하여, 상기 AD에서 MD로의 전환이 확인되고 그리고 상기 AD에서 MD로의 전환이 진행 중임을 나타내는 메시지를 디스플레이 하는 단계; 및
    상기 현재 차량 모션 궤적이 상기 운전자의 상기 입력들로부터 유도된 상기 모션 궤적과 정렬되지 않는다는 결정에 응답하여, 상기 AD에서 MD로의 전환이 확인되지 않고 그리고 현재 모드가 AD임을 나타내는 메시지를 디스플레이 하는 단계;
    를 더 포함하는 방법.
  15. 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금 동작들을 수행하도록 하는 명령들이 저장된 비-일시적 기기-판독 가능 매체(non-transitory machine-readable medium)로서, 상기 동작들은:
    ADV의 현재 위치에서 AD에서 MD로의 전환이 허용되는지 여부를 결정하는 동작;
    현재 주행 시나리오가 상기 AD에서 MD로의 전환에 대해 안전한지 여부를 결정하는 동작;
    상기 AD에서 MD로의 전환이 상기 현재 위치에서 허용되고 그리고 상기 현재 주행 시나리오가 상기 AD에서 MD로의 전환에 대해 안전하다는 결정에 응답하여, 상기 AD에서 MD로의 전환을 활성화하는 동작;
    상기 AD에서 MD로의 전환에 대해 요청이 있는지 여부를 결정하는 동작;
    상기 요청이 있다는 결정에 응답하여, 상기 ADV의 현재 차량 모션 궤적을 컴퓨팅하는 동작;
    상기 현재 차량 모션 궤적을 상기 ADV의 운전자의 입력들로부터 유도된 모션 궤적과 비교하는 동작; 및
    상기 비교에 기초하여 상기 AD에서 MD로의 전환을 확인할지 여부를 결정하는 동작;
    비-일시적 기기-판독 가능 매체.
  16. 제 15항에 있어서,
    사전 결정된 시간 프레임 내에 상기 AD에서 MD로의 전환이 성공적으로 완료되었는지 여부를 결정하는 동작; 및
    상기 AD에서 MD로의 전환이 상기 사전 결정된 시간 프레임 내에 성공적으로 완료되었다는 결정에 응답하여, 상기 ADV를 AD에서 MD 모드로 전환하는 동작;
    을 더 포함하는,
    비-일시적 기기-판독 가능 매체.
  17. 제 15항에 있어서,
    상기 ADV의 상기 현재 위치에서 상기 AD에서 MD로의 전환이 허용되는지 여부를 결정하는 동작 이전에,
    지도 및 관심 포인트(MPOI) 정보에 기초하여 안전하지 않은 것으로 결정된 계획된 루트를 따라 도로 섹션들을 식별하는 동작; 및
    상기 ADV의 상기 현재 위치가 안전하지 않은 도로 섹션 상에 있는지 여부를 결정하는 동작;
    을 더 포함하는,
    비-일시적 기기-판독 가능 매체.
  18. 제 17항에 있어서,
    상기 ADV의 상기 현재 위치에서 상기 AD에서 MD로의 전환이 허용되는지 여부를 결정하는 동작은:
    상기 ADV의 상기 현재 위치가 상기 안전하지 않은 도로 섹션 상에 있다는 결정에 응답하여 상기 AD에서 MD로의 전환이 허용되지 않음을 결정하는 동작;
    을 포함하는,
    비-일시적 기기-판독 가능 매체.
  19. 제 15항에 있어서,
    상기 현재 주행 시나리오가 상기 AD에서 MD로의 전환에 대해 안전한지 여부는 상기 ADV에 의해 검출된 실시간 로컬 환경 데이터 및 실시간 교통 정보에 기초하여 결정되는,
    비-일시적 기기-판독 가능 매체.
  20. 제 16항에 있어서,
    상기 사전 결정된 시간 프레임 내에 상기 AD에서 MD로의 전환이 성공적으로 완료되었는지 여부를 결정하는 동작 이전에, 전환 타이머를 시작하는 동작; 및
    상기 사전 결정된 시간 프레임 내에 상기 AD에서 MD로의 전환이 성공적으로 완료되지 않았다는 결정에 응답하여, 상기 전환 타이머가 만료되었는지 여부를 결정하는 동작;
    을 더 포함하는,
    비-일시적 기기-판독 가능 매체.
  21. 제 16항에 있어서,
    상기 ADV가 동작 설계 도메인(ODD)경계에 접근하거나 예상되지 않은 시나리오에 직면하는 것을 검출하는 것에 응답하여, 상기 ADV의 운전자가 상기 ADV를 제어하도록 허용하는 동작;
    을 더 포함하는,
    비-일시적 기기-판독 가능 매체.
  22. 제 21항에 있어서,
    타임아웃이 발생하기 전에 상기 운전자에 의한 상기 ADV의 상기 제어가 확인되는지 여부를 결정하는 동작; 및
    상기 타임아웃이 발생하기 전에 상기 ADV의 상기 제어가 확인되지 않았다는 결정에 응답하여, 안전 상태로 진행하도록 상기 ADV로 명령하는 동작;
    을 더 포함하는,
    비-일시적 기기-판독 가능 매체.
  23. 제 21항에 있어서,
    상기 사전 결정된 시간 프레임 내에 상기 AD에서 MD로의 전환이 성공적으로 완료되었는지 여부를 결정하는 동작 이전에, 전환 타이머를 시작하는 동작;
    상기 AD에서 MD로의 전환이 상기 사전 결정된 시간 프레임 내에 성공적으로 완료되지 않았다는 결정에 응답하여, 상기 전환 타이머가 만료되었는지 여부를 결정하는 동작; 및
    상기 전환 타이머가 만료되었다는 결정에 응답하여, 안전 상태로 진행하도록 상기 ADV를 명령하는 동작;
    을 더 포함하는,
    비-일시적 기기-판독 가능 매체.
  24. 제 16항에 있어서,
    상기 ADV가 실패 동작 모드로 동작하고 있는지 여부를 결정하는 동작;
    상기 ADV가 상기 실패 동작 모드로 동작하고 있다는 결정에 응답하여, 상기 ADV의 운전자가 상기 ADV를 제어하도록 허용될지 여부를 결정하는 동작; 및
    상기 운전자가 상기 ADV를 제어하도록 허용된다는 결정에 응답하여, 운전자 인계 요청을 전송하는 동작;
    을 더 포함하는,
    비-일시적 기기-판독 가능 매체.
  25. 제 24항에 있어서,
    운전자 응답 타이머를 시작하는 동작; 및
    상기 운전자 응답 타이머가 만료되기 전에 상기 운전자 인계 요청이 확인되었는지 여부를 결정하는 동작;
    을 더 포함하는,
    비-일시적 기기-판독 가능 매체.
  26. 제 15항에 있어서,
    상기 AD에서 MD로의 전환을 활성화하는 동작 이후에, 상기 AD에서 MD로의 전환이 활성화됨을 나타내는 메시지를 디스플레이 하는 동작; 및
    상기 AD에서 MD로의 전환이 상기 현재 위치에 허용되지 않거나 상기 현재 주행 시나리오가 상기 AD에서 MD로의 전환에 대해 안전하지 않다는 결정에 응답하여, 상기 AD에서 MD로의 전환이 활성화되지 않음을 나타내는 메시지를 디스플레이 하는 동작;
    을 더 포함하는,
    비-일시적 기기-판독 가능 매체.
  27. 제 15항에 있어서,
    상기 현재 차량 모션 궤적을 상기 ADV의 운전자의 입력들로부터 유도된 상기 모션 궤적과 비교하는 동작은:
    상기 현재 차량 모션 궤적이 상기 운전자의 상기 입력들로부터 유도된 상기 모션 궤적과 정렬되는지 여부를 결정하는 동작;
    을 포함하는,
    비-일시적 기기-판독 가능 매체.
  28. 제 27항에 있어서,
    상기 현재 차량 모션 궤적이 상기 운전자의 상기 입력들로부터 유도된 상기 모션 궤적과 정렬된다는 결정에 응답하여, 상기 AD에서 MD로의 전환이 확인되고 그리고 상기 AD에서 MD로의 전환이 진행 중임을 나타내는 메시지를 디스플레이 하는 동작; 및
    상기 현재 차량 모션 궤적이 상기 운전자의 상기 입력들로부터 유도된 상기 모션 궤적과 정렬되지 않는다는 결정에 응답하여, 상기 AD에서 MD로의 전환이 확인되지 않고 그리고 현재 모드가 AD임을 나타내는 메시지를 디스플레이 하는 동작;
    을 더 포함하는,
    비-일시적 기기-판독 가능 매체.
  29. 데이터 처리 시스템에 있어서,
    프로세서; 및
    상기 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금 동작들을 수행하도록 하는 명령들을 저장하기 위해 상기 프로세서와 연결된 메모리를 포함하고,
    상기 동작들은:
    ADV의 현재 위치에 AD에서 MD로의 전환이 허용되는지 여부를 결정하는 동작;
    현재 주행 시나리오가 상기 AD에서 MD로의 전환에 대해 안전한지 여부를 결정하는 동작;
    상기 AD에서 MD로의 전환이 상기 현재 위치에서 허용되고 그리고 상기 현재 주행 시나리오가 상기 AD에서 MD로의 전환에 대해 안전하다는 결정에 응답하여, 상기 AD에서 MD로의 전환을 활성화하는 동작;
    상기 AD에서 MD로의 전환에 대해 요청이 있는지 여부를 결정하는 동작;
    상기 요청이 있다는 결정에 응답하여, 상기 ADV의 현재 차량 모션 궤적을 컴퓨팅하는 동작;
    상기 현재 차량 모션 궤적을 상기 ADV의 운전자의 입력들로부터 유도된 모션 궤적과 비교하는 동작; 및
    상기 비교에 기초하여 상기 AD에서 MD로의 전환을 확인할지 여부를 결정하는 동작;
    을 포함하는,
    데이터 처리 시스템.
KR1020200098689A 2019-10-09 2020-08-06 자율 주행 시스템의 어시스턴스를 이용하는 자율 주행 모드에서 수동 주행 모드로의 안전한 전환 KR20210042801A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/597,710 US20210107498A1 (en) 2019-10-09 2019-10-09 Safe transition from autonomous-to-manual driving mode with assistance of autonomous driving system
US16/597,710 2019-10-09

Publications (1)

Publication Number Publication Date
KR20210042801A true KR20210042801A (ko) 2021-04-20

Family

ID=72801337

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200098689A KR20210042801A (ko) 2019-10-09 2020-08-06 자율 주행 시스템의 어시스턴스를 이용하는 자율 주행 모드에서 수동 주행 모드로의 안전한 전환

Country Status (5)

Country Link
US (1) US20210107498A1 (ko)
EP (1) EP3805066A1 (ko)
JP (1) JP7208959B2 (ko)
KR (1) KR20210042801A (ko)
CN (1) CN112124327A (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3822140B1 (en) * 2019-11-18 2022-06-22 Zenuity AB Operational design domain validation coverage for road and lane type
JP7259716B2 (ja) * 2019-11-28 2023-04-18 トヨタ自動車株式会社 車両制御システム及び車両制御方法
EP3892512A1 (en) * 2020-04-08 2021-10-13 Zenuity AB Methods and systems for hand-over from and ads feature to a driver of a vehicle
FR3118618A1 (fr) * 2021-01-04 2022-07-08 Psa Automobiles Sa Procédé et dispositif de contrôle d’un véhicule
CN113311744B (zh) * 2021-05-13 2022-08-19 际络科技(上海)有限公司 一种自动驾驶的手动控制方法和装置
US20230192139A1 (en) * 2021-12-16 2023-06-22 Gatik Ai Inc. Method and system for addressing failure in an autonomous agent
CN114162143A (zh) * 2021-12-31 2022-03-11 阿维塔科技(重庆)有限公司 智驾系统请求驾驶员接管的方法、装置、汽车及计算机可读存储介质
EP4227182A1 (en) * 2022-02-14 2023-08-16 Volvo Truck Corporation Method for controlling a transition from autonomous driving of a vehicle to manual driving of the vehicle in road segments of a driving route of the vehicle that are suitable for the transition, computer program, computer readable medium, control unit, and vehicle

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6252235B2 (ja) * 2014-02-25 2017-12-27 アイシン・エィ・ダブリュ株式会社 自動運転支援システム、自動運転支援方法及びコンピュータプログラム
US9483059B2 (en) * 2014-11-26 2016-11-01 Toyota Motor Engineering & Manufacturing North America, Inc. Method to gain driver's attention for autonomous vehicle
JP6246844B2 (ja) * 2016-02-18 2017-12-13 本田技研工業株式会社 車両制御システム、車両制御方法、および車両制御プログラム
DE112016006461B4 (de) * 2016-02-19 2022-11-17 Honda Motor Co., Ltd. Fahrzeugsteuerungsvorrichtung/ fahrzeugregelungsvorrichtung, fahrzeugsteuerungsverfahren/ fahrzeugregelungsverfahren, und fahrzeugsteuerungsprogramm/ fahrzeugregelungsprogramm
BR112018074372B1 (pt) * 2016-05-27 2023-01-17 Nissan Motor Co., Ltd Método de controle de condução e aparelho de controle de condução
WO2018092230A1 (ja) * 2016-11-17 2018-05-24 三菱電機株式会社 運転支援装置および運転支援方法
JP6652090B2 (ja) * 2017-03-10 2020-02-19 オムロン株式会社 運転モード切替制御装置、システム、方法、およびプログラム
US10452074B2 (en) * 2017-03-10 2019-10-22 Baidu Usa Llc Method and system for controlling autonomous driving vehicle reentering autonomous driving mode
FR3063958B1 (fr) * 2017-03-20 2019-03-22 Peugeot Citroen Automobiles Sa Procede et dispositif d’assistance d’un conducteur de vehicule a conduite autonome, notamment lors d’une reprise de controle manuel
US10471963B2 (en) * 2017-04-07 2019-11-12 TuSimple System and method for transitioning between an autonomous and manual driving mode based on detection of a drivers capacity to control a vehicle
JP6624158B2 (ja) * 2017-05-22 2019-12-25 株式会社デンソー 電子制御装置
CN110730740B (zh) * 2017-06-02 2022-11-22 本田技研工业株式会社 车辆控制系统、车辆控制方法及存储介质
GB2563902B (en) * 2017-06-29 2020-02-26 Jaguar Land Rover Ltd Method and apparatus for use with vehicles having an autonomous driving mode
JP7015840B2 (ja) * 2017-09-01 2022-02-03 本田技研工業株式会社 車両並びにその制御装置及び制御方法
US10668925B2 (en) * 2017-09-05 2020-06-02 Baidu Usa Llc Driver intention-based lane assistant system for autonomous driving vehicles
JP2019048603A (ja) * 2017-09-12 2019-03-28 クラリオン株式会社 自動運転制御装置
US10852726B2 (en) * 2018-11-13 2020-12-01 Toyota Research Institute, Inc. Systems and methods for transitioning a vehicle from an autonomous driving mode to a manual driving mode
US11034361B2 (en) * 2018-11-28 2021-06-15 International Business Machines Corporation Route determination for switching between autonomous and manual driving modes
US11414093B2 (en) * 2019-08-30 2022-08-16 Toyota Research Institute, Inc. System and method for transitioning a vehicle from an autonomous mode in response to a handover event

Also Published As

Publication number Publication date
JP2021059327A (ja) 2021-04-15
CN112124327A (zh) 2020-12-25
US20210107498A1 (en) 2021-04-15
EP3805066A1 (en) 2021-04-14
JP7208959B2 (ja) 2023-01-19

Similar Documents

Publication Publication Date Title
JP6861238B2 (ja) 自動運転車の車線変更軌跡を確定するための方法
JP6975512B2 (ja) 自動運転車両の周辺車両の挙動に基づくリアルタイム感知調整と運転調整
KR102223270B1 (ko) 여분의 초음파 radar를 구비한 자율 주행 차량
US10884422B2 (en) Method for generating trajectories for autonomous driving vehicles (ADVS)
US11328219B2 (en) System and method for training a machine learning model deployed on a simulation platform
JP6845894B2 (ja) 自動運転車両におけるセンサー故障を処理するための方法
CN109426256B (zh) 自动驾驶车辆的基于驾驶员意图的车道辅助系统
US10457294B1 (en) Neural network based safety monitoring system for autonomous vehicles
EP3309640B1 (en) Group driving style learning framework for autonomous vehicles
US10289110B2 (en) Method to dynamically adjusting steering rates of autonomous vehicles
US11367354B2 (en) Traffic prediction based on map images for autonomous driving
EP3359436B1 (en) Method and system for operating autonomous driving vehicles based on motion plans
KR102260486B1 (ko) 자율 주행 차량의 완전 정지를 위한 속력 제어
KR101982456B1 (ko) 자율 주행 모드로 재진입하는 자율 주행 차량 제어를 위한 방법 및 시스템
KR102042945B1 (ko) 자율 주행 차량을 위한 차로 연석 보조의 차로 이탈 점검 및 차로 유지 시스템
KR20210042801A (ko) 자율 주행 시스템의 어시스턴스를 이용하는 자율 주행 모드에서 수동 주행 모드로의 안전한 전환
US10908608B2 (en) Method and system for stitching planning trajectories from consecutive planning cycles for smooth control execution of autonomous driving vehicles
US10606273B2 (en) System and method for trajectory re-planning of autonomous driving vehicles
JP7116065B2 (ja) 自律走行車に用いられるトンネルに基づく計画システム
KR102042946B1 (ko) 자율 주행 차량을 위한 감속 연석 기반 방향 검출 및 차선 유지 시스템
EP3379364B1 (en) Control dominated planning and control system for autonomous driving vehicles
US11183059B2 (en) Parking management architecture for parking autonomous driving vehicles
JP7009490B2 (ja) 自動運転車両のための制御主導型の3ポイントターン計画
CN111103876A (zh) 自动驾驶车辆的基于雷达通信的扩展感知
JP2021502915A (ja) 列挙に基づく自動運転車両の3ポイントターン計画

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X601 Decision of rejection after re-examination
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2022101000562; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20220315

Effective date: 20220831