KR20210070387A - 자율 주행 차량들에 대한 폴백 거동들을 구현하기 위한 시스템 - Google Patents

자율 주행 차량들에 대한 폴백 거동들을 구현하기 위한 시스템 Download PDF

Info

Publication number
KR20210070387A
KR20210070387A KR1020217016925A KR20217016925A KR20210070387A KR 20210070387 A KR20210070387 A KR 20210070387A KR 1020217016925 A KR1020217016925 A KR 1020217016925A KR 20217016925 A KR20217016925 A KR 20217016925A KR 20210070387 A KR20210070387 A KR 20210070387A
Authority
KR
South Korea
Prior art keywords
computing system
vehicle
road
generate
trajectories
Prior art date
Application number
KR1020217016925A
Other languages
English (en)
Other versions
KR102465686B1 (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 KR20210070387A publication Critical patent/KR20210070387A/ko
Application granted granted Critical
Publication of KR102465686B1 publication Critical patent/KR102465686B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/023Avoiding failures by using redundant parts
    • 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/0077Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements using redundant signals or controls
    • 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
    • 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
    • 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
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • 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
    • B60W60/00186Planning or execution of driving tasks specially adapted for safety by employing degraded modes, e.g. reducing speed, in response to suboptimal conditions related to the vehicle
    • 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
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • B60W2050/0215Sensor drifts or sensor failures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • B60W2050/0292Fail-safe or redundant systems, e.g. limp-home or backup 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
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • 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
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/05Type of road

Abstract

본 개시의 양태들은 자율 주행 운전 모드에서 차량(100)을 제어하는 것에 관한 것이다. 본 시스템은 센서 데이터를 생성하도록 구성된 복수의 센서를 포함한다. 본 시스템은 센서 데이터를 사용하여 궤적들을 생성하고 생성된 궤적들을 제2 컴퓨팅 시스템(120)으로 송신하도록 구성된 제1 컴퓨팅 시스템(110)을 또한 포함한다. 제2 컴퓨팅 시스템은 차량으로 하여금 수신된 궤적을 추종하게 하도록 구성된다. 본 시스템은, 제1 컴퓨터 시스템의 고장이 있을 때, 차량이 간선도로 또는 일반 도로에 위치하는지에 기초하여 궤적들을 생성하여 제2 컴퓨팅 시스템으로 송신하도록 구성된 제3 컴퓨팅 시스템(130)을 또한 포함한다.

Description

자율 주행 차량들에 대한 폴백 거동들을 구현하기 위한 시스템
관련 출원에 대한 상호 참조
본 출원은, 그 개시가 본 명세서에 참고로 포함되는, 2018년 11월 05일에 출원된 출원 제16/180,267호의 이익을 주장한다.
인간 운전자를 필요로 하지 않는 차량과 같은, 자율 주행 차량은 승객 또는 물품을 한 위치로부터 다른 위치로 운송하는 데 도움을 주기 위해 사용될 수 있다. 그러한 차량은 승객이, 픽업 또는 목적지 위치와 같은, 어떤 초기 입력을 제공할 수 있고 차량이 스스로를 해당 위치로 기동시키는 완전 자율 주행 모드(fully autonomous mode)에서 동작할 수 있다. 그렇게 하는 동안, 승객, 화물 및 차량의 안전은 중요한 고려사항이다. 따라서, 종종 이러한 차량은 본질적으로 차량이 긴급 상황에서 브레이크를 가능한 한 세게 그리고 빨리 밟게 하는 폴백 시스템을 갖는다.
본 개시의 양태들은 자율 주행 운전 모드에서 차량을 제어하기 위한 시스템을 제공한다. 본 시스템은 센서 데이터를 생성하도록 구성된 복수의 센서, 제1 컴퓨팅 시스템 및 제3 컴퓨팅 시스템을 포함한다. 제1 컴퓨팅 시스템은 센서 데이터를 사용하여 궤적들을 생성하고 생성된 궤적들을 차량으로 하여금 수신된 궤적을 추종하게 하도록 구성된 제2 컴퓨팅 시스템으로 송신하도록 구성된다. 제3 컴퓨팅 시스템은, 제1 컴퓨터 시스템의 고장이 있을 때, 차량이 현재 주행하고 있는 도로 유형에 기초하여 궤적들을 생성하여 제2 컴퓨팅 시스템으로 송신하도록 구성된다.
일 예에서, 제3 컴퓨팅 시스템은 차량이 간선도로(highway) 또는 일반 도로(surface street)에 위치하는지에 기초하여 궤적들을 생성하여 송신하도록 추가로 구성된다. 다른 예에서, 본 시스템은 제2 컴퓨팅 시스템을 또한 포함한다. 다른 예에서, 고장은 복수의 센서 중 하나 이상에 관련되고, 제3 컴퓨팅 시스템은 복수의 센서 중 어느 것이 기능하고 있는지에 추가로 기초하여 궤적들을 생성하도록 구성된다. 다른 예에서, 제1 컴퓨팅 시스템은 센서 데이터에서 상이한 유형들의 도로 사용자들 간을 구별하도록 구성되고, 제2 컴퓨팅 시스템은 센서 데이터에서 상이한 유형들의 도로 사용자들 간을 구별하도록 구성되지 않는다. 이 예에서, 제1 컴퓨팅 시스템은 상이한 유형들의 도로 사용자들 각각에 기초하여 상이한 거동 예측들을 생성하도록 구성되고, 여기서 제3 컴퓨팅 시스템은 센서 데이터에서 모든 도로 사용자들에 대한 거동 예측들을 동일한 방식으로 생성하도록 구성된다. 이 예에서, 제3 컴퓨팅 시스템은 간선도로에서의 임의의 주어진 도로 사용자의 검출에 응답하여 현재 차선을 추종하는 것 또는 차선을 변경하는 것에 대응하는 거동 예측들을 생성하도록 구성된다. 다른 예에서, 제1 컴퓨팅 시스템은 가능한 기동들의 제1 목록에 따라 궤적들을 생성하도록 구성되고, 제3 컴퓨팅 시스템은 가능한 기동들의 제1 목록보다 작은 가능한 기동들의 제2 목록에 따라 궤적들을 생성하도록 구성된다. 이 예에서, 제3 컴퓨팅 시스템은 차량이 간선도로 또는 일반 도로에 위치하는지에 기초하여 가능한 기동들의 제2 목록을 결정하도록 구성된다. 추가적으로 또는 대안적으로, 제3 컴퓨팅 시스템은 복수의 센서 중 어느 것이 기능하고 있는지에 기초하여 가능한 기동들의 제2 목록을 결정하도록 구성된다. 추가적으로 또는 대안적으로, 제3 컴퓨팅 시스템은 복수의 센서에 대한 이용 가능한 센서 기능에 기초하여 가능한 기동들의 제2 목록을 결정하도록 구성된다.
다른 예에서, 제3 컴퓨팅 시스템은 차량이 제1 컴퓨팅 시스템에 의해 허용되는 특정 유형들의 기동들을 행하는 것을 방지하도록 추가로 구성된다. 이 예에서, 특정 유형들의 기동들은 특정 곡률의 방향 전환들을 포함한다. 다른 예에서, 제3 컴퓨팅 시스템은 미리 저장된 맵 정보를 참조하는 것에 의해 차량이 간선도로 또는 일반 도로에 위치한다고 결정하고, 차량이 간선도로 또는 일반 도로에 위치한다는 결정에 추가로 기초하여 궤적들을 생성하여 송신하도록 추가로 구성된다. 이 예에서, 제1 컴퓨팅 시스템은 교통 신호등 검출 기능을 사용하여 교통 신호등들을 검출하도록 구성되고, 차량이 간선도로에 위치하는 것으로 결정될 때, 제3 컴퓨팅 시스템은 교통 신호등 검출 기능을 사용하지 않고 궤적들을 생성하도록 추가로 구성된다. 추가적으로 또는 대안적으로, 차량이 간선도로에 위치하는 것으로 결정될 때, 제3 컴퓨팅 시스템은 차량이 간선도로를 빠져나와 일반 도로에 도달하도록 제어하기 위해 궤적들을 생성하도록 추가로 구성된다. 이 예에서, 제3 컴퓨팅 시스템은 특정 특성들을 가진 일반 도로에 근접한 출구를 탐색하고, 출구에서 간선도로를 빠져나와 일반 도로에 도달하도록 차량을 제어하기 위해 궤적들을 생성하도록 구성된다. 대안적으로, 제1 컴퓨팅 시스템은 교통 신호등 검출 기능을 사용하여 교통 신호등들을 검출하도록 구성되고, 차량이 일반 도로에 위치하는 것으로 결정될 때, 제3 컴퓨팅 시스템은 교통 신호등 검출 기능을 사용하여 궤적들을 생성하도록 추가로 구성된다. 추가적으로 또는 대안적으로, 제3 컴퓨팅 시스템은, 차량이 일반 도로에 위치하는 것으로 결정될 때, 차량이 미리 결정된 속력으로 주행하도록 제어하기 위해 궤적들을 생성하도록 추가로 구성되며, 미리 결정된 속력은 차량의 환경에 있는 대상체들을 검출하고 대상체들에 반응하기 위한 시간을 제공한다. 다른 예로서, 본 시스템은 차량을 또한 포함한다.
도 1은 예시적인 실시예에 따른 예시적인 차량의 기능 다이어그램이다.
도 2는 본 개시의 양태들에 따른 도 1의 시스템의 양태들의 기능 다이어그램이다.
도 3은 본 개시의 양태들에 따른 차량의 예시적인 외부 뷰이다.
도 4는 본 개시의 양태들에 따른 맵 정보의 예이다.
도 5는 본 개시의 양태들에 따른 컴퓨팅 시스템들 및 메시지들의 예시적인 표현이다.
도 6은 본 개시의 양태들에 따른 예시적인 흐름 다이어그램이다.
도 7은 본 개시의 양태들에 따른, 차량이 도로 섹션에서 기동되는 것의 예이다.
개관
이 기술은 자율 주행 차량에 대한 폴백 운전 거동에 관한 것이다. 전형적인 동작 동안, 제1 컴퓨터 시스템은 궤적을 생성하고 이를 제2 컴퓨팅 시스템으로 송신하여 해당 궤적에 따라 차량을 제어할 수 있다. 궤적은 차량이 그의 최종 목표 또는 목적지를 향해 진행할 수 있게 하는 적어도 어떤 부분을 포함하며, 그 후에, 제1 컴퓨터 시스템이 차량의 다양한 시스템에서의 어떤 문제로 인해 새로운 궤적을 생성할 수 없는 경우, 차량이 안전하게 차를 세우고 정지하는 등을 할 수 있도록, 궤적은 차량이 안전하게 차를 세우고, 정지하는 등을 위한 폴백 명령을 제공한다. 이는 간선도로에서 및 차량 또는 보행자 통행량이 많은 상황에서 문제가 될 수 있으며, 차량 상의 하나 이상의 시스템의 고장의 경우에 차를 세우거나 정지하는 것이 차량이 실행할 최선의 액션이 아니다. 이를 피하기 위해, 차량의 어떤 하드웨어 또는 소프트웨어 시스템에서의 주어진 유형의 고장이 검출되는 경우, 감소된 성능을 갖는 제3 컴퓨터 시스템 또는 폴백 시스템이 차량을 제어하는 데 사용될 수 있다. 운전 상황 및 이용 가능한 기능에 따라, 폴백 시스템은 차량이 그의 차선에서 정지할 가능성을 최소화시킨다는 것을 전체적인 목표로 하여 여러가지 방식으로 거동할 수 있다.
제1 컴퓨팅 시스템은 고도로 정교한 플래너 시스템, 인지 시스템 및 소프트웨어 스택을 포함할 수 있다. 예를 들어, 제1 컴퓨팅 시스템의 인지 시스템은 차량의 환경에 있는 상이한 대상체들의 검출을 가능하게 하도록 설계된 상이한 소프트웨어 모듈들을 포함할 수 있다. 제1 컴퓨팅 시스템의 소프트웨어 스택은 이러한 대상체가 향후 일정 시간 기간 동안 어떻게 거동할 가능성이 있는지를 예측하기 위해 거동 모델을 사용할 수 있다. 유사하게, 제1 컴퓨팅 시스템의 플래너 시스템은 차량이 모든 유형들의 기동을 수행할 수 있게 하는 궤적을 생성하기 위해 이러한 예측 및 상세 맵 정보를 사용할 수 있다.
제2 컴퓨팅 시스템은 제1 컴퓨팅 시스템으로부터 궤적을 수신하고 해당 수신된 궤적에 따라 차량을 제어하기 위해 차량의 다양한 액추에이터를 제어하도록 구성될 수 있다. 이 점에서, 제2 컴퓨팅 시스템은 플래너 또는 인지 모듈을 포함할 필요가 없다.
제3 컴퓨팅 시스템은 제1 및 제2 컴퓨팅 시스템과 상이한 능력을 가질 수 있다. 예를 들어, 제3 컴퓨팅 시스템은 제2 컴퓨터보다 큰 컴퓨팅 능력을 가질 수 있다. 동시에, 제3 컴퓨팅 시스템은 제1 컴퓨팅 시스템보다 적은 능력과 전력 요구사항을 가질 수 있다. 제3 컴퓨팅 시스템은 제1 컴퓨팅 시스템의 인지 시스템 및 거동 모델의 더 간소화된 버전을 가질 수 있다.
제1 컴퓨팅 시스템에서의 에러가 검출될 때, 제3 컴퓨팅 시스템은 제2 컴퓨팅 시스템에 대한 궤적을 생성하기 위해 제1 컴퓨팅 시스템을 대신하여 인계받을 수 있다. 그렇게 하기 위해, 제1 컴퓨팅 시스템에서의 에러가 검출될 때, 제3 컴퓨팅 시스템은 차량의 마지막으로 알려진 위치 또는 현재 위치를 맵 정보와 비교하는 것에 의해 차량이 운전하고 있는 도로 유형, 예를 들어, 간선도로 또는 일반 도로를 결정할 수 있다. 이 비교에 기초하여, 제3 컴퓨팅 시스템은 차량을 어떻게 제어할지와 어떤 기능을 따를지를 결정할 수 있다.
제1 컴퓨팅 시스템에서의 에러가 검출될 때, 제3 컴퓨팅 시스템은 차량이, 있는 경우, 어떤 유형들의 위치를 피해야 하는지를 결정하기 위해 차량의 이용 가능한 센서들의 기능을 평가할 수 있다. 환언하면, 상이한 유형들의 기능을 요구하는 도로 범위(road scope)의 계층구조가 있을 수 있으며, 차량이 특정 도로 범위에 대해 요구되는 기능을 갖지 않는 경우, 제3 컴퓨팅 시스템은 해당 도로 범위를 갖는 구역을 피할 수 있다.
본 명세서에서 기술된 특징은 제1 또는 주 컴퓨팅 시스템의 다양한 유형들의 고장의 경우에 차량이 계속 안전하게 제어될 수 있게 할 수 있다. 추가적으로, 이러한 특징은 어떤 기능이 이용 가능한지와 차량이 현재 어디에 위치하는지에 따라 상이한 폴백 거동을 가능하게 한다. 환언하면, 제3 컴퓨팅 시스템은 가능한 최상의 결과에 이르기 위해 현재 기능을 활용할 수 있다.
도 1에 도시된 바와 같이, 본 개시의 일 양태에 따른 차량(100)은 다양한 컴포넌트를 포함한다. 본 개시의 특정 양태들이 특정 유형들의 차량과 관련하여 특히 유용하지만, 차량은 자동차, 트럭, 모터사이클, 버스, 레저용 차량 등을 포함하지만 이에 제한되지 않는 임의의 유형의 차량일 수 있다. 차량은, 각각이 하나 이상의 컴퓨팅 디바이스(112, 122, 132)를 포함하는, 제1 컴퓨팅 시스템(110), 제2 컴퓨팅 시스템(120) 및 제3 컴퓨팅 시스템(130)과 같은, 복수의 컴퓨팅 시스템을 가질 수 있다. 함께, 이러한 컴퓨팅 시스템들과 디바이스들은 차량(100)에 통합된 자율 주행 운전 컴퓨팅 시스템으로서 기능할 수 있다.
제1, 제2 및 제3 컴퓨팅 시스템들의 추가적인 세부 사항을 제공하는 도 2를 참조하면, 이러한 컴퓨팅 디바이스들(112, 122, 132) 각각은 하나 이상의 프로세서(220, 221, 223), 메모리(230, 233, 236) 및 범용 컴퓨팅 디바이스에 전형적으로 존재하는 다른 컴포넌트를 포함할 수 있다. 메모리(230, 233, 236)는, 제각기, 프로세서(220, 221, 222)에 의해 실행되거나 다른 방식으로 사용될 수 있는 명령어들(231, 234, 237) 및 데이터(232, 235, 238)를 포함하여, 하나 이상의 프로세서(220, 221, 222)에 의해 액세스 가능한 정보를 저장한다. 메모리(230, 233, 236)는, 하드 드라이브, 메모리 카드, ROM, RAM, DVD 또는 다른 광학 디스크는 물론, 다른 기입 가능 및 판독 전용 메모리와 같은, 컴퓨팅 디바이스 판독 가능 매체 또는 전자 디바이스의 도움을 받아 판독될 수 있는 데이터를 저장하는 다른 매체를 포함하여, 프로세서에 의해 액세스 가능한 정보를 저장할 수 있는 임의의 유형일 수 있다. 시스템 및 방법은 전술한 것의 상이한 조합을 포함할 수 있으며, 이에 의해 명령어들 및 데이터의 상이한 부분이 상이한 유형들의 매체에 저장된다.
명령어들(231, 234, 237)은 프로세서에 의해 직접 실행되는 임의의 명령어 세트(예컨대, 머신 코드) 또는 간접적으로 실행되는 임의의 명령어 세트(예컨대, 스크립트)일 수 있다. 예를 들어, 명령어들은 컴퓨팅 디바이스 판독 가능 매체에 컴퓨팅 디바이스 코드로서 저장될 수 있다. 그와 관련하여, "명령어" 및 "프로그램" 및 "소프트웨어"라는 용어들은 본 명세서에서 상호 교환 가능하게 사용될 수 있다. 예를 들어, 아래에서 더 상세히 논의되는 바와 같이, 명령어들은 다양한 능력과 기능을 가진 다양한 소프트웨어 스택을 포함할 수 있다. 명령어들은 프로세서에 의한 직접 프로세싱을 위한 오브젝트 코드 포맷으로 저장될 수 있거나, 요구 시에 인터프리트되거나 사전에 컴파일되는 독립적인 소스 코드 모듈들의 집합체 또는 스크립트를 포함한 임의의 다른 컴퓨팅 디바이스 언어로 저장될 수 있다. 명령어들의 함수, 메소드 및 루틴은 아래에서 더 상세히 설명된다.
데이터(232)는 명령어들(234)에 따라 프로세서(220)에 의해 검색, 저장 또는 수정될 수 있다. 예를 들어, 청구된 주제가 임의의 특정 데이터 구조에 의해 제한되지 않지만, 데이터는 컴퓨팅 디바이스 레지스터에, 관계형 데이터베이스에 복수의 상이한 필드 및 레코드를 갖는 테이블로서, XML 문서 또는 플랫 파일로 저장될 수 있다. 데이터는 또한 임의의 컴퓨팅 디바이스 판독 가능 포맷으로 포맷팅될 수 있다.
하나 이상의 프로세서(220, 221, 222)는, 상업적으로 이용 가능한 CPU 또는 GPU와 같은, 임의의 종래의 프로세서일 수 있다. 대안적으로, 하나 이상의 프로세서는 ASIC 또는 다른 하드웨어 기반 프로세서와 같은 전용 디바이스일 수 있다. 도 2가 컴퓨팅 디바이스(210)의 프로세서, 메모리 및 다른 요소들을 동일한 블록 내에 있는 것으로 기능적으로 예시하지만, 본 기술 분야의 통상의 기술자라면 프로세서, 컴퓨팅 디바이스 또는 메모리가 실제로는 동일한 물리적 하우징 내에 보관될 수 있거나 보관되지 않을 수 있는 다수의 프로세서, 컴퓨팅 디바이스 또는 메모리를 포함할 수 있음을 이해할 것이다. 예를 들어, 컴퓨팅 디바이스(112)의 메모리(230)는 컴퓨팅 디바이스(112)의 하우징과 상이한 하우징에 위치하는 하드 드라이브 또는 다른 저장 매체일 수 있다. 따라서, 프로세서 또는 컴퓨팅 디바이스에 대한 언급이 병렬로 동작할 수 있거나 동작하지 않을 수 있는 프로세서들 또는 컴퓨팅 디바이스들 또는 메모리들의 집합체에 대한 언급을 포함하는 것으로 이해될 것이다.
컴퓨팅 디바이스들(112, 122, 132) 각각은, 아래에서 상세히 설명되는 클라이언트 컴퓨팅 디바이스들 및 서버 컴퓨팅 디바이스들과 같은, 다른 컴퓨팅 디바이스들과의 통신을 용이하게 하기 위해 하나 이상의 무선 네트워크 연결(240, 241, 242)을 또한 포함할 수 있다. 무선 네트워크 연결들은 블루투스, 블루투스 LE(low energy), 셀룰러 연결과 같은 단거리 통신 프로토콜은 물론, 인터넷, 월드 와이드 웹(World Wide Web), 인트라넷, 가상 사설 네트워크, 광역 네트워크, 로컬 네트워크, 하나 이상의 회사 소유의 통신 프로토콜을 사용하는 사설 네트워크, 이더넷, WiFi 및 HTTP, 및 이들의 다양한 조합을 포함한 다양한 구성 및 프로토콜을 포함할 수 있다.
컴퓨팅 시스템(120)의 컴퓨팅 디바이스(122)는 위에서 기술된 프로세서 및 메모리는 물론 하나 이상의 사용자 입력(243)(예를 들면, 마우스, 키보드, 터치 스크린 및/또는 마이크로폰) 및 다양한 전자 디스플레이(예를 들면, 스크린을 갖는 모니터 또는 정보를 디스플레이하도록 동작 가능한 임의의 다른 전기 디바이스)와 같은 컴퓨팅 디바이스와 관련하여 통상적으로 사용되는 컴포넌트들 전부를 또한 포함할 수 있다. 이 예에서, 차량은 정보 또는 시청각적 경험을 제공하기 위해 내부 전자 디스플레이(245)는 물론 하나 이상의 스피커(244)를 포함한다. 이와 관련하여, 내부 전자 디스플레이(246)는 차량(100)의 캐빈 내에 위치할 수 있고, 차량(100) 내에 있는 승객에게 정보를 제공하기 위해 컴퓨팅 디바이스(122)에 의해 사용될 수 있다.
컴퓨팅 시스템(110)은 위치결정 시스템(250), 인지 시스템(260) 및 플래너 시스템(270)을 또한 포함할 수 있다. 이러한 시스템들 각각은 정교한 소프트웨어 모듈을 포함할 수 있고/있거나 컴퓨팅 디바이스들(112, 122, 132), 프로세서(220) 및 메모리(230)와 동일하거나 유사하게 구성된 프로세서 및 메모리를 갖는 하나 이상의 전용 컴퓨팅 디바이스를 포함할 수 있다. 예를 들어, 위치결정 시스템(250)은, 차량의 방향과 속력 또는 그에 대한 변화를 결정하기 위한 가속도계, 자이로스코프 또는 다른 방향/속력 검출 디바이스와 같은, 컴퓨팅 디바이스들(122)과 통신하는 다른 디바이스를 또한 포함할 수 있다. 단지 예로서, 가속도 디바이스는 중력 방향 또는 그에 수직인 평면을 기준으로 그의 피치(pitch), 요(yaw) 또는 롤(roll)(또는 그에 대한 변화)을 결정할 수 있다. 이 디바이스는 또한 속력의 증가 또는 감소 및 그러한 변화의 방향을 추적할 수 있다. 본 명세서에 기재된 바와 같이 이 디바이스가 위치 및 배향 데이터를 제공하는 것은 컴퓨팅 디바이스(122), 다른 컴퓨팅 디바이스 및 이들의 조합에 자동으로 제공될 수 있다.
인지 시스템(260)은 다른 차량, 도로에 있는 장애물, 교통 신호, 표지판, 나무 등과 같은 차량 외부의 대상체를 검출하기 위한 하나 이상의 컴포넌트를 포함할 수 있다. 예를 들어, 인지 시스템(260)은 레이저, 소나, 레이더, 카메라 및/또는 컴퓨팅 디바이스(110)에 의해 프로세싱될 수 있는 데이터를 기록하는 임의의 다른 검출 디바이스를 포함할 수 있다. 차량이 미니밴과 같은 승용차인 경우에, 미니밴은 루프 또는 다른 편리한 위치에 장착된 레이저 또는 다른 센서들을 포함할 수 있다. 예를 들어, 도 3은 차량(100)의 예시적인 외부 뷰이다. 이 예에서, 루프 톱(roof-top) 하우징(310) 및 돔(dome) 하우징(312)은 LIDAR 센서 또는 시스템은 물론 다양한 카메라 및 레이더 유닛을 포함할 수 있다. 추가적으로, 차량(100)의 전단에 위치하는 하우징(320)과 차량의 운전석 측 및 조수석 측의 하우징(330, 332)은 각각 LIDAR 센서 또는 시스템을 보관할 수 있다. 예를 들어, 하우징(330)은 운전석 도어(360)의 전방에 위치한다. 차량(100)은 차량(100)의 루프에도 위치하는 레이더 유닛 및/또는 카메라를 위한 하우징(340, 342)을 또한 포함한다. 추가적인 레이더 유닛 및 카메라(도시되지 않음)는 차량(100)의 전단 및 후단에 및/또는 루프 또는 루프 톱 하우징(310)을 따라 다른 위치에 위치할 수 있다.
인지 시스템은(260)은 차량의 환경에 있는 상이한 대상체들의 검출을 가능하게 하도록 설계된 상이한 소프트웨어 모듈들을 포함할 수 있다. 예를 들어, 제1 컴퓨팅 시스템의 인지 시스템은 교통 신호등 및 그의 상태는 물론, 보행자, 차량, 자전거 타는 사람 등과 같은, 상이한 유형들의 도로 사용자들을 포함한 다른 대상체는 물론, 위치, 배향, 헤딩(heading), 속력, 가속도 등과 같은, 이들의 특성을 검출하기 위한 모듈들을 포함할 수 있다. 제1 컴퓨팅 시스템의 소프트웨어 스택은 이러한 대상체가 향후 일정 시간 기간 동안 어떻게 거동할 가능성이 있는지를 예측하기 위해 정교한 거동 모델을 사용할 수 있다. 유사하게, 제1 컴퓨팅 시스템의 플래너 시스템은 차량이 모든 유형들의 기동들을 수행할 수 있게 하는 궤적을 생성하기 위해 이러한 예측 및 상세 맵 정보를 사용할 수 있다.
플래너 시스템(270)은 위치까지의 루트를 추종하기 위해 컴퓨팅 디바이스(112)에 의해 사용될 수 있다. 이와 관련하여, 컴퓨팅 디바이스들(112)의 플래너 시스템(270) 및/또는 데이터(132)는 상세 맵 정보, 예를 들면, 도로의 형상과 고도, 차선 라인, 교차로, 횡단보도, 속력 제한, 교통 신호, 건물, 표지판, 실시간 교통 정보, 차 세울 곳(pull over spot), 초목 또는 다른 그러한 대상체, 특징부 및 정보를 식별해 주는 매우 상세한 맵을 저장할 수 있다.
도 4는 간선도로(402)와 일반 도로(404)를 포함하는 도로 섹션에 대한 맵 정보(400)의 예이다. 이 예에서, 간선도로(402)는 일반 도로(404) 위를 지나간다. 맵 정보(400)는 컴퓨팅 디바이스들(112)의 메모리(230)에 저장된 맵 정보의 로컬 버전일 수 있다. 맵 정보의 다른 버전이 또한 아래에서 더 논의되는 바와 같이 컴퓨팅 디바이스들(132)의 메모리에 저장될 수 있다. 이 예에서, 맵 정보(400)는 차선 라인(410, 412, 414), 간선도로 출구 램프(420), 간선도로 진입 램프(422), 갓길 영역(430, 432) 등의 형상, 위치 및 다른 특성을 식별해 주는 정보를 포함한다.
맵 정보는 또한, 명확성을 위해 간선도로(402)의 단일 차선에 대해서만 도시되어 있는, 수 미터 또는 그 이상 또는 그 이하의 개별 세그먼트(440)(점에 의해 끝과 끝이 연결된 것으로 도시됨)로서 간선도로(402) 및 일반 도로(404)의 차선의 이산 부분을 정의할 수 있다. 물론, 간선도로(402), 일반 도로(404), 간선도로 출구 램프(420) 및 간선도로 진입 램프(422)의 각각의 차선이 각각 도로 세그먼트로서 정의될 수 있다.
맵 정보는 또한 간선도로와 일반 도로 간을, 예컨대, 주택가 도로, 주 또는 카운티 도로, 또는 임의의 다른 간선도로가 아닌 도로와 같은, 운전 가능한 표면들의 유형들 간을 구별할 수 있다. 추가적으로 또는 대안적으로, 이러한 구역은 또한 보행자 및/또는 차량 통행이 많은 구역으로서 플래깅될 수 있다. 이와 관련하여, 간선도로(402)의 구역 및/또는 도로 세그먼트는 간선도로로서 지정될 수 있고, 일반 도로(404)의 구역 및/또는 도로 세그먼트는 일반 도로로서 지정될 수 있다.
비록 맵 정보가 본 명세서에서 이미지 기반 맵으로서 묘사되지만, 맵 정보가 완전히 이미지 기반(예를 들어, 래스터(raster))일 필요는 없다. 예를 들어, 맵 정보는 도로 세그먼트에 의해 표현될 수 있는 도로, 차선, 교차로 및 이러한 특징부들 사이의 연결과 같은 정보의 하나 이상의 도로 그래프(roadgraph) 또는 그래프 네트워크(graph network)를 포함할 수 있다. 각각의 특징부는 그래프 데이터로서 저장될 수 있고 지리적 위치 및 각각의 특징부가 다른 관련 특징부에 연계되어 있는지 여부와 같은 정보와 연관될 수 있으며, 예를 들어, 정지 표지판은 도로 및 교차로 등에 연계될 수 있다. 일부 예에서, 연관된 데이터는 특정 도로 그래프 특징부의 효율적인 룩업을 가능하게 하기 위해 도로 그래프의 격자 기반 인덱스를 포함할 수 있다.
컴퓨팅 시스템(120)의 다양한 시스템은 차량(100)을 어떻게 제어할지를 결정하기 위해 기능할 수 있다. 예로서, 인지 시스템(260)의 인지 시스템 소프트웨어 모듈은 하나 이상의 센서에 의해 생성되는 센서 데이터를 사용하여 대상체 및 그의 특성을 검출하고 식별할 수 있다. 이러한 특성들은 위치, 대상체 유형, 헤딩, 배향, 속력, 가속도, 가속도의 변화, 크기, 형상 등을 포함할 수 있다. 일부 경우에, 특성들은 검출된 대상체에 대한 예측된 미래 거동을 결정하기 위해 컴퓨팅 디바이스들(112)에 의해 사용될 수 있다.
일 예에서, 컴퓨팅 디바이스들(112)은, 다른 차량의 순간 방향, 가속도/감속도 및 속도, 예를 들면, 다른 차량의 현재 방향 및 움직임이 계속될 것이라는 것에만 기초하여 다른 차량의 미래 움직임을 예측하도록 동작 가능할 수 있다. 그렇지만, 컴퓨팅 디바이스들(112)의 메모리(230)는 또한 검출된 대상체에 대해 하나 이상의 액션이 취해질 확률을 제공하는 거동 모델들을 저장할 수 있다. 이러한 거동 모델들의 유용성을 증가시키기 위해, 각각의 거동 모델이 특정 유형의 대상체와 연관될 수 있다. 예를 들어, 한 유형의 거동 모델은 보행자로서 식별되는 대상체에 대해 사용될 수 있고, 다른 유형의 거동 모델은 차량으로서 식별되는 대상체에 대해 사용될 수 있으며, 다른 유형의 거동은 자전거 또는 자전거 타는 사람 등으로서 식별되는 대상체에 대해 사용될 수 있다. 다른 차량의 현재 주변상황에 관련된 데이터(예컨대, 검출되거나 추정된 크기, 형상, 위치, 배향, 헤딩, 속도, 가속도 또는 감속도, 가속도 또는 감속도의 변화 등)를 분석하고 다른 대상체가 해당 주변상황에 어떻게 반응할 가능성이 있는지를 결정하는 것에 의해 검출된 대상체의 미래 움직임을 예측하기 위해 컴퓨팅 디바이스들(112)에 의해 거동 모델들이 사용될 수 있다. 이와 관련하여, 거동 모델들은, 시스템이 다른 대상체들이 무엇을 인지하는지를 결정하여 해당 대상체들이 어떻게 거동할 것인지를 더 잘 예측한다는 점에서, 대상체 환경의 대상체 중심 시야로부터 기능할 수 있다. 이와 관련하여, 적어도 일부 경우에, 거동 모델들은 또한 대상체에 대한 예측된 거동이 차량(100)을 포함한 특정 다른 대상체에 반응하는지 여부를 나타낼 수 있다.
다른 경우에, 특성들은 컴퓨팅 디바이스들(112)의 메모리(230)에 저장된 하나 이상의 검출 시스템 소프트웨어 모듈에 포함될 수 있다. 이러한 검출 시스템 소프트웨어 모듈은, 예를 들어, 알려진 교통 신호의 상태를 검출하도록 구성된 교통 신호등 검출 시스템 소프트웨어 모듈, 차량의 하나 이상의 센서에 의해 생성되는 센서 데이터로부터 공사 구역을 검출하도록 구성된 공사 구역 검출 시스템 소프트웨어 모듈은 물론 차량의 센서들에 의해 생성되는 센서 데이터로부터 응급 차량을 검출하도록 구성된 응급 차량 검출 시스템을 포함할 수 있다. 이러한 검출 시스템 소프트웨어 모듈들 각각은 공사 구역일 가능성 또는 대상체가 응급 차량일 가능성을 출력하기 위해 다양한 모델들을 사용할 수 있다.
검출된 대상체, 예측된 미래 거동, 검출 시스템 소프트웨어 모듈들로부터의 다양한 가능성들, 차량의 환경을 식별해 주는 맵 정보, 차량의 위치와 배향을 식별해 주는 위치결정 시스템(250)으로부터의 위치 정보, 및 차량의 목적지는 물론 차량의 다양한 다른 시스템들로부터의 피드백이 플래너 시스템(270)의 플래너 시스템 소프트웨어 모듈에 입력될 수 있다. 플래너 시스템(270) 및/또는 컴퓨팅 디바이스들(112)은 이 입력을 사용하여 차량이 향후 어떤 짧은 시간 기간 동안 추종할 루트 및 궤적을 생성할 수 있다. 이러한 궤적은, 예를 들어, 초당 10회 또는 그 이상 또는 그 이하로 주기적으로 생성될 수 있으며, 차량이 목적지까지의 루트를 추종할 수 있게 하기 위해 향후 얼마간의 시간과 거리 동안 연장될 수 있다. 이러한 궤적은 장애물을 피하고 법을 준수하며 일반적으로 안전하고 효과적으로 운전하기 위해 "원하는 경로"로서 생성될 수 있다. 각각의 궤적은 궤적을 따라 상이한 시간에서의 차량의 가속도, 속력 및 위치에 대한 다양한 요구사항을 정의할 수 있다. 각각의 궤적은 차량이 목적지 또는 최종 목표에 도달하게 하도록 설계된 제1 부분과 차량이 안전하게 차를 세우거나 정지할 수 있게 하도록 설계된 제2 부분을 포함할 수 있다. 이와 관련하여, 새로운 궤적이 제시간에 수신되지 않는 경우, 차량은 안전하게 차를 세울 수 있다.
제2 컴퓨팅 시스템(120)은 제1 컴퓨팅 시스템으로부터 궤적을 수신하고 해당 수신된 궤적에 따라 차량을 제어하기 위해 차량의 다양한 액추에이터를 제어하도록 구성될 수 있다. 예를 들어, 컴퓨팅 디바이스들(122)의 메모리(232)에 저장된 제어 시스템 소프트웨어 모듈은 궤적을 추종하기 위해, 예를 들어, 차량의 제동, 가속 및 조향을 제어하는 것에 의해 차량의 움직임을 제어하도록 구성될 수 있다. 일 예로서, 컴퓨팅 디바이스들(122)은 차량의 속력을 제어하기 위해, 차량의 브레이크 페달 또는 다른 입력, 가속 페달 또는 다른 입력, 및/또는 동력 시스템(160)과 같은, 차량의 감속 시스템(140) 및/또는 가속 시스템(150)의 하나 이상의 액추에이터와 상호작용할 수 있다. 유사하게, 조향 시스템(170)은 차량(100)의 방향을 제어하기 위해 컴퓨팅 디바이스들(120)에 의해 사용될 수 있다. 예를 들어, 자동차 또는 트럭과 같은, 차량(100)이 도로에서 사용하도록 구성되는 경우, 조향 시스템은 차량을 방향 전환시키기 위해 바퀴의 각도를 제어하기 위한 컴포넌트를 포함할 수 있다. 시그널링 시스템(180)은, 예를 들어, 필요할 때 방향 지시등 또는 브레이크 라이트를 켜는 것에 의해, 차량의 의도를 다른 운전자들 또는 차량들에 시그널링하기 위해 컴퓨팅 디바이스(110)에 의해 사용될 수 있다.
동력 시스템(160)은 제1, 제2 및 제3 컴퓨팅 시스템들은 물론 차량의 다른 시스템들에 전력을 공급하도록 구성된 다양한 특징부들을 포함할 수 있다. 이와 관련하여, 동력 시스템(160)은 하나 이상의 배터리는 물론 전기 모터 및/또는 가솔린 또는 디젤 동력 엔진을 포함할 수 있다.
제2 컴퓨팅 시스템(120)은 제1 컴퓨팅 시스템의 전술한 플래너 또는 인지 하드웨어 또는 소프트웨어 모듈들을 포함할 필요가 없다. 그렇지만, 일부 경우에, 제2 컴퓨팅 시스템은 제2 컴퓨팅 디바이스가 궤적의 제2 부분을 추종하고 있으며 대상체가 차량 바로 앞에 나타나는 경우 제2 컴퓨팅 디바이스가 비상 제동을 활성화시키게 하도록 구성된, 전방을 향하는 레이더 유닛과 같은, 상당히 단순한 검출 시스템을 포함할 수 있다.
제3 컴퓨팅 시스템(130)은 제1 및 제2 컴퓨팅 시스템과 상이한 능력을 가질 수 있다. 예를 들어, 제3 컴퓨팅 시스템(130)은 제2 컴퓨터보다 큰 컴퓨팅 능력을 가질 수 있다. 동시에, 제3 컴퓨팅 시스템은 또한 제1 컴퓨팅 시스템보다 적은 능력과 전력 요구사항을 가질 수 있다.
제3 컴퓨팅 시스템(130)은 또한 제1 컴퓨팅 시스템(110)의 시스템들 중 일부의 더 간소화된 버전을 가질 수 있다. 예를 들어, 제3 컴퓨팅 시스템은 컴퓨팅 디바이스(122)의 메모리(232), 위치결정 시스템(290), 인지 시스템(292) 및 플래너 시스템(294)에 맵 정보의 사본을 포함할 수 있다. 대안적으로, 사본이 아니라, 제3 컴퓨팅 시스템은 컴퓨팅 디바이스(112)의 메모리(230)로부터 직접 맵 정보에 액세스할 수 있다. 위치결정 시스템(290)은 위치결정 시스템(250)과 동일할 수 있거나 또는 그와 동일하거나 유사하게 구성될 수 있다. 그렇지만, 인지 시스템(292) 및 플래너 시스템(294) 각각은 제1 컴퓨팅 시스템(110)의 기능과 상이한 기능으로 구성될 수 있으며, 이는 제1 컴퓨팅 시스템(110)과 비교하여 제3 컴퓨팅 시스템(130)에 대해 더 적은 컴퓨팅, 리소스 및/또는 다른 리소스 요구사항을 결과한다.
예를 들어, 제3 컴퓨팅 시스템(130)의 인지 시스템(292)은, 예를 들어, 인지 시스템(260)의 센서들 및/또는 인지 시스템(292) 자체에 특정적인 추가적인 센서들(예를 들어, 카메라, 레이더 유닛, 소나, LIDAR 센서 등)을 사용하여 대상체를 검출하도록 구성될 수 있다. 그렇지만, 컴퓨팅 디바이스(122)의 맵 정보에 나타나지 않는 모든 대상체, 더 정확히 말하면, 보행자, 자전거 타는 사람, 및 차량과 같은, 다른 도로 사용자에 대해서는 모두 동일한 유형의 대상체인 것처럼 반응할 수 있다. 이와 관련하여, 제3 컴퓨팅 시스템의 인지 시스템은 상이한 유형들의 대상체들을 구별할 필요가 없다. 이에 따라, 제3 컴퓨팅 시스템(130)은 덜 조밀하고(동일 시간 기간에 더 적은 추정치) 덜 정확한 예측을 행하는 것에 의해 대상체가 어떻게 거동할지에 대한 더 간소화된 예측을 수행할 수 있다. 이와 관련하여, 제3 컴퓨팅 디바이스는 전술한 정교한 거동 예측 소프트웨어 모듈들을 포함하지 않을 수 있다. 그 대신에, 제3 컴퓨팅 디바이스(132)는 미래의 몇 초 동안 현재 속력, 가속도, 감속도, 배향, 가속도 변화, 배향 변화 등을 단순히 외삽하는 것 또는 차량이 대상체가 현재 위치하고 있는 차선을 추종하면서 그의 현재 속력, 가속도, 감속도 등으로 계속 갈 것이라고 단순히 가정하는 것과 같은, 상당히 단순한 거동 모델들을 사용한다. 일 예로서, 간선도로 상의 모든 대상체가 제3 컴퓨팅 디바이스에 의해 현재 속력 등으로 그의 차선을 계속 추종할 것으로 가정될 수 있다.
다른 예로서, 제3 컴퓨팅 시스템의 플래너 시스템(294)은 차량이 추종할 궤적을 생성할 수 있다. 플래너 시스템(270)에서와 같이, 검출된 대상체, 예측된 미래 거동, 검출 시스템 소프트웨어 모듈들로부터의 다양한 가능성들, 차량의 환경을 식별해 주는 맵 정보, 차량의 위치와 배향을 식별해 주는 위치결정 시스템(250)으로부터의 위치 정보, 및 차량의 목적지는 물론 차량의 다양한 다른 시스템들로부터의 피드백이 플래너 시스템(294)의 플래너 시스템 소프트웨어 모듈에 입력될 수 있다. 플래너 시스템(294) 및/또는 컴퓨팅 디바이스들(112)은 이 입력을 사용하여 차량이 향후 어떤 짧은 시간 기간 동안 추종할 루트 및 궤적을 생성할 수 있다. 이러한 궤적은, 예를 들어, 초당 10회 또는 그 이상 또는 그 이하로 주기적으로 생성될 수 있으며, 차량이 목적지까지의 루트를 추종할 수 있게 하기 위해 향후 얼마간의 시간과 거리 동안 연장될 수 있다. 이러한 궤적은 장애물을 피하고 법을 준수하며 일반적으로 안전하고 효과적으로 운전하기 위해 "원하는 경로"로서 생성될 수 있다. 각각의 궤적은 궤적을 따라 상이한 시간에서의 차량의 가속도, 속력 및 위치에 대한 다양한 요구사항을 정의할 수 있다. 각각의 궤적은 차량이 목적지 또는 최종 목표에 도달하게 하도록 설계된 제1 부분과 차량이 안전하게 차를 세우거나 정지할 수 있게 하도록 설계된 제2 부분을 포함할 수 있다. 이와 관련하여, 새로운 궤적이 제시간에 수신되지 않는 경우, 차량은 안전하게 차를 세울 수 있다.
그렇지만, 플래너 시스템(294)은 그의 생성된 궤적이 포함할 수 있는 기동들의 유형들에서 제한될 수 있다. 일부 예에서, 기동들의 유형들은 하나 이상의 미리 결정된 기동 목록으로서 정의될 수 있다. 아래에서 추가로 논의되는 바와 같이, 어느 미리 결정된 기동 목록이 플래너 시스템(294)에 의해 사용되는지는 제1 컴퓨팅 시스템의 고장들의 유형은 물론 차량이 어디에 위치하는지에 기초하여 결정될 수 있다. 예를 들어, 제3 컴퓨팅 시스템은 차량이 특정 곡률의 방향 전환, 특정 유형의 방향 회전 등을 수행하기 위한 궤적만을 생성할 수 있다. 다른 예로서, 간선도로에서 필요한 반응들의 유형들은 일반 도로에서 필요한 반응들의 유형들과 상이할 수 있으며, 따라서 허용되는 기동이 차량의 위치에 기초하여 결정될 수 있다.
예시적인 방법
위에서 기술되고 도면에 예시된 동작들 외에도, 다양한 동작들이 이제 기술될 것이다. 이하의 동작들이 아래에서 기술되는 정확한 순서로 수행될 필요가 없음을 이해해야 한다. 오히려, 다양한 단계들이 상이한 순서로 또는 동시에 처리될 수 있으며, 단계들이 또한 추가되거나 생략될 수 있다.
위에서 언급된 바와 같이, 자율 주행 운전 모드에서 차량(100)을 제어하기 위해, 제1 컴퓨팅 시스템(110), 제2 컴퓨팅 시스템(120) 및 제3 컴퓨팅 시스템은 상이한 유형들의 메시지들 및 정보를 서로 송신하고 수신할 수 있다. 이 정보는, 예를 들어, 차량의 CAN 버스를 통해 송신될 수 있다. 도 5를 참조하면, 컴퓨팅 디바이스들(112)은 궤적들을 포함하는 궤적 메시지들(510) 및 에러들을 포함하는 에러 메시지들(520)을 제2 컴퓨팅 시스템(120)의 컴퓨팅 디바이스들(122)로 송신할 수 있다. 추가적으로, 이러한 메시지들, 특히 에러 메시지들(520)이 제3 컴퓨팅 시스템(130)의 컴퓨팅 디바이스들(132)에 의해 수신될 수 있다. 제3 컴퓨팅 시스템(130)의 컴퓨팅 디바이스들(132)은 또한 궤적 메시지들(530)을 제2 컴퓨팅 시스템(120)의 컴퓨팅 디바이스들(122)로 송신할 수 있다. 일부 예에서, 제3 컴퓨팅 시스템(130)의 컴퓨팅 디바이스들(132)은 또한 커맨드 메시지들(540) 및/또는 커맨드 메시지들(550)을 제1 컴퓨팅 시스템(110)의 컴퓨팅 디바이스들(112)로 및 제2 컴퓨팅 시스템(120)의 컴퓨팅 디바이스들(122)로 송신할 수 있다.
도 6은 제1 컴퓨팅 시스템(110), 제2 컴퓨팅 시스템(120) 및 제3 컴퓨팅 시스템(130)과 같은 제1, 제2 및 제3 컴퓨팅 시스템들을 사용하여 자율 주행 운전 모드에서, 차량(100)과 같은, 차량을 제어하기 위한 예시적인 흐름 다이어그램(600)이다. 예를 들어, 블록(602)에서, 제1 컴퓨팅 시스템의 플래너 시스템(270)은 위에서 논의된 바와 같이 차량에 대한 새로운 궤적들을 생성하기 위해 다양한 입력들을 사용할 수 있다.
블록들(604 및 606)에 도시된 바와 같이, 이러한 궤적들은, 예를 들어, 도 5의 궤적 메시지들(510)을 통해 컴퓨팅 시스템(120)의 컴퓨팅 디바이스들(122)로 송신되어 이들에 의해 수신될 수 있다. 이에 응답하여, 블록(608)에 도시된 바와 같이, 컴퓨팅 디바이스들(112)은 수신된 궤적에 따라 자율 주행 운전 모드에서 차량을 제어할 수 있다. 예를 들어, 위에서 언급된 바와 같이, 컴퓨팅 디바이스들(112)은 감속 시스템(140), 가속 시스템(150), 조향 시스템(170) 및/또는 동력 시스템(160)의 액추에이터들을 제어하기 위한 커맨드들을 송신하는 것에 의해 차량이 궤적을 추종하도록 제어할 수 있다.
도 7은 차량(100)이 흐름 다이어그램(600)의 블록들(602 내지 608)에 따라 기능하는 것의 예를 제공한다. 이 예에서, 차량(100)은 간선도로(702) 및 일반 도로(704)를 포함하는 도로 섹션(700)에서 기동되고 있다. 도 7의 예에서, 간선도로(702) 및 일반 도로(704)는, 제각기, 맵 정보(400)의 간선도로(402) 및 일반 도로(704)에 대응한다. 이 예에서, 차선 라인들(710, 712 및 714)은, 제각기, 차선 라인들(410, 412 및 414)의 형상, 위치 및 다른 특성들에 대응한다. 유사하게, 간선도로 출구 램프(720), 간선도로 진입 램프(722), 갓길 영역들(730, 732) 등은 간선도로 출구 램프(420), 간선도로 진입 램프(422), 갓길 영역들(430, 432) 등의 형상, 위치 및 다른 특성들에 대응한다. 차량(100)은 궤적(770)을 추종하면서 일반 도로(704)로부터 간선도로 진입 램프(722)에 접근하고 있다. 이 시점에서, 궤적(770)은 목적지까지 차량을 제어하기 위한 제1 부분(780)과 컴퓨팅 시스템(110)이 제2 컴퓨팅 시스템(120)에 새로운 궤적을 제공하지 않는 경우에 차량이 차를 세우고 정지하도록 제어하기 위한 제2 부분(790)을 갖는 현재 궤적이다.
이에 따라, 차량(100)은 새로운 궤적이 플래너 시스템(270)으로부터 제2 컴퓨팅 시스템(120)의 컴퓨팅 디바이스들(122)에 의해 수신될 때까지, 제1 부분(780)과 같은, 현재 궤적의 적어도 제1 부분을 추종하면서 궤적을 따라 진행할 것이다. 전형적으로, 새로운 궤적이 생성되고, 컴퓨팅 디바이스들(112)에 의해 수신되며, 제2 부분(790)과 같은, 현재 궤적의 제2 부분의 시작 전에 작동될 것이다. 물론, 만약 그렇지 않다면, 컴퓨팅 디바이스들(110)은 궤적의 제2 부분을 추종하여 차량이 차를 세우거나 정지 등을 하도록 하기 위해 차량을 원활하게 계속 제어할 것이다.
도 6으로 돌아가면, 이 프로세스가 진행되는 동안, 블록(610)에 도시된 바와 같이, 제3 컴퓨팅 시스템(130)의 컴퓨팅 디바이스들(132)은, 전술한 에러 메시지들(520)을 포함하여, 제1 컴퓨팅 시스템으로부터 제2 컴퓨팅 시스템으로 송신되는 메시지들을 모니터링할 수 있다. 이러한 에러 메시지들은 제1 컴퓨팅 시스템에서의 에러들을 나타낼 수 있다. 이와 관련하여, 제3 컴퓨팅 시스템은 블록(612)에 도시된 바와 같이 에러가 검출되는지 여부를 결정할 수 있다. 에러들이 검출되지 않는 경우, 제3 컴퓨팅 시스템은 메시지들을 계속 모니터링할 수 있다.
제1 컴퓨팅 시스템에서의 에러가 검출될 때, 제3 컴퓨팅 시스템은 궤적들을 생성하고 이러한 궤적들을 제2 컴퓨팅 시스템으로 송신하기 위해 제1 컴퓨팅 시스템을 대신하여 인계받을 수 있다. 그렇게 하기 위해, 제3 컴퓨팅 시스템은, 예를 들어, 도 5의 커맨드 메시지들(540)과 같은, 커맨드 메시지를 제1 컴퓨팅 시스템으로 송신하는 것에 의해, 제1 컴퓨팅 시스템이 종료되도록 요청할 수 있다. 대안적으로, 제1 및 제3 컴퓨팅 시스템들 둘 모두는 항상 (어느 정도의 통상적인 초기 평탄도를 갖는) 궤적들을 동시에 생성하는 것을 계속할 수 있다. 이 경우에, 제2 컴퓨팅 시스템은 제1 및 제3 컴퓨팅 시스템들 각각으로부터의 궤적들 간의 중재를 하고 어느 것을 사용할 것인지 결정할 수 있다. 이러한 중재의 필요성을 피하기 위해, 제3 컴퓨팅 시스템은 제1 컴퓨팅 시스템으로부터의 궤적들을 무시하기 위해, 커맨드 메시지들(550)과 같은, 커맨드 메시지를 제2 컴퓨팅 시스템으로 송신할 수 있다.
그렇게 하기 위해, 제1 컴퓨팅 시스템에서의 에러가 검출될 때, 제3 컴퓨팅 시스템(130)의 컴퓨팅 디바이스들(132)은 블록(614)에 도시된 바와 같이 차량이 운전 중인 도로 유형을 결정할 수 있다. 이것은 위치결정 시스템(250) 및/또는 위치결정 시스템(290)으로부터 차량의 마지막으로 알려진 위치 또는 현재 위치를 컴퓨팅 디바이스들(132)의 메모리(230)에 저장된 맵 정보와 비교하는 것을 포함할 수 있다. 일 예로서, 위치 및 맵 정보를 사용하여, 컴퓨팅 디바이스들(132)은 차량이 주행하고 있는 도로 세그먼트를 결정할 수 있다. 이 도로 세그먼트는 도로 세그먼트의 유형을 나타내는 식별자, 예를 들어, 간선도로 또는 일반 도로와 연관될 수 있다. 따라서, 달리 말하면, 컴퓨팅 디바이스들(132)은 차량이 간선도로에 있는지 또는 일반 도로에 있는지를 결정할 수 있다.
블록(616)에 도시된 바와 같이, 결정된 도로 유형에 기초하여, 제3 컴퓨팅 시스템은 차량을 제어하기 위한 궤적들을 어떻게 생성할지 및 어떤 기능을 따를지를 결정할 수 있다. 예를 들어, 차량이 간선도로에 위치하는 것으로 결정되는 경우, 일부 상황에서, 제3 컴퓨팅 시스템은 전술한 교통 신호등 검출 시스템 소프트웨어 모듈 또는 기능을 사용하여 교통 신호등 및 교통 신호등 상태를 검출할 수 있는 능력과 같은 인지 시스템(292)의 특정 특징들을 사용할 필요가 없다. 이와 관련하여, 이 기능이 "꺼질" 수 있으며, 궤적들을 생성하기 위해 제3 컴퓨팅 시스템에 의해 사용될 필요가 없다. 추가적으로, 간선도로에 보행자 또는 자전거 타는 사람이 없을 가능성이 있기 때문에, 차량에 매우 가까운 대상체를 검출하는 것이 덜 중요할 수 있으며 더 낮은 프로세싱 우선순위를 부여받을 수 있다. 추가로, 교통량이 많지 않은 상황에서는, 차량이 연속적으로 움직일 가능성이 더 많기 때문에, 다른 도로 사용자가 차량의 사각 지대에 진입할 가능성이 없을 수 있으며, 다시 말하지만 차량에 매우 가까운 대상체를 검출하는 것은 더 낮은 프로세싱 우선순위를 부여받을 수 있다.
이러한 궤적들은 차량이 그의 차선을 유지할 수 있게 하거나 차량이 일반 도로에 도달하기 위해 간선도로를 빠져나갈 위치에 있게 되도록 한 번에 한 차선씩 오른쪽으로 이동할 수 있게 하는 궤적들을 포함할 수 있다. 추가적으로, 궤적들을 생성할 때, 제3 컴퓨팅 시스템은, 이용 가능한 주차 공간, 교통 신호를 피하는 루트, 특정 기동(예컨대, 비보호 방향 전환)을 피하는 루트, 알려진 공사 구역을 피하는 루트 등과 같은, 특정 특성들을 갖는 일반 도로에 근접한 인근의 출구를 탐색할 수 있다.
추가적으로 또는 대안적으로, 궤적들을 생성할 때, 제3 컴퓨팅 시스템은 또한 제3 컴퓨팅 시스템의 기능의 다른 양상들을 고려할 수 있다. 예를 들어, 차량이 간선도로 또는 일반 도로에서 동작하고 있을 때, 제3 컴퓨팅 시스템(130)의 인지 시스템(292) 및 플래너 시스템(294)은 실제로는 대상체의 상이한 유형들 간을 구별할 필요가 없다. 추가적으로, 제3 컴퓨팅 시스템(130)의 컴퓨팅 디바이스들(132)은 이러한 대상체들에 관해 매우 기본적인 예측을 행할 수 있다. 그렇지만, 일부 경우에, 일부 구별은 보행자와 차량 간을 자동으로 식별하고 구별할 수 있는, LIDAR 시스템, 예컨대, 돔 하우징(312)의 LIDAR 시스템과 같은, 센서들 자체의 소프트웨어 모듈들에 의해 자동으로 수행될 수 있다. 물론, 이러한 대상체들은 모두 제3 컴퓨팅 시스템(130)의 프로세싱 및 전력 요구사항을 제한하기 위해 여전히 동일하게 취급될 수 있다.
일부 경우에, 제1 컴퓨팅 시스템(110)에서의 에러가 검출될 때, 제3 컴퓨팅 시스템(130)은 또한 차량이, 있는 경우, 어떤 유형의 위치를 피해야 하는지를 결정하기 위해 차량의 이용 가능한 센서들의 기능을 평가할 수 있다. 해당 사용 사례에 대한 주 센서들 중 하나와 같이. 환언하면, 상이한 유형들의 기능을 요구하는 도로 범위의 계층구조가 있을 수 있으며, 차량이 특정 도로 범위에 대해 요구되는 기능을 갖지 않는 경우, 제3 컴퓨팅 시스템은 해당 도로 범위를 갖는 구역을 피할 수 있다. 예를 들어, 동력 시스템 또는 개별 센서 문제와 같은, 특정 유형들의 고장은 차량의 환경에서 특정 위치에 있는 대상체를 검출할 수 있는 차량의 능력을 저하시킬 수 있다. 이와 관련하여, 제3 컴퓨팅 시스템(130)은 차량의 센서들 중 어느 것이 여전히 기능하는지를 결정하고 그에 따라 궤적들을 생성할 수 있다. 예를 들어, 차량(100)의 좌측 후방 코너 레이더가 손상된 경우(즉, 동작 사양에 따라 더 이상 기능하지 않음), 고속 도로에서 좌측으로의 차선 변경이 회피될 수 있는데, 그 이유는 좌측 후방 코너 레이더가 그러한 기동에 중요할 수 있기 때문이다. 다른 예로서, 제3 컴퓨팅 시스템이 이러한 목적으로 사용되는 카메라 센서에서의 에러로 인해 교통 신호등을 검출할 수 없는 경우와 같은 일부 경우에, 차량이 간선도로에 있을 때, 제3 컴퓨팅 시스템은 차량이 일반 도로에 진입하기보다는 간선도로에 머무르고 간선도로에서 차를 세우게 할 수 있다. 추가적으로, 제3 컴퓨팅 시스템은 특정 유형들의 기동을 갖는 루트 또는 특정 유형들의 구역들을 통과하는 루트를 피할 수 있다. 이는 비보호 방향 전환, 갓길 영역이 있거나 없는 것을 포함한 다분기 방향 전환(multipoint turn), 고속 차선 변경, 주차장, 공사 구역, 스쿨 존, 사거리 정지 표지판(4-way stop), 좁은 도로, 일방 통행 도로, 저마찰 도로(즉, 자갈), 야간 조명이 약한 도로, 중앙 차선(suicide lane)이 있는 도로 등을 갖는 루트를 포함할 수 있다.
궤적들을 어떻게 생성할지 및 어떤 기능을 따를지의 결정에 기초하여, 제3 컴퓨팅 디바이스들은 위에서 기술된 바와 같이 블록(618)에서 궤적들을 생성할 수 있다. 블록(620 및 606)에 도시된 바와 같이, 이러한 궤적들은, 예를 들어, 도 5의 궤적 메시지들(530)을 통해 컴퓨팅 시스템(120)의 컴퓨팅 디바이스들(122)로 송신되어 이들에 의해 수신될 수 있다. 이에 응답하여, 블록(608)에 도시된 바와 같이, 컴퓨팅 디바이스들(112)은 수신된 궤적에 따라 자율 주행 운전 모드에서 차량을 제어할 수 있다. 예를 들어, 위에서 언급된 바와 같이, 컴퓨팅 디바이스들(112)은 감속 시스템(160), 가속 시스템(150), 조향 시스템(170) 및/또는 동력 시스템(160)의 액추에이터들을 제어하기 위한 커맨드들을 송신하는 것에 의해 차량이 궤적을 추종하도록 제어할 수 있다.
블록(614)으로 돌아가서, 차량이 일반 도로에 위치하는 것으로 결정될 때 또는 일단 차량이 일반 도로에 도달하면, 제3 컴퓨팅 시스템은 교통 신호등 및 교통 신호등 상태를 검출하기 위한 기능을 필요로 할 수 있다. 추가적으로, 차량에 매우 가까운, 예를 들어, 차량과 나란히 있는 대상체를 검출하는 것이 훨씬 더 중요할 수 있다. 이로 인해, 제3 컴퓨팅 시스템(130)은, 시속 10 마일 이하와 같은, 미리 결정된 제한 속력으로 운전하도록, 그러한 대상체가 차량의 기능하는 센서들에 의해 검출될 가능성을 증가시키도록 그리고 이러한 대상체를 검출하고 그에 반응하기 위한 추가적인 시간을 제3 컴퓨팅 시스템에 제공하도록 차량이 제어되게 하는 궤적들을 생성할 수 있다. 추가적으로, 언급된 바와 같이 일반 도로에서 운전하고 있을 때, 제3 컴퓨팅 시스템(130)의 플래너 시스템(294)은 특정 유형들의 기동들에 대한 궤적만을 허용하거나 생성할 수 있으며, 특정 유형들의 곡률을 갖는 방향 전환, 비보호 방향 전환, 다분기 방향 전환 등과 같은 다른 유형들의 기동들에 대한 궤적들을 생성하는 것을 금지하거나 제한할 수 있다. 일부 예에서, 일반 도로에서 운전하고 있을 때, 제3 컴퓨팅 시스템은 또한 차량이, 보행자 및/또는 차량 통행이 많은 구역으로서 맵 정보에서 식별되는 구역과 같은, 특정 구역에 진입하는 것을 방지하기 위해 궤적들을 생성할 수 있다. 이와 관련하여, 제3 컴퓨팅 시스템의 플래너 시스템은 이러한 구역들을 통해 차량을 라우팅하는 궤적들을 생성하는 것을 피할 수 있다.
다시 말하지만, 궤적들을 어떻게 생성할지 및 어떤 기능을 따를지의 결정에 기초하여, 제3 컴퓨팅 디바이스들은 위에서 기술된 바와 같이 블록(618)에서 궤적들을 생성할 수 있다. 블록들(620 및 606)에 도시된 바와 같이, 이러한 궤적들은, 예를 들어, 도 5의 궤적 메시지들(530)을 통해 컴퓨팅 시스템(120)의 컴퓨팅 디바이스들(122)로 송신되어 이들에 의해 수신될 수 있다. 이에 응답하여, 블록(608)에 도시된 바와 같이, 컴퓨팅 디바이스들(112)은 수신된 궤적에 따라 자율 주행 운전 모드에서 차량을 제어할 수 있다. 예를 들어, 위에서 언급된 바와 같이, 컴퓨팅 디바이스들(112)은 감속 시스템(160), 가속 시스템(150), 조향 시스템(170) 및/또는 동력 시스템(160)의 액추에이터들을 제어하기 위한 커맨드들을 송신하는 것에 의해 차량이 궤적을 추종하도록 제어할 수 있다.
본 명세서에서 기술된 특징은 제1 또는 주 컴퓨팅 시스템의 다양한 유형들의 고장의 경우에 차량이 계속 안전하게 제어될 수 있게 할 수 있다. 추가적으로, 이러한 특징은 어떤 기능이 이용 가능한지와 차량이 현재 어디에 위치하는지에 따라 상이한 폴백 거동을 가능하게 한다. 환언하면, 제3 컴퓨팅 시스템은 가능한 최상의 결과에 이르기 위해 현재 기능을 활용할 수 있다. 예를 들어, 간선도로 운전 동안, 차량은 차선을 변경하거나 차를 세우려고 시도하기 전에 그의 현재 차선에서 계속 운전할 수 있는데, 그 이유는 이것을 달성하는 데 필요한 계산 능력 및 센서들이 비-간선도로 운전(즉, 일반 도로)을 위해 동일한 것을 달성하는 데 필요한 것보다 훨씬 더 적기 때문이다. 일반 도로에서 운전할 때, 차량의 센서들 및 다른 시스템들이 더 잘 대상체를 검출하고 그에 반응할 수 있게 하기 위해, 차량이 극적으로, 예를 들어, 10 mph 또는 그 이상 또는 그 이하로 속력이 줄어들 수 있다. 특히 간선도로 운전 및/또는 교통량이 많은 구역과 같은 특정 운전 상황에서, 차량을 즉각 정지시키는 전형적인 심각한 반응보다는 이러한 추가적인 레벨의 정교함이 훨씬 더 안전할 수 있다.
달리 언급되지 않는 한, 전술한 대안적인 예들은 상호 배타적이지 않으며, 고유한 장점을 달성하기 위해 다양한 조합으로 구현될 수 있다. 청구항들에 의해 규정된 주제를 벗어나지 않으면서 위에서 논의된 특징들의 이들 및 다른 변형 및 조합이 이용될 수 있기 때문에, 실시예에 대한 전술한 설명은 청구항들에 의해 규정된 주제의 제한이 아니라 예시로 보아야 한다. 추가적으로, 본 명세서에 기술된 예를 제공하는 것은 물론, "예컨대", "포함하는" 등으로 표현된 문구는 청구항들의 주제를 특정 예로 제한하는 것으로 해석되어서는 안되며; 오히려, 예는 많은 가능한 실시예들 중 하나만을 예시하는 것으로 의도되어 있다. 게다가, 상이한 도면에서의 동일한 참조 번호는 동일하거나 유사한 요소를 식별해 줄 수 있다.

Claims (20)

  1. 자율 주행 운전 모드에서 차량을 제어하기 위한 시스템으로서,
    센서 데이터를 생성하도록 구성된 복수의 센서;
    상기 센서 데이터를 사용하여 궤적들을 생성하고,
    상기 생성된 궤적들을 상기 차량으로 하여금 수신된 궤적을 추종하게 하도록 구성된 제2 컴퓨팅 시스템으로 송신하도록
    구성된 제1 컴퓨팅 시스템; 및
    상기 제1 컴퓨터 시스템의 고장이 있을 때, 상기 차량이 현재 주행하고 있는 도로 유형에 기초하여 궤적들을 생성하여 상기 제2 컴퓨팅 시스템으로 송신하도록 구성된 제3 컴퓨팅 시스템을 포함하는, 시스템.
  2. 제1항에 있어서, 상기 제3 컴퓨팅 시스템은 상기 차량이 간선도로(highway) 또는 일반 도로(surface street)에 위치하는지에 기초하여 상기 궤적들을 생성하여 송신하도록 추가로 구성되는, 시스템.
  3. 제1항에 있어서, 상기 제2 컴퓨팅 시스템을 추가로 포함하는, 시스템.
  4. 제1항에 있어서, 상기 고장은 상기 복수의 센서 중 하나 이상에 관련되고, 상기 제3 컴퓨팅 시스템은 상기 복수의 센서 중 어느 것이 기능하고 있는지에 추가로 기초하여 상기 궤적들을 생성하도록 구성되는, 시스템.
  5. 제1항에 있어서, 상기 제1 컴퓨팅 시스템은 상기 센서 데이터에서 상이한 유형들의 도로 사용자들 간을 구별하도록 구성되고, 상기 제2 컴퓨팅 시스템은 상기 센서 데이터에서 상이한 유형들의 도로 사용자들 간을 구별하도록 구성되지 않는, 시스템.
  6. 제5항에 있어서, 상기 제1 컴퓨팅 시스템은 상기 상이한 유형들의 도로 사용자들 각각에 기초하여 상이한 거동 예측들을 생성하도록 구성되고, 상기 제3 컴퓨팅 시스템은 상기 센서 데이터에서 모든 도로 사용자들에 대한 거동 예측들을 동일한 방식으로 생성하도록 구성되는, 시스템.
  7. 제6항에 있어서, 상기 제3 컴퓨팅 시스템은 간선도로에서의 임의의 주어진 도로 사용자의 검출에 응답하여 현재 차선을 추종하는 것 또는 차선을 변경하는 것에 대응하는 거동 예측들을 생성하도록 구성되는, 시스템.
  8. 제1항에 있어서, 상기 제1 컴퓨팅 시스템은 가능한 기동들의 제1 목록에 따라 궤적들을 생성하도록 구성되고, 상기 제3 컴퓨팅 시스템은 상기 가능한 기동들의 제1 목록보다 작은 가능한 기동들의 제2 목록에 따라 궤적들을 생성하도록 구성되는, 시스템.
  9. 제8항에 있어서, 상기 제3 컴퓨팅 시스템은 상기 차량이 간선도로 또는 일반 도로에 위치하는지에 기초하여 상기 가능한 기동들의 제2 목록을 결정하도록 구성되는, 시스템.
  10. 제8항에 있어서, 상기 제3 컴퓨팅 시스템은 상기 복수의 센서 중 어느 것이 기능하고 있는지에 기초하여 상기 가능한 기동들의 제2 목록을 결정하도록 구성되는, 시스템.
  11. 제8항에 있어서, 상기 제3 컴퓨팅 시스템은 상기 복수의 센서에 대한 이용 가능한 센서 기능에 기초하여 상기 가능한 기동들의 제2 목록을 결정하도록 구성되는, 시스템.
  12. 제1항에 있어서, 상기 제3 컴퓨팅 시스템은 상기 차량이 상기 제1 컴퓨팅 시스템에 의해 허용되는 특정 유형들의 기동들을 행하는 것을 방지하도록 추가로 구성되는, 시스템.
  13. 제12항에 있어서, 상기 특정 유형들의 기동들은 특정 곡률의 방향 전환들을 포함하는, 시스템.
  14. 제1항에 있어서, 상기 제3 컴퓨팅 시스템은 미리 저장된 맵 정보를 참조하는 것에 의해 상기 차량이 간선도로 또는 일반 도로에 위치한다고 결정하도록 추가로 구성되고, 상기 제3 컴퓨팅 시스템은 상기 차량이 간선도로 또는 일반 도로에 위치한다는 상기 결정에 추가로 기초하여 상기 궤적들을 생성하여 송신하도록 추가로 구성되는, 시스템.
  15. 제14항에 있어서, 상기 제1 컴퓨팅 시스템은 교통 신호등 검출 기능을 사용하여 교통 신호등들을 검출하도록 구성되고, 상기 차량이 간선도로에 위치하는 것으로 결정될 때, 상기 제3 컴퓨팅 시스템은 상기 교통 신호등 검출 기능을 사용하지 않고 궤적들을 생성하도록 추가로 구성되는, 시스템.
  16. 제14항에 있어서, 상기 제1 컴퓨팅 시스템은 교통 신호등 검출 기능을 사용하여 교통 신호등들을 검출하도록 구성되고, 상기 차량이 일반 도로에 위치하는 것으로 결정될 때, 상기 제3 컴퓨팅 시스템은 상기 교통 신호등 검출 기능을 사용하여 궤적들을 생성하도록 추가로 구성되는, 시스템.
  17. 제14항에 있어서, 상기 제3 컴퓨팅 시스템은, 상기 차량이 일반 도로에 위치하는 것으로 결정될 때, 상기 차량이 미리 결정된 속력으로 주행하도록 제어하기 위해 궤적들을 생성하도록 추가로 구성되며, 상기 미리 결정된 속력은 상기 차량의 환경에 있는 대상체들을 검출하고 대상체들에 반응하기 위한 시간을 제공하는, 시스템.
  18. 제14항에 있어서, 상기 차량이 간선도로에 위치하는 것으로 결정될 때, 상기 제3 컴퓨팅 시스템은 상기 차량이 상기 간선도로를 빠져나와 일반 도로에 도달하도록 제어하기 위해 궤적들을 생성하도록 추가로 구성되는, 시스템.
  19. 제18항에 있어서, 상기 제3 컴퓨팅 시스템은 특정 특성들을 가진 일반 도로에 근접한 출구를 탐색하고, 상기 출구에서 상기 간선도로를 빠져나와 일반 도로에 도달하도록 상기 차량을 제어하기 위해 궤적들을 생성하도록 구성되는, 시스템.
  20. 제1항에 있어서, 상기 차량을 추가로 포함하는, 시스템.
KR1020217016925A 2018-11-05 2019-10-30 자율 주행 차량들에 대한 폴백 거동들을 구현하기 위한 시스템 KR102465686B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/180,267 2018-11-05
US16/180,267 US10838417B2 (en) 2018-11-05 2018-11-05 Systems for implementing fallback behaviors for autonomous vehicles
PCT/US2019/058766 WO2020096830A1 (en) 2018-11-05 2019-10-30 Systems for implementing fallback behaviors for autonomous vehicles

Publications (2)

Publication Number Publication Date
KR20210070387A true KR20210070387A (ko) 2021-06-14
KR102465686B1 KR102465686B1 (ko) 2022-11-11

Family

ID=70458091

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217016925A KR102465686B1 (ko) 2018-11-05 2019-10-30 자율 주행 차량들에 대한 폴백 거동들을 구현하기 위한 시스템

Country Status (8)

Country Link
US (3) US10838417B2 (ko)
EP (1) EP3856597A4 (ko)
JP (2) JP7337155B2 (ko)
KR (1) KR102465686B1 (ko)
CN (1) CN113302109B (ko)
AU (1) AU2019377392B2 (ko)
CA (1) CA3118477A1 (ko)
WO (1) WO2020096830A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2022227763A1 (en) * 2021-02-25 2023-09-28 Autonomous Solutions, Inc. Intelligent urgent stop system for an autonomous vehicle
WO2023028274A1 (en) * 2021-08-25 2023-03-02 Cyngn, Inc. System and method of large-scale autonomous driving validation
USD1014398S1 (en) 2021-12-23 2024-02-13 Waymo Llc Vehicle
USD1016636S1 (en) 2021-12-23 2024-03-05 Waymo Llc Sensor assembly
EP4230494A1 (en) * 2022-02-18 2023-08-23 TuSimple, Inc. System copmprising three groups of sensors
US20240017738A1 (en) * 2022-07-12 2024-01-18 Waymo Llc Planning trajectories for controlling autonomous vehicles

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130253756A1 (en) * 2012-03-21 2013-09-26 Fuji Jukogyo Kabushiki Kaisha Vehicle control system
US20150307110A1 (en) * 2012-11-20 2015-10-29 Conti Temic Microelectronic Gmbh Method for a Driver Assistance Application
US20170010612A1 (en) * 2015-07-07 2017-01-12 Honda Motor Co., Ltd. Vehicle controller, vehicle control method, and vehicle control program
JP2017032543A (ja) * 2016-05-31 2017-02-09 パナソニックIpマネジメント株式会社 運転支援装置、運転支援システム、運転支援方法、運転支援プログラム及び自動運転車両
JP2017117080A (ja) * 2015-12-22 2017-06-29 アイシン・エィ・ダブリュ株式会社 自動運転支援システム、自動運転支援方法及びコンピュータプログラム
US20180046182A1 (en) * 2016-08-15 2018-02-15 Ford Global Technologies, Llc Autonomous vehicle failure mode management
CN108196547A (zh) * 2018-01-08 2018-06-22 北京图森未来科技有限公司 一种自动驾驶系统
US20180251126A1 (en) * 2017-03-01 2018-09-06 Zoox, Inc. Trajectory generation and execution architecture

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3739414A (en) * 1970-11-30 1973-06-19 Shoe & Allied Trades Res Ass Shoe manufacture
EP0913751B1 (de) 1997-11-03 2003-09-03 Volkswagen Aktiengesellschaft Autonomes Fahrzeug und Verfahren zur Steuerung eines autonomen Fahrzeuges
US6873251B2 (en) 2002-07-16 2005-03-29 Delphi Technologies, Inc. Tracking system and method employing multiple overlapping sensors
DE102005050310A1 (de) 2004-10-22 2006-06-08 Irobot Corp., Burlington Systeme und Verfahren zum Steuern eines Fahrzeuges
JP2007257303A (ja) * 2006-03-23 2007-10-04 Honda Motor Co Ltd 信号機認識装置
US20070293989A1 (en) 2006-06-14 2007-12-20 Deere & Company, A Delaware Corporation Multiple mode system with multiple controllers
JP5482323B2 (ja) * 2010-03-12 2014-05-07 株式会社豊田中央研究所 運転支援装置及びプログラム
US8618922B2 (en) 2010-03-30 2013-12-31 GM Global Technology Operations LLC Method and system for ensuring operation of limited-ability autonomous driving vehicles
JP2011240816A (ja) 2010-05-18 2011-12-01 Denso Corp 自律走行制御装置
US20140303812A1 (en) 2013-04-05 2014-10-09 Hamilton Sundstrand Corporation Backup control system
DE102013213169A1 (de) * 2013-07-04 2015-01-08 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Kraftfahrzeugs in einem automatisierten Fahrbetrieb
DE102014220781A1 (de) 2014-10-14 2016-04-14 Robert Bosch Gmbh Ausfallsichere E/E-Architektur für automatisiertes Fahren
DE102014221682A1 (de) 2014-10-24 2016-04-28 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Fahrzeugs
JP5957744B1 (ja) 2015-07-31 2016-07-27 パナソニックIpマネジメント株式会社 運転支援装置、運転支援システム、運転支援方法、運転支援プログラム及び自動運転車両
EP3356899B1 (en) 2015-09-28 2021-12-29 Uatc, Llc Method of operating an autonomous vehicle having independent auxiliary control unit
DE102015220355A1 (de) * 2015-10-20 2017-04-20 Robert Bosch Gmbh Substitution von Sensormessdaten
US9910441B2 (en) 2015-11-04 2018-03-06 Zoox, Inc. Adaptive autonomous vehicle planner logic
DE102015015277A1 (de) * 2015-11-25 2017-06-01 Elektrobit Automotive Gmbh Technik zum automatisierten Anhalten eines Fahrzeugs in einem Zielbereich
US20170160744A1 (en) * 2015-12-08 2017-06-08 Delphi Technologies, Inc. Lane Extension Of Lane-Keeping System By Ranging-Sensor For Automated Vehicle
DE102016009763A1 (de) * 2016-08-11 2018-02-15 Trw Automotive Gmbh Steuerungssystem und Steuerungsverfahren zum Bestimmen einer Trajektorie und zum Erzeugen von zugehörigen Signalen oder Steuerbefehlen
US11492009B2 (en) 2017-06-08 2022-11-08 Mitsubishi Electric Corporation Vehicle control device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130253756A1 (en) * 2012-03-21 2013-09-26 Fuji Jukogyo Kabushiki Kaisha Vehicle control system
US20150307110A1 (en) * 2012-11-20 2015-10-29 Conti Temic Microelectronic Gmbh Method for a Driver Assistance Application
US20170010612A1 (en) * 2015-07-07 2017-01-12 Honda Motor Co., Ltd. Vehicle controller, vehicle control method, and vehicle control program
JP2017117080A (ja) * 2015-12-22 2017-06-29 アイシン・エィ・ダブリュ株式会社 自動運転支援システム、自動運転支援方法及びコンピュータプログラム
JP2017032543A (ja) * 2016-05-31 2017-02-09 パナソニックIpマネジメント株式会社 運転支援装置、運転支援システム、運転支援方法、運転支援プログラム及び自動運転車両
US20180046182A1 (en) * 2016-08-15 2018-02-15 Ford Global Technologies, Llc Autonomous vehicle failure mode management
US20180251126A1 (en) * 2017-03-01 2018-09-06 Zoox, Inc. Trajectory generation and execution architecture
CN108196547A (zh) * 2018-01-08 2018-06-22 北京图森未来科技有限公司 一种自动驾驶系统

Also Published As

Publication number Publication date
US11693405B2 (en) 2023-07-04
WO2020096830A1 (en) 2020-05-14
AU2019377392B2 (en) 2022-05-26
EP3856597A4 (en) 2022-06-29
US10838417B2 (en) 2020-11-17
JP2022506023A (ja) 2022-01-17
KR102465686B1 (ko) 2022-11-11
CA3118477A1 (en) 2020-05-14
CN113302109A (zh) 2021-08-24
US20200142403A1 (en) 2020-05-07
US20230280748A1 (en) 2023-09-07
JP2023159310A (ja) 2023-10-31
US20210048816A1 (en) 2021-02-18
CN113302109B (zh) 2024-04-16
EP3856597A1 (en) 2021-08-04
JP7337155B2 (ja) 2023-09-01
AU2019377392A1 (en) 2021-05-27

Similar Documents

Publication Publication Date Title
AU2019284146B2 (en) Testing predictions for autonomous vehicles
US11709490B1 (en) Behavior and intent estimations of road users for autonomous vehicles
US10627825B2 (en) Using discomfort for speed planning in autonomous vehicles
KR102465686B1 (ko) 자율 주행 차량들에 대한 폴백 거동들을 구현하기 위한 시스템
US11634134B2 (en) Using discomfort for speed planning in responding to tailgating vehicles for autonomous vehicles
US11945433B1 (en) Risk mitigation in speed planning
JP7339960B2 (ja) 自律走行車の速度計画のための不快感の利用
US20220176987A1 (en) Trajectory limiting for autonomous vehicles
CN113508056A (zh) 针对自主车辆的转弯发出信号

Legal Events

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