KR101958430B1 - 자율 차량들을 위한 폴백 궤도 시스템들 - Google Patents

자율 차량들을 위한 폴백 궤도 시스템들 Download PDF

Info

Publication number
KR101958430B1
KR101958430B1 KR1020187022507A KR20187022507A KR101958430B1 KR 101958430 B1 KR101958430 B1 KR 101958430B1 KR 1020187022507 A KR1020187022507 A KR 1020187022507A KR 20187022507 A KR20187022507 A KR 20187022507A KR 101958430 B1 KR101958430 B1 KR 101958430B1
Authority
KR
South Korea
Prior art keywords
vehicle
trajectory
computing system
fallback
location
Prior art date
Application number
KR1020187022507A
Other languages
English (en)
Other versions
KR20180091951A (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
Priority claimed from US14/991,150 external-priority patent/US9551992B1/en
Application filed by 웨이모 엘엘씨 filed Critical 웨이모 엘엘씨
Publication of KR20180091951A publication Critical patent/KR20180091951A/ko
Application granted granted Critical
Publication of KR101958430B1 publication Critical patent/KR101958430B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0055Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18154Approaching an intersection
    • 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/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • 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/0016Planning or execution of driving tasks specially adapted for safety of the vehicle or its occupants
    • 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/0025Planning or execution of driving tasks specially adapted for specific operations
    • B60W60/00253Taxi operations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0055Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
    • G05D1/0077Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements using redundant signals or controls
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • 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/0006Digital architecture hierarchy
    • 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
    • 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/0297Control Giving priority to different actuators or 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
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/408Radar; Laser, e.g. lidar
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2510/00Input parameters relating to a particular sub-units
    • B60W2510/20Steering 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
    • 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/45Pedestrian sidewalk
    • 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/53Road markings, e.g. lane marker or crosswalk
    • 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
    • B60W2554/00Input parameters relating to objects
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/20Static objects
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/402Type
    • B60W2554/4029Pedestrians
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • B60W2554/802Longitudinal distance
    • 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/40High definition maps

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Electric Propulsion And Braking For Vehicles (AREA)
  • Navigation (AREA)
  • Regulating Braking Force (AREA)

Abstract

차량(100)을 제어하기 위한 방법은 주 컴퓨팅 시스템(110)에 의해, 임무 목표를 달성하기 위한 로케이션으로부터의 명목 궤도, 및 차량을 안전하게 정지시키기 위한 로케이션으로부터 폴백 궤도를 생성하는 단계를 포함한다. 명목 및 폴백은 로케이션과 분기 포인트 사이에서 동일하고, 여기서, 명목 및 폴백은 분기 포인트 후에 분기한다. 폴백은 보조 컴퓨팅 시스템(210)으로 전송되고, 보조 컴퓨팅 시스템(210)에 의해 수신된다. 보조 컴퓨팅 시스템은 폴백에 따라 차량을 제어하면서, 주 컴퓨팅 시스템으로부터의 업데이트된 궤도를 대기한다. 차량이 폴백 상의 문턱 포인트에 도달하고 업데이트된 궤도가 보조 컴퓨팅 시스템에 의해 아직 수신되지 않았을 때, 보조 컴퓨팅 시스템은 차량을 안전하게 정지시키기 위하여 폴백에 따라 차량을 제어하는 것을 계속한다.

Description

자율 차량들을 위한 폴백 궤도 시스템들
관련된 출원들에 대한 상호-참조
본 출원은 2016년 1월 8일자로 출원된 미국 특허 출원 제14/991,150호의 계속출원인, 2016년 12월 7일자로 출원된 미국 특허 출원 제15/371,595호의 계속출원이고, 그 개시내용들은 이에 따라, 참조로 본 명세서에 포함된다. 본 출원은 또한, 2016년 1월 8일자로 출원된 미국 특허 출원 제14/991,150호의 계속출원이고, 그 개시내용은 이에 따라, 참조로 본 명세서에 포함된다.
인간 운전자를 요구하지 않는 차량들과 같은 자율 차량들은 하나의 로케이션(location)으로부터 또 다른 것으로의 승객들 또는 물품들의 수송을 보조하기 위하여 이용될 수 있다. 이러한 차량들은 승객들이 픽업 또는 목적지 로케이션과 같은 일부 초기 입력을 제공할 수도 있고 차량은 자신을 그 로케이션으로 조종하는 완전 자율 모드에서 동작할 수도 있다. 그렇게 행하는 동안, 승객들 및 차량의 안전성은 중요한 고려사항이다. 따라서, 종종 이 차량들은 본질적으로, 차량으로 하여금, 비상 시에 브레이크들을 가능한 한 단단하게 그리고 신속하게 적용하게 하는 폴백 시스템(fallback system)들을 가진다.
본 개시내용의 일 양태는 차량을 제어하는 방법을 제공한다. 방법은 주 컴퓨팅 시스템(primary computing system)에 의해, 임무 목표를 달성하기 위하여 차량에 대한 로케이션으로부터의 명목 궤도(nominal trajectory)를 생성하는 단계를 포함한다. 명목 궤도는 차량의 외부 환경에서 객체들을 검출하도록 구성되는 차량의 지각 시스템으로부터 주 컴퓨팅 시스템에 의해 수신된 정보에 기초하여 생성된다. 방법은 주 컴퓨팅 시스템에 의해, 차량을 안전하게 정지시키기 위하여 차량에 대한 로케이션으로부터의 폴백 궤도(fall back trajectory)를 생성하는 단계를 또한 포함한다. 폴백 궤도는 차량의 지각 시스템으로부터 주 컴퓨팅 시스템에 의해 수신된 정보에 기초하여 생성된다. 명목 궤도 및 폴백 궤도는 로케이션과 분기 포인트(divergent point) 사이에서 동일하고, 여기서, 명목 궤도 및 폴백 궤도는 분기 포인트 후에 분기한다. 방법은 주 컴퓨팅 시스템에 의해, 폴백 궤도를 보조 컴퓨팅 시스템(secondary computing system)으로 전송하는 단계; 보조 컴퓨팅 시스템에 의해, 폴백 궤도를 수신하는 단계; 보조 컴퓨팅 시스템에 의해, 폴백 궤도에 따라 차량을 제어하는 단계; 보조 컴퓨팅 시스템에 의해, 폴백 궤도에 따라 차량을 제어하면서, 주 컴퓨팅 시스템으로부터의 업데이트된 궤도를 대기하는 단계; 및 차량이 폴백 궤도 상의 문턱 포인트(threshold point)에 도달하고 업데이트된 궤도가 보조 컴퓨팅 시스템에 의해 아직 수신되지 않았을 때, 보조 컴퓨팅 시스템에 의해, 차량을 안전하게 정지시키기 위하여 폴백 궤도에 따라 차량을 제어하는 것을 계속하는 단계를 또한 포함한다.
일 예에서, 방법은 업데이트된 궤도가 문턱 포인트에 도달된 후에 수신될 때, 보조 컴퓨팅 시스템에 의해, 업데이트된 궤도를 무시하는 단계를 또한 포함한다. 또 다른 예에서, 방법은 보조 컴퓨팅 시스템에 의해, 문턱 포인트에 도달된 후, 센서로부터, 객체가 센서에 의해 검출된다는 것을 표시하는 데이터를 수신하는 단계; 및 센서로부터 데이터를 수신하는 것에 응답하여, 보조 컴퓨팅 시스템에 의해, 차량을 즉시 정지시키기 위하여 차량의 브레이크들을 적용하는 단계를 또한 포함한다. 이 예에서, 센서는 지각 시스템의 일부가 아니고, 보조 컴퓨팅 시스템의 전용 센서이다. 또 다른 예에서, 분기 로케이션(divergent location)은 주 컴퓨팅 시스템이 주 컴퓨팅 시스템의 정상적인 동작 동안에 업데이트된 폴백 궤도를 전송해야 하는 폴백 궤도를 따르는 시간에 대응한다. 또 다른 예에서, 방법은 폴백 궤도를 수신하기 이전에, 보조 컴퓨팅 시스템에 의해, 주 컴퓨팅 시스템으로부터, 제1 분기 로케이션을 가지는 제1 폴백 궤도를 수신하는 단계 - 제1 폴백 궤도는 주 컴퓨팅 시스템에 의해 생성된 제1 명목 궤도로부터 분기함 - ; 보조 컴퓨팅 시스템에 의해, 제1 폴백 궤도에 따라 차량을 제어하는 단계; 및 제1 분기 로케이션에 도달하기 이전에, 보조 컴퓨팅 시스템에 의해, 폴백 궤도를 업데이트된 궤도로서 수신하는 단계를 또한 포함한다. 이 예에서, 방법은 보조 컴퓨팅 시스템에 의해, 폴백 궤도에 따라 차량을 제어하기 위하여 명목 궤도를 업데이트된 궤도로 대체하는 단계를 또한 포함한다. 또 다른 예에서, 문턱 포인트는 폴백 궤도가 수신될 때의 차량의 로케이션으로부터의 미리 결정된 문턱 거리인 차량의 물리적 로케이션에 대응한다. 또 다른 예에서, 문턱 포인트는 폴백 궤도가 보조 컴퓨팅 시스템에 의해 수신될 때의 시간으로부터의 미리 결정된 문턱 시간량인 시간에서의 포인트에 대응한다. 또 다른 예에서, 문턱 포인트는 명목 궤도와 폴백 궤도 사이의 분기의 포인트에 대응한다.
개시내용의 또 다른 양태는 차량을 제어하기 위한 시스템을 제공한다. 시스템은 하나 이상의 프로세서를 가지는 주 컴퓨팅 시스템을 포함한다. 주 컴퓨팅 시스템의 하나 이상의 프로세서는 임무 목표를 달성하기 위하여 차량에 대한 로케이션으로부터의 명목 궤도를 생성하도록 구성된다. 명목 궤도는 차량의 외부 환경에서 객체들을 검출하도록 구성되는 차량의 지각 시스템으로부터 주 컴퓨팅 시스템에 의해 수신된 정보에 기초하여 생성된다. 주 컴퓨팅 시스템들의 하나 이상의 프로세서는 차량을 안전하게 정지시키기 위하여 차량에 대한 로케이션으로부터의 폴백 궤도를 생성하도록 또한 구성된다. 폴백 궤도는 차량의 지각 시스템으로부터 주 컴퓨팅 시스템에 의해 수신된 정보에 기초하여 생성된다. 명목 궤도 및 폴백 궤도는 로케이션과 분기 로케이션 사이에서 동일하고, 여기서, 명목 궤도 및 폴백 궤도는 분기 로케이션 후에 분기한다. 하나 이상의 프로세서는 폴백 궤도를 보조 컴퓨팅 시스템으로 전송하도록 또한 구성된다. 시스템은 하나 이상의 프로세서를 가지는 보조 컴퓨팅 시스템을 또한 포함한다. 보조 컴퓨팅 시스템의 하나 이상의 프로세서는 폴백 궤도를 수신하고; 폴백 궤도에 따라 차량을 제어하고; 차량을 제어하면서, 주 컴퓨팅 시스템으로부터의 업데이트된 궤도를 대기하고; 그리고 차량이 폴백 궤도 상의 문턱 포인트에 도달하고 업데이트된 궤도가 보조 컴퓨팅 시스템에 의해 아직 수신되지 않았을 때, 차량을 안전하게 정지시키기 위하여 폴백 궤도에 따라 차량을 제어하는 것을 계속하도록 구성된다.
일 예에서, 보조 컴퓨팅 시스템의 하나 이상의 프로세서는 업데이트된 궤도가 문턱 포인트에 도달된 후에 수신될 때, 업데이트된 궤도를 무시하도록 또한 구성된다. 또 다른 예에서, 보조 컴퓨팅 시스템의 하나 이상의 프로세서는 문턱 값에 도달된 후, 센서로부터, 객체가 센서에 의해 검출된다는 것을 표시하는 데이터를 수신하고; 그리고 센서로부터 데이터를 수신하는 것에 응답하여, 차량을 즉시 정지시키기 위하여 차량의 브레이크들을 적용하도록 또한 구성된다. 이 예에서, 시스템은 센서를 또한 포함하고, 센서는 지각 시스템의 일부가 아니고, 보조 컴퓨팅 시스템의 전용 센서이다. 또 다른 예에서, 분기 로케이션은 주 컴퓨팅 시스템이 주 컴퓨팅 시스템의 정상적인 동작 동안에 업데이트된 폴백 궤도를 전송해야 하는 폴백 궤도를 따르는 시간에 대응한다. 또 다른 예에서, 보조 컴퓨팅 시스템의 하나 이상의 프로세서는 폴백 궤도를 수신하기 이전에, 주 컴퓨팅 시스템으로부터, 제1 분기 로케이션을 가지는 제1 폴백 궤도를 수신하고 - 제1 폴백 궤도는 주 컴퓨팅 시스템에 의해 생성된 제1 명목 궤도로부터 분기함 - ; 제1 폴백 궤도에 따라 차량을 제어하고; 그리고 제1 분기 로케이션에 도달하기 이전에, 폴백 궤도를 업데이트된 궤도로서 수신하도록 추가로 구성된다. 이 예에서, 보조 컴퓨팅 시스템의 하나 이상의 프로세서는 폴백 궤도에 따라 차량을 제어하기 위하여 명목 궤도를 업데이트된 궤도로 대체하도록 추가로 구성된다. 또 다른 예에서, 시스템은 차량 및 지각 시스템을 또한 포함한다.
개시내용의 추가의 양태는 방법을 제공한다. 방법은 보조 컴퓨팅 시스템의 하나 이상의 프로세서에 의해, 차량을 안전하게 정지시키기 위하여, 주 컴퓨팅 시스템으로부터, 차량에 대한 로케이션으로부터의 폴백 궤도를 수신하는 단계를 포함한다. 차량의 로케이션으로부터 분기 로케이션까지의 폴백 궤도의 부분은 차량의 로케이션으로부터 분기 로케이션까지의 명목 궤도의 부분과 동일하다. 명목 궤도는 차량이 임무 목표를 달성하는 것을 허용하고, 명목 궤도 및 폴백 궤도는 분기 로케이션 후에 분기한다. 방법은 보조 컴퓨팅 시스템의 하나 이상의 프로세서에 의해, 임무 목표를 달성하기 위하여 폴백 궤도의 부분에 따라 차량을 제어하는 단계; 보조 컴퓨팅 시스템의 하나 이상의 프로세서에 의해, 차량을 제어하면서, 주 컴퓨팅 시스템으로부터의 업데이트된 궤도를 대기하는 단계; 및 차량이 폴백 궤도 상의 문턱 포인트에 도달하고 업데이트된 궤도가 보조 컴퓨팅 시스템의 하나 이상의 프로세서에 의해 아직 수신되지 않았을 때, 보조 컴퓨팅 시스템의 하나 이상의 프로세서에 의해, 차량을 안전하게 정지시키기 위하여 폴백 궤도에 따라 차량을 제어하는 것을 계속하는 단계를 또한 포함한다.
일 예에서, 방법은 업데이트된 궤도가 문턱 포인트에 도달한 후에 수신될 때, 보조 컴퓨팅 시스템의 하나 이상의 프로세서에 의해, 업데이트된 궤도를 무시하는 단계를 또한 포함한다.
도 1은 개시내용의 양태들에 따른 예시적인 차량의 기능적인 도면이다.
도 2는 개시내용의 양태들에 따른 상세한 지도 정보의 예시적인 표현이다.
도 3a 내지 도 3d는 개시내용의 양태들에 따른 차량의 예시적인 외부 도면들이다.
도 4는 개시내용의 양태들에 따른 차량의 예시적인 내부 도면이다.
도 5는 개시내용의 양태들에 따른 차량의 콘솔의 예이다.
도 6은 예시적인 실시예에 따른 예시적인 시스템의 기능적인 도면이다.
도 7은 개시내용의 양태들에 따른 도 6의 시스템의 그림 도면이다.
도 8은 개시내용의 양태들에 따른 교차로의 예시적인 버즈 아이(bird's eye) 도면이다.
도 9는 개시내용의 양태들에 따른, 주 및 보조 궤도들의 표현들을 갖는 교차로의 또 다른 예시적인 버즈 아이 도면이다.
도 10은 개시내용의 양태들에 따른 도 9의 주 및 보조 궤도들의 또 다른 도면이다.
도 11은 개시내용의 양태들에 따른 예시적인 흐름도이다.
개요
기술의 양태들은 주 컴퓨팅 시스템의 고장의 경우에 보조 컴퓨팅 시스템에 의존하는 자율 차량들에 관한 것이다. 이 차량들은 매우 복잡할 수 있고, 상당한 양의 소프트웨어 및 센서들이 안전하게 기능할 것을 요구할 수 있다. 이 시스템들의 고장의 경우에, 차량은 인간 개입 없이 안전한 위치에 올 수 있어야 한다.
이것을 용이하게 하기 위하여, 차량은 주 및 보조 컴퓨팅 시스템들을 가질 수도 있다. 주 컴퓨팅 시스템은 상당히 복잡할 수도 있고, 정교한 지각 및 계획 시스템들을 포함할 수도 있다. 지각 시스템은 차량의 환경에서 객체들을 검출하고 식별하도록 구성되는 복수의 센서들을 포함할 수도 있다. 계획 시스템은 예를 들어, 특정한 목적지 로케이션에 도달함으로써 임무 목표를 달성하기 위한 차량에 대한 미래의 경로 또는 궤도를 생성하기 위하여, 상세한 지도 정보와 함께, 지각 시스템으로부터의 데이터를 이용할 수도 있다.
보조 컴퓨팅 시스템은 다소 덜 복잡할 수도 있다. 예로서, 보조 컴퓨팅 시스템은 주 컴퓨팅 시스템으로부터 수신된 정보에 기초하여 차량을 조종하기에 충분히 정교할 수 있지만, 주 컴퓨팅 시스템의 정교한 지각 및 계획 시스템들을 결여할 수 있다. 이와 관련하여, 보조 컴퓨팅 시스템은 통신할 수도 있고, 차량의 진로 및 속력을 제어할 수도 있다. 그렇게 행하기 위하여, 보조 컴퓨팅 시스템은 주 컴퓨팅 시스템으로부터의 로케이션 정보와, 휠(wheel)들의 위치를 표시하는 것들, 브레이크들이 무엇을 하고 있는지 등과 같은, 차량의 상황에 관련된 다른 시스템들로부터의 정보를 수신할 수 있거나 액세스할 수 있다. 이것은 보조 컴퓨팅 시스템이 이하에서 논의된 바와 같이 특정한 궤도를 따르는 것을 가능하게 한다.
주 및 보조 컴퓨팅 시스템들은 임무 목표를 달성하기 위하여 함께 작업할 수도 있다. 예를 들어, 주 컴퓨팅 시스템은 보조 컴퓨팅 시스템에 차량에 대한 궤도를 제공할 수도 있다. 이에 응답하여, 보조 컴퓨팅 시스템은 미래의 경로에 따라 차량을 조종할 수도 있다.
그러나, 주 컴퓨팅 시스템에 의해 생성되고 보조 컴퓨팅 시스템에 제공된 궤도는 폴백 궤도일 수도 있다. 이와 관련하여, 폴백 궤도는 안전한 위치로의 차량 풀 오버(pull over) 및 차량을 정지시키는 것을 실제적으로 포함할 수도 있다.
주 컴퓨팅 시스템이 폴백 궤도를 생성하는 것과 동시에, 주 컴퓨팅 시스템은 차량을 임무 목표를 향해 이동시키는 명목 궤도를 또한 생성할 수도 있다. 일부 잠깐의 주기에 대하여, 폴백 및 명목 궤도는 동일할 수도 있다. 이 잠깐의 주기 후에, 궤도들은 서로로부터 신속하게 분기할 수도 있다.
잠깐의 중첩의 주기는 보조 컴퓨팅 시스템이 언제 주 컴퓨팅 시스템으로부터 업데이트를 수신할 것을 예상할 것인지와, 또한, 차량이 그 진로 또는 속력에 대한 실제의 변경을 얼마나 신속하게 실제로 행할 수 있는지에 기초하여 선택될 수도 있다. 예를 들어, 주 컴퓨팅 시스템이 일부 미리 결정된 간격으로 궤도들을 보조 컴퓨팅 시스템으로 전송할 수도 있을 경우, 명목 및 폴백 궤도들은 적어도 이 미리 결정된 간격 또는 심지어 이 미리 결정된 간격의 2배에 대응해야 한다. 그렇게 행함으로써, 보조 컴퓨팅 시스템은 보조 컴퓨팅 시스템이 주 컴퓨팅 시스템으로부터 업데이트된 궤도를 수신할 것을 예상할 경우에, 적어도 일부 시간량이 지날 때까지 명목 궤도에 따라 차량을 제어할 수도 있다. 업데이트된 궤도가 수신될 때, 보조 컴퓨팅 시스템은 그 다음으로, 새로운 업데이트된 궤도가 수신될 때까지 업데이트된 궤도에 따라 차량을 제어할 것이고, 임무 목표가 달성될 때까지 그렇게 계속될 것이다.
그러나, 보조 컴퓨팅 시스템이 차량이 (예를 들어, 시간 또는 공간에서의) 폴백 궤도를 따르는 특정한 포인트에 도달한 후에 업데이트된 궤도를 수신하지 않았을 때, 보조 컴퓨팅 시스템은 폴백 궤도에 따라 차량을 제어하는 것을 계속할 것이다. 이 문턱 포인트는 폴백 궤도가 명목 궤도로부터 분기하기 시작할 폴백 궤도 상의 시간 또는 공간에서의 포인트에 대응할 수도 있다. 물론, 문턱 포인트는 폴백 및 명목 궤도들 사이의 분기의 포인트 조금 전, 또는 그 잠시 후일 수도 있다. 이와 관련하여, 주 컴퓨팅 시스템이 고장났더라도, 보조 컴퓨팅 시스템은 새로운 궤도로 전환할 필요가 있는 것이 아니라, 최후에 수신된 궤도를 이용하여 차량을 제어하는 것을 간단하게 계속할 것이다. 이 궤도가 폴백 궤도이므로, 보조 컴퓨팅 시스템은 그러므로, 안전하게 정지시키기 위하여 차량을 조종할 것이다.
게다가, 문턱 포인트가 지난 후에, 업데이트가 수신될 경우, 보조 컴퓨팅 시스템은 이 업데이트된 궤도를 신뢰하지 않고 그것을 간단하게 무시하도록 구성될 수 있다. 이것은 보조 컴퓨팅 시스템이 고장난 주 컴퓨팅 시스템으로부터 수신된 배드 데이터(bad data)에 대해 작동하는 것, 또는 차량이 폴백 궤도에 따라 풀 오버하기 시작하고 있을 때와 같이, 차량이 명목 궤도에서 떨어져서 이미 이동한 실행불가능한 또는 안전하지 않은 궤도를 따르는 것을 시도하는 것을 방지한다.
일부 예들에서, 보조 컴퓨팅 시스템은 기본적인 지각 시스템을 포함할 수도 있다. 이 지각 시스템은 주 컴퓨팅 시스템의 지각 시스템의 센서들 중의 하나, 또는 보조 컴퓨팅 시스템에 대한 전용 센서를 포함할 수도 있다. 예를 들어, 순방향 레이더는 차량의 전방에서 직접적으로 객체들을 모니터링하기 위하여 이용될 수 있다. 그러나, 보조 컴퓨팅 시스템을 가능한 한 간단하게 유지하기 위하여, 이 센서는 객체가 차량의 어떤 거리 내에서 검출될 경우에 가능한 한 많이 브레이크들을 적용하기 위한 최후 의존 옵션으로서 간단하게 차량에 의해 간단하게 이용될 수도 있다. 그러나, 필요하지 않을 때에 이 액션을 회피하기 위하여, 센서는 예를 들어, 객체 및/또는 차량의 거리 및 속력에 기초하여 많은 상이한 타입들의 객체들을 필터링하도록 구성될 수도 있다.
본 명세서에서 설명된 특징들을 이용하면, 임무 목표를 달성하는 것으로부터, 주 컴퓨팅 시스템이 고장났을 때에 적절한 로케이션에서 정지하도록 차량을 안전하게 내비게이팅하는 것으로의 전이는 전적으로 심리스(seamless)이다. 오직 하나의 궤도가 전송되므로, 시스템들은 극적으로 단순화된다. 궤도들 사이의 전환, 또는 전환이 행해지는 궤도들 사이의 분기들을 핸들링하기에 충분히 복잡해야 할 보조 컴퓨팅 시스템에 대한 필요성은 없다. 이것은 주 및 보조 컴퓨팅 시스템들의 양자가 차량의 속력 및 진로를 제어하기 위한 별도의 제어 인터페이스들을 가지게 하기 위한 필요성을 또한 회피한다.
게다가, 이하에서 상세하게 논의된 바와 같이, 본 명세서에서 설명된 특징들은 다양한 대안들을 허용한다.
예시적인 시스템들
도 1에서 도시된 바와 같이, 개시내용의 일 양태에 따른 차량(100)은 다양한 컴포넌트들을 포함한다. 개시내용의 어떤 양태들은 특정 타입들의 차량들과 관련하여 특히 유용하지만, 차량은 승용차들, 트럭들, 오토바이들, 버스들, 레저 차량들 등을 포함하지만, 이것으로 제한되지는 않는 임의의 타입의 차량일 수도 있다. 차량은 주 컴퓨팅 시스템(110) 및 보조 컴퓨팅 시스템(210)을 포함하는 하나 이상의 컴퓨팅 디바이스들을 가질 수도 있다. 주 컴퓨팅 시스템은 하나 이상의 프로세서들(120), 메모리(130), 및 범용 컴퓨팅 디바이스들에서 전형적으로 존재하는 다른 컴포넌트들을 포함하는 컴퓨팅 디바이스(112)와 같은 컴퓨팅 디바이스를 포함한다. 유사하게, 보조 컴퓨팅 시스템은 하나 이상의 프로세서들(220), 메모리(230), 및 범용 컴퓨터에서 전형적으로 존재하는 다른 컴포넌트들을 포함하는 컴퓨팅 디바이스(212)를 포함한다.
메모리들(130, 230)은 프로세서들(120, 220)에 의해 실행될 수도 있거나, 또는 그렇지 않을 경우에 이용될 수도 있는 명령들(132, 232) 및 데이터(134, 234)를 포함하는, 하나 이상의 프로세서에 의해 액세스가능한 정보를 저장한다. 메모리들(130, 230)은 하드-드라이브, 메모리 카드, ROM, RAM, DVD, 또는 다른 광학 디스크들뿐만 아니라, 다른 기입-가능 및 판독-전용 메모리들과 같은, 전자 디바이스의 도움으로 판독될 수도 있는 데이터를 저장하는 컴퓨팅 디바이스-판독가능한 매체 또는 다른 매체를 포함하는, 프로세서에 의해 액세스가능한 정보를 저장할 수 있는 임의의 타입일 수도 있다. 시스템들 및 방법들은 상기한 것의 상이한 조합들을 포함할 수도 있음으로써, 명령들 및 데이터의 상이한 부분들은 상이한 타입들의 매체들 상에서 저장된다.
명령들(132, 232)은 프로세서에 의해 (머신 코드와 같이) 직접적으로 또는 (스크립트(script)들과 같이) 간접적으로 실행되어야 할 명령들의 임의의 세트일 수도 있다. 예를 들어, 명령들은 컴퓨팅 디바이스-판독가능한 매체 상에서 컴퓨팅 디바이스 코드로서 저장될 수도 있다. 그와 관련하여, 용어들 "명령들" 및 "프로그램들"은 본 명세서에서 상호 교환가능하게 이용될 수도 있다. 명령들은 프로세서에 의한 직접 프로세싱을 위한 오브젝트 코드 포맷(object code format)으로, 또는 요구에 따라 인터프리팅(interpret)되거나 미리 컴파일링(compile)되는 독립적인 소스 코드 모듈들의 스크립트들 또는 집합들을 포함하는 임의의 다른 컴퓨팅 디바이스 언어로 저장될 수도 있다. 명령들의 기능들, 방법들, 및 루틴들은 이하에서 더 상세하게 설명된다.
데이터(134, 234)는 명령들(132, 232)에 따라 프로세서들(120, 220)에 의해 검색, 저장 또는 수정될 수 있다. 예를 들어, 청구된 발명 요지는 임의의 특정한 데이터 구조에 의해 제한되지는 않지만, 데이터는 복수의 상이한 필드들 및 레코드들을 가지는 테이블로서의 관계형 데이터베이스, XML 문서들, 또는 플랫 파일(flat file)들로, 컴퓨팅 디바이스 레지스터들 내에 저장될 수도 있다. 데이터는 임의의 컴퓨팅 디바이스-판독가능한 포맷으로 또한 포맷될 수도 있다.
하나 이상의 프로세서들(120, 220)은 상업적으로 입수가능한 CPU들과 같은 임의의 기존의 프로세서들일 수도 있다. 대안적으로, 하나 이상의 프로세서는 ASIC 또는 다른 하드웨어-기반 프로세서와 같은 전용 디바이스일 수도 있다. 도 1은 컴퓨팅 디바이스(112)(및 컴퓨팅 디바이스(212))의 프로세서, 메모리, 및 다른 엘리먼트들을 동일한 블록 내에 있는 것으로서 기능적으로 예시하지만, 프로세서, 컴퓨팅 디바이스, 또는 메모리는 동일한 물리적 하우징 내에 보관될 수 있거나 보관되지 않을 수 있는 다수의 프로세서들, 컴퓨팅 디바이스들, 또는 메모리들을 실제로 포함할 수 있다. 예로서, 내부 전자 디스플레이(152)는 고대역폭 또는 다른 네트워크 접속부를 통해 컴퓨팅 디바이스(110)와 인터페이싱할 수도 있는 그 자신의 프로세서 또는 중앙 프로세싱 유닛(central processing unit)(CPU), 메모리 등을 가지는 전용 컴퓨팅 디바이스에 의해 제어될 수도 있다. 일부 예들에서, 이 컴퓨팅 디바이스는 사용자의 클라이언트 디바이스와 통신할 수 있는 사용자 인터페이스 컴퓨팅 디바이스일 수도 있다. 유사하게, 메모리(130)(또는 230)는 컴퓨팅 디바이스(112)(또는 212)의 그것과는 상이한 하우징에서 위치된 하드 드라이브 또는 다른 저장 매체들일 수도 있다. 따라서, 프로세서 또는 컴퓨팅 디바이스에 대한 참조들은 병렬적으로 동작할 수도 있거나 동작하지 않을 수도 있는 프로세서들 또는 컴퓨팅 디바이스들 또는 메모리들의 집합에 대한 참조들을 포함하도록 이해될 것이다.
컴퓨팅 디바이스(112)는 위에서 설명된 프로세서 및 메모리뿐만 아니라, 사용자 입력(150)(예컨대, 마우스, 키보드, 터치 스크린, 및/또는 마이크로폰) 및 다양한 전자 디스플레이들(예컨대, 정보를 디스플레이하도록 동작가능한 스크린 또는 임의의 다른 전기적 디바이스를 가지는 모니터)과 같은, 컴퓨팅 디바이스와 관련하여 통상적으로 이용된 컴포넌트들의 전부를 포함할 수도 있다. 이 예에서, 차량은 정보 또는 시청각 경험들을 제공하기 위하여, 내부 전자 디스플레이(152)뿐만 아니라, 하나 이상의 스피커들(154)을 포함한다. 이와 관련하여, 내부 전자 디스플레이(152)는 차량(100)의 탑승공간(cabin) 내에 위치될 수도 있고, 정보를 차량(100) 내의 승객들에게 제공하기 위하여 컴퓨팅 디바이스(110)에 의해 이용될 수도 있다.
일 예에서, 컴퓨팅 시스템(110)은 차량(100) 내로 포함된 자율 주행 컴퓨팅 시스템의 일부일 수도 있다. 이와 같이, 컴퓨팅 시스템(110)은 컴퓨팅 디바이스(112)를 통해, 차량을 로케이션으로 또는 객체들 주위로 내비게이팅하기 위한 계획들 또는 궤도들을 생성하는 계획 시스템(168)일 수도 있거나 계획 시스템(168)을 포함할 수도 있다. 그렇게 행하기 위하여, 컴퓨팅 시스템(110)은 (차량의 위치를 결정하기 위한) 위치결정 시스템(170) 및 (차량의 환경에서 객체들을 검출하기 위한) 지각 시스템(172)을 포함할 수도 있다. 다시, 이 시스템들은 컴퓨팅 시스템(110) 내로 포함되는 것으로서 도시되지만, 실제적으로, 이 시스템들은 컴퓨팅 시스템(110)과는 별개일 수도 있다. 예를 들어, 위치결정 시스템은 컴퓨팅 시스템(110)과는 전적으로 별개일 수도 있다. 이 경우, 이것은 보조 컴퓨팅 시스템이 이하에서 논의된 바와 같이 궤도를 따르기 위하여 위치결정 시스템의 출력을 이용하는 것을 허용할 수도 있다.
예로서, 컴퓨팅 디바이스(112)는 상세한 지도 정보로부터의 데이터를 이용하여 차량을 어떻게 목적지 로케이션으로 완전히 자율적으로 로케이팅할 것인지를 결정할 수도 있다. 이와 관련하여, 데이터(132)는 지도 정보, 예컨대, 차도(roadway)들의 형상 및 고도, 차선 마커들, 교차로들, 횡단보도들, 속력 제한들, 교통 신호등들, 건물들, 표지들, 실시간 교통 정보, 초목, 또는 다른 이러한 객체들 및 정보를 식별하는 매우 상세한 지도들을 저장할 수도 있다. 차선 마커들은 실선 또는 파선 이중 또는 단일 차선 라인들, 실선 또는 파선 차선 라인들, 반사기들 등과 같은 특징부들을 포함할 수도 있다. 주어진 차선은 차선의 경계를 정의하는 좌측 및 우측 차선 라인들 또는 다른 차선 마커들과 연관될 수도 있다. 따라서, 대부분의 차선들은 하나의 차선 라인의 좌측 에지 및 또 다른 차선 라인의 우측 에지에 의해 경계가 정해질 수도 있다.
도 2는 교차로(202)를 포함하는 차도의 섹션에 대한 상세한 지도 정보(200)의 예이다. 이 예에서, 상세한 지도 정보(200)는 차선 라인들(210, 212, 214), 교통 신호등들(220, 222, 224, 226), 횡단보도들(230, 232), 및 인도들(240)의 형상, 로케이션, 및 다른 특성들을 식별하는 정보를 포함한다. 각각의 차선은 차량이 개개의 차선에서 일반적으로 이동해야 하는 방향을 표시하는 레일(rail)(250, 252, 254, 256)과 연관될 수도 있다. 예를 들어, 차량은 차선 라인들(210 및 212) 사이의 차선에서 주행할 때에 레일(252)을 따를 수도 있다.
상세한 지도 정보는 이미지-기반 지도로서 본 명세서에서 도시되지만, 지도 정보는 전적으로 이미지 기반일 필요가 없다(예를 들어, 래스터(raster)). 예를 들어, 상세한 지도 정보는 도로들, 차선들, 교차로들, 및 이 특징부들 사이의 접속부들과 같은 정보의 하나 이상의 로드그래프(roadgraph)들 또는 그래프 네트워크들을 포함할 수도 있다. 각각의 특징부는 그래프 데이터로서 저장될 수도 있고, 지리적 로케이션 및 그것이 다른 관련된 특징부들에 링크되는지 여부와 같은 정보와 연관될 수도 있고, 예를 들어, 정지 표지는 도로 및 교차로 등에 링크될 수도 있다. 일부 예들에서, 연관된 데이터는 어떤 로드그래프 특징부들의 효율적인 룩업(lookup)을 허용하기 위한 로드그래프의 격자-기반 인덱스(grid-based index)들을 포함할 수도 있다.
컴퓨팅 디바이스(112)는 예를 들어, 특정한 목적지 로케이션에 도달함으로써 임무 목표를 달성하기 위한 차량에 대한 미래의 경로 또는 궤도를 생성하기 위하여, 위치결정 시스템(170), 지각 시스템(172), 및 상세한 지도 정보로부터의 데이터를 이용할 수도 있다. 이 궤도들은 미래로의 특정 시간들에서 차량에 의해 도달되어야 하는 특정 로케이션들 또는 웨이포인트(waypoint)들을 포함할 수도 있지만, 시간들을 갖지 않는 웨이포인트들의 세트, 방향들의 세트(좌회전, 우회전, 직진 등), 시스템이 무엇을 보아야 하는지를 도시하는 이미지들의 세트 등을 포함할 수도 있다. 이와 함께, 이 로케이션들은 차량에 대한 미래의 궤도를 형성한다. 궤도에 추가하여, 컴퓨팅 디바이스(112)는 궤도에 따라 차량을 조종하기 위하여, 또는 오히려, 미래의 특정 시간들에서 특정 로케이션들에 도달하기 위하여, 차량의 다양한 시스템들을 제어하기 위한 대응하는 명령들을 생성할 수도 있다. 그 다음으로, 컴퓨팅 시스템(110)은 궤도 및 대응하는 명령들을 컴퓨팅 시스템(210)으로 전송할 수도 있다.
게다가, 컴퓨팅 시스템(210)은 또한, 차량(100) 내로 포함된 자율 주행 컴퓨팅 시스템의 일부일 수도 있지만, 또한, 컴퓨팅 시스템(110)보다 다소 덜 복잡할 수도 있다. 예로서, 컴퓨팅 시스템(210)은 컴퓨팅 시스템(110)으로부터 수신된 궤도들 및 대응하는 명령들에 기초하여 차량을 조종하기에 충분히 정교할 수도 있지만, 컴퓨팅 시스템(110)의 정교한 지각 및 계획 시스템들을 결여할 수도 있다. 이와 관련하여, 컴퓨팅 시스템(210)은 차량의 진로 및 속력을 제어하기 위하여 차량의 다양한 다른 시스템들과 통신할 수도 있다. 그렇게 행하기 위하여, 보조 컴퓨팅 시스템은 컴퓨팅 시스템(110)의 위치결정 시스템(170)으로부터의 로케이션 정보뿐만 아니라, 휠들의 위치를 표시하는 것들, 브레이크들이 무엇을 하고 있는지 등과 같은, 차량의 상황에 관련된 다른 시스템들로부터의 정보를 수신할 수도 있거나 액세스할 수도 있다. 이것은 컴퓨팅 시스템(210)이 이하에서 논의된 바와 같이 특정한 궤도를 따르는 것을 가능하게 한다.
예를 들어, 컴퓨팅 디바이스(210)는 컴퓨팅 디바이스(212)를 통해, 메모리(230)의 명령들(234)뿐만 아니라, 다른 수신된 입력에 따라 자율적으로 차량(100)의 이동, 속력 등을 제어하기 위하여, (차량의 제동을 제어하기 위한, 또는 일부 경우들에는, 차량의 브레이크들을 간단하게 포함할 수도 있는) 감속 시스템(160), (차량의 가속을 제어하기 위한, 또는 일부 경우들에는, 엔진으로의 파워를 제어하는 것을 간단하게 포함할 수도 있는) 가속 시스템(162), (휠들의 방위 및 차량의 방향을 제어하기 위한) 조향 시스템(164), (회전 신호들을 제어하기 위한) 시그널링 시스템(166), 및 파워 시스템(174)(예를 들어, 배터리 및/또는 가스 또는 디젤 동력식 엔진)으로 정보를 전송할 수도 있고 이로부터 정보를 수신할 수도 있다. 이와 관련하여, 컴퓨팅 시스템(210)은 차량의 승객으로부터의 연속적인 또는 주기적인 입력의 필요성 없이 차량을 제어할 수 있다. 다시, 이 시스템들은 컴퓨팅 디바이스(210)에 대해 외부적인 것으로서 도시되지만, 실제적으로, 이 시스템들은 다시, 차량(100)을 제어하기 위한 자율 주행 컴퓨팅 시스템으로서, 컴퓨팅 디바이스(210) 내로 또한 포함될 수도 있다.
컴퓨팅 디바이스(210)는 컴퓨팅 시스템(110)으로부터 수신된 주어진 궤도의 대응하는 명령들에 따라 다양한 컴포넌트들을 제어함으로써 차량의 방향 및 속력을 제어할 수도 있다. 그렇게 행하기 위하여, 컴퓨터(110)는 차량으로 하여금, (예컨대, 가속 시스템(162)에 의해 엔진에 제공된 연료 또는 다른 에너지를 증가시킴으로써) 가속시키고, (예컨대, 엔진에 공급된 연료를 감소시키고, 기어들을 변경하고, 및/또는 감속 시스템(160)에 의해 브레이크들을 적용함으로써) 감소시키고, (예컨대, 조향 시스템(164)에 의해 차량(100)의 전방 또는 후방 휠들을 회전시킴으로써) 방향을 변경하고, (예컨대, 시그널링 시스템(166)의 회전 신호들을 점등함으로써) 이러한 변경들을 시그널링하게 할 수도 있다. 따라서, 가속 시스템(162) 및 감속 시스템(162)은 차량의 엔진과 차량의 휠들 사이에서 다양한 컴포넌트들을 포함하는 구동트레인(drivetrain)의 일부일 수도 있다. 다시, 이 시스템들을 제어함으로써, 컴퓨터(212)는 차량을 자율적으로 조종하기 위하여 차량의 구동트레인을 또한 제어할 수도 있다. 예로서, 컴퓨팅 디바이스(212)는 차량의 속력을 제어하기 위하여 감속 시스템(160) 및 가속 시스템(162)과 상호작용할 수도 있다. 유사하게, 조향 시스템(164)은 차량(100)의 방향을 제어하기 위하여 컴퓨팅 디바이스(110)에 의해 이용될 수도 있다. 예를 들어, 자동차 또는 트럭과 같이, 차량(100)이 도로 상에서의 이용을 위하여 구성될 경우, 조향 시스템은 차량을 회전시키기 위하여 휠들의 각도를 제어하기 위한 컴포넌트들을 포함할 수도 있다. 시그널링 시스템(166)은 예를 들어, 필요할 때에 회전 신호들 또는 브레이크 등들을 점등함으로써, 차량의 의도를 다른 운전자들 또는 차량들에 시그널링하기 위하여 컴퓨팅 디바이스(212)에 의해 이용될 수도 있다.
도 3a 내지 도 3d는 차량(100)의 외부 도면들의 예들이다. 알 수 있는 바와 같이, 차량(100)은 헤드라이트들(302), 윈드쉴드(windshield)(303), 후미등(taillight)들/회전 신호등(turn signal light)들(304), 후방 윈드쉴드(305), 도어들(306), 측면뷰 미러(side view mirror)들(308), 타이어들 및 휠들(310), 및 회전 신호/주차 등들(312)과 같은, 전형적인 차량의 많은 특징부들을 포함한다. 헤드라이트들(302), 후미등들/회전 신호등들(304), 및 회전 신호/주차등들(312)은 시그널링 시스템(166)과 연관될 수도 있다. 라이트 바(light bar)(307)는 시그널링 시스템(166)과 또한 연관될 수도 있다.
도 4는 도어(306)의 개구부를 통한 차량(100)의 예시적인 내부 도면이다. 이 예에서는, 시트들 사이에 콘솔(404)을 갖는 승객들을 위한 2개의 시트(402)가 있다. 보관 빈 에어리어(storage bin area)(408) 및 내부 전자 디스플레이(152)를 가지는 대시보드 구성부(dashboard configuration)(406)는 시트들(402)의 바로 앞에 있다. 용이하게 알 수 있는 바와 같이, 차량(100)은 승객이 구동트레인을 통해 차량의 조향, 가속, 및/또는 감속을 직접적으로 제어할 반자율 또는 수동 주행 모드를 허용할 조향 휠, 가스(가속) 페달, 또는 브레이크(감속) 페달을 포함하지 않는다. 오히려, 이하에서 더욱 상세하게 설명된 바와 같이, 사용자 입력은 사용자 입력(150)의 마이크로폰(도시되지 않음), 콘솔(404)의 특징부들, 및 이용가능할 경우, 무선 네트워크 접속부들(156)로 제한된다. 이와 관련하여, 내부 전자 디스플레이(152)는 단지, 정보를 승객에게 제공할 수도 있고, 사용자 입력을 위한 터치 스크린 또는 다른 인터페이스를 포함할 필요가 없을 수도 있다. 다른 실시예들에서, 내부 전자 디스플레이(152)는 승객에 의해, 목적지 등과 같은 정보를 입력하기 위한 터치 스크린 또는 다른 사용자 입력 디바이스를 포함할 수도 있다. 유사하게, 차량은 승객이 수동 또는 반자율 주행 모드에서 차량을 제어하기 위하여 이용할 수 있는 조향, 가속, 및 제동 입력을 포함할 수도 있다.
도 5 는 콘솔(404)의 탑다운 도면(top down view)이다. 콘솔(404)은 차량(100)의 특징부들을 제어하기 위한 다양한 버튼(button)들을 포함한다. 예를 들어, 콘솔(404)은 도어들(306)을 잠금 및 잠금해제하기 위한 버튼들(502), 도어들(306)의 윈도우들을 상승시키거나 하강시키기 위한 버튼들(504), 차량의 내부 등들을 턴온하기 위한 버튼들(506), 시트들(402)의 가열 기능을 제어하기 위한 버튼들(508)뿐만 아니라, 스피커들(154)의 음량을 제어하기 위한 버튼들(510)과 같은, 전형적인 차량에서 발견될 수도 있는 버튼들을 포함한다.
게다가, 콘솔(404)은 이용가능할 경우에 무선 네트워크 접속부를 통해 원격 컨시어지(remote concierge)와의 통신을 개시시키기 위한 버튼들(511)을 또한 포함한다. 버튼들(512 및 514)은 또한, 사용자 입력(150)의 일부일 수도 있고, 이와 관련하여, 예를 들어, 차량에서 여행을 개시시키거나 종료하기 위하여, 승객이 컴퓨터(110)와 통신하는 것을 허용할 수도 있다. 이와 관련하여, 버튼(512)은 눌러질 때, 차량(100)으로 하여금, 짧은 시간량 내에 정지하게 하는 비상 정지 버튼으로서 작동할 수도 있다. 승객은 가스 또는 브레이크 페달을 통해 차량(100)의 가속 또는 감속의 직접적인 제어를 가지지 않으므로, 버튼(512)은 승객이 당면한 비상의 경우에 안전하게 느끼고 신속하게 행동하는 것을 허용하는 것에 주요한 비상 정지 버튼일 수도 있다.
버튼(514)은 다기능 버튼일 수도 있다. 예를 들어, 버튼(514)은 3개의 상이한 상태를 가질 수도 있다. 제1 상태에서, 버튼(514)은 비활성일 수도 있고, 즉, 눌러질 경우, 차량의 컴퓨터(110)는 차량의 이동을 제어하는 것에 관하여 임의의 특정한 액션을 취함으로써 응답하지 않을 것이다. 제2 상태에서, 차량이 여행을 시작할 준비가 되어 있을 때, 버튼(514)은 승객이 목적지로의 여행을 개시시키거나 로케이션에 내려주기 위하여 이용하는 "GO" 버튼으로 변경될 수도 있다. 일단 차량(100)이 이동하고 있으면, 버튼(514)은 제3 상태로 변경될 수도 있고, 여기서, 버튼(514)은 승객이 비-비상(non-emergency) 정지를 개시시키기 위하여 이용하는 "PULL OVER" 버튼이다. 이와 관련하여, 컴퓨터(110)는 비상 정지 버튼(512)으로 더 급작스러운 정지에 이르는 것이 아니라, 차량을 풀 오버하기 위한 합리적인 장소를 결정함으로써 응답할 수도 있다.
따라서, 내비게이션 목적들을 위한 컴퓨터(110)와의 승객 통신은 버튼(514), 비상 정지 버튼(512), 승객의 클라이언트 컴퓨팅 디바이스와의 (블루투스(Bluetooth LE와 같은) 단거리 무선 통신 시스템, 및 정보를 승객의 클라이언트 컴퓨팅 디바이스로부터, 그 후에 그 정보를 차량의 컴퓨터에 중계하는 원격 서버로 전송하는 것에 의한 것으로 제한될 수도 있다. 일부 예들에서, 승객은 위에서 논의된 바와 같이, 마이크로폰을 통한 음성 커맨드들을 경유하여 정보를 차량의 컴퓨터(110)에 제공할 수도 있다. 게다가, 그러나, 승객은 전화 호출, 승객의 클라이언트 컴퓨팅 디바이스 상의 애플리케이션, 마이크로폰, 및/또는 컨시어지 버튼(511)을 통해 컨시어지와 통신할 수도 있고, 결국, 컨시어지는 명령들 제어를 컨시어지 작업 스테이션을 통해 차량의 어떤 양태들에 제공할 수도 있다.
차량(100)의 하나 이상의 컴퓨팅 디바이스들(110)은 또한, 다른 컴퓨팅 디바이스들로, 그리고 다른 컴퓨팅 디바이스들로부터 정보를 전송할 수도 있거나 정보를 수신할 수도 있다. 도 6 및 도 7은 각각, 네트워크(660)를 통해 접속된 복수의 컴퓨팅 디바이스들(610, 620, 630, 640) 및 저장 시스템(650)을 포함하는 예시적인 시스템(600)의 그림 및 기능적인 도면들이다. 시스템(600)은 차량(100), 및 차량(100)과 유사하게 구성될 수도 있는 차량(100A)을 또한 포함한다. 오직 몇몇 차량들 및 컴퓨팅 디바이스들이 단순함을 위하여 도시되어 있지만, 전형적인 시스템은 상당히 더 많이 포함할 수도 있다.
도 6에서 도시된 바와 같이, 컴퓨팅 디바이스들(610, 620, 630, 640)의 각각은 하나 이상의 프로세서들, 메모리, 데이터, 및 명령들을 포함할 수도 있다. 이러한 프로세서들, 메모리들, 데이터, 및 명령들은 컴퓨팅 디바이스(110)의 하나 이상의 프로세서들(120), 메모리(130), 데이터(132), 및 명령들(134)과 유사하게 구성될 수도 있다.
네트워크(660) 및 개입 노드들은 블루투스, 블루투스 LE, 인터넷, 월드 와이드 웹, 인트라넷들, 가상적인 사설 네트워크들, 광역 네트워크들, 로컬 네트워크들, 하나 이상의 회사에 독점적인 통신 프로토콜들을 이용하는 사설 네트워크들, 이더넷, WiFi 및 HTTP, 및 상기한 것의 다양한 조합들과 같은 단거리 통신 프로토콜들을 포함하는 다양한 구성들 및 프로토콜들을 포함할 수도 있다. 이러한 통신은 데이터를 모뎀들 및 무선 인터페이스들과 같은 다른 컴퓨팅 디바이스들로 그리고 다른 컴퓨팅 디바이스들로부터 송신할 수 있는 임의의 디바이스에 의해 용이하게 될 수도 있다.
일 예에서, 하나 이상의 컴퓨팅 디바이스들(110)은, 데이터를 다른 컴퓨팅 디바이스들로 그리고 다른 컴퓨팅 디바이스들로부터 수신하고, 프로세싱하고, 송신하는 목적을 위하여 네트워크의 상이한 노드들과 정보를 교환하는, 복수의 컴퓨팅 디바이스들을 가지는 서버, 예컨대, 부하 균형잡힌 서버 팜(server farm)을 포함할 수도 있다. 예를 들어, 하나 이상의 컴퓨팅 디바이스들(210)은 네트워크(660)를 통해, 차량(100)의 하나 이상의 컴퓨팅 디바이스들(110) 또는 차량(100A)의 유사한 컴퓨팅 디바이스뿐만 아니라, 클라이언트 컴퓨팅 디바이스들(620, 630, 640)과 통신할 수 있는 하나 이상의 서버 컴퓨팅 디바이스들을 포함할 수도 있다. 예를 들어, 차량들(100 및 100A)은 서버 컴퓨팅 디바이스들에 의해 다양한 로케이션들로 파견(dispatch)될 수 있는 차량들의 무리(fleet)의 일부일 수도 있다. 이와 관련하여, 무리의 차량들은 차량의 개개의 위치결정 시스템들에 의해 제공된 서버 컴퓨팅 디바이스들 로케이션 정보를 주기적으로 전송할 수도 있고, 하나 이상의 서버 컴퓨팅 디바이스들은 차량들의 로케이션들을 추적할 수도 있다.
게다가, 서버 컴퓨팅 디바이스들(610)은 컴퓨팅 디바이스들(620, 630, 640)의 디스플레이들(624, 634, 644)과 같은 디스플레이 상에서, 정보를 사용자(622, 632, 642)와 같은 사용자에게 송신하고 제시하기 위하여 네트워크(660)를 이용할 수도 있다. 이와 관련하여, 컴퓨팅 디바이스들(620, 630, 640)은 클라이언트 컴퓨팅 디바이스들로 고려될 수도 있다.
도 7에서 도시된 바와 같이, 각각의 클라이언트 컴퓨팅 디바이스(620, 630, 640)는 사용자(622, 632, 642)에 의한 이용을 위하여 의도된 개인용 컴퓨팅 디바이스일 수도 있고, 하나 이상의 프로세서(예컨대, 중앙 프로세싱 유닛(central processing unit)(CPU)), 데이터 및 명령들을 저장하는 메모리(예컨대, RAM 및 내부 하드 드라이브들), 디스플레이들(624, 634, 644)과 같은 디스플레이(예컨대, 정보를 디스플레이하도록 동작가능한 스크린, 터치-스크린, 프로젝터, 텔레비전, 또는 다른 디바이스), 및 사용자 입력 디바이스들(626, 636, 646)(예컨대, 마우스, 키보드, 터치 스크린, 또는 마이크로폰)을 포함하는 개인용 컴퓨팅 디바이스와 관련하여 통상적으로 이용된 컴포넌트들 전부를 가질 수도 있다. 클라이언트 컴퓨팅 디바이스들은 또한, 비디오 스트림들을 레코딩하기 위한 카메라, 스피커들, 네트워크 인터페이스 디바이스, 및 이 엘리먼트들을 서로 접속하기 위하여 이용된 컴포넌트들의 전부를 포함할 수도 있다.
클라이언트 컴퓨팅 디바이스들(620, 630, 및 640)은 전체-크기의 개인용 컴퓨팅 디바이스를 각각 포함할 수도 있지만, 그것들은 대안적으로, 인터넷과 같은 네트워크 상에서 서버와 데이터를 무선으로 교환할 수 있는 이동 컴퓨팅 디바이스들을 포함할 수도 있다. 오직 예로서, 클라이언트 컴퓨팅 디바이스(620)는 이동 전화일 수도 있거나, 인터넷 또는 다른 네트워크들을 통해 정보를 획득할 수 있는 무선-가능형 PDA, 태블릿 PC, 웨어러블 컴퓨팅 디바이스 또는 시스템, 또는 넷북과 같은 디바이스일 수도 있다. 또 다른 예에서, 클라이언트 컴퓨팅 디바이스(630)는 도 7에서 헤드-장착형 컴퓨팅 시스템으로서 도시된 웨어러블 컴퓨팅 시스템일 수도 있다. 예로서, 사용자는 소형 키보드, 키패드, 마이크로폰을 이용하여, 카메라에 의한 시각적 신호들을 이용하여, 또는 터치 스크린으로 정보를 입력할 수도 있다.
일부 예들에서, 클라이언트 컴퓨팅 디바이스(640)는 컨시어지 서비스(concierge service)들을 사용자들(622 및 632)과 같은 사용자들에게 제공하기 위하여, 관리자에 의해 이용된 컨시어지 워크 스테이션일 수도 있다. 예를 들어, 컨시어지(642)는 이하에서 더욱 상세하게 설명된 바와 같이, 차량들(100 및 100A)의 안전한 동작 및 사용자들의 안전성을 보장하기 위하여, 그 개개의 클라이언트 컴퓨팅 디바이스들 또는 차량들(100 또는 100A)을 통한 사용자들과의 전화 호출 또는 오디오 접속을 경유하여 통신하기 위하여 컨시어지 워크 스테이션(640)을 이용할 수도 있다. 오직 단일 컨시어지 워크 스테이션(640)이 도 6 및 도 7에서 도시되어 있지만, 임의의 수의 이러한 워크 스테이션들이 전형적인 시스템 내에 포함될 수도 있다.
저장 시스템(650)은 이하에서 더 상세하게 설명된 바와 같이, 다양한 타입들의 정보를 저장할 수도 있다. 이 정보는 본 명세서에서 설명된 특징들의 일부 또는 전부를 수행하기 위하여, 하나 이상의 서버 컴퓨팅 디바이스들(610)과 같은 서버 컴퓨팅 디바이스에 의해 검색될 수 있거나, 또는 다른 방식으로 액세스될 수 있다. 예를 들어, 정보는 사용자를 하나 이상의 서버 컴퓨팅 디바이스에게 식별하기 위하여 이용될 수 있는 크리덴셜들(credentials)(예컨대, 전통적인 단일-인자 인증(single-factor authentication)의 경우에서와 같은 사용자 명칭 및 패스워드(password)뿐만 아니라, 무작위적 식별자들, 생체계측들 등과 같은 멀티-인자 인증들에서 전형적으로 이용되는 다른 타입들의 크리덴셜들)과 같은 사용자 계정 정보를 포함할 수도 있다. 사용자 계정 정보는 또한, 사용자의 이름, 연락처 정보, 사용자의 클라이언트 컴퓨팅 디바이스(또는 다수의 디바이스들이 동일한 사용자 계정과 함께 이용될 경우에 디바이스들)의 식별 정보와 같은 개인 정보뿐만 아니라, 사용자를 위한 하나 이상의 고유한 신호들을 포함할 수도 있다.
저장 시스템(650)은 로케이션들 사이의 루트들을 생성하고 평가하기 위한 라우팅 데이터를 또한 저장할 수도 있다. 예를 들어, 라우팅 정보는 제2 로케이션에 도달하기 위하여 제1 로케이션에서 차량을 얼마나 오래 탈것인지를 추정하기 위하여 이용될 수도 있다. 이와 관련하여, 라우팅 정보는 위에서 설명된 상세한 지도 정보만큼 반드시 특정하지는 않지만, 도로들을 포함하는 지도 정보뿐만 아니라, 방향(일방향, 양방향 등), 방위(북쪽, 남쪽 등), 속력 제한들과 같은 그 도로에 대한 정보와, 예상된 교통 조건들을 식별하는 교통 정보 등을 포함할 수도 있다. 메모리(130)에서와 같이, 저장 시스템(250)은 하드-드라이브, 메모리 카드, ROM, RAM, DVD, CD-ROM, 기입-가능, 및 판독-전용 메모리들과 같은, 서버 컴퓨팅 디바이스들(610)에 의해 액세스가능한 정보를 저장할 수 있는 임의의 타입의 컴퓨터화된 저장장치일 수 있다. 게다가, 저장 시스템(650)은 데이터가 동일하거나 상이한 지리적 로케이션들에서 물리적으로 위치될 수도 있는 복수의 상이한 저장 디바이스들 상에서 저장되는 분산된 저장 시스템을 포함할 수도 있다. 저장 시스템(650)은 도 6에서 도시된 바와 같이, 네트워크(660)를 통해 컴퓨팅 디바이스들에 접속될 수도 있고, 및/또는 컴퓨팅 디바이스들(110, 610, 620, 630, 640) 등 중의 임의의 것에 직접적으로 접속될 수도 있거나 그 내로 포함될 수도 있다.
위에서 설명되고 도면들에서 예시된 동작들에 추가하여, 다양한 동작들이 지금 설명될 것이다. 다음의 동작들은 이하에서 설명된 정밀한 순서로 수행될 필요가 없다는 것이 이해되어야 한다. 오히려, 다양한 단계들은 상이한 순서로 또는 동시에 처리될 수 있고, 단계들은 도한, 추가될 수도 있거나 생략될 수도 있다.
일 양태에서, 사용자는 차량을 요청하기 위한 애플리케이션을 클라이언트 컴퓨팅 디바이스로 다운로딩할 수도 있다. 예를 들어, 사용자들(622 및 632)은 이메일에서의 링크를 통해, 웹사이트로부터 직접적으로, 또는 애플리케이션 스토어를 통해 애플리케이션을 클라이언트 컴퓨팅 디바이스들(620 및 630)로 다운로딩할 수도 있다. 예를 들어, 클라이언트 컴퓨팅 디바이스는 애플리케이션에 대한 요청을 네트워크 상에서 예를 들어, 하나 이상의 서버 컴퓨팅 디바이스들(610)로 송신할 수도 있고, 응답으로, 애플리케이션을 수신할 수도 있다. 애플리케이션은 클라이언트 컴퓨팅 디바이스에서 로컬 방식으로 설치될 수도 있다.
그 다음으로, 사용자는 애플리케이션을 액세스하고 차량을 요청하기 위하여 그 또는 그녀의 클라이언트 컴퓨팅 디바이스를 이용할 수도 있다. 예로서, 사용자(632)와 같은 사용자는 요청을 차량을 위한 하나 이상의 서버 컴퓨팅 디바이스들(610)로 전송하기 위하여 클라이언트 컴퓨팅 디바이스(630)를 이용할 수도 있다. 요청은 픽업 로케이션 또는 에어리어 및/또는 목적지 로케이션 또는 에어리어를 식별하는 정보를 포함할 수도 있다. 예로서, 이러한 로케이션은 거리 주소들, 로케이션 좌표들, 관심 포인트들 등에 의해 식별될 수도 있다. 이에 응답하여, 하나 이상의 서버 컴퓨팅 디바이스들(610)은 예를 들어, 이용가능성 및 로케이션에 기초하여, 차량을 식별할 수도 있고 차량을 픽업 로케이션에 파견할 수도 있다. 이 파견하는 것은 차량을 사용자(및/또는 사용자의 클라이언트 컴퓨팅 디바이스), 픽업 로케이션, 및 목적지 로케이션 또는 에어리어에 배정하기 위하여 사용자(및/또는 사용자의 클라이언트 디바이스)를 식별하는 정보를 차량에 전송하는 것을 수반할 수도 있다.
일단 차량(100)이 차량을 파견하는 정보를 수신하면, 차량의 하나 이상의 컴퓨팅 디바이스들(110)은 위에서 설명된 다양한 특징들을 이용하여 차량을 픽업 로케이션으로 조종할 수도 있다. 차량이 사용자의 클라이언트 디바이스에 접근함에 따라, 차량의 컴퓨터는 사용자의 클라이언트 디바이스, 및 또한 사용자를 인증할 수도 있다. 사용자가 인증될 때, 차량의 컴퓨팅 디바이스들은 차량의 도어들을 자동으로 잠금해제할 수도 있고, 사용자가 차량에 진입하는 것을 허용할 수도 있다. 차량의 하나 이상의 컴퓨팅 디바이스들(110)은 내부 전자 디스플레이(152) 상에서 환경 스크린을 또한 디스플레이할 수도 있다. 이 환경 스크린은 차량을 어떻게 이용할 것인지에 대한 명령들을 사용자(지금은 승객)에게 제공할 수도 있다. 예를 들어, 명령들은 승객이 필요할 경우에 도어들(306)을 닫고 그 또는 그녀의 좌석벨트를 잠글 것을 요청하는 것을 포함할 수도 있다. 시트들, 도어들, 및 좌석벨트들과 연관된 센서들은 승객이 준수하였는지를 결정하기 위하여 이용될 수도 있다. 일단 승객이 명령들을 준수하였다면, 그 또는 그녀는 버튼(514)을 누를 수도 있거나, 또는 그렇지 않을 경우에 버튼(514)을 활성화할 수도 있다. 이에 응답하여, 컴퓨터(110)는 목적지 로케이션으로의 루트를 따라 차량을 자율적으로 제어하기 위하여 필요한 시스템들을 개시시킬 수도 있다.
차량이 자율 주행 시스템에 의해 자율적으로 주행되고 있는 동안, 컴퓨팅 시스템들(110 및 210)은 승객을 픽업하기 위하여 픽업 로케이션으로 조종하는 것, 승객을 내려주기 위하여 목적지로 조종하는 것 등과 같은 임무 목표를 달성하기 위하여 함께 작업할 수도 있다. 예를 들어, 위에서 언급된 바와 같이, 컴퓨팅 시스템(110)은 궤도, 및 궤도를 따르기 위한 대응하는 명령들을 생성할 수도 있다. 그 다음으로, 컴퓨팅 시스템(110)은 이 정보를 컴퓨팅 시스템(210)으로 전송할 수도 있다. 이에 응답하여, 컴퓨팅 시스템(210)은 궤도 및 대응하는 명령들에 따라 차량을 조종할 수도 있다.
예를 들어, 도 8은 차량(110)이 자율 주행 시스템에 의해 자율적으로 현재 조종되고 있는 교차로(802)를 포함하는 차도(800)의 섹션을 도시한다. 차량(100)은 교차로(802)에 접근하고 있고, 예를 들어, 위에서 설명된 바와 같이, 자율 주행 모드에서 하나 이상의 컴퓨팅 디바이스들(110)에 의해 제어될 수도 있다. 이 예에서, 교차로(802)는 상세한 지도 정보(200)의 교차로(202)에 대응하고, 차량은 목적지를 향해 루트를 따르기 위하여 레일(250)을 일반적으로 따르고 있다(양자 모두 도 8에서 도시되지 않음). 이 예에서, 차선 라인들(810, 812, 및 814)은 차선 라인들(210, 212, 및 214)의 형상, 로케이션, 및 다른 특성들에 각각 대응한다. 유사하게, 횡단보도들(830 및 832)은 횡단보도들(230 및 232)의 형상, 로케이션, 및 다른 특성들에 각각 대응하고, 인도들(840)은 인도들(240)에 대응하고, 교통 신호등들(822, 824, 및 826)은 교통 신호등들(222, 224, 및 226)의 형상, 로케이션, 및 다른 특성들에 대응한다.
차량의 지각 시스템(172)은 차량의 환경에서 객체들을 연속적으로 검출할 수도 있고 식별할 수도 있다. 예를 들어, 차량의 컴퓨팅 디바이스들(110)은 차선 라인들(810, 812, 및 814), 횡단보도들(830 및 832), 인도들(840), 및 교통 신호등들(822, 824, 및 826)을 검출할 수도 있고 식별할 수도 있다. 이 "정적" 특징부들에 추가하여, 차량의 지각 시스템은 또한, 차량들(850 내지 858) 및 보행자들(860, 862)과 같은 다양한 다른 객체들을 검출할 수도 있고, 추적할 수도 있고, 식별할 수도 있다. 다시 말해서, 지각 시스템(172)은 잠깐의 시간 주기 동안에 이 객체들을 관찰함으로써, 이 객체들의 일반적인 형상 및 방위뿐만 아니라 속력을 결정할 수도 있다.
이 정보는 위치결정 시스템(170)으로부터 차량의 현재의 지리적 로케이션을 식별하는 위치 정보와 함께, 차량에 대한 궤도들을 생성하기 위하여 컴퓨팅 시스템(110)의 컴퓨팅 디바이스(112)에 공급될 수도 있다. 위에서 언급된 바와 같이, 그렇게 행하기 위하여, 컴퓨팅 디바이스(112)는 또한, 관련된 상세한 지도 정보를 검색할 수 있다. 차량의 주어진 지리적 로케이션으로부터, 컴퓨팅 디바이스(110)는 2개의 상이한 궤도를 생성할 수도 있고, 그 중의 오직 하나는 작동되어야 할 컴퓨팅 시스템(210)으로 실제적으로 전송된다. 제1 궤도는 차량이 임무 목표를 달성하는 것을 지향하여 계속할 것을 가능하게 하는 명목 궤도일 수도 있는 반면, 제2 퀘도는 폴백 궤도일 수도 있다. 안전성을 위하여, 오직 제2의 폴백 궤도 및 대응하는 명령들이 컴퓨팅 시스템(210)으로 전송될 수도 있다.
이와 관련하여, 폴백 궤도는 안전한 위치로의 차량 풀 오버(pull over) 및 차량을 정지시키는 것을 실제적으로 포함할 수도 있다. 이 폴백 궤도는 그러므로, 일부 명목 거리를 20초 또는 대략 그 정도와 같은 미래로 확장할 수도 있다. 예로서, 폴백 궤도는 차량 풀 오버와, 차량이 시간 당 25 마일(mile)로 이동하고 있을 때에 약 7초 내에 정지에 이르는 것을 포함할 수도 있다. 이것은 이것을 달성하기 위하여 차량을 얼마나 오래 탈것인지에 대략 대응할 것이다. 도 9의 예(900)에서 도시된 바와 같이, 폴백 궤도(910)(파선으로 도시함)는 차량이 풀 오버하고, 차량(100)의 현재 속력이 주어질 경우에 5초 내에 정지하는 것을 가능하게 할 것이다.
위에서 언급된 바와 같이, 컴퓨팅 시스템(110)은 또한, 차량을 임무 목표를 향해 이동시키는 명목 궤도를 생성할 수도 있다. 명목 궤도(920)(파선으로 도시함)는 차량이 목적지를 향해 레일(250)을 따라 계속하는 것을 가능하게 한다. 명확함을 위하여, 양자의 폴백 궤도(910) 및 명목 궤도(920)의 별도의 도면들이 도 10의 예(1000)에서 도시된다.
일부 잠깐의 주기에 대하여, 폴백 및 명목 궤도는 동일할 수도 있다. 예를 들어, 도 9 및 도 10에서 알 수 있는 바와 같이, 폴백 궤도(910) 및 명목 궤도(920)는 서로 중첩하고, 포인트들(930 및 940) 사이에서 동일하다. 이 예에서, 포인트들(930 및 940)은 특정 시간들에서 차량에 의해 도달되어야 할 로케이션들을 나타낸다. 따라서, 양자의 궤도(910 및 920)에 대하여, 차량은 시간 T1에서 포인트(930)(실제로, 양자의 궤도들(910 및 920)의 시작 포인트)에 있을 것이다. 유사하게, 어느 하나의 궤도를 따르면, 차량(100)은 시간 T2에서 포인트(930)에 도달할 것이다. 따라서, 동일한 궤도를 가지는 것에 추가하여, (포인트들(930 및 940) 사이의) 이 중첩하는 부분들은 동일한 대응하는 명령들과 연관될 수도 있다. 다시 말해서, 상이한 시간들에서 도달되어야 할 차량의 물리적 로케이션들에 추가하여, 가속, 감속, 조향 등을 제어하기 위한 명령들은 포인트들(930 및 940) 사이의 양자의 궤도들에 대하여 동일할 수도 있다.
이 잠깐의 중첩의 주기 후에, 폴백 및 명목 궤도들은 서로로부터 신속하게 분기할 수도 있다. 예로서, 잠깐의 주기는 대략 수백 밀리초(millisecond), 또는 예를 들어, 0.3 초일 수도 있다. 이와 관련하여, 포인트(940) 후에, 궤도(910)는 차량(100)을 차도에서 떨어져서 숄더 에어리어(shoulder area) 상으로 데려가고, 정지에 이르도록 늦출 것이다. 대조적으로, 궤도(920)는 차량이 목적지를 향해 레일(250)을 따라 계속하게 할 것이다.
잠깐의 중첩의 주기는 컴퓨팅 시스템(210)이 언제 컴퓨팅 시스템(110)으로부터 업데이트를 수신할 것을 예상할 것인지와, 또한, 차량이 그 진로 또는 속력에 대한 실제의 변경을 얼마나 신속하게 실제로 행할 수 있는지에 기초하여 선택될 수도 있다. 예를 들어, 컴퓨팅 시스템(110)이 초 당 대략 10 회(또는 매 0.1 초) 궤도들을 컴퓨팅 시스템(210)으로 전송할 수도 있을 경우, 명목 및 폴백 궤도들은 적어도 이 길거나 심지어 2배인 이 시간량에 대하여 대응해야 한다. 그렇게 행함으로써, 컴퓨팅 시스템(210)은 컴퓨팅 시스템(210)이 컴퓨팅 시스템(110)으로부터 업데이트된 궤도를 수신할 것을 예상할 경우에, 적어도 일부 시간량이 지날 때까지 명목 궤도 및 대응하는 명령들에 따라 차량을 제어할 수도 있다. 위에서 언급된 바와 같이, 이것은 메모리(230)의 명령들(234)뿐만 아니라 대응하는 명령들에 따라 차량(100)의 이동, 속력 등을 제어하기 위하여, 감속 시스템(160), 가속 시스템(162), 조향 시스템(164), (회전 신호들을 제어하기 위한) 시그널링 시스템(166), 및 파워 시스템(174)과 통신하는 것을 포함할 수도 있다. 업데이트된 궤도가 수신될 때, 컴퓨팅 시스템(210)은 그 다음으로, 새로운 업데이트된 궤도 및 대응하는 명령들이 수신될 때까지 업데이트된 궤도 및 대응하는 명령들에 따라 차량을 제어할 것이고, 임무 목표가 달성될 때까지 그렇게 계속될 것이다.
그러나, 컴퓨팅 시스템(210)이 차량이 (예를 들어, 시간 또는 공간에서의) 폴백 궤도를 따르는 특정한 포인트에 도달한 후에 업데이트된 궤도를 수신하지 않았을 때, 컴퓨팅 시스템(210)은 폴백 궤도에 따라 차량을 제어하는 것을 계속할 것이다. 이 문턱 포인트는 폴백 궤도가 컴퓨팅 시스템(210)에 의해 수신되었을 때의 시간으로부터의 미리 결정된 문턱 시간 주기를 측정함으로써 결정될 수도 있다. 유사하게, 문턱 포인트는 폴백 궤도가 컴퓨팅 시스템(210)에 의해 수신되었을 때의 차량의 로케이션으로부터의 미리 결정된 문턱 거리를 측정함으로써 결정될 수도 있다. 문턱 포인트는 또한, 폴백 궤도가 명목 궤도로부터 분기하기 시작할 폴백 궤도 상의 시간 또는 공간에서의 포인트, 또는 도 9의 예(900)에서는 포인트(940)에 대응할 수도 있다.
일부 예들에서, 문턱 포인트는 예를 들어, 차량의 속력 또는 조향 각도에 기초하여 컴퓨팅 시스템들(110 및/또는 210)에 의해 동적으로 결정될 수도 있다. 예를 들어, 문턱 포인트는 차량이 폴백 궤도에 따라 정지할 필요가 있는 곳의 방향에서, 차량이 그 휠들을 회전하고 있을 때와는 반대로, 차량이 직진으로 주행하고 있을 때에 더 빨리 발생할 수도 있다. 유사하게, 문턱 포인트는 시간 당 5 마일인 차량들을 정지시키기 위하여 더 적은 시간이 걸릴 것이므로, 차량이 시간 당 5 마일로 이동하고 있었을 경우보다, 차량이 시간 당 20 마일로 주행하고 있을 때에 더 빨리 발생할 수도 있다. 물론, 문턱 포인트는 따라서, 차량의 속력 및 조향 각도뿐만 아니라, 상세한 지도 정보 또는 지각 시스템으로부터의 센서 데이터로부터 식별된 바와 같은 차도의 특성들에 종속적일 수도 있다.
물론, 문턱 포인트는 또한, 폴백 및 명목 궤도들 사이의 분기의 포인트 후에 있는 폴백 궤도 상의 (시간 또는 공간에서의) 포인트에 대응할 수도 있다. 이와 관련하여, 컴퓨팅 시스템(210)은 궤도들 사이의 작은 양의 분기를 용인할 수도 있고, 업데이트된 궤도가 수신될 때에 주 궤도로 여전히 복귀할 수도 있다. 그러나, 상당한 양의 분기 후에는, 주 궤도(또는 새로운 업데이트된 폴백 궤도)로 복귀하는 것이 불안전할 수 있다.
(양자의 폴백 궤도 및 명목 궤도와는 반대로) 오직 폴백 궤도가 컴퓨팅 디바이스(210)에 의해 수신되므로, 컴퓨팅 시스템(110)이 고장났더라도, 컴퓨팅 시스템(210)은 새로운 궤도 및 새로운 대응하는 명령들로 전환할 필요가 있는 것이 아니라, 위에서 논의된 바와 같이, 최후에 수신된 폴백 궤도 및 대응하는 명령들을 이용하여 차량을 제어하는 것을 간단하게 계속할 것이다. 이 궤도가 폴백 궤도이므로, 컴퓨팅 시스템(210)은 따라서, 안전하게 정지시키기 위하여 차량을 조종할 것이다.
게다가, 이 문턱 시간 주기가 지난 후에, 업데이트가 수신될 경우, 보조 컴퓨팅 시스템은 이 업데이트된 궤도를 신뢰하지 않고 그것을 간단하게 무시하도록 구성될 수 있다. 이것은 보조 컴퓨팅 시스템이 고장난 주 컴퓨팅 시스템으로부터 수신된 배드 데이터에 대해 작동하는 것을 방지한다.
일부 예들에서, 보조 컴퓨팅 시스템은 기본적인 지각 시스템을 포함할 수도 있다. 이 지각 시스템은 주 컴퓨팅 시스템의 지각 시스템의 센서들 중의 하나, 또는 보조 컴퓨팅 시스템에 대한 전용 센서를 포함할 수도 있다. 예를 들어, 순방향-대면 레이더는 차량의 전방에서 직접적으로 객체들을 모니터링하기 위하여 이용될 수 있다. 그러나, 보조 컴퓨팅 시스템을 가능한 한 간단하게 유지하기 위하여, 이 센서는 객체가 차량의 어떤 거리 내에서 검출될 경우에 가능한 한 많이 브레이크들을 적용하기 위한 최후 의존 옵션으로서 간단하게 차량에 의해 간단하게 이용될 수도 있다. 그러나, 필요하지 않을 때에 이 액션을 회피하기 위하여, 센서는 예를 들어, 객체 및/또는 차량의 거리 및 속력에 기초하여 많은 상이한 타입들의 객체들을 필터링하도록 구성될 수도 있다.
도 11은 컴퓨팅 시스템(210)과 같은 보조 컴퓨팅 시스템의 하나 이상의 프로세서에 의해 수행될 수도 있는 위에서 설명된 다양한 양태들의 예시적인 흐름도(1100)이다. 이 예에서, 블록(1102)에서는, 차량을 안전하게 정지시키기 위한 차량의 로케이션으로부터의 폴백 궤도는 보조 컴퓨팅 시스템의 하나 이상의 프로세서에 의해 수신된다. 차량의 로케이션으로부터 분기 로케이션까지의 폴백 궤도의 부분은 차량의 로케이션으로부터 분기 로케이션까지의 명목 궤도의 부분과 동일하다. 명목 궤도는 차량이 임무 목표를 달성하는 것을 허용하고, 명목 궤도 및 폴백 궤도는 분기 로케이션 후에 분기한다. 블록(1104)에서, 차량은 임무 목표를 달성하기 위하여 폴백 궤도의 부분에 따라, 보조 컴퓨팅 시스템의 하나 이상의 프로세서에 의해 제어된다. 보조 컴퓨팅 시스템의 하나 이상의 프로세서는 블록(1106)에서, 차량을 제어하면서 주 컴퓨팅 시스템으로부터의 업데이트된 궤도를 대기한다. 블록(1108)에서는, 차량이 폴백 궤도 상의 문턱 포인트에 도달하고 업데이트된 궤도가 보조 컴퓨팅 시스템의 하나 이상의 프로세서에 의해 아직 수신되지 않았을 때, 보조 컴퓨팅 시스템의 하나 이상의 프로세서들이 차량을 안전하게 정지시키기 위하여 폴백 궤도에 따라 차량을 제어하는 것을 계속한다. 블록(1110)에서는, 업데이트된 궤도가 문턱 포인트에 도달된 후에 수신될 때, 보조 컴퓨팅 시스템의 하나 이상의 프로세서는 업데이트된 궤도를 무시한다.
이와 다르게 기재되었을 경우, 상기한 대안적인 예들은 상호 배타적이지 않지만, 고유한 장점들을 달성하기 위하여 다양한 조합들로 구현될 수도 있다. 위에서 논의된 특징들의 이러한 그리고 다른 변형들 및 조합들은 청구항들에 의해 정의된 발명 요지로부터 이탈하지 않으면서 사용될 수 있으므로, 실시예들의 상기 설명은 청구항들에 의해 정의된 발명 요지의 제한을 통하는 것이 아니라, 예시를 통해 취해져야 한다. 게다가, 본 명세서에서 설명된 예들의 제공뿐만 아니라, "~와 같은", "~포함하는" 등으로서 표현된 어절들은 청구항들의 발명 요지를 특정 예들로 제한하는 것으로 해독되지 않아야 하고; 오히려, 예들은 많은 가능한 실시예들 중의 오직 하나를 예시하도록 의도된다. 또한, 상이한 도면들에서의 동일한 참조 번호들은 동일하거나 유사한 엘리먼트들을 식별할 수 있다.

Claims (20)

  1. 차량을 제어하는 방법으로서,
    주 컴퓨팅 시스템에 의해, 임무 목표(mission goal)를 달성하기 위하여 차량에 대한 로케이션(location)으로부터의 명목 궤도(nominal trajectory)를 생성하는 단계 - 상기 명목 궤도는 상기 차량의 외부 환경에서 객체들을 검출하도록 구성되는 상기 차량의 지각 시스템으로부터 상기 주 컴퓨팅 시스템에 의해 수신된 정보에 기초하여 생성됨 - ;
    상기 주 컴퓨팅 시스템에 의해, 상기 차량을 안전하게 정지시키기 위하여 상기 차량에 대한 상기 로케이션으로부터의 폴백 궤도(fall back trajectory)를 생성하는 단계 - 상기 폴백 궤도는 상기 차량의 상기 지각 시스템으로부터 상기 주 컴퓨팅 시스템에 의해 수신된 상기 정보에 기초하여 생성되고, 상기 명목 궤도 및 상기 폴백 궤도는 상기 로케이션과 분기 포인트(divergent point) 사이에서 동일하고, 상기 명목 궤도 및 상기 폴백 궤도는 상기 분기 포인트 후에 분기함 - ;
    상기 주 컴퓨팅 시스템에 의해, 상기 폴백 궤도를 보조 컴퓨팅 시스템으로 전송하는 단계;
    상기 보조 컴퓨팅 시스템에 의해, 상기 폴백 궤도를 수신하는 단계;
    상기 보조 컴퓨팅 시스템에 의해, 상기 폴백 궤도에 따라 상기 차량을 제어하는 단계;
    상기 보조 컴퓨팅 시스템에 의해, 상기 폴백 궤도에 따라 상기 차량을 제어하면서, 상기 주 컴퓨팅 시스템으로부터의 업데이트된 궤도를 대기하는 단계; 및
    상기 차량이 상기 폴백 궤도 상의 문턱 포인트에 도달하고 업데이트된 궤도가 상기 보조 컴퓨팅 시스템에 의해 아직 수신되지 않았을 때, 상기 보조 컴퓨팅 시스템에 의해, 상기 차량을 안전하게 정지시키기 위하여 상기 폴백 궤도에 따라 상기 차량을 제어하는 것을 계속하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 문턱 포인트에 도달된 후에 업데이트된 궤도가 수신될 때, 상기 보조 컴퓨팅 시스템에 의해, 상기 업데이트된 궤도를 무시하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 보조 컴퓨팅 시스템에 의해, 상기 문턱 포인트에 도달된 후, 센서로부터, 객체가 상기 센서에 의해 검출된다는 것을 표시하는 데이터를 수신하는 단계; 및
    상기 센서로부터 상기 데이터를 수신하는 것에 응답하여, 상기 보조 컴퓨팅 시스템에 의해, 상기 차량을 즉시 정지시키기 위하여 상기 차량의 브레이크들을 적용(applying)하는 단계를 더 포함하는 방법.
  4. 제3항에 있어서, 상기 센서는 상기 지각 시스템의 일부가 아니고, 상기 보조 컴퓨팅 시스템의 전용 센서인 방법.
  5. 제1항에 있어서, 상기 분기 포인트는 상기 주 컴퓨팅 시스템이 상기 주 컴퓨팅 시스템의 정상적인 동작 동안에 업데이트된 폴백 궤도를 전송해야 하는 상기 폴백 궤도를 따르는 시간에 대응하는 방법.
  6. 제1항에 있어서,
    상기 폴백 궤도를 수신하기 이전에, 상기 보조 컴퓨팅 시스템에 의해, 상기 주 컴퓨팅 시스템으로부터, 제1 분기 로케이션을 가지는 제1 폴백 궤도를 수신하는 단계 - 상기 제1 폴백 궤도는 상기 주 컴퓨팅 시스템에 의해 생성된 제1 명목 궤도로부터 분기함 - ;
    상기 보조 컴퓨팅 시스템에 의해, 상기 제1 폴백 궤도에 따라 상기 차량을 제어하는 단계; 및
    상기 제1 분기 로케이션에 도달하기 이전에, 상기 보조 컴퓨팅 시스템에 의해, 상기 폴백 궤도를 업데이트된 궤도로서 수신하는 단계를 더 포함하는 방법.
  7. 제6항에 있어서, 상기 보조 컴퓨팅 시스템에 의해, 상기 폴백 궤도에 따라 상기 차량을 제어하기 위하여 상기 명목 궤도를 상기 업데이트된 궤도로 대체하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서, 상기 문턱 포인트는 상기 폴백 궤도가 수신될 때의 상기 차량의 로케이션으로부터의 미리 결정된 문턱 거리인, 상기 차량의 물리적 로케이션에 대응하는 방법.
  9. 제1항에 있어서, 상기 문턱 포인트는 상기 폴백 궤도가 상기 보조 컴퓨팅 시스템에 의해 수신될 때의 시간으로부터의 미리 결정된 문턱 시간량인, 시간에서의 포인트에 대응하는 방법.
  10. 제1항에 있어서, 상기 문턱 포인트는 상기 명목 궤도와 상기 폴백 궤도 사이의 분기의 포인트에 대응하는 방법.
  11. 차량을 제어하기 위한 시스템으로서,
    하나 이상의 프로세서를 가지는 주 컴퓨팅 시스템 - 상기 하나 이상의 프로세서는:
    임무 목표를 달성하기 위하여 차량에 대한 로케이션으로부터의 명목 궤도를 생성하고 - 상기 명목 궤도는 상기 차량의 외부 환경에서 객체들을 검출하도록 구성되는 상기 차량의 지각 시스템으로부터 상기 주 컴퓨팅 시스템에 의해 수신된 정보에 기초하여 생성됨 - ,
    상기 차량을 안전하게 정지시키기 위하여 상기 차량에 대한 상기 로케이션으로부터의 폴백 궤도를 생성하고 - 상기 폴백 궤도는 상기 차량의 상기 지각 시스템으로부터 상기 주 컴퓨팅 시스템에 의해 수신된 상기 정보에 기초하여 생성되고, 상기 명목 궤도 및 상기 폴백 궤도는 상기 로케이션과 분기 로케이션 사이에서 동일하고, 상기 명목 궤도 및 상기 폴백 궤도는 상기 분기 로케이션 후에 분기함 - , 그리고
    상기 폴백 궤도를 보조 컴퓨팅 시스템으로 전송하도록 구성됨 - ; 및
    하나 이상의 프로세서를 가지는 상기 보조 컴퓨팅 시스템 - 상기 하나 이상의 프로세서는:
    상기 폴백 궤도를 수신하고;
    상기 폴백 궤도에 따라 상기 차량을 제어하고;
    상기 차량을 제어하면서, 상기 주 컴퓨팅 시스템으로부터의 업데이트된 궤도를 대기하고; 그리고
    상기 차량이 상기 폴백 궤도 상의 문턱 포인트에 도달하고 업데이트된 궤도가 상기 보조 컴퓨팅 시스템에 의해 아직 수신되지 않았을 때, 상기 차량을 안전하게 정지시키기 위하여 상기 폴백 궤도에 따라 상기 차량을 제어하는 것을 계속하도록 구성됨 -
    을 포함하는 시스템.
  12. 제11항에 있어서, 상기 보조 컴퓨팅 시스템의 상기 하나 이상의 프로세서는 상기 문턱 포인트에 도달된 후에 업데이트된 궤도가 수신될 때, 상기 업데이트된 궤도를 무시하도록 추가로 구성되는 시스템.
  13. 제11항에 있어서, 상기 보조 컴퓨팅 시스템의 상기 하나 이상의 프로세서는,
    문턱 값에 도달된 후, 센서로부터, 객체가 상기 센서에 의해 검출된다는 것을 표시하는 데이터를 수신하고; 그리고
    상기 센서로부터 상기 데이터를 수신하는 것에 응답하여, 상기 차량을 즉시 정지시키기 위하여 상기 차량의 브레이크들을 적용하도록 추가로 구성되는 시스템.
  14. 제13항에 있어서, 상기 센서를 더 포함하고, 상기 센서는 상기 지각 시스템의 일부가 아니고, 상기 보조 컴퓨팅 시스템의 전용 센서인 시스템.
  15. 제11항에 있어서, 상기 분기 로케이션은 상기 주 컴퓨팅 시스템이 상기 주 컴퓨팅 시스템의 정상적인 동작 동안에 업데이트된 폴백 궤도를 전송해야 하는 상기 폴백 궤도를 따르는 시간에 대응하는 시스템.
  16. 제11항에 있어서, 상기 보조 컴퓨팅 시스템의 상기 하나 이상의 프로세서는,
    상기 폴백 궤도를 수신하기 이전에, 상기 주 컴퓨팅 시스템으로부터, 제1 분기 로케이션을 가지는 제1 폴백 궤도를 수신하고 - 상기 제1 폴백 궤도는 상기 주 컴퓨팅 시스템에 의해 생성된 제1 명목 궤도로부터 분기함 - ;
    상기 제1 폴백 궤도에 따라 상기 차량을 제어하고; 그리고
    상기 제1 분기 로케이션에 도달하기 이전에, 상기 폴백 궤도를 업데이트된 궤도로서 수신하도록 추가로 구성되는 시스템.
  17. 제16항에 있어서, 상기 보조 컴퓨팅 시스템의 상기 하나 이상의 프로세서는 상기 폴백 궤도에 따라 상기 차량을 제어하기 위하여 상기 명목 궤도를 상기 업데이트된 궤도로 대체하도록 추가로 구성되는 시스템.
  18. 제11항에 있어서, 상기 차량 및 상기 지각 시스템을 더 포함하는 시스템.
  19. 방법으로서,
    보조 컴퓨팅 시스템의 하나 이상의 프로세서에 의해, 주 컴퓨팅 시스템으로부터, 차량을 안전하게 정지시키기 위하여 상기 차량의 로케이션으로부터의 폴백 궤도를 수신하는 단계 - 상기 차량의 상기 로케이션으로부터 분기 로케이션까지의 상기 폴백 궤도의 부분은 상기 차량의 상기 로케이션으로부터 상기 분기 로케이션까지의 명목 궤도의 부분과 동일하고, 상기 명목 궤도는 상기 차량이 임무 목표를 달성하는 것을 허용하고, 상기 명목 궤도 및 상기 폴백 궤도는 상기 분기 로케이션 후에 분기함 - ;
    상기 보조 컴퓨팅 시스템의 상기 하나 이상의 프로세서에 의해, 상기 임무 목표를 달성하기 위하여 상기 폴백 궤도의 상기 부분에 따라 상기 차량을 제어하는 단계;
    상기 보조 컴퓨팅 시스템의 상기 하나 이상의 프로세서에 의해, 상기 차량을 제어하면서 상기 주 컴퓨팅 시스템으로부터의 업데이트된 궤도를 대기하는 단계; 및
    상기 차량이 폴백 궤도 상의 문턱 포인트에 도달하고 업데이트된 궤도가 상기 보조 컴퓨팅 시스템의 상기 하나 이상의 프로세서에 의해 아직 수신되지 않았을 때, 상기 보조 컴퓨팅 시스템의 상기 하나 이상의 프로세서에 의해, 상기 차량을 안전하게 정지시키기 위하여 상기 폴백 궤도에 따라 상기 차량을 제어하는 것을 계속하는 단계
    를 포함하는 방법.
  20. 제19항에 있어서, 상기 문턱 포인트에 도달된 후에 업데이트된 궤도가 수신될 때, 상기 보조 컴퓨팅 시스템의 상기 하나 이상의 프로세서에 의해, 상기 업데이트된 궤도를 무시하는 단계를 더 포함하는 방법.
KR1020187022507A 2016-01-08 2016-12-22 자율 차량들을 위한 폴백 궤도 시스템들 KR101958430B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14/991,150 US9551992B1 (en) 2016-01-08 2016-01-08 Fall back trajectory systems for autonomous vehicles
US14/991,150 2016-01-08
US15/371,595 US9740202B2 (en) 2016-01-08 2016-12-07 Fall back trajectory systems for autonomous vehicles
US15/371,595 2016-12-07
PCT/US2016/068233 WO2017120057A1 (en) 2016-01-08 2016-12-22 Fall back trajectory systems for autonomous vehicles

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197006924A Division KR102114199B1 (ko) 2016-01-08 2016-12-22 자율 차량들을 위한 폴백 궤도 시스템들

Publications (2)

Publication Number Publication Date
KR20180091951A KR20180091951A (ko) 2018-08-16
KR101958430B1 true KR101958430B1 (ko) 2019-03-14

Family

ID=59274374

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187022507A KR101958430B1 (ko) 2016-01-08 2016-12-22 자율 차량들을 위한 폴백 궤도 시스템들
KR1020197006924A KR102114199B1 (ko) 2016-01-08 2016-12-22 자율 차량들을 위한 폴백 궤도 시스템들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197006924A KR102114199B1 (ko) 2016-01-08 2016-12-22 자율 차량들을 위한 폴백 궤도 시스템들

Country Status (9)

Country Link
US (1) US9740202B2 (ko)
EP (2) EP3380904B1 (ko)
JP (2) JP6488428B1 (ko)
KR (2) KR101958430B1 (ko)
CN (1) CN108475055B (ko)
AU (2) AU2016384627B2 (ko)
CA (1) CA3010882C (ko)
SG (1) SG11201805625YA (ko)
WO (1) WO2017120057A1 (ko)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101745161B1 (ko) * 2015-10-28 2017-06-08 현대자동차주식회사 목적지 유형에 따른 차량의 제어 방법
KR20180104089A (ko) * 2016-01-29 2018-09-19 닛산 지도우샤 가부시키가이샤 차량의 주행 제어 방법 및 차량의 주행 제어 장치
US9990846B1 (en) * 2017-02-07 2018-06-05 NoTraffic Ltd. Device, system and method for traffic management
US10156849B1 (en) * 2017-06-30 2018-12-18 Uber Technologies, Inc. Human supervision of an automated driving system
DE112017007756T5 (de) * 2017-08-16 2020-04-09 Ford Global Technologies, Llc Bestätigung des Einstiegs in ein Fahrzeug
US10620634B2 (en) 2017-08-23 2020-04-14 Uatc, Llc Vehicle interface for autonomous vehicle
US10569784B2 (en) 2017-09-28 2020-02-25 Waymo Llc Detecting and responding to propulsion and steering system errors for autonomous vehicles
US20190129413A1 (en) * 2017-10-26 2019-05-02 GM Global Technology Operations LLC Flexible remote vehicle control
US10583839B2 (en) * 2017-12-28 2020-03-10 Automotive Research & Testing Center Method of lane change decision-making and path planning
JP6525413B1 (ja) * 2017-12-28 2019-06-05 マツダ株式会社 車両制御装置
US10585434B2 (en) * 2018-01-10 2020-03-10 GM Global Technology Operations LLC Relaxable turn boundaries for autonomous vehicles
US10816977B2 (en) 2018-01-26 2020-10-27 Baidu Usa Llc Path and speed optimization fallback mechanism for autonomous vehicles
WO2019201412A1 (en) * 2018-04-16 2019-10-24 Volvo Truck Corporation A method for a string of vehicles
WO2019214828A1 (en) * 2018-05-11 2019-11-14 Volvo Truck Corporation A method for establishing a path for a vehicle
CN112384760B (zh) * 2018-05-15 2024-07-05 御眼视觉技术有限公司 用于自主车辆导航的***和方法
JP2021524087A (ja) 2018-05-16 2021-09-09 ノートラフィック リミテッド V2xおよびセンサデータを使用するためのシステムおよび方法
US11022452B2 (en) * 2018-05-21 2021-06-01 Waymo Llc Inconvenience for passenger pickups and drop offs for autonomous vehicles
EP3824404A4 (en) 2018-07-20 2022-04-27 May Mobility, Inc. MULTI-PERSPECTIVE SYSTEM AND BEHAVIORAL POLICY SELECTION PROCESS BY AN AUTONOMOUS AGENT
JP7073987B2 (ja) * 2018-08-31 2022-05-24 トヨタ自動車株式会社 同行車両選択システム
US11543824B2 (en) * 2018-10-09 2023-01-03 Waymo Llc Queueing into pickup and drop-off locations
CN110243368A (zh) * 2019-04-29 2019-09-17 丰疆智能科技研究院(常州)有限公司 智能农机的行驶轨迹建立***及其应用
CN113874683A (zh) * 2019-05-28 2021-12-31 御眼视觉技术有限公司 用于车辆导航的***和方法
TWI710489B (zh) 2019-07-08 2020-11-21 宏碁股份有限公司 車輛及車輛控制方法
CN112298197B (zh) * 2019-07-26 2022-05-31 宏碁股份有限公司 车辆及车辆控制方法
US11292458B2 (en) 2019-07-31 2022-04-05 Toyota Research Institute, Inc. Autonomous vehicle user interface with predicted trajectories
US11292457B2 (en) 2019-07-31 2022-04-05 Toyota Research Institute, Inc. Autonomous vehicle user interface with predicted trajectories
US11328593B2 (en) 2019-07-31 2022-05-10 Toyota Research Institute, Inc. Autonomous vehicle user interface with predicted trajectories
JP7230777B2 (ja) * 2019-11-11 2023-03-01 トヨタ自動車株式会社 車両制御システム
US11345360B1 (en) * 2019-12-12 2022-05-31 Zoox, Inc. Localization error handling
US20210200211A1 (en) * 2019-12-31 2021-07-01 Baidu Usa Llc Method of generating back-up trajectories for self-driving vehicles during emergency
EP3885226A1 (en) * 2020-03-25 2021-09-29 Aptiv Technologies Limited Method and system for planning the motion of a vehicle
KR102176483B1 (ko) * 2020-03-30 2020-11-09 한양대학교 산학협력단 차선 정보를 래스터화하여 활용하는 딥러닝 기반 차량 경로 예측 방법 및 장치
US11181917B2 (en) * 2020-04-15 2021-11-23 Baidu Usa Llc Path planning system based on steering wheel self zeroing for autonomous vehicles
EP4165476A4 (en) 2020-07-01 2024-07-03 May Mobility Inc METHOD AND SYSTEM FOR DYNAMIC MANAGEMENT OF AUTONOMOUS VEHICLE INTERVENTIONS
CN112224186A (zh) * 2020-09-18 2021-01-15 珠海广通汽车有限公司 车辆的控制方法、装置、计算机可读存储介质和处理器
US20220171396A1 (en) * 2020-11-30 2022-06-02 Yandex Self Driving Group Llc Systems and methods for controlling a robotic vehicle
US11807266B2 (en) * 2020-12-04 2023-11-07 Mitsubishi Electric Corporation Driving system for distribution of planning and control functionality between vehicle device and cloud computing device, vehicle computing device, and cloud computing device
JP7405067B2 (ja) * 2020-12-11 2023-12-26 トヨタ自動車株式会社 車両の制御装置、及び車両の制御方法
US11396302B2 (en) 2020-12-14 2022-07-26 May Mobility, Inc. Autonomous vehicle safety platform system and method
US11654932B2 (en) 2020-12-28 2023-05-23 Waymo Llc Architecture for variable motion control envelope
CA3209773A1 (en) * 2021-02-25 2022-09-01 Taylor BYBEE Intelligent urgent stop system for an autonomous vehicle
EP4314708A1 (en) 2021-04-02 2024-02-07 May Mobility, Inc. Method and system for operating an autonomous agent with incomplete environmental information
WO2022256249A1 (en) 2021-06-02 2022-12-08 May Mobility, Inc. Method and system for remote assistance of an autonomous agent
US12017668B1 (en) 2021-09-29 2024-06-25 Zoox, Inc. Limited vehicular operation with a faulted component
US11891078B1 (en) 2021-09-29 2024-02-06 Zoox, Inc. Vehicle operating constraints
US11891076B1 (en) * 2021-09-29 2024-02-06 Zoox, Inc. Manual operation vehicle constraints
WO2023102098A1 (en) 2021-12-01 2023-06-08 May Mobility, Inc. Method and system for impact-based operation of an autonomous agent
WO2023154568A1 (en) 2022-02-14 2023-08-17 May Mobility, Inc. Method and system for conditional operation of an autonomous agent
US11673565B1 (en) * 2022-06-30 2023-06-13 Plusai, Inc. Recoverable fail-safe trajectory
US20240011781A1 (en) * 2022-07-08 2024-01-11 Argo AI, LLC Method and system for asynchronous negotiation of autonomous vehicle stop locations
US20240017738A1 (en) * 2022-07-12 2024-01-18 Waymo Llc Planning trajectories for controlling autonomous vehicles
WO2024129832A1 (en) 2022-12-13 2024-06-20 May Mobility, Inc. Method and system for assessing and mitigating risks encounterable by an autonomous vehicle

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150012166A1 (en) 2013-07-04 2015-01-08 Robert Bosch Gmbh Method and apparatus for operating a motor vehicle in an automated driving mode

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07120202B2 (ja) * 1987-03-14 1995-12-20 株式会社豊田自動織機製作所 無人車の運行制御装置
US6442456B2 (en) * 2000-03-07 2002-08-27 Modular Mining Systems, Inc. Anti-rut system for autonomous-vehicle guidance
JP2006126107A (ja) * 2004-11-01 2006-05-18 Nissan Motor Co Ltd ナビゲーションシステムを用いた退避誘導システム
US8126642B2 (en) * 2008-10-24 2012-02-28 Gray & Company, Inc. Control and systems for autonomously driven vehicles
CN102574525B (zh) * 2009-10-22 2014-12-10 丰田自动车株式会社 行驶控制装置
US8700327B2 (en) 2010-04-27 2014-04-15 Honda Motor Co., Ltd. Method of determining routes for use in navigation
US8260482B1 (en) * 2010-04-28 2012-09-04 Google Inc. User interface for displaying internal state of autonomous driving system
JP2011240816A (ja) * 2010-05-18 2011-12-01 Denso Corp 自律走行制御装置
CN103155014B (zh) * 2010-10-05 2015-04-29 丰田自动车株式会社 碰撞判断装置
US8509982B2 (en) * 2010-10-05 2013-08-13 Google Inc. Zone driving
EP2751630B1 (en) 2011-08-29 2019-03-13 Crown Equipment Corporation Vehicular navigation control interface
DE102011083944A1 (de) * 2011-10-04 2013-04-04 Robert Bosch Gmbh Verfahren zum Aktivieren eines Fahrerassistenzsystems
DE102011086336A1 (de) * 2011-11-15 2013-05-16 Robert Bosch Gmbh Vorrichtung und verfahren zum betreiben eines fahrzeugs
US8855847B2 (en) 2012-01-20 2014-10-07 Toyota Motor Engineering & Manufacturing North America, Inc. Intelligent navigation system
JP5446055B2 (ja) * 2012-01-27 2014-03-19 村田機械株式会社 台車システム
US9180890B2 (en) * 2012-02-27 2015-11-10 Ford Global Technologies Smart adaptive cruise control
US8880272B1 (en) * 2012-03-16 2014-11-04 Google Inc. Approach for estimating the geometry of roads and lanes by using vehicle trajectories
US9495874B1 (en) * 2012-04-13 2016-11-15 Google Inc. Automated system and method for modeling the behavior of vehicles and other agents
US9020757B2 (en) * 2012-05-11 2015-04-28 Trimble Navigation Limited Path planning autopilot
US9120485B1 (en) * 2012-09-14 2015-09-01 Google Inc. Methods and systems for smooth trajectory generation for a self-driving vehicle
DE102012217002A1 (de) * 2012-09-21 2014-03-27 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Kraftfahrzeugs in einem automatisierten Fahrbetrieb
EP2722687B1 (de) 2012-10-22 2015-04-29 Sick Ag Sicherheitsvorrichtung für ein Fahrzeug
US8825258B2 (en) * 2012-11-30 2014-09-02 Google Inc. Engaging and disengaging for autonomous driving
DE102013213171A1 (de) * 2013-07-04 2015-01-08 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Kraftfahrzeugs in einem automatisierten Fahrbetrieb
KR101470190B1 (ko) * 2013-07-09 2014-12-05 현대자동차주식회사 자율주행 시스템의 고장 처리 장치 및 그 방법
DE102013013867A1 (de) * 2013-08-20 2015-03-12 Audi Ag Kraftfahrzeug und Verfahren zur Steuerung eines Kraftfahrzeugs
EP2848488B2 (en) * 2013-09-12 2022-04-13 Volvo Car Corporation Method and arrangement for handover warning in a vehicle having autonomous driving capabilities
US9212926B2 (en) * 2013-11-22 2015-12-15 Ford Global Technologies, Llc In-vehicle path verification
US9405293B2 (en) * 2014-05-30 2016-08-02 Nissan North America, Inc Vehicle trajectory optimization for autonomous vehicles
US9969270B2 (en) * 2014-12-10 2018-05-15 Gogoro Inc. Systems and methods of adaptive regenerative braking and collision avoidance for electrically powered vehicles
CN104843000B (zh) * 2015-02-14 2017-05-17 黄华 一种车辆自动驾驶***及方法
CN204679856U (zh) * 2015-02-14 2015-09-30 黄华 一种车辆自动驾驶***
EP3232286B1 (en) * 2016-04-15 2018-12-26 Volvo Car Corporation Device and method for safety stoppage of an autonomous road vehicle

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150012166A1 (en) 2013-07-04 2015-01-08 Robert Bosch Gmbh Method and apparatus for operating a motor vehicle in an automated driving mode

Also Published As

Publication number Publication date
US20170199523A1 (en) 2017-07-13
CA3010882C (en) 2019-11-12
CN108475055B (zh) 2021-06-11
JP2019510285A (ja) 2019-04-11
AU2020200302A1 (en) 2020-02-06
JP6488428B1 (ja) 2019-03-20
EP3705973A1 (en) 2020-09-09
CN113212457A (zh) 2021-08-06
KR20180091951A (ko) 2018-08-16
EP3380904A1 (en) 2018-10-03
JP2019096354A (ja) 2019-06-20
SG11201805625YA (en) 2018-07-30
JP6775046B2 (ja) 2020-10-28
US9740202B2 (en) 2017-08-22
AU2020200302B2 (en) 2020-10-08
CA3010882A1 (en) 2017-07-13
EP3380904B1 (en) 2020-06-03
KR20190027966A (ko) 2019-03-15
AU2016384627A1 (en) 2018-07-19
CN108475055A (zh) 2018-08-31
AU2016384627B2 (en) 2019-11-21
KR102114199B1 (ko) 2020-05-25
EP3380904A4 (en) 2018-12-05
WO2017120057A1 (en) 2017-07-13

Similar Documents

Publication Publication Date Title
KR101958430B1 (ko) 자율 차량들을 위한 폴백 궤도 시스템들
US9551992B1 (en) Fall back trajectory systems for autonomous vehicles
US11914377B1 (en) Autonomous vehicle behavior when waiting for passengers
US11762392B2 (en) Using discomfort for speed planning in autonomous vehicles
KR102219595B1 (ko) 자율 차량들의 승객 픽업 배치
KR102379392B1 (ko) 자율 차량들을 위한 다수의 주행 모드들
EP3900995B1 (en) Testing predictions for autonomous vehicles
CA3072744C (en) Recognizing assigned passengers for autonomous vehicles
JP2019537530A (ja) 自律走行車の停車位置のプランニング
CN111051170A (zh) 识别自主车辆的未分配的乘客
US10967861B2 (en) Using discomfort for speed planning in responding to tailgating vehicles for autonomous vehicles
JP2021501395A (ja) 自律型車両のための交通の再方向付けの検出および対応
US20190155283A1 (en) Determining pullover locations for autonomous vehicles
CA3094795C (en) Using discomfort for speed planning for autonomous vehicles
US20230271590A1 (en) Arranging passenger trips for autonomous vehicles
US20220063678A1 (en) Mode management for autonomous vehicles
CN113212457B (zh) 用于自主车辆的备用轨迹***

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right