CN112969622A - 自主运载工具中的冗余 - Google Patents

自主运载工具中的冗余 Download PDF

Info

Publication number
CN112969622A
CN112969622A CN201980072734.1A CN201980072734A CN112969622A CN 112969622 A CN112969622 A CN 112969622A CN 201980072734 A CN201980072734 A CN 201980072734A CN 112969622 A CN112969622 A CN 112969622A
Authority
CN
China
Prior art keywords
solution
sensor
module
autonomous vehicle
planning
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201980072734.1A
Other languages
English (en)
Inventor
E·弗拉佐利
A·森西
张洵铣
P·罗贝尔
M·A·梅吉堡
E·B·奈斯
E·沃尔夫
O·A·阿萨德
F·塞卡蒙特
D·S·叶尔绍夫
全政焕
刘诗元
T·万彼洛姆萨恩
O·O·贝基波姆
K·A·玛尔兹祖克
K·斯皮斯
M·L·L·阿尔伯特
W·F·科特
R·L·雅各布斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motional AD LLC
Original Assignee
Motional AD LLC
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 Motional AD LLC filed Critical Motional AD LLC
Publication of CN112969622A publication Critical patent/CN112969622A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/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
    • 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
    • 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
    • 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/09Taking automatic action to avoid collision, e.g. braking and steering
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D3/00Indicating or recording apparatus with provision for the special purposes referred to in the subgroups
    • G01D3/10Indicating or recording apparatus with provision for the special purposes referred to in the subgroups with provision for switching-in of additional or auxiliary indicators or recorders
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/005Sampling
    • 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
    • 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/403Image sensing, e.g. optical camera
    • 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
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/54Audio sensitive means, e.g. ultrasound
    • 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
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/20Ambient conditions, e.g. wind or rain
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/35Data fusion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/55External transmission of data to or from the vehicle using telemetry
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2400/00Special features of vehicle units
    • B60Y2400/30Sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mathematical Physics (AREA)
  • Traffic Control Systems (AREA)
  • Hardware Redundancy (AREA)
  • Safety Devices In Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Regulating Braking Force (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Electric Propulsion And Braking For Vehicles (AREA)

Abstract

我们描述用于自主运载工具中的冗余的技术等。例如,自主运载工具可以包括两个或更多个冗余的自主运载工具操作子系统。

Description

自主运载工具中的冗余
技术领域
本说明书涉及自主运载工具中的冗余。
背景技术
自主运载工具可用于将人和/或货物从一个地点运输到另一地点。自主运载工具通常包括一个或多个系统,该一个或多个系统中的各系统进行自主运载工具的一个或多个功能。例如,一个系统可以进行控制功能,而另一系统可以进行运动规划功能。
发明内容
根据本发明的一方面,一种系统包括两个或更多个不同的自主运载工具操作子系统,这两个或更多个不同的自主运载工具操作子系统中的各自主运载工具操作子系统与这两个或更多个不同的自主运载工具操作子系统中的其它自主运载工具操作子系统是冗余的。这两个或更多个不同的自主运载工具操作子系统中的各操作子系统均包括:解决方案提议器,其被配置为基于当前输入数据来提议用于自主运载工具操作的解决方案;以及解决方案评分器,其被配置为基于一个或多个成本评估来评价用于自主运载工具操作的提议解决方案。这两个或更多个不同的自主运载工具操作子系统中的至少一个的解决方案评分器被配置为评价如下这两者:来自这两个或更多个不同的自主运载工具操作子系统中的该至少一个子系统的解决方案提议器的提议解决方案、以及来自其中至少另一个子系统的解决方案提议器的至少一个提议解决方案。该系统还包括输出中介器,该输出中介器与这两个或更多个不同的自主运载工具操作子系统耦接,并且被配置为管理来自这两个或更多个不同的自主运载工具操作子系统的自主运载工具操作输出。
根据本发明的一方面,所公开的技术可被实现为如下一种方法,用于在自主运载工具(AV)的AV系统内,操作与输出中介器耦接的两个或更多个冗余管道,该两个或更多个冗余管道中的第一管道包括第一感知模块、第一定位模块、第一规划模块和第一控制模块,并且该两个或更多个冗余管道中的第二管道包括第二感知模块、第二定位模块、第二规划模块和第二控制模块,其中该第一和第二控制器模块各自与输出中介器连接。该方法包括:利用第一感知模块,从AV的第一组传感器接收第一传感器信号,并且利用第一感知模块,基于这些第一传感器信号来生成第一世界视图提议;利用第二感知模块,从AV的第二组传感器接收第二传感器信号,并且利用第二感知模块,基于这些第二传感器信号来生成第二世界视图提议;利用第一感知模块,基于第一感知成本函数来在第一世界视图提议和第二世界视图提议之间选择一个世界视图提议,并且利用第一感知模块,将所选择的世界视图提议作为第一世界视图提供至第一定位模块;利用第二感知模块,基于第二感知成本函数来在第一世界视图提议和第二世界视图提议之间选择一个世界视图提议,并且利用第二感知模块,将所选择的世界视图提议作为第二世界视图提供至第二定位模块;利用第一定位模块,基于第一世界视图来生成第一AV位置提议;利用第二定位模块,基于第二世界视图来生成第二AV位置提议;利用第一定位模块,基于第一定位成本函数来在第一AV位置提议和第二AV位置提议之间选择一个AV位置提议,并且利用第一定位模块,将所选择的AV位置提议作为第一AV位置提供至第一规划模块;利用第二定位模块,基于第二定位成本函数来在第一AV位置提议和第二AV位置提议之间选择一个AV位置提议,并且利用第二定位模块,将所选择的AV位置提议作为第二AV位置提供至第二规划模块;利用第一规划模块,基于第一AV位置来生成第一路线提议,并且利用第二规划模块,基于第二AV位置来生成第二路线提议;利用第一规划模块,基于第一规划成本函数来在第一路线提议和第二路线提议之间选择一个路线提议,并且利用第一规划模块,将所选择的路线提议作为第一路线提供至第一控制模块;利用第二规划模块,基于第二规划成本函数来在第一路线提议和第二路线提议之间选择一个路线提议,并且利用第二规划模块,将所选择的路线提议作为第二路线提供至第二控制模块;利用第一控制模块,基于第一路线来生成第一控制信号提议;利用第二控制模块,基于第二路线来生成第二控制信号提议;利用第一控制模块,基于第一控制成本函数来在第一控制信号提议和第二控制信号提议之间选择一个控制信号提议,并且利用第一控制模块,将所选择的控制信号提议作为第一控制信号提供至输出中介器;利用第一控制模块,基于第一控制成本函数来在第一控制信号提议和第二控制信号提议之间选择一个控制信号提议,并且利用第一控制模块,将所选择的控制信号提议作为第一控制信号提供至输出中介器;利用第二控制模块,基于第二控制成本函数来在第一控制信号提议和第二控制信号提议之间选择一个控制信号提议,并且利用第二控制模块,将所选择的控制信号提议作为第二控制信号提供至输出中介器;以及利用输出中介器(mediator),在第一控制信号和第二控制信号之间选择一个控制信号,并且利用输出中介器,将所选择的控制信号作为控制信号提供至AV的致动器。
可以实施上述公开技术的特定方面,以实现以下潜在优点中的一个或多个。例如,在多个计算路径(例如,管道)上生成解决方案提议(例如,候选)以及/或者还在多个计算路径上对所生成的解决方案提议进行评分确保了保持各评估的独立性。这是因为,各AV操作子系统采用另一AV操作子系统的解决方案提议,仅当这样的备选解决方案基于该AV操作子系统内部的成本函数而被视为优于自身的解决方案提议。这样丰富的解决方案提议潜在地使得各路径的整体性能和可靠性提高。通过在多个阶段进行解决方案提议的跨栈评价,可以在过程中尽早(在早期阶段)就最佳候选达成共识(这些最佳候选然后被提议至输出中介器)。这反过来可以减轻输出中介器的选择负担。
根据本发明的一方面,一种系统,包括:两个或更多个不同的自主运载工具操作子系统,这两个或更多个不同的自主运载工具操作子系统中的各自主运载工具操作子系统与这两个或更多个不同的自主运载工具操作子系统中的其它自主运载工具操作子系统是冗余的;以及输出中介器,其与这两个或更多个不同的自主运载工具操作子系统耦接,并且被配置为管理来自这两个或更多个不同的自主运载工具操作子系统的自主运载工具操作输出。该输出中介器被配置为基于当前输入数据与用于这两个或更多个不同的自主运载工具操作子系统的历史性能数据相比,选择性地将这两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统提升为优先状况。
根据本发明的一方面,所公开的技术可以被实现为一种由自主运载工具的输出中介器进行的方法,该输出中介器用于控制两个或更多个不同的自主运载工具操作子系统的输出,这两个或更多个不同的自主运载工具操作子系统其中之一具有优先状况。该方法包括:在当前操作情境下从这两个或更多个不同的自主运载工具操作子系统接收输出;响应于确定为所接收到的输出中的至少一个输出不同于其它输出,将自主运载工具操作子系统中的与当前操作情境相对应的自主运载工具操作子系统提升为优先状况;以及控制具有优先状况的自主运载工具操作子系统的输出的发出,以操作自主运载工具。
上述技术的特定方面可以提供以下优点中的一个或多个。例如,共享操作包络的区域的AV操作模块的情景选择性提升可以使得通过主动适应驾驶情境来提高AV操作性能。更具体地,以上公开的技术使得AV感知阶段、AV定位阶段、AV规划阶段和/或AV控制阶段的操作控制的灵活性增加。
根据本发明的一方面,一种自主运载工具包括第一控制系统。该第一控制系统被配置为根据至少一个输入来提供在自主运载工具处于自主驾驶模式时以及在选择第一控制系统时影响自主运载工具的控制操作的输出。该自主运载工具还包括第二控制系统。该第二控制系统被配置为根据至少一个输入来提供在自主运载工具处于自主驾驶模式时以及在选择第二控制系统时影响自主运载工具的控制操作的输出。该自主运载工具还包括至少一个处理器。该至少一个处理器被配置为选择第一控制系统和第二控制系统至少之一以影响自主运载工具的控制操作。
上述技术的特定方面可以提供以下优点中的一个或多个。该技术在控制操作中提供冗余,以防一个控制系统经历故障或性能下降。控制中的冗余也允许AV根据控制系统的测量性能来选择使用哪个控制系统。
根据本发明的一方面,使用用于检测和处理自主运载工具中的传感器故障的系统和技术。根据本发明的一方面,一种用于检测和处理自主运载工具中的传感器故障的技术包括:经由第一传感器,在自主运载工具处于操作驾驶状态时从自主运载工具外部的一个或多个环境输入产生第一传感器数据流,并且经由第二传感器,在自主运载工具处于操作驾驶状态时从自主运载工具外部的一个或多个环境输入产生第二传感器数据流。第一传感器和第二传感器可被配置为检测相同类型的信息。该技术还包括:基于第一传感器数据流和第二传感器数据流之间的差异来检测异常条件;以及响应于所检测到的异常条件,在第一传感器、第二传感器或这两者之间切换,作为用以控制自主运载工具的输入。这些和其它方面、特征和实现可被表示为方法、设备、系统、组件、程序产品、用于进行功能的方法或步骤以及其它方式。
根据本发明的一方面,一种自主运载工具,包括:第一传感器,其被配置为在自主运载工具处于操作驾驶状态时,从自主运载工具外部的一个或多个环境输入产生第一传感器数据流;以及第二传感器,其被配置为在自主运载工具处于所述操作驾驶状态时,从自主运载工具外部的一个或多个环境输入产生第二传感器数据流,第一传感器和第二传感器被配置为检测相同类型的信息。该运载工具包括与第一传感器和第二传感器耦接的处理器,该处理器被配置为基于第一传感器数据流和第二传感器数据流之间的差异来检测异常条件。在一些实现中,该处理器被配置为响应于检测到异常条件,在第一传感器、第二传感器或这两者之间切换,作为用以控制自主运载工具的输入。
上述技术的特定方面可以提供以下优点中的一个或多个。检测和处理传感器故障在维护自主运载工具的安全和适当操作方面是重要的。所描述的技术可以使得自主运载工具能够响应于检测到异常条件而在传感器输入之间高效地切换。通过对正常运行的传感器数据流进行变换来生成替换传感器数据流,这可以使得自主运载工具能够继续安全地操作。
根据本发明的一方面,一种自主运载工具,包括:控制系统,其被配置为影响自主运载工具的控制操作;控制处理器,其与控制系统进行通信,该控制处理器被配置为确定供控制系统执行的指令;电信系统,其与控制系统进行通信,该电信系统被配置为从外部源接收指令,其中控制处理器被配置为在从外部源接收到的指令中确定控制系统可执行的指令,并且被配置为在检测到一个或多个指定条件时,使得与电信系统进行通信的外部源能够控制控制系统。
根据本发明的一方面,一种自主运载工具,包括:控制系统,其被配置为影响自主运载工具的第一控制操作;控制处理器,其与控制系统进行通信,该控制处理器被配置为确定供控制系统执行的指令;电信系统,其与控制系统进行通信,该电信系统被配置为从外部源接收指令;以及处理器,其被配置为在从外部源接收到的指令中确定控制系统可执行的指令,并且使得控制处理器或者与电信系统进行通信的外部源能够操作控制系统。
根据本发明的一方面,一种自主运载工具,包括:第一控制系统,其被配置为影响自主运载工具的第一控制操作;第二控制系统,其被配置为影响自主运载工具的第一控制操作;以及电信系统,其与第一控制系统进行通信,该电信系统被配置为从外部源接收指令;控制处理器,其被配置为在从外部源接收到的指令中确定用以影响第一控制操作的指令,并且被配置为确定电信系统与外部源进行通信的能力,并根据该确定,选择第一控制系统或第二控制系统。
根据本发明的一方面,第一自主运载工具具有一个或多个传感器。第一自主运载工具基于从一个或多个传感器接收到的数据来确定第一自主运载工具的操作的方面。第一自主运载工具还接收源自一个或多个其它自主运载工具的数据。第一自主运载工具使用该确定和所接收的数据来执行该操作。
上述技术的特定方面可以提供以下优点中的一个或多个。例如,自主运载工具之间的信息交换可以提高自主运载工具队列整体的冗余,由此提高这些自主运载工具的操作的效率、安全性和有效性。作为示例,在第一自主运载工具沿着特定路线行驶时,该第一自主运载工具可能遇到可能影响其操作的某些条件。第一自主运载工具可以将与这些条件有关的信息传输至其它自主运载工具,使得这些其它自主运载工具即使尚未穿过相同的路线,也可以获得该信息。因此,这些其它自主运载工具可以先发式地调整自身的操作以考虑路线的条件以及/或者更好地预测到路线的条件。
根据本发明的一方面,一种方法,包括:利用自主运载工具(AV),在环境中进行AV的自主驾驶功能;利用AV的内部无线通信装置,从位于环境中的外部无线通信装置接收外部消息;利用AV的一个或多个处理器,将该功能的输出与外部消息的内容或者与基于该内容所生成的数据进行比较,并且根据该比较的结果,使得AV进行机动动作。
根据本发明的一方面,一种方法,包括:利用自主运载工具(AV)的操作系统(OS),发现耦接至AV的数据网络的新组件;利用AV OS,确定该新组件是否是冗余组件;根据该新组件是冗余组件,进行该新组件的冗余配置;以及根据该新组件不是冗余组件,进行该新组件的基本配置,其中该方法由一个或多个专用计算装置进行。
上述技术的特定方面可以提供以下优点中的一个或多个。可以以考虑新模块是否提供附加冗余以及/或者将是执行自主运载工具的一个或多个功能的唯一组件的方式,向自主运载工具添加组件。
根据本发明的一方面,自主运载工具的冗余规划通常包括:检测到自主运载工具正在其定义的操作域内操作。如果自主运载工具正在其定义的操作域内操作,则(共享操作域的共同定义的)至少两个独立的规划模块为自主运载工具生成轨迹。各规划模块针对与场景描述中的至少一个对象的至少一次碰撞,对由其它规划模块生成的轨迹进行评价。如果(例如,由于至少检测到一次碰撞)一个或这两个轨迹被确定为是不安全的,则自主运载工具例如使用自主紧急制动(AEB)系统来进行安全停止机动动作或应用紧急制动。
上述技术的特定方面可以提供以下优点中的一个或多个。所公开的冗余规划包括具有独立的诊断覆盖范围的独立冗余规划模块,以确保自主运载工具的安全和适当操作。
根据本发明的一方面,提供用于使用模拟来实现自主运载工具的处理和系统的冗余的技术。在实施例中,一种由自主运载工具进行的方法,包括:利用第一模拟器,使用由第二AV处理/系统输出的数据来进行第一AV处理/系统的第一模拟;利用第二模拟器,使用由第一AV处理/系统输出的数据来进行第二AV处理/系统的第二模拟;利用一个或多个处理器,将由第一和第二处理/系统输出的数据与由第一和第二模拟器输出的数据进行比较;以及根据该比较的结果,使得AV进行安全模式机动动作或其它动作。
上述技术的特定方面可以提供以下优点中的一个或多个。将模拟用于自主运载工具的处理/系统的冗余允许自主运载工具的安全操作,同时还满足性能要求。
根据本发明的一方面,一种系统,包括:组件基础设施,其包括实现自主运载工具(AV)的系统的一组交互组件,该组件基础设施包括:第一组件,其进行AV的操作的功能;第二组件,其与第一软件组件同时进行AV的操作的第一功能;感知电路,其被配置用于通过将来自第一组件的第一输出与来自第二组件的第二输出组合或比较,来创建AV的操作环境的模型,并且基于操作环境的模型来发起用以在AV上进行功能的操作模式。
上述技术的特定方面可以提供以下优点中的一个或多个。将进行相同功能的两个组件的输出组合以对AV的操作环境进行建模、然后基于操作环境模型来发起AV的操作模式,这可以提供在感知周围环境时能够使用的更准确且完整的信息。
这些和其它方面、特征和实现可被表示为方法、设备、系统、组件、程序产品、用于进行功能的方法或步骤以及其它方式。
在以下的附图和说明书中陈述了一个或多个实现的详情。其它特征和优点从说明书和附图以及从权利要求书可以显而易见。
附图说明
图1示出具有自主能力的自主运载工具的示例。
图2示出示例“云”计算环境。
图3示出计算机系统的示例。
图4示出自主运载工具的示例架构。
图5示出感知模块可以使用的输入和输出的示例。
图6示出LiDAR系统的示例。
图7示出操作中的LiDAR系统。
图8示出LiDAR系统的操作的附加细节。
图9示出规划模块的输入和输出之间的关系的框图。
图10示出路径规划中所使用的有向图。
图11示出控制模块的输入和输出的框图。
图12示出控制器的输入、输出和组件的框图。
图13示出包括两个或更多个协同冗余的操作子系统的自主运载工具(AV)系统的示例的框图。
图14示出AV的包括协同冗余的感知模块的架构的示例。
图15示出AV的包括协同冗余的规划模块的架构的示例。
图16示出包括两个或更多个协同冗余的操作管道的AV系统的示例的框图。
图17示出AV的包括协同冗余的两阶段管道的架构的示例,其中这些两阶段管道各自包括感知模块和规划模块。
图18示出AV的包括协同冗余的两阶段管道的架构的示例,其中这些两阶段管道各自包括规划模块和控制模块。
图19示出AV的包括协同冗余的两阶段管道的架构的示例,其中这些两阶段管道各自包括定位模块和控制模块。
图20示出包括两个或更多个协同冗余的操作管道的AV系统的另一示例的框图。
图21示出AV的包括协同冗余的管道的架构的示例,其中这些管道各自包括感知模块、定位模块、规划模块和控制模块中的三个或更多个。
图22-23是用于操作一对协同冗余的四阶段管道的处理的示例的流程图,其中这些四阶段管道各自包括感知模块、定位模块、规划模块和控制模块。
图24示出包括四个协同冗余的操作管道的AV系统的示例的框图,其中这些操作管道各自包括感知模块和规划模块,这些模块各自包括解决方案提议器和解决方案评分器。
图25示出包括两个协同冗余的操作管道的AV系统的示例的框图,其中这些操作管道各自包括感知模块和规划模块,各个感知模块包括解决方案提议器和解决方案评分器,各个规划模块包括解决方案评分器和多个解决方案提议器。
图26示出包括两个协同冗余的操作管道的AV系统的示例的框图,其中这些操作管道各自包括感知模块和规划模块,各个感知模块包括解决方案提议器和解决方案评分器,各个规划模块包括解决方案提议器和多个解决方案评分器。
图27是由输出中介器进行的、用于管理与输出中介器耦接的不同AV操作子系统的AV操作输出的处理的示例的流程图。
图28-29示出由输出中介器进行图27的处理所使用的计算组件和数据结构。
图30示出用于在AV的控制系统中提供冗余的冗余控制系统2900。
图31示出表示根据本发明的至少一个实现的用于在控制系统中提供冗余的方法3000的流程图。
图32示出自主运载工具的用于检测和处理传感器故障的传感器相关架构的示例。
图33示出用以操作自主运载工具及其中的传感器的处理的示例。
图34示出用以检测传感器相关的异常条件的处理的示例。
图35示出用以响应于检测到异常条件而对传感器数据流进行变换的处理的示例。
图36例示遥操作系统的示例架构。
图37示出遥操作客户端的示例架构。
图38例示示例遥操作系统。
图39示出指示用于激活遥操作者控制的处理的流程图。
图40示出表示用于激活冗余的遥操作者和人为控制的处理的流程图。
图41示出流程图。
图42示出自主运载工具队列之间的示例信息交换。
图43-46示出自主运载工具之间的示例信息交换。
图47-50示出自主运载工具之间的示例信息交换、以及对计划行驶路线的基于交换后的信息的示例修改。
图51-53示出一排(a platoon of)自主运载工具的示例形成。
图54-56示出一排自主运载工具的另一示例形成。
图57是示出用于在自主运载工具之间交换信息的示例处理的流程图。
图58示出根据实施例的、用于使用由一个或多个外部无线通信装置提供的一个或多个外部消息来在自主运载工具中实现冗余的系统的框图。
图59示出根据实施例的外部消息格式。
图60示出根据实施例的、用于使用由一个或多个外部无线通信装置提供的外部消息来在自主运载工具中提供冗余的示例处理。
图61示出用于替换自主运载工具中的冗余组件的示例架构的框图。
图62示出替换自主运载工具中的冗余组件的示例处理的流程图。
图63示出冗余规划系统的框图。
图64示出例示自主运载工具基于两个冗余规划模块的范围内(in-scope)操作、诊断覆盖范围和输出所要采取的动作的表。
图65示出冗余规划处理的流程图。
图66示出用于使用模拟来实现冗余的系统的框图。
图67示出使用模拟的冗余的处理的流程图。
图68示出根据实施例的、用于联合(unionize)感知输入以对操作环境进行建模的系统的框图。
图69示出根据实施例的、用于联合感知输入以对操作环境进行建模的示例处理。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,本发明可以在没有这些具体细节的情况下实施将是明显的。在其它实例中,众所周知的构造和装置是以框图形式示出的,以避免不必要地使本发明模糊。
在附图中,为了便于描述,示出了示意要素(诸如表示装置、模块、指令块和数据要素的那些要素)的具体排列或次序。然而,本领域技术人员应当理解,附图中示意要素的具体次序或排列并不意在意味着要求特定的处理次序或序列、或处理过程的分离。此外,在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其它要素结合。
此外,在附图中,连接要素、诸如实线或虚线或箭头用于例示两个或更多个其它示意要素之间的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,一些要素之间的连接、关系或关联未在附图中示出,以便不使本公开内容模糊。此外,为了便于例示,使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令的通信,本领域技术人员应理解,这种要素表示影响通信可能需要的一个或多个信号路径(例如,总线)。
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,没有详细描述众所周知的方法、程序、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
下面描述的若干特征各自可以彼此独立地使用,也可以与其它特征的任何组合一起使用。然而,任何个别特征可能不能解决以上所讨论的任何问题,或者只能解决以上所讨论的问题之一。以上所讨论的一些问题可能不能通过本文所描述的任何一个特征得到充分解决。虽然提供了标题,但在本说明书的其它地方也可以找到与具体标题有关但在具有该标题的部分中未找到的信息。本文根据以下概要描述实施例:
1.硬件概述
2.自主运载工具架构
3.自主运载工具输入
4.自主运载工具规划
5.自主运载工具控制
6.跨栈评价
7.情境选择性模块
8.冗余控制系统
9.传感器故障冗余
10.遥操作冗余
11.队列冗余
12.外部无线通信装置
13.替换冗余组件
14.冗余规划
15.使用模拟的冗余
16.感知输入的联合
硬件概述
图1示出具有自主能力的自主运载工具100的示例。
如本文所使用的,术语“自主能力”是指一种功能、特征或设施,该功能、特征或设施使运载工具能够部分地或完全地操作,而无需实时的人类干预,包括但不限于完全自主运载工具、高度自主运载工具和有条件自主运载工具。
如本文所使用的,自主运载工具(AV)是一种具有自主能力的运载工具。
如本文所使用的,“运载工具”包括货物或人员的运输方式。例如,小汽车、公共汽车、火车、飞机、无人机、卡车、船只、舰艇、潜水器、飞船等。无人驾驶的小汽车是运载工具的示例。
如本文所使用的,“轨迹”是指所生成的用以从第一时空地点导航到第二时空地点的路径或路线。在实施例中,第一时空地点被称为初始地点或起始地点,并且第二时空地点被称为目标或目标位置或目标地点。在实施例中,时空地点对应于真实世界地点。例如,时空地点是上车或下车地点,以使人员或货物上车或下车。
如本文所使用的,“(一个或多个)传感器”包括一个或多个硬件组件,用于检测与传感器周围环境有关的信息。一些硬件组件可包括感测组件(例如,图像传感器、生物特征传感器)、传输和/或接收组件(例如,激光或射频波发射器和接收器)、电子组件(诸如,模数转换器)、数据存储装置(诸如,RAM和/或非易失性存储器)、软件或固件组件和数据处理组件(诸如,专用集成电路)、微处理器和/或微控制器。
如本文所使用的,“场景描述”是一种数据结构(例如,列表)或数据流,其包括由AV运载工具上的一个或多个传感器检测到的一个或多个分类或标记的对象,或由AV外部的源提供的一个或多个分类或标记的对象。
“一个或多个”包括由一个要素执行的功能、由多个要素例如以分布式的方式执行的功能、由一个要素执行的若干功能、由若干要素执行的若干功能、或上述的任何组合。
还将理解的是,尽管在一些情况下,术语“第一”、“第二”等在本文中是用来描述各种要素的,但这些要素不应受到这些术语的限制。这些术语仅用于区分一个要素与另一个要素。例如,在未背离各种所描述的实施例的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点两者都是触点,但它们不是相同触点。
在本文所描述的各种实施例的说明书中使用的术语仅用于描述特定实施例的目的,而不是意在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,除非上下文另有明确说明。还将理解的是,如本文所使用的“和/或”是指并且包括一个或多个相关清单项目的任何和所有可能的组合。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、要素、组件、和/或其群组。
如本文所使用的,取决于上下文,术语“如果”可选地被理解为意指“当”或“在当时”或“响应于确定为”或“响应于检测到”。类似地,取决于上下文,短语“如果已确定”或“如果[所陈述的条件或事件]已被检测到”可选地被理解为意指“在确定时”或“响应于确定为“或”在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
如本文所使用的,AV系统是指AV以及支持AV操作的硬件、软件、存储的数据和实时生成的数据的阵列。在实施例中,AV系统并入在AV内。在实施例中,AV系统可以跨若干地点分布。例如,AV系统的一些软件可以在类似于下面关于图2描述的云计算环境200的云计算环境中实现。
一般而言,本文件描述了适用于任何具有一种或多种自主能力的运载工具的技术,包括完全自主运载工具、高度自主运载工具和有条件自主运载工具,诸如分别为所谓的第5级、第4级和第3级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶系统相关术语的分类和定义,通过引用将其全部内容并入本文件,用于了解运载工具自主权等级的更多详细信息)。具有自主能力的运载工具可能尝试控制运载工具的转向或速率。本文件所描述的技术也可应用于部分自主运载工具和驾驶员辅助运载工具,诸如所谓的第2级和第1级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶系统相关术语的分类和定义)。一个或多个第1级、第2级、第3级、第4级和第5级运载工具系统可基于对传感器输入的处理,在某些操作条件下自动执行某些运载工具操作(例如,转向、制动和使用地图)。本文件中所描述的技术可以使从完全自主运载工具到人类操作的运载工具范围内的任何级别的运载工具受益。
参考图1,AV系统120使AV 100沿着轨迹198操作,穿过环境190至目的地199(有时称为最终地点),同时避开对象(例如,自然障碍物191、运载工具193、行人192、骑车者和其它障碍物)和遵守道路规则(例如,操作规则或驾驶偏好)。
在实施例中,AV系统120包括被装备以从计算机处理器146接收操作命令并对其进行操作的装置101。在实施例中,计算处理器146与下面参考图3描述的处理器304类似。装置101的示例包括转向控制器102、制动器103、挡位、加速踏板、挡风玻璃雨刮器、侧门锁、窗控器和转向指示器。
在实施例中,AV系统120包括用于测量或推断AV 100的状态或条件的属性的传感器121,这些属性诸如是AV的位置、线速度和角速度及线加速度和角加速度、以及航向(例如,AV 100的前端的方向)。传感器121的示例是GPS、测量运载工具线加速度和角速率两者的惯性测量单元(IMU)、用于测量或估计轮滑移率的轮速率传感器、轮制动压力或制动扭矩传感器、引擎扭矩或轮扭矩传感器以及转向角度和角速率传感器。
在实施例中,传感器121还包括用于感测或测量AV的环境的属性的传感器。例如,可见光、红外或热(或两者兼有)光谱的单目或立体摄像机122、LiDAR 123、RADAR、超声波传感器、飞行时间(TOF)深度传感器、速率传感器、温度传感器、湿度传感器和降水传感器。
在实施例中,AV系统120包括数据存储单元142和存储器144,用于存储与计算机处理器146相关联的机器指令或由传感器121收集的数据。在实施例中,数据存储单元142与以下关于图3描述的ROM 308或存储装置310类似。在实施例中,存储器144与下面描述的主存储器306类似。在实施例中,数据存储单元142和存储器144存储有关环境190的历史、实时和/或预测性信息。在实施例中,存储的信息包括地图、驾驶性能、交通拥堵更新或天气条件。在实施例中,与环境190有关的数据从远程数据库134通过通信信道传输到AV 100。
在实施例中,AV系统120包括通信装置140,用于将对其它运载工具的状态和条件(诸如位置、线速度和角速度、线加速度和角加速度、以及线航向和角航向)测量或推断的属性传送到AV 100。这些装置包括运载工具到运载工具(V2V)和运载工具到基础设施(V2I)通信装置以及用于通过点对点或自组织(ad hoc)网络或两者进行无线通信的装置。在实施例中,通信装置140跨电磁频谱(包括无线电和光通信)或其它介质(例如,空气和声介质)进行通信。运载工具对运载工具(V2V)、运载工具对基础设施(V2I)通信(以及在一些实施例中为一种或多种其它类型的通信)的组合有时被称为运载工具对所有事物(V2X)通信。V2X通信通常符合一个或多个通信标准,用于与自主运载工具进行的和在自主运载工具之间的通信。
在实施例中,通信装置140包括通信接口。例如,有线、无线、WiMAX、Wi-Fi、蓝牙、卫星、蜂窝、光、近场、红外或无线电接口。通信接口将数据从远程数据库134传输到AV系统120。在实施例中,远程数据库134嵌入在如图2中所描述的云计算环境200中。通信接口140将从传感器121收集的数据或与AV 100操作有关的其它数据传输到远程数据库134。在实施例中,通信接口140向AV 100传输与遥操作有关的信息。在一些实施例中,AV 100与其它远程(例如,“云”)服务器136通信。
在实施例中,远程数据库134还存储和传输数字数据(例如,存储诸如道路和街道地点的数据)。这些数据可以存储在AV 100上的存储器144中,或者通过通信信道从远程数据库134传输到AV 100。
在实施例中,远程数据库134存储和传输与以前在一天中类似时间沿着轨迹198行驶的运载工具的驾驶属性有关的历史信息(例如,速率和加速度分布)。这种数据可以存储在AV 100上的存储器144中,或者通过通信信道从远程数据库134传输到AV 100。
位于AV 100上的计算装置146基于实时传感器数据和先验信息两者以算法方式生成控制动作,允许AV系统120执行其自主驾驶能力。
在实施例中,AV系统120可以包括耦接到计算装置146的计算机外围设备132,用于向AV 100的用户(例如,乘员或远程用户)提供信息和提醒并接收来自该用户的输入。在实施例中,外围设备132类似于下面参考图3讨论的显示器312、输入装置314和光标控制器316。耦接可以是无线的或有线的。任意两个或更多个的接口装置可以集成到单个装置中。
图2示出示例“云”计算环境。云计算是一种服务交付模式,用于使得能够方便、按需地在网络上访问可配置计算资源(例如网络、网络带宽、服务器、处理、内存、存储、应用程序、虚拟机和服务)的共享池。在典型的云计算系统中,一个或多个大型云数据中心容纳用于交付云所提供的服务的机器。现在参考图2,云计算环境200包括通过云202互连的云数据中心204a、204b和204c。数据中心204a、204b和204c为连接到云202的计算机系统206a、206b、206c、206d、206e和206f提供云计算服务。
云计算环境200包括一个或多个云数据中心。一般而言,云数据中心(例如图2中所示的云数据中心204a)是指构成云(例如图2中所示的云202或云的特定部分)的服务器的物理排列。例如,服务器可以在云数据中心中物理排列成房间、组、行和机架。云数据中心有一个或多个区域,其中包括一个或多个服务器房间。每个房间有一行或多行服务器,并且每行包括一个或多个机架。每个机架包括一个或多个单独的服务器节点。区域、房间、机架和/或行中的服务器可以基于数据中心设施的物理基础设施要求(包括电力、能源、热力、热源和/或其它要求)被排列成若干组。在实施例中,服务器节点类似于图3中描述的计算机系统。数据中心204a具有许多分布在多个机架上的计算系统。
云202包括云数据中心204a、204b和204c以及用于连接云数据中心204a、204b和204c并有助于促进计算系统206a-f对云计算服务的访问的网络和网络资源(例如,网络设备、节点、路由器、交换机和网络电缆)。在实施例中,该网络表示一个或多个本地网络、广域网或通过使用地面或卫星连接部署的有线或无线链路耦接的网际网络的任意组合。通过网络交换的数据使用多种网络层协议(诸如,因特网协议(IP)、多协议标签交换(MPLS)、异步传输模式(ATM)、帧中继(Frame Relay)等)进行传输。此外,在网络表示多个子网络的组合的实施例中,在每个底层子网络上使用不同的网络层协议。在一些实施例中,网络表示一个或多个互连网际网络(诸如公共因特网等)。
计算系统206a-f或云计算服务消费者通过网络链路和网络适配器连接到云202。在实施例中,计算系统206a-f被实现为各种计算装置,例如服务器、台式机、膝上型计算机、平板电脑、智能手机、物联网(IoT)装置、自主运载工具(包括小汽车、无人机、航天飞机、火车、公共汽车等)和消费电子产品。计算系统206a-f也可以在其它系统中实现或作为其它系统的一部分实现。
图3示出计算机系统300。在实现中,计算机系统300是一种专用计算装置。专用计算装置可被硬连线以执行这些技术,或可包括诸如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)的被持久编程为执行上述技术的数字电子装置,或可包括一个或多个通用硬件处理器,这些硬件处理器经编程以根据固件、存储器、其它存储器、或者组合中的程序指令执行这些技术。这种专用的计算装置还可以将定制的硬线逻辑、ASIC或FPGA与定制的编程相结合来完成这些技术。专用计算装置可以是台式计算机系统、便携式计算机系统、手持装置、网络装置或包含硬线和/或程序逻辑以实现这些技术的任何其它设备。
计算机系统300可以包括总线302或用于传达信息的其它通信机制、以及与总线302耦接以处理信息的硬件处理器304。硬件处理器304可以是例如通用微处理器。计算机系统300还包括主存储器306,诸如随机存取存储器(RAM)或其它动态存储装置,该主存储器306耦接到总线302以存储信息和指令,该信息和指令由处理器304执行。主存储器306也可用于在执行要由处理器304执行的指令期间存储临时变量或其它中间信息。当这些指令存储在处理器304可访问的非暂时性存储介质中时,使计算机系统300变成一个专用机器,该机器被定制以执行指令中指定的操作。
在实施例中,计算机系统300还包括只读存储器(ROM)308或耦接到总线302的其它静态存储装置,用于存储处理器304的静态信息和指令。提供诸如磁盘、光盘或固态驱动器的存储装置310,并且该存储装置310耦接到总线302以存储信息和指令。
计算机系统300可以通过总线302耦接到诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、发光二极管(LED)显示器或用于向计算机用户显示信息的有机发光二极管(OLED)显示器的显示器312。包括字母数字键和其它键的输入装置314耦接到总线302,用于向处理器304传送信息和命令选择。另一种类型的用户输入装置是光标控制器316,诸如鼠标、轨迹球、触控显示器或光标方向键,用于将方向信息和命令选择传送到处理器304,并用于控制光标在显示器312上的移动。这种输入装置通常具有两个轴(第一轴(例如,x轴)和第二轴(例如,y轴))上的两个自由度,这两个轴允许装置指定平面上的位置。
根据一个实施例,本文的技术由计算机系统300响应于处理器304执行主存储器306中包含的一个或多个指令的一个或多个序列而执行。这些指令可以从诸如存储装置310的另一存储介质读入主存储器306。执行主存储器306中包含的指令序列使处理器304执行本文所描述的过程步骤。在替代实施例中,使用硬连线电路代替或与软件指令结合使用。
如本文所使用的术语“存储介质”是指存储数据和/或指令的任何非暂时性介质,这些数据和/或指令使机器以特定方式操作。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质例如包括诸如存储装置310的光盘、磁盘或固态驱动器。易失性介质包括动态存储器,诸如主存储器306。存储介质的常见形式包括例如软盘、软磁盘、硬盘、固态驱动器、磁带或任何其它磁数据存储介质、CD-ROM、任何其它光数据存储介质、任何具有孔型的物理介质、RAM、PROM和EPROM、FLASH-EPROM、NV-RAM、或任何其它存储芯片或存储盒。
存储介质有别于传输介质,但可以与传输介质相结合使用。传输介质参与存储介质之间的信息传输。例如,传输介质包括同轴电缆、铜线和光纤,其包括具备总线302的电线。传输介质也可以采取声波或光波的形式,诸如在无线电波和红外数据通信过程中产生的声波或光波。
各种形式的介质可以涉及将一个或多个指令的一个或多个序列承载到处理器304以供执行。例如,这些指令可以最初是在远程计算机的磁盘或固态驱动器上执行的。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器通过电话线路发送指令。计算机系统300的本地调制解调器可以接收电话线路上的数据,并使用红外发射器将数据转换为红外信号。红外检测器可以接收红外信号中承载的数据,并且适当的电路可以将数据放置在总线302上。总线302将数据承载到主存储器306,处理器304从主存储器306检索并执行指令。主存储器306接收的指令可以可选地在处理器304执行之前或之后存储在存储装置310上。
计算机系统300还包括耦接到总线302的通信接口318。通信接口318提供耦接到连接至本地网络322的网络链路320的双向数据通信。例如,通信接口318可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或用以提供与相应类型电话线路的数据通信连接的调制解调器。作为另一示例,通信接口318可以是局域网(LAN)卡,用于提供与兼容LAN的数据通信连接。无线链路也可被实现。在任何这种实现中,通信接口318发送和接收承载表示各种类型的信息的数字数据流的电、电磁或光信号。
网络链路320通常通过一个或多个网络向其它数据装置提供数据通信。例如,网络链路320可以通过本地网络322提供与主计算机324或与由因特网服务提供商(ISP)326运营的云数据中心或设备的连接。ISP 326又通过现在通常称为“因特网”328的世界范围分组数据通信网络来提供数据通信服务。本地网络322和因特网328两者都使用承载数字数据流的电、电磁或光信号。通过各种网络的信号以及网络链路320上并通过通信接口318的信号是传输介质的示例形式,其中这些信号承载了进出计算机系统300的数字数据。在实施例中,网络320可以包含上述云202或者可以是云202的一部分。
计算机系统300可以通过(一个或多个)网络、网络链路320和通信接口318发送消息和接收包括程序代码的数据。在实施例中,计算机系统300可以接收用于处理的代码。接收到的代码可以在接收到时由处理器304执行,和/或存储在存储装置310中,或存储在其它非易失性存储装置中以便以后执行。
自主运载工具架构
图4示出用于自主运载工具(例如,图1所示的AV 100)的示例架构400。架构400包括感知模块402、规划模块404、控制模块406、定位模块408和数据库模块410。各模块在AV100的操作中发挥作用。共同地,模块402、404、406、408和410可以是图1所示的AV系统120的一部分。
在使用中,规划模块404接收表示目的地412的数据,并且确定表示AV 100为了到达(例如,抵达)目的地412而可以行驶的路线414的数据。为了使规划模块404确定表示路线414的数据,规划模块404从感知模块402、定位模块408和数据库模块410接收数据。
感知模块402使用例如也如图1所示的一个或多个传感器121来识别附近的物理对象。将对象分类(例如,分组成诸如行人、自行车、汽车、交通标志等的类型),并且将包括经分类的对象416的场景描述提供至规划模块404。
规划模块404还从定位模块408接收表示AV位置418的数据。定位模块408通过使用来自传感器121的数据和来自数据库模块410的数据(例如,地理数据)以计算位置来确定AV位置。例如,定位模块408可以使用来自GNSS(全球导航卫星系统)传感器的数据和地理数据来计算AV的经度和纬度。在实施例中,定位模块408所使用的数据包括具有行车道几何属性的高精度地图、描述道路网络连接属性的地图、描述行车道物理属性(诸如交通速率、交通量、运载工具和自行车车道的数量、车道宽度、车道交通方向、或车道标记类型和地点,或者它们的组合)的地图、以及描述道路特征(诸如十字路口、交通标志或各种类型的其它行驶信号等)的空间地点的地图。
控制模块406接收表示路线414的数据和表示AV位置418的数据,并且以将使得AV100行驶路线414到达目的地412的方式来操作AV的控制功能420a~420c(例如,转向、油门、制动、点火)。例如,如果路线414包括左转,则控制模块406将以如下方式操作控制功能420a~420c:转向功能的转向角度将使得AV 100左转,并且油门和制动将使得AV 100在进行转弯之前暂停并等待经过的行人或运载工具。
自主运载工具输入
图5示出感知模块402(图4)可以使用的输入502a-502d(例如,图1中所示的传感器121)和输出504a-504d(例如,传感器数据)的示例。一个输入502a是LiDAR(光检测和测距)系统(例如,图1所示的LiDAR 123)。LiDAR是使用光(例如,诸如红外光等的一道光)来获得与其视线中的物理对象有关的数据的技术。LiDAR系统产生LiDAR数据作为输出504a。例如,LiDAR数据可以是用于构造环境190的表示的3D或2D点(也称为点云)的集合。
另一输入502b是RADAR(雷达)系统。RADAR是使用无线电波来获得与附近的物理对象有关的数据的技术。RADAR可以获得与不在LiDAR系统的视线内的对象有关的数据。RADAR系统502b产生RADAR数据作为输出504b。例如,RADAR数据可以是用于构造环境190的表示的一个或多个射频电磁信号。
另一输入502c是照相机系统。照相机系统使用一个或多个照相机(例如,使用诸如电荷耦合器件[CCD]等的光传感器的数字照相机)来获取与附近的物理对象有关的信息。照相机系统产生照相机数据作为输出504c。照相机数据通常采用图像数据(例如,诸如RAW、JPEG、PNG等的图像数据格式的数据)的形式。在一些示例中,照相机系统具有例如为了立体影像(立体视觉)的目的的多个独立照相机,这使得照相机系统能够感知深度。尽管照相机系统所感知的对象在这里被描述为“附近”,但这是相对于AV而言的。在使用中,照相机系统可被配置为“看见”远处的(例如,AV前方的远至1公里或更远的)对象。因此,照相机系统可以具有为了感知遥远的对象而优化的诸如传感器和镜头等的特征。
另一输入502d是交通灯检测(TLD)系统。TLD系统使用一个或多个照相机来获得与交通灯、街道标志和提供视觉导航信息的其它物理对象有关的信息。TLD系统产生TLD数据作为输出504d。TLD数据经常采用图像数据(例如,诸如RAW、JPEG、PNG等的图像数据格式的数据)的形式。TLD系统与包含照相机的另一系统的不同之处在于:TLD系统使用具有宽视场(例如,使用广角镜头或鱼眼镜头)的照相机,以获得与尽可能多的提供视觉导航信息的物理对象有关的信息,使得AV 100能够访问这些对象所提供的所有相关导航信息。例如,TLD系统的视角可以为约120度或更大。
在一些实施例中,可以使用传感器融合技术来组合输出504a-504d。因而,可以将个体输出504a-504d提供至AV 100的其它系统(例如,提供至如图4所示的规划模块404),或者可以采用相同类型的单个组合输出或多个组合输出(例如,使用相同组合技术或组合相同输出或者这两者)或不同类型的单个组合输出或多个组合输出(例如,使用不同的各个组合技术或组合不同的各个输出或者这两者)的形式,将组合输出提供至其它系统。在一些实施例中,使用早期融合技术。早期融合技术的特征在于:在将一个或多个数据处理步骤应用到组合输出之前,将输出组合。在一些实施例中,使用后期融合技术。后期融合技术的特征在于:在将一个或多个数据处理步骤应用到个体输出之后,将输出组合。
图6示出LiDAR系统602的示例(例如,图5所示的输入502a)。LiDAR系统602从发光器606(例如,激光发射器)发射光604a-604c。LiDAR系统所发射的光通常不在可见光谱中;例如,经常使用红外光。所发射的光604b中的一些光遇到物理对象608(例如,运载工具)并且反射回到LiDAR系统602。(从LiDAR系统发射的光通常不会穿透物理对象,例如,实心形式的物理对象。)LiDAR系统602还具有用于检测反射光的一个或多个光检测器610。与LiDAR系统相关联的一个或多个数据处理系统可以生成表示LiDAR系统的视场614的图像612。图像612包括表示物理对象608的边界616的信息。这样,图像612可用于确定AV附近的一个或多个物理对象的边界616。
图7示出操作中的LiDAR系统602。在该图所示的情境中,AV 100接收采用图像702的形式的照相机系统输出504c和采用LiDAR数据点704的形式的LiDAR系统输出504a两者。在使用中,AV 100的数据处理系统可以将图像702与数据点704进行比较。特别地,在数据点704中也可以识别在图像702中识别出的物理对象706。这样,AV 100可以基于数据点704的轮廓和密度来感知物理对象的边界。
图8示出LiDAR系统602的操作的附加细节。如上所述,AV 100可以基于LiDAR系统602所检测到的数据点的特性来检测物理对象的边界。如图8所示,诸如地面802等的平坦对象将以一致的方式反射从LiDAR系统602发射的光804a-804d。换句话说,由于LiDAR系统602使用一致的间隔发射光,因此地面802将以相同的一致间隔将光反射回到LiDAR系统602。在AV 100在地面802上行驶时,在没有东西阻挡道路的情况下,LiDAR系统602将继续检测到由下一个有效地面点806反射的光。然而,如果对象808阻挡道路,则LiDAR系统602所发射的光804e-804f将以与预期一致方式不一致的方式从点810a-810b反射。根据该信息,AV 100可以确定存在对象808。
自主运载工具规划
图9示出(例如,如图4所示的)规划模块404的输入和输出之间的关系的框图900。一般而言,规划模块404的输出是从起点904(例如,源地点或初始地点)到终点906(例如,目的地或最终地点)的路线902。路线902通常由一个或多个路段定义。例如,路段可以是指要在街道、道路、公路、行车道或适合汽车行驶的其它物理区域的至少一部分上行驶的距离。在一些示例中,例如,如果AV 100是诸如四轮驱动(4WD)或全轮驱动(AWD)小汽车、SUV或小卡车等的能够越野的运载工具,则路线902可以包括诸如未铺面路径或开阔田野等的“越野”路段。
除路线902之外,规划模块还输出车道级路线规划数据908。车道级路线规划数据908用于在特定时间基于路线902的路段的条件来驶过这些路段。例如,如果路线902包括多车道公路,则车道级路线规划数据908可以包括路径规划数据910,其中AV 100可以使用该轨迹规划数据910以例如基于出口是否临近、多个车道中的一个或多个车道是否存在其它运载工具、或者在几分钟或更少时间的过程中可以变化的其它因素来从这多个车道中选择某车道。类似地,车道级路线规划数据908可以包括路线902的某路段特有的速率约束912。例如,如果该路段包括行人或非预期交通,则速率约束912可以将AV 100限制到比预期速率慢的行驶速率,例如基于该路段的限速数据的速率。
向规划模块404的输入可以包括(例如,来自图4所示的数据库模块410的)数据库数据914、当前地点数据916(例如,图4所示的AV位置418)、(例如,用于图4所示的目的地412的)目的地数据918和对象数据920(例如,如图4所示的感知模块402所感知的经分类的对象416)。在一些实施例中,数据库数据914包括规划时所使用的规则。规则是使用形式语言(例如,使用布尔逻辑)指定的。在AV 100所遇到的任何给定情形中,这些规则中的至少一些规则将适用于该情形。如果规则具有基于AV 100可用的信息(例如,与周围环境有关的信息)所满足的条件,则该规则适用于给定情形。规则可以具有优先级。例如,“如果公路是高速公路,则移动到最左侧车道”这一规则与“如果出口在一英里内临近,则移动到最右侧车道”相比可以具有更低的优先级。
图10示出在路径规划中(例如,由规划模块404(图4))使用的有向图1000。一般而言,如图10所示的有向图那样的有向图1000可用于确定任何起点1002和终点1004之间的路径。在现实世界中,分隔起点1002和终点1004的距离可能相对较大(例如,在两个不同的都市区域中),或者可能相对较小(例如,毗邻城市街区的两个十字路口或多车道道路的两条车道)。
有向图1000具有表示起点1002和终点1004之间的AV 100可能占用的不同地点的节点1006a-1006d。在一些示例中,例如,在起点1002和终点1004表示不同的都市区域时,节点1006a-1006d可以表示道路的路段。在一些示例中,例如,在起点1002和终点1004表示相同道路上的不同地点时,节点1006a-1006d可以表示该道路上的不同位置。这样,有向图1000可以包括不同粒度级别的信息。具有高粒度的有向图也可以是具有更大规模的另一有向图的子图。例如,起点1002和终点1004相距远(例如,相距许多英里)的有向图的大部分信息可以处于低粒度,并且该有向图是基于所存储的数据,但该有向图还可以包括用于该有向图中的表示AV 100的视场中的物理地点的一部分的一些高粒度信息。
节点1006a-1006d不同于无法与节点重叠的对象1008a-1008b。在粒度低时,对象1008a-1008b可以表示汽车不能穿过的地区,例如无街道或道路的区域。在粒度高时,对象1008a-1008b可以表示AV 100的视场中的物理对象,例如其它汽车、行人、或AV 100不能与之共用物理空间的其它实体。对象1008a-1008b中的任何对象均可以是静态对象(例如,不改变位置的对象,诸如街灯或电线杆等)或动态对象(例如,能够改变位置的对象,诸如行人或其它小汽车等)。
节点1006a-1006d通过边缘1010a-1010c连接。如果两个节点1006a-1006b通过边缘1010a连接,则AV 100可以在一个节点1006a和另一节点1006b之间行驶,例如,而不必在到达另一节点1006b之前行驶到中间节点。(当提到AV 100在节点之间行驶时,意味着AV100可以在由相应节点表示的两个物理位置之间行驶。)边缘1010a-1010c通常是双向的,从某种意义上,AV 100可以在从第一节点行驶到第二节点,或者从第二节点行驶到第一节点。然而,边缘1010a-1010c也可以是单向的,从某种意义上,AV 100可以从第一节点行驶到第二节点,但不能从第二节点行驶到第一节点。在边缘1010a-1010c表示例如单向街道,街道、道路或公路的单独车道,或者由于法律或物理约束因而仅能沿一个方向穿过的其它特征的情况下,边缘1010a-1010c是单向的。
在使用中,规划模块404可以使用有向图1000来识别由起点1002和终点1004之间的节点和边缘组成的路径1012。
边缘1010a-1010c具有关联成本1014a-1014b。成本1014a-1014b是表示在AV 100选择该边缘的情况下将花费的资源的值。典型的资源是时间。例如,如果一个边缘1010a所表示的物理距离是另一边缘1010b所表示的物理距离的两倍,则第一边缘1010a的关联成本1014a可以是第二边缘1010b的关联成本1014b的两倍。可以影响时间的其它因素包括预期交通、十字路口的数量、限速等。另一典型的资源是燃料经济性。两个边缘1010a-1010b可以表示相同的物理距离,但例如由于道路条件、预期天气等,因此一个边缘1010a与另一边缘1010b相比需要更多的燃料。
在规划模块404识别起点1002和终点1004之间的路径1012时,规划模块404通常选择针对成本优化的路径,例如,在将边缘的个体成本相加到一起时具有最小总成本的路径。
在实施例中,如参考图N1-N3进一步详细地所述,两个或更多个冗余的规划模块404可以包括在AV中。
自主运载工具控制
图11示出(例如,如图4所示的)控制模块406的输入和输出的框图1100。控制模块根据控制器1102而操作,该控制器1102例如包括:一个或多个处理器(例如,诸如微处理器或微控制器或这两者等的一个或多个计算机处理器);短期和/或长期数据存储装置(例如,存储器,随机存取存储器或闪速存储器或这两者);以及存储器中所存储的指令,这些指令在(例如,由一个或多个处理器)执行时执行控制器1102的操作。
在使用中,控制器1102接收表示期望输出1104的数据。期望输出1104通常包括速度,例如速率和航向。期望输出1104例如可以基于从(例如,如图4所示的)规划模块404接收到的数据。根据期望输出1104,控制器1102产生可用作油门输入1106和转向输入1108的数据。油门输入1106表示例如通过接合转向踏板或接合另一油门控件来接合AV 100的油门(例如,加速控制)以实现期望输出1104的大小。在一些示例中,油门输入1106还包括可用于接合AV 100的制动器(例如,减速控制)的数据。转向输入1108表示转向角度,例如AV的转向控制(例如,方向盘、转向角致动器或用于控制转向角度的其它功能)应被定位成实现期望输出1104的角度。
在使用中,控制器1102接收在调整提供至油门和转向的输入时使用的反馈。例如,如果AV 100遇到诸如山丘等的干扰1110,则AV 100的测量速率1112可以降至低于期望输出速率。任何测量输出1114均可被提供至控制器1102,使得可以例如基于测量速率和期望输出之间的差分1113来进行所需的调整。测量输出1114可以包括测量位置1116、测量速度1118(包括速率和航向)、测量加速度1120和AV 100的传感器可测量的其它输出。
也可以例如通过诸如照相机或LiDAR传感器等的传感器预先检测与干扰1110有关的信息,并且该信息被提供至预测性反馈模块1122。然后,预测性反馈模块1122可以将控制器1102可用于相应地调整的信息提供至控制器1102。例如,如果AV 100的传感器检测到(“看见”)山丘,则控制器1102可以使用该信息来准备在适当时间接合油门,以避免显著减速。
图12示出控制器1102的输入、输出和组件的框图1200。控制器1102具有影响油门/制动器控制器1204的操作的速率分析器1202。例如,速率分析器1202可以根据例如由控制器1102接收到并由速率分析器1202处理后的反馈,来指示油门/制动器控制器1210使用油门/制动器1206进行加速或进行减速。
控制器1102还具有影响方向盘控制器1210的操作的横向跟踪控制器1208。例如,横向跟踪控制器1208根据例如由控制器1102接收到并由横向跟踪控制器1208处理后的反馈,来指示方向盘控制器1210调整转向角致动器1212的位置。
控制器1102接收用于确定如何控制油门/制动器1206和转向角致动器1212的若干输入。规划模块404提供控制器1102例如选择AV 100开始操作时的航向并确定在AV 100到达十字交叉路口时穿过哪个道路路段所使用的信息。定位模块408例如将描述AV 100的当前地点的信息提供至控制器1102,使得控制器1102可以确定AV 100是否处于基于正控制油门/制动器1206和转向角致动器1212的方式而预期的地点。控制器1102也可以接收来自其它输入1214的信息,例如从数据库、计算机网络等接收到的信息。
跨栈评价
可以如图13所示修改可用于操作自主运载工具(AV)的系统400(也称为AV架构400)。可用于操作AV的系统1300(在图13中示出系统1300的一部分)包括两个或更多个不同的自主运载工具操作子系统(S)1310a、1310b,这两个或更多个不同的AV操作子系统中的各AV操作子系统(例如,1310a)与这两个或更多个不同的AV操作子系统中的另一AV操作子系统(例如,1310b)是冗余的(例如,感知模块402、定位模块408、规划模块404、控制模块406、或者这些模块中的至少两个模块的组合(例如,管道)的冗余版本)。这里,两个不同的AV操作子系统1310a、1310b与彼此是冗余的,因为各AV操作子系统可以在操作包络的共同/共享区域中独立地操作AV。
例如,当彼此集成的模块解决AV操作的至少一个共同方面时,部分冗余/重叠是适用的。在这样的情况下,两个或更多个不同的AV操作子系统中的至少一个被配置为提供不与这两个或更多个不同的AV操作子系统中的至少另一个的AV操作解决方案冗余的附加AV操作解决方案。这里,这两个子系统中的任意子系统或者这两者除了可以提供操作的冗余方面以外,还可以提供不与另一子系统所提供的功能冗余的功能。
当彼此集成的模块是完全冗余的模块而无其它责任时,完全重叠是适用的。在这样的情况下,两个或更多个不同的AV操作子系统中的至少一个被配置为仅提供与这两个或更多个不同的AV操作子系统中的至少另一个的AV操作解决方案冗余的AV操作解决方案。
在一些实现中,不同的AV操作子系统1310a、1310b可被实现为进行AV操作子系统1310a、1310b的相应功能的一个或多个软件算法。在一些实现中,不同的AV操作子系统1310a、1310b可被实现为进行AV操作子系统1310a、1310b的相应功能的集成电路。
另外,系统1300包括经由相应的连接1317a、1317b与两个或更多个不同的AV操作子系统1310a、1310b耦接的输出中介器(A)1340。在一些实现中,输出中介器1340可被实现为进行输出中介器1340的功能的一个或多个软件算法。在一些实现中,输出中介器1340可被实现为进行输出中介器1340的功能的一个或多个集成电路。输出中介器1340被配置为管理来自两个或更多个不同的AV操作子系统1310a、1310b的AV操作输出。特别地,输出中介器1340可被实现为选择一个输出而不选择另一输出的AV操作仲裁器。通常,存在输出中介器从两个或更多个冗余的AV操作子系统的AV操作输出中选择“获胜的”AV操作输出的多个方式。
例如,可以根据“替代冗余”来操作输出中介器。对于两个冗余的AV操作子系统,当这两个冗余的AV操作子系统的故障模式是独立的时,基于“2选1(1-out-of-2)”(1oo2)假定,可以应用该仲裁器技术。这里,输出中介器从两个冗余的AV操作子系统中的仍正工作的AV操作子系统选择AV操作输出。如果从这两个冗余的AV操作子系统都可获得AV操作输出,则输出中介器必须选择这两个输出其中之一。然而,两个AV操作输出可以彼此截然不同。在一些情况下,输出中介器可被配置为能够基于预定标准来选择适当的AV操作输出的“权威”仲裁器。在其它情况下,输出中介器可被配置为使用“替补”方法来进行选择的不重要仲裁器。这里,两个冗余的AV操作子系统其中之一是指定的备用,因此除非主AV操作子系统发生故障,否则其输出将被忽略。由于该原因,替补方法不能利用备用AV操作子系统。
作为另一示例,在多冗余AV操作子系统中,可以根据“大多数冗余”来操作输出中介器。例如,在三个冗余的AV操作子系统中,在用于获得AV操作输出的算法/模型被视为正确、而其HW和/或SW实现在这三个冗余的AV操作子系统其中之一中可能有故障的情况下,基于“三倍冗余”假定,可以应用该仲裁器技术。这里,输出中介器从三个冗余的AV操作子系统中的两个AV操作子系统选择AV操作输出(或等同地,丢弃与其它两个AV操作输出不同的AV操作输出)。对于该方法,输出中介器可被配置为不重要仲裁器。尽管该方法可以提供故障检测的形式(例如,该方法可以识别三个冗余的AV操作子系统中的算法/模型的HW和/或SW实现有故障的一个子系统),但大多数冗余方法不一定会增加故障容限。
作为又一示例,当对于N>3个冗余的AV操作子系统、这些AV操作子系统各自使用不同的模型时,可以根据“围聚冗余”(mobbing redundancy)来操作输出中介器。这里,输出中介器将选择获胜的AV操作输出,作为在最大数量的AV操作子系统中共同的AV操作输出。再次地,当使用该方法时,输出中介器可被配置为不重要仲裁器。然而,在一些情况下,AV操作输出在AV操作子系统的子集之间是共同的,这不一定是因为该AV操作输出是“最正确的”,而是因为AV操作子系统的子集所使用的不同模型高度相关。在这样的情况下,“少数派报告”可以是正确的AV操作输出,即,比AV操作子系统的该子集小的多个AV操作子系统所产生的AV操作输出。
参考图13,在以下所述的示例中将使用被称为“协同冗余”(synergisticredundancy)的另一冗余方法。协同冗余的方法可用于创建性能和可靠性有所提高的高度冗余架构。将表明,协同冗余的方法可以应用于感知和决策的复杂算法。协同冗余可以应用于大部分工程问题,例如特定工程问题被转换为包括提议机制和评分机制的问题解决算法的情况。例如,以下的表1示出例如如由AV架构400的规划模块404进行的规划(还参见图9-10)和例如如由AV架构400的感知模块402进行的感知(还参见图5-8)符合相同的提议机制&评分机制模式。
表1
Figure BDA0003050461780000321
表1中所总结的信息的结构表明,协同冗余的方法可以应用在用于操作AV的系统1300中,因为如图13所示,两个或更多个不同的AV操作子系统1310a、1310b中的各AV操作子系统被实现为具有关于提议方面的一个或多个不同组件以及关于评分方面的一个或多个不同组件。
图13示出:两个或更多个不同的AV操作子系统1310a、1310b中的各AV操作子系统1310a,b包括:解决方案提议器(SP)1312a,b,其被配置为基于当前输入数据来提议用于AV操作的解决方案;以及解决方案评分器(SS)1314a,b,其被配置为基于一个或多个成本评估来评价用于AV操作的提议解决方案。解决方案提议器1312a,b通过相应的连接1311a,b与系统1300或者布置在与AV操作子系统1310a,b相同的栈(或管道)的“上游侧”的另一AV操作子系统的相应传感器耦接,以接收当前输入数据。两个或更多个不同的AV操作子系统1310a、1310b中的至少一个的解决方案评分器1314a,b被配置为评价如下这两者:来自这两个或更多个不同的AV操作子系统1310a、1310b中的至少一个的解决方案提议器1312a,b的提议解决方案,以及来自这两个或更多个不同的AV操作子系统1310a、1310b中的至少一个其它子系统的解决方案提议器1312b,a的提议解决方案至少之一。以这种方式,通过在AV操作子系统1310a,b的解决方案评分器与自身AV操作子系统1310a,b的解决方案提议器1312a,b以及与另一AV操作子系统1310b,a的至少一个解决方案提议器1312b,a之间的信息交换,使协同冗余成为可能,因为解决方案评分器1314a,b都评价提议解决方案以选择这两者之间的获胜的提议解决方案。例如被实现为多路(multi-lane)总线的栈内栈间连接1315被配置为将AV操作子系统1310a,b的解决方案提议器1312a,b与同一AV操作子系统1310a,b的解决方案评分器1314a,b和另一AV操作子系统1310b,a的解决方案评分器1314b,a这两者耦接。
AV操作子系统1310a,b的解决方案评分器1314a,b被配置为以如下方式操作。AV操作子系统1310a,b的解决方案评分器1314a,b通过栈内栈间连接1315接收来自同一AV操作子系统1310a,b的解决方案提议器1312a,b的提议解决方案(也称为本地(或本机)提议解决方案)、以及来自另一AV操作子系统1310b,a的解决方案提议器1312b,a的另一提议解决方案(也称为远程(或非本机或跨平台)提议解决方案)。为了允许交叉评价,解决方案评分器1314a,b在远程和本地的提议解决方案之间进行一些转换/标准化。以这种方式,解决方案评分器1314a,b可以使用本地成本函数(或度量)来评价本地提议解决方案和远程提议解决方案。例如,解决方案评分器1314a,b将本地成本函数应用于本地提议解决方案和远程提议解决方案这两者,以确定这两者各自的成本。最后,解决方案评分器1314a,b在本地提议解决方案和远程提议解决方案之间选择具有基于本地成本函数所评价的成本中的较小成本的提议解决方案。所选择的解决方案对应于(本地或远程生成的)如下的提议模型:如果该提议模型正确,则该提议模型使当前输入数据的可能性最大。
以这种方式,解决方案评分器1314a将所选择的解决方案作为AV操作子系统1310a的输出通过连接1317a提供至输出中介器1340。此外,解决方案评分器1314b将所选择的解决方案作为AV操作子系统1310b的输出、通过连接1317b提供至输出中介器1340。输出中介器1340可以实现在下一部分中详细说明的一个或多个选择处理,以选择AV操作子系统1310a的输出和AV操作子系统1310b的输出中的任意输出。以这种方式,输出中介器1340通过输出连接1347将来自两个或更多个冗余的操作子系统1310a、1310b的单个输出以所选择的输出的形式提供至系统1300的一个或多个“下游”模块或者使用系统1300的AV的一个或多个致动器。
图14示出表示系统400的修改版本的系统1400的示例,该修改是感知模块402被冗余的感知模块1410a、1410b和感知输出中介器1440替换。这里,感知模块1410a、1410b是如AV操作子系统1310a、1310b那样实现的,并且感知输出中介器1440是如输出中介器1340那样实现的。例如,由冗余的感知模块1410a、1410b的(如解决方案提议器1312a、1312b那样实现的)解决方案提议器提议的解决方案包括世界视图提议。如在本说明书的先前部分中所述,感知子系统1410a、1410b可以从一个或多个传感器121(例如,LiDAR、RADAR、可见、红外、紫外或其它波长中的视频/图像数据、超声波、飞行时间(TOF)深度、速率、温度、湿度、和/或降水传感器)以及从数据库(DB)410接收数据。冗余的感知模块1410a、1410b的相应解决方案提议器可以基于例如感知提议机制(例如,如以上关于图5-8所述的自下而上的感知(对象检测)、自上而下的任务驱动的注意力、先验、占用网格等)来生成相应的世界视图提议。例如,冗余的感知模块1410a、1410b的解决方案提议器可以基于来自从AV的传感器的相应子集接收到的当前传感器信号的信息,来生成各自的世界视图提议。另外,冗余的感知模块1410a、1410b的(如解决方案评分器1314a、1314b那样实现的)各个解决方案评分器可以基于一个或多个成本评估(例如,基于各个感知成本函数的评价(诸如来自传感器模型的可能性的计算等))来评价世界视图提议。为了实现协同冗余,各感知模块1410a,b的解决方案评分器使用各自的感知成本函数来评价感知模块1410a,b的解决方案提议器所生成的至少一个世界视图提议、以及从另一感知模块1410b,a的解决方案提议器通过栈内栈间连接1415接收到的至少一个世界视图提议。注意,栈内栈间连接1415是如栈内栈间连接1315那样实现的。如此,感知模块1410a的解决方案评分器在来自感知模块1410a的解决方案提议器的世界视图提议和来自感知模块1410b的解决方案提议器的世界视图提议之间选择一个世界视图提议(所选择的世界视图提议与第一感知成本函数的最小值相对应),并且将所选择的世界视图1416a作为感知模块1410a的输出提供至感知输出中介器1440。此外,感知模块1410b的解决方案评分器在来自感知模块1410b的解决方案提议器的世界视图提议和来自感知模块1410a的解决方案提议器的世界视图提议之间选择一个世界视图提议(所选择的世界视图提议与不同于第一感知成本函数的第二感知成本函数的最小值相对应),并且将所选择的世界视图1416b作为感知模块1410b的输出提供至感知输出中介器1440。以这种方式,世界视图提议避免了例如由于在优化期间收敛于局部最小值而绑定于感知模块1410a,b中的非最优解决方案,这是因为另一感知模块1410b,a使用不同的初始条件,或者,这是因为另一感知模块1410b,a即使将使用完全相同的初始条件也使用不同的世界视图形成方法。
此外,感知输出中介器1440选择两个世界视图1416a、1416b其中之一,并将该世界视图向下游提供至规划模块404和定位模块408,其中在该规划模块404和定位模块408中,该世界视图将分别用于确定路线414和AV位置418。
图15示出表示系统400的修改版本的系统1500的示例,该修改是规划模块404被冗余的规划模块1510a、1510b和规划输出中介器1540所替换。这里,规划模块1510a、1510b是如AV操作子系统1310a、1310b那样实现的,并且规划输出中介器1540是如输出中介器1340那样实现的。例如,由冗余的规划模块的(如解决方案提议器1312a、1312b那样实现的)解决方案提议器提议的解决方案包括路线提议。如以上与图9-10有关地所述,可以通过根据环境的物理情况以及(由定位模块408提供的)当前地点418的驾驶规则推断该AV和其它AV的行为(例如,通过使用基于采样的方法和/或基于优化的方法),来确定路线提议(也称为候选路线)。冗余的规划模块1510a、1510b的相应解决方案提议器可以例如基于诸如随机采样、MPC、深度学习、预定义的原语等的规划提议机制来生成路线提议。例如,冗余的规划模块1510a、1510b的解决方案提议器可以基于来自当前世界视图416的信息、AV的位置418、目的地412和来自数据库(DB)410的其它数据的数据来生成各自的解决方案提议,其中当前世界视图416是从AV的感知模块402接收到的。另外,冗余的规划模块1510a、1510b的(如解决方案评分器1314a、1314b那样实现的)各个解决方案评分器可以例如使用各个规划成本函数的成本函数评价(诸如基于轨迹长度、安全性、舒适性等的轨迹评分),基于一个或多个成本评估来评价路线提议。为了实现协同冗余,各规划模块1510a,b的解决方案评分器评价规划模块1510a,b的解决方案提议器所生成的至少一个路线提议、以及从另一规划模块1510b,a的解决方案提议器经由栈内栈间连接1515所接收到的至少一个路线提议。注意,栈内栈间连接1515是如栈内栈间连接1315那样实现的。如此,规划模块1510a的解决方案评分器在来自规划模块1510a的解决方案提议器的路线提议和来自规划模块1510b的解决方案提议器的路线提议之间选择一个路线提议(所选择的路线提议对应于第一规划成本函数的最小值),并将所选择的路线1514a作为规划模块1510a的输出提供至规划输出中介器1540。此外,规划模块1510b的解决方案评分器在来自规划模块1510b的解决方案提议器提议的路线提议和来自规划模块1510a的解决方案提议器的路线提议之间选择一个路线提议(所选择的路线提议对应于与第一规划成本函数不同的第二规划成本函数的最小值),并将所选择的路线1514b作为规划模块1510b的输出提供至规划输出中介器1540。以这种方式,路线提议避免了例如由于在优化期间收敛于局部最小值而绑定于规划模块1510a,b中的非最优解决方案,这是因为另一规划模块1510b,a使用不同的初始条件、或者这是因为另一规划模块1510b,a即使将使用完全相同的初始条件也使用不同的路线形成方法。
此外,规划输出中介器1540选择两个路线1514a、1514b其中之一,并将所选择的路线向下游提供至控制器模块406,其中在该控制器模块406中,该所选择的路线将被用于确定用于致动转向致动器B210a、油门致动器420b和/或制动器致动器420c的控制信号。
注意,这些示例对应于在单个操作级别正使用的不同AV操作子系统1310a、1310b等。在一些实现中,可以对两个或更多个操作管道(也称为栈)实现协同冗余,其中各操作管道包括多个级别的操作,例如与感知相对应的第一级别操作,之后是与规划相对应的第二级别操作。注意,管道中的操作级别也被称为管道的阶段。
可用于操作AV的系统1600(在图16中示出系统1600的一部分)包括各自包括两个或更多个级别1604a、1604b的两个或更多个操作管道1602a、1602b。可以在系统1600中利用一个或多个级别处的交叉评价来实现协同冗余。如以下详细说明的,在两个或更多个操作管道1602a、1602b各自的各种操作阶段1604a、1604b处使用如AV操作子系统1310a、1310b那样配置的AV操作子系统,使得管道1602a,b中的各阶段1604a,b包括至少一个解决方案评分器,该至少一个解决方案评分器被配置为评价来自阶段1604a,b中的至少一个解决方案提议器的提议解决方案和来自另一管道1602b,a的相同阶段1604a,b的提议解决方案。另外,系统1600包括输出中介器1640,该输出中介器1640连接至两个或更多个操作管道1602a、1602b各自的最后阶段。
在图16所示的系统1600的示例中,操作阶段1602a的第一管道包括被实现为第一AV操作子系统1610a的第一阶段1604a和被实现为第二AV操作子系统1620a的第二阶段1604b。操作阶段1602b的第二管道包括被实现为另一第一AV操作子系统1610b的第一阶段1604a和被实现为另一第二AV操作子系统1620b的第二阶段1604b。注意,在一些实现中,第二管道1602b的第一AV操作子系统1610b和第二AV操作子系统1620b共享电源。在一些实现中,第二管道1602b的第一AV操作子系统1610b和第二AV操作子系统1620b具有各自的电源。此外,第一管道1602a的第二AV操作子系统1620a通过栈内连接1621a与第一管道1602a的第一AV操作子系统1610a进行通信,并通过端栈(end-stack)连接1627a与输出中介器1640进行通信,而第二管道1602b的第二AV操作子系统1620b通过另一栈内连接1621b与第二管道1602b的第一AV操作子系统1610b进行通信,并通过另一端栈连接1627b与输出中介器1640进行通信。另外,如以下所述,第一管道1602a的第一AV操作子系统1610a和第二管道1602b的第一AV操作子系统1610b通过第一栈内栈间连接1615彼此通信,此外第一管道1602a的第二AV操作子系统1620a和第二管道1602b的第二AV操作子系统1620b通过第二栈内栈间连接1625彼此通信。
第一管道1602a的第一AV操作子系统1610a包括解决方案提议器1612a和解决方案评分器1614a。第一管道1602a的第一AV操作子系统1610a的解决方案提议器1612a被配置为使用第一管道1602a的第一AV操作子系统1610a可用的第一输入数据来提议第一阶段解决方案。第二管道1602b的第一AV操作子系统1610b包括另一解决方案提议器1612b和另一解决方案评分器1614b。第二管道1602b的第一AV操作子系统1610b的另一解决方案提议器1612b被配置为使用第二管道1602b的第一AV操作子系统1610b可用的第二输入数据来提议备选第一阶段解决方案。
第一管道1602a的第一AV操作子系统1610a的解决方案评分器1614a被配置为评价来自第一管道1602a的第一AV操作子系统1610a的解决方案提议器1612a的第一阶段解决方案以及来自第二管道1602b的第一AV操作子系统1610b的另一解决方案提议器1612b的备选第一阶段解决方案。第一管道1602a的第一AV操作子系统1610a的解决方案评分器1614a被配置为向第一管道1602a的第二AV操作子系统1620a提供第一管道1602a的第一阶段输出,该第一阶段输出针对各第一阶段解决方案和相应的备选第一阶段解决方案由第一阶段解决方案和备选第一阶段解决方案其中之一组成。第二管道1602b的第一AV操作子系统1610b的解决方案评分器1614b被配置为评价来自第一管道1602a的第一AV操作子系统1610a的解决方案提议器1612a的第一阶段解决方案、以及来自第二管道1602b的第一AV操作子系统1610b的另一解决方案提议器1612b的备选第一阶段解决方案。第二管道1602b的第一AV操作子系统1610b的解决方案评分器1614b被配置为向第二管道1602b的第二AV操作子系统1620b提供第二管道1602b的第一阶段输出,该第一阶段输出针对各第一阶段解决方案和相应的备选第一阶段解决方案由第一阶段解决方案和备选第一阶段解决方案其中之一组成。
第一管道1602a的第二AV操作子系统1620a包括解决方案提议器1622a和解决方案评分器1624a。第一管道1602a的第二AV操作子系统1620a的解决方案提议器1622a被配置为使用来自第一管道1602a的第一AV操作子系统1610a的解决方案评分器1614a的第一管道1602a的第一阶段输出来提议第二阶段解决方案。第二管道1602b的第二AV操作子系统1620b包括另一解决方案提议器1622b和另一解决方案评分器1624b。第二管道1602b的第二AV操作子系统1620b的另一解决方案提议器1622b被配置为使用来自第二管道1602b的第一AV操作子系统1610b的解决方案评分器1614b的第二管道1602b的第一阶段输出来提议备选第二阶段解决方案。
第一管道1602a的第二AV操作子系统1620a的解决方案评分器1624a被配置为评价来自第一管道1602a的第二AV操作子系统1620a的解决方案提议器1622a的第二阶段解决方案、以及来自第二管道1602b的第二AV操作子系统1620b的另一解决方案提议器1622b的备选第二阶段解决方案。第一管道1602a的AV操作子系统1620a的解决方案评分器1624a被配置为向输出中介器1640提供第一管道1602a的第二阶段输出,该第二阶段输出针对各第二阶段解决方案和相应的备选第二阶段解决方案各自由第二阶段解决方案和备选第二阶段解决方案其中之一组成。第二管道1602b的第二AV操作子系统1620b的解决方案评分器1624b被配置为评价来自第一管道1602a的第二AV操作子系统1620a的解决方案提议器1622a的第二阶段解决方案、以及来自第二管道1602b的第二AV操作子系统1620b的另一解决方案提议器1622b的备选第二阶段解决方案。第二管道1602b的第二AV操作子系统1620b的解决方案评分器1624b被配置为向输出中介器1640提供第二管道1602b的第二阶段输出,该第二阶段输出针对第二阶段解决方案和相应的备选第二阶段解决方案各自由第二阶段解决方案和备选第二阶段解决方案其中之一组成。
输出中介器1640可以实现在下一部分中详细说明的一个或多个选择处理,以选择第一管道1602a的第二阶段输出和第二管道1602b的第二阶段输出其中之一。以这种方式,输出中介器1640通过输出连接1647将来自两个或更多个冗余的管道1602a、1602b的单个输出以所选择的输出的形式提供至系统1600的一个或多个“下游”模块或者AV的使用系统1600的一个或多个致动器。
实现了来自共享操作包络的区域的AV模块的中间解决方案提议的跨栈评价的系统1600(例如,被实现为第一AV操作子系统1610a、1610b、或者被实现为第二AV操作子系统1620a、1620b)确保了AV操作期间的更高的故障容限、以及多级AV操作栈/管道中的潜在改进了的解决方案。这些益处将基于以下所述的示例而变得明显。
图17示出表示系统400的修改版本的系统1700的示例,该修改是具有被实现为感知模块402的第一阶段和被实现为规划模块404的第二阶段的两阶段管道被两个冗余的两阶段管道以及输出中介器1740替换。第一两阶段管道具有被实现为第一感知模块1710a的第一阶段和被实现为第一规划模块1720a的第二阶段,并且第二两阶段管道具有被实现为第二感知模块1710b的第一阶段和被实现为第二规划模块1720b的第二阶段。
这里,感知模块1710a和1710b是如第一管道1602a的AV操作子系统1610a和第二管道1602b的AV操作子系统1610b那样实现的。感知模块1710a和1710b的操作类似于以上与图14有关地所述的感知模块1410a和1410b的操作。例如,感知模块1710a、1710b的(如解决方案提议器1612a、1612b那样实现的)解决方案提议器所提议的解决方案包括世界视图的提议。例如,感知模块1710a、1710b的解决方案提议器可以基于来自从与系统1700相关联的传感器121的相应子集接收到的当前传感器信号的信息来生成各自的世界视图提议。另外,感知模块1710a、1710b的(如解决方案评分器1614a、1614b那样实现的)各个解决方案评分器可以基于一个或多个成本评估(例如,基于对各个感知成本函数的评价)来评价世界视图提议。为了实现协同冗余,各感知模块1710a,b的解决方案评分器评价感知模块1710a,b的解决方案提议器所生成的至少一个世界视图提议、以及从另一感知模块1710b,a的解决方案提议器通过栈内栈间连接1715接收到的至少一个世界视图提议。以这种方式,第一感知模块1710a的解决方案评分器在来自第一感知模块1710a的解决方案提议器的世界视图提议和来自第二感知模块1710b的解决方案提议器的世界视图提议之间选择一个世界视图提议(所选择的世界视图提议对应于第一感知成本函数的最小值),并沿第一管道的下游将所选择的世界视图1716a作为第一感知模块1710a的输出提供至第一规划模块1720a。此外,第二感知模块1710b的解决方案评分器在来自第二感知模块1710b的解决方案提议器的世界视图提议和来自第一感知模块1710a的解决方案提议器的世界视图提议之间选择一个世界视图提议(所选择的世界视图提议对应于与第一感知成本函数不同的第二感知成本函数的最小值),并沿第二管道的下游将所选择的世界实体1716b作为第二感知模块1710b的输出提供至第二规划模块1720b。
此外,规划模块1720a、1720b是如第一管道1602a的AV操作子系统1620a和第二管道1602b的AV操作子系统1620b那样实现的,而输出中介器1740是如输出中介器1640那样实现的。规划模块1720a和1720b以及输出中介器1740的操作类似于以上与图15有关地所述的规划模块1510a和1510b以及规划输出中介器1540的操作。例如,规划模块1720a、1720b的(如解决方案提议器1622a、1622b那样实现的)解决方案提议器所提议的解决方案包括路线提议。第一规划模块1720a的解决方案提议器基于第一感知模块1710a所输出的世界视图1716a来生成其路线提议,并且第二规划模块1720b的解决方案提议器基于第二感知模块1710b所输出的备选世界视图1716b来生成其路线提议,而这两者都可以基于目的地412、从定位模块408接收到的AV位置418、并且进一步基于从数据库(DB)410接收到的信息来生成各自的路线提议。另外,规划模块1720a、1720b的(如解决方案评分器1624a、1624b那样实现的)各个解决方案评分器可以基于一个或多个成本评估(例如,基于各个规划成本函数的评价)来评价路线提议。为了实现协同冗余,各规划模块1720a,b的解决方案评分器评价规划模块1720a,b的解决方案提议器所生成的至少一个路线提议、以及从另一规划模块1720b,a的解决方案提议器通过栈内栈间连接1725接收到的至少一个路线提议。注意,栈内栈间连接1715、1725是如栈内栈间连接1615、1625那样实现的。以这种方式,第一规划模块1720a的解决方案评分器在来自第一规划模块1720a的解决方案提议器的路线提议和来自第二规划模块1720b的解决方案提议器的路线提议之间选择一个路线提议(所选择的路线提议对应于第一规划成本函数的最小值),并将所选择的路线1714a作为第一管道的规划阶段输出提供至输出中介器1740。此外,第二规划模块1720b的解决方案评分器在来自第二规划模块1720b的解决方案提议器的路线提议和来自规划模块1720a的第一解决方案提议器的路线提议之间选择一个路线提议(所选择的路线提议对应于与第一规划成本函数不同的第二规划成本函数的最小值),并将所选择的路线1714b作为第二管道的规划阶段输出提供至输出中介器1740。反过来,输出中介器1740选择两个路线1714a、1714b其中之一,并将所选择的路线向下游提供至控制器模块406,其中在该控制器模块406中,该所选择的路线将用于确定用于致动转向致动器B210a、油门致动器420b和制动器致动器420c的控制信号。
如在图17所示的系统1700的情况中示出,可以在感知阶段实现对由冗余管道生成的世界视图提议的交叉评价,并且可以在规划阶段实现对由冗余管道生成的路线提议的交叉评价。然而,注意,可以在感知阶段实现对由冗余管道生成的世界视图提议的交叉评价,而不在规划阶段实现对由冗余管道生成的路线提议的交叉评价。在一些实现中,这可以通过使用栈内栈间连接1725来实现,该栈内栈间连接1725可被自动重新配置为一对模块内连接,其中一个模块内连接将第一规划模块1720a的路线提议器和路线评分器连接,并且另一模块内连接将第二规划模块1720b的路线提议器和路线评分器连接。注意,可以通过将一对模块内连接自动重新配置为栈内栈间连接225来恢复在规划阶段由冗余管道生成的路线提议的交叉评价。此外,可以在规划阶段实现对由冗余管道生成的路线提议的交叉评价,而不在感知阶段实现对由冗余管道生成的世界视图提议的交叉评价。在一些实现中,这可以通过使用栈内栈间连接1715来实现,该栈内栈间连接1725可被自动重新配置为一对模块内连接,其中一个模块内连接将第一感知模块1710a的世界视图提议器和世界视图评分器连接,并且另一模块内连接将第二感知模块1710b的世界视图提议器和世界视图评分器连接。注意,可以通过将一对模块内连接自动重新配置为栈内栈间连接215来恢复在感知阶段由冗余管道生成的世界视图提议的交叉评价。在某些情形下,可能需要放弃对世界视图提议的交叉评价和对路线提议的交叉评价这两者。与标准1oo2替代冗余相对应的这些情形可以通过如上所述重新配置两个栈内栈间连接1715、1715并且通过使用权威输出中介器1740来实现。
图18示出表示系统400的修改版本的系统1800的示例,该修改是具有被实现为规划模块404的第一阶段和被实现为控制器模块406的第二阶段的两阶段管道被两个冗余的两阶段管道以及输出中介器1840替换。第一两阶段管道具有被实现为第一规划模块1720a的第一阶段和被实现为第一控制器模块1810a的第二阶段,并且第二两阶段管道具有被实现为第二规划模块1720b的第一阶段和被实现为第二控制器模块1810b的第二阶段。
这里,规划模块1720a、1720b是如第一管道1602a的AV操作子系统1610a和第二管道1602b的AV操作子系统1610b那样实现的。规划模块1720a和1720b的操作类似于以上与图15有关地所述的规划模块1510a和1510b的操作。例如,规划模块1720a、1720b的(如解决方案提议器1612a、1612b那样实现的)解决方案提议器提议的解决方案包括路线提议。规划模块1720a、1720b的解决方案提议器基于感知模块402所输出的世界视图416、基于从定位模块408接收到的AV位置418、基于目的地412、并且进一步基于从数据库(DB)410接收到的信息来生成各自的路线提议。另外,规划模块1720a、1720b的(如解决方案评分器1614a、1614b那样实现的)各个解决方案评分器可以基于一个或多个成本评估(例如,基于对各个规划成本函数的评价)来评价路线提议。为了实现协同冗余,各规划模块1720a,b的解决方案评分器评价规划模块1720a,b的解决方案提议器所生成的至少一个路线提议、以及从另一规划模块1720b,a的解决方案提议器通过栈内栈间连接1725接收到的至少一个路线提议。以这种方式,第一规划模块1720a的解决方案评分器在来自第一规划模块1720a的解决方案提议器的路线提议和来自第二规划模块1720b的解决方案提议器的路线提议之间选择一个路线提议(所选择的路线提议对应于第一规划成本函数的最小值),并将所选择的路线1814a作为第一规划模块1720a的输出沿第一管道的下游提供至第一控制器模块1810a。此外,第二规划模块1720b的解决方案评分器在来自第二规划模块1720b的解决方案提议器的路线提议和来自第一规划模块1720a的解决方案提议器的路线提议之间选择一个路线提议(所选择的路线提议对应于与第一规划成本函数不同的第二规划成本函数的最小值),并将所选择的路线1814b作为第二规划模块1720b的输出沿第二管线的下游提供至第二控制器模块1810b。
此外,控制器模块1810a、1810b是如第一管道1602a的AV操作子系统1620a和第二管道1602b的AV操作子系统1620b那样实现的,而输出中介器1840是如输出中介器1640那样实现的。这里,控制器模块1810a、1810b的(如解决方案提议器1622a、1622b那样实现的)解决方案提议器所提议的解决方案包括控制信号提议。第一控制器模块1810a的解决方案提议器基于第一规划模块1720a所输出的路线1814a来生成其控制信号提议,并且第二控制器模块1810b的解决方案提议器基于第二规划模块1720b所输出的备选路线1814b来生成其控制信号提议,而这两者都可以基于从定位模块408接收到的AV位置418来生成各自的控制信号提议。另外,控制器模块1810a、1810b的(如解决方案评分器1624a、1624b那样实现的)各个解决方案评分器可以基于一个或多个成本评估(例如,基于对各个控制成本函数的评价)来评价控制信号提议。为了实现协同冗余,各控制器模块1810a,b的解决方案评分器评价控制器模块1810a,b的解决方案评分器所生成的至少一个控制信号提议、以及从另一控制器模块1810b,a的解决方案评分器通过栈内栈间连接1815接收到的至少一个控制信号提议。注意,栈内栈间连接1815是如栈内栈间连接1625那样实现的。如此,第一控制器模块1810a的解决方案评分器在来自第一控制器模块1810a的解决方案提议器的控制信号提议和来自第二控制器模块1810b的解决方案提议器的控制信号提议中选择一个控制信号提议(所选择的控制信号提议对应于第一控制成本函数的最小值),并将所选择的控制信号作为第一管道的控制器阶段输出提供至输出中介器1840。另外,控制器模块1810b的解决方案评分器在来自第二控制器模块1810b的解决方案提议器的控制信号提议和来自第一控制器模块1810a的解决方案提议器的控制信号提议之间选择一个控制信号提议(所选择的控制信号提议对应于与第一控制成本函数不同的第二控制成本函数的最小值),并将所选择的控制信号作为第二管道的控制器阶段输出提供至输出中介器1840。以这种方式,控制信号提议避免了例如由于在优化期间收敛于局部最小值而绑定于控制模块1810a,b中的非最优解决方案,这是因为另一控制模块1810b,a使用不同的初始条件、或者这是因为另一控制模块1810b,a即使将使用完全相同的初始条件也使用不同的控制信号形成方法。
此外,输出中介器1840选择两个控制信号其中之一,并将所选择的控制信号向下游提供以致动转向致动器B210a、油门致动器420b和/或制动器致动器420c。
图19示出表示系统400的修改版本的系统1900的示例,该修改是具有被实现为定位模块408的第一阶段和被实现为控制器模块406的第二阶段的两阶段管道被两个冗余的两阶段管道以及输出中介器1840替换。第一两阶段管道具有被实现为第一定位模块1910a的第一阶段和被实现为第一控制器模块1810a的第二阶段,并且第二两阶段管道具有被实现为第二定位模块1910b的第一阶段和被实现为第二控制器模块1810b的第二阶段。
这里,定位模块1910a、1910b是如第一管道1602a的AV操作子系统1610a和第二管道1602b的AV操作子系统1610b那样实现的。这里,定位模块1910a、1910b的(如解决方案提议器1612a、1612b那样实现的)解决方案提议器所提议的解决方案包括AV位置提议。定位模块1910a、1910b的解决方案提议器基于来自从与系统1900相关联的传感器121的相应子集接收到的当前传感器信号的信息、基于感知模块402所输出的世界视图416、并且进一步基于从数据库(DB)410接收到的信息,来生成各自的AV位置提议。注意,AV位置提议可能受到诸如道路、合法/非法位置、海拔高度等的已知因素约束。另外,定位模块1910a、1910b的(如解决方案评分器1614a、1614b那样实现的)各个解决方案评分器可以基于一个或多个成本评估(例如,基于对各个定位成本函数的评价)来评价AV地点提议。为了实现协同冗余,各定位模块1910a,b的解决方案评分器评价定位模块1910a,b的解决方案提议器所生成的至少一个AV地点提议、以及从另一定位模块1910b,a的解决方案评分器通过栈内栈间连接1915接收到的至少一个AV地点提议。注意,栈内栈间连接1915是如栈内栈间连接1615那样实现的。如此,第一定位模块1910a的解决方案评分器在来自第一定位模块1910a的解决方案评分器的AV位置提议和来自第二定位模块1910b的解决方案评分器的AV位置提议之间选择一个AV位置提议(所选择的AV位置提议对应于第一定位成本函数的最小值),并将所选择的AV位置1918a作为第一定位模块1910a的输出沿第一管道的下游提供至第一控制器模块1810a。此外,第二定位模块1910b的解决方案评分器在来自第二定位模块1910b的解决方案评分器的AV地点提议和来自第一定位模块1910a的解决方案评分器的AV地点提议中选择一个AV地点提议(所选择的AV地点提议对应于与第一定位成本函数不同的第二定位成本函数的最小值),并将所选择的AV位置1918b作为第二定位模块1910b的输出沿第二管道的下游提供至第二控制器模块1810b。以这种方式,AV位置提议避免了例如由于在优化期间收敛于局部最小值而绑定于定位模块1910a,b中的非最优解决方案,这是因为另一定位模块1910b,a使用不同的初始条件、或者这是因为另一定位模块1910b,a即使将使用完全相同的初始条件也使用不同的AV地点形成方法。
此外,在图19所示的示例中,除了第一控制器模块1810a的解决方案提议器基于第一定位模块1910a所输出的AV位置1918a生成其控制信号提议、并且第二控制器模块1810b的解决方案提议器基于第二定位模块1910b所输出的备选路线1918b生成其控制信号提议以外,第一管道的第二阶段的第一控制器模块1810a和第二管道的第二阶段的第二控制器模块1810b是如以上与图18有关地所述实现和操作的。此外,在图19所示的示例中,输出中介器1840是如以上与图18有关地所述实现和操作的。
如以上与图16有关地所述,第一和第二冗余管道1602a、1602b各自可以包括两个或更多个阶段1604a、1604b。可用于操作AV的系统2000(在图20中示出系统2000的一部分)包括各自包含三个阶段1604a、1604b、2004c的两个操作管道1602a、1602b。系统2000还包括连接至两个操作管道1602a、1602b各自的最后阶段的输出中介器1640。如以下所述,可以利用这三个阶段各自处的交叉评价来在系统2000中实现协同冗余。
这里,系统2000的第一和第二阶段1604a、1604b是如以上与系统1600有关地所述实现的。第一管道1602a的第三阶段2004c被实现为第三AV操作子系统2030a,并且第二管道1602b的第三阶段2004c被实现为另一第三AV操作子系统2030b。注意,在一些实施例中,第二管道1602b的第一AV操作子系统1610b、第二AV操作子系统1620b和第三AV操作子系统2030b共享电源。在一些实施例中,第二管道1602b的第一AV操作子系统1610b、第二AV操作子系统1620b和第三AV操作子系统2030b各自具有自己的电源。此外,第三AV操作子系统2030a通过第一管道1602a的栈内连接1611a与第一AV操作子系统1610a进行通信,并且另一第三AV操作子系统2030b通过第二管道1602b的另一栈内连接1611b与另一第一AV操作子系统1610b进行通信。另外,如以下所述,第一管道1602a的第三AV操作子系统2030a和第二管道1602b的第三AV操作子系统2030b通过第三栈内栈间连接2035彼此进行通信。
第一管道1602a的第三AV操作子系统2030a包括解决方案提议器2032a和解决方案评分器2034a。第一管道1602a的第三AV操作子系统2030a的解决方案提议器2032a被配置为使用第一管道1602a的第三AV操作子系统2030a可用的第一输入数据来提议第三阶段解决方案。第二管道1602b的第三AV操作子系统2030b包括另一解决方案提议器2032b和另一解决方案评分器2034b。第二管道1602b的第三AV操作子系统2030b的另一解决方案提议器2032b被配置为使用第二管道1602b的第三AV操作子系统2030b可用的第二输入数据来提议备选第三阶段解决方案。
第一管道1602a的第三AV操作子系统2030a的解决方案评分器2034a被配置为评价来自第一管道1602a的第三AV操作子系统2030a的解决方案提议器2032a的第三阶段解决方案、以及来自第二管道1602b的第三AV操作子系统2030b的另一解决方案提议器2032b的备选第一阶段解决方案。第一管道1602a的第三AV操作子系统2030a的解决方案评分器2034a被配置为向第一管道1602a的第一AV操作子系统1610a提供第一管道1602a的第三阶段输出,该第三阶段输出针对各第三阶段解决方案和相应的备选第三阶段解决方案由第三阶段解决方案和备选第三阶段解决方案其中之一组成。第二管道1602b的第三AV操作子系统2030b的解决方案评分器2034b被配置为评价来自第一管道1602a的第三AV操作子系统2030a的解决方案提议器2032a的第三阶段解决方案、以及来自第二管道1602b的第三AV操作子系统2030b的另一解决方案提议器2032b的备选第三阶段解决方案。第二管道1602b的第三AV操作子系统2030b的解决方案评分器2034b被配置为向第二管道1602b的第一AV操作子系统1610b提供第二管道1602b的第三阶段输出,该第三阶段输出针对各第三阶段解决方案和相应的备选第三阶段解决方案由第三阶段解决方案和备选第三阶段解决方案其中之一组成。
第一阶段1604a被实现为第一管道1602a的第一AV操作子系统1610a和第二管道1602b的另一第一AV操作子系统1610b。除了第一AV操作子系统1610a的解决方案提议器基于从第三AV操作子系统2030a接收到的第一管道1602a的第三阶段输出来生成其解决方案提议、并且另一第一AV操作子系统1610b的解决方案提议器基于从另一第三AV操作子系统2030b接收到的第二管道1602b的第三阶段输出来生成其解决方案以外,第一管道1602a的第一AV操作子系统1610a和第二管道1602b的另一第一AV操作子系统1610b是如以上与图16有关地实现和操作的。
此外,对于系统2000,第二阶段1604b被实现为第一管道1602a的第二AV操作子系统1620a和第二管道1602b的第二AV操作子系统1620b。第一管道1602a的第二AV操作子系统1620a和第二管道1602b的另一第二AV操作子系统1620b是如以上与图16有关地所述实现和操作的。此外,对于系统2000,输出中介器1640是如以上与图16有关地所述实现和操作的。
以下将说明用以修改系统400以实现系统2000的协同冗余的各种方式。
图21示出表示系统400的修改版本的系统2100的示例,一个修改是开始阶段被实现为感知模块402、中间阶段被实现为规划模块404且最后阶段被实现为控制模块406的三阶段管道被第一对冗余三阶段管道以及输出中介器1840替换。这里,第一三阶段管道的开始阶段被实现为第一感知模块1710a、其中间阶段被实现为第一规划模块1720a并且其最后阶段被实现为第一控制模块1810a,而第二三阶段管道的开始阶段被实现为第二感知模块1710b、其中间阶段被实现为第二规划模块1720b并且其最后阶段被实现为第二控制模块1810b。
对于系统2100的第一对冗余三阶段管道,感知模块1710a、1710b是如第一管道1602a的AV操作子系统2030a和第二管道1602b的AV操作子系统2030b那样实现的。如以上与图17有关地所述,感知模块1710a、1710b的解决方案提议器基于来自当前传感器信号的信息来生成各自的世界视图提议,该信息是从与系统2100相关联的传感器121的相应子集接收到的。为了实现协同冗余,各感知模块1710a,b的解决方案评分器评价感知模块1710a,b的解决方案提议器所生成的至少一个世界视图提议、以及从另一感知模块1710b,a的解决方案提议器通过栈内栈间连接1715接收到的至少一个世界视图提议,选择这两个世界视图提议中的使与感知模块1710a,b相对应的感知成本函数最小化的世界视图提议,并将所选择的提议作为世界视图1716a,b沿相应管道的下游输出至规划模块1720a,b。
此外,对于系统2100的第一对冗余三阶段管道,规划模块1720a、1720b是如以上与图17有关地所述实现和操作的。这里,例如,规划模块1720a、1720b的解决方案提议器基于来自各个感知模块1710a、1710b的世界视图1716a、1716b来生成各自的路线提议。为了实现协同冗余,各规划模块1720a,b的解决方案评分器评价规划模块1720a,b的解决方案提议器所生成的至少一个路线提议、以及从另一规划模块1720b,a的解决方案提议器通过栈内栈间连接1725接收到的至少一个路线提议,选择这两个路线提议中的使与规划模块1720a,b相对应的规划成本函数最小化的路线提议,并将所选择的提议作为路线2114a,b沿相应管道的下游输出至控制模块1810a,b。
此外,对于系统2100的第一对冗余三阶段管道,控制模块1810a、1810b和输出中介器1840是如以上与图18有关地所述实现和操作的。这里,例如,控制模块1810a、1810b的解决方案提议器基于来自相应规划模块1720a、1720b的路线2114a、2114b来生成各自的控制信号提议。为了实现协同冗余,各控制模块1810a,b的解决方案评分器评价控制模块1810a,b的解决方案评分器所生成的至少一个控制信号提议、以及从另一控制模块1810b,a的解决方案评分器通过栈内栈间连接1815接收到的至少一个控制信号提议,选择这两个控制信号提议中的使与控制模块1810a,b相对应的控制成本函数最小化的控制信号提议,并将所选择的提议作为控制信号输出至输出中介器1840。反过来,输出中介器1840选择由控制模块1810a、1810b提供的两个控制信号其中之一,并将所选择的控制信号向下游提供以致动转向致动器B210a、油门致动器420b和/或制动器致动器420c。
由系统2100体现的系统400的另一修改是:开始阶段被实现为感知模块402、中间阶段被实现为定位模块408且最后阶段被实现为控制模块406的三阶段管道被第二对冗余三阶段管道和输出中介器1840替换。这里,第一三阶段管道的开始阶段被实现为第一感知模块1710a、其中间阶段被实现为第一定位模块1910a且其最后阶段被实现为第一控制模块1810a,而第二三阶段管道的开始阶段被实现为第二感知模块1710b、其中间阶段被实现为第二定位模块1910b且其最后阶段被实现为第二控制模块1810b。
对于系统2100的第二对冗余三阶段管道,除了各感知模块1710a,b将所选择的提议作为世界视图1716a,b沿相应管道的下游输出至定位模块1910a,b以外,感知模块1710a、1710b是如以上与系统2100的第一对冗余三阶段管道有关地所述实现和操作的。
此外,对于系统2100的第二对冗余三阶段管道,定位模块1910a、1910b是如以上与图19有关地所述实现和操作的。这里,例如,定位模块1910a、1910b的解决方案提议器基于来自各个感知模块1710a、1710b的世界视图1716a、1716b来生成各自的AV位置提议。为了实现协同冗余,各定位模块1910a,b的解决方案评分器评价定位模块1910a,b的解决方案提议器所生成的至少一个AV位置提议、以及从另一定位模块1910b,a的解决方案提议器通过栈内栈间连接1915接收到的至少一个AV位置提议,选择这两个AV位置提议中的使与定位模块1910a,b相对应的定位成本函数最小化的AV位置提议,并将所选择的提议作为AV位置2118a,b沿相应管道的下游输出至控制模块1810a,b。
此外,对于系统2100的第二对冗余三阶段管道,控制模块1810a、1810b和输出中介器1840是如以上与系统2100的第一对冗余三阶段管道有关地所述实现和操作的。
由系统2100体现的系统400的又一修改是:开始阶段被实现为感知模块402实现的、第一中间阶段被实现为定位模块408、第二中间阶段被实现为规划模块404且最后阶段被实现为控制模块406的四阶段管道被一对冗余四阶段管道和输出中介器1840替换。这里,第一四阶段管道的开始阶段被实现为第一感知模块1710a、其第一中间阶段被实现为第一定位模块1910a、其第二中间阶段被实现为第一规划模块1720a且其最后阶段被实现为第一控制模块1810a,而第二四阶段管道的开始阶段被实现为第二感知模块1710b、其第一中间阶段被实现为第二定位模块1910b、其第二中间阶段被实现为第二规划模块1720b且其最后阶段被实现为第二控制模块1810b。
对于系统2100的一对冗余四阶段管道,除了各感知模块1710a,b将所选择的提议作为世界视图1716a,b沿相应管道的下游输出至定位模块1910a,b和规划模块1720a,b以外,感知模块1710a,1710b是如以上与系统2100的第一对冗余三阶段管道和第二对冗余三阶段管道各自有关地所述实现的。另外,对于系统2100的一对冗余四阶段管道,除了各定位模块1910a,b将所选择的提议作为AV位置2118a,b沿相应管道的下游输出至控制模块1810a,b和规划模块1720a,b以外,定位模块1910a、1910b是如以上与系统2100的第二对冗余三阶段管道有关地所述实现的。此外,对于系统2100的一对冗余四阶段管道,规划模块1720a、1720b是如以上与系统2100的第一对冗余三阶段管道有关地所述实现的。此外,对于系统2100的一对冗余四阶段管道,控制模块1810a、1810b和输出中介器1840是如以上与系统2100的第一对冗余三阶段管道有关地所述实现的。可以使用以下与图22-23有关地所述的处理2200来操作系统2100的一对冗余四阶段管道。
在2210a处,第一感知模块1710a从AV的第一组传感器121接收第一传感器信号,并且基于这些第一传感器信号来生成第一世界视图提议。在2210b处,第二感知模块1710b从AV的第二组传感器121接收第二传感器信号,并且基于这些第二传感器信号来生成第二世界视图提议。
如上所述,第一组传感器可以不同于第二组传感器。例如,这两组部分重叠,即这两组可以具有至少一个共同的传感器。作为另一示例,这两组不具有共同的传感器。
在一些实现中,从第一组传感器121接收到的第一传感器信号包括由第一组的相应传感器检测到的对象的一个或多个列表,并且从第二组传感器121接收到的第二传感器信号包括由第二组的相应传感器检测到的一个或多个对象列表。在一些实现中,这些列表是由感知模块创建的。如此,第一感知模块1710a生成第一世界视图提议可以包括:创建由第一组的相应传感器检测到的对象的一个或多个第一列表。并且,第二感知模块1710b生成第二世界视图提议可以包括:创建由第二组的相应传感器检测到的对象的一个或多个第二列表。
在一些实现中,第一世界视图提议的生成可以由第一感知模块1710a基于第一感知提议机制来进行。并且,第二世界视图提议的生成可以由第二感知模块1710b基于与第一感知提议机制不同的第二感知提议机制来进行。在其它实现中,第二感知模块1710b可以将基于第一感知提议机制的第二世界视图提议生成为不同于第一世界视图提议。这是因为,第二感知模块1710b所使用的第二传感器信号不同于第一感知模块1710a所使用的第一传感器信号,以生成各自的世界视图提议。
在2220a处,第一感知模块1710a基于第一感知成本函数来在第一世界视图提议和第二世界视图提议之间选择一个世界视图提议,并将所选择的世界视图提议作为第一世界视图1716a提供至第一定位模块1910a。在2220b处,第二感知模块1710b基于第二感知成本函数来在第一世界视图提议和第二世界视图提议之间选择一个世界视图提议,并将所选择的世界视图提议作为第二世界视图1716b提供至第二定位模块1910b。
在一些实现中,提供至第一定位模块1910a和第一规划模块1720a的第一世界视图1716a可以包括由第一组传感器检测到的一个或多个对象的第一对象踪迹。此外,提供至第二定位模块1910b和第二规划模块1720b的第二世界视图1716b可以包括由第二组传感器检测到的一个或多个对象的第二对象踪迹。
在2230a处,第一定位模块1910a从第一感知模块1710a接收第一世界视图1716a,并且基于该第一世界视图1716a来生成第一AV位置提议。在2230b处,第二定位模块1910b从第二感知模块1710b接收第二世界视图1716b,并且基于该第二世界视图1716b来生成第二AV位置提议。
注意,第一定位模块1910a可以从第一组传感器121接收第一传感器信号的至少一部分。以这种方式,第一AV位置提议的生成由第一定位模块1910a基于第一传感器信号和第一世界视图1716a的组合来进行。此外,注意,第二定位模块1910b可以从第二组传感器121接收第二传感器信号的至少一部分。以这种方式,第二AV位置提议的生成由第二定位模块1910b基于第二传感器信号和第二世界视图1716b的另一组合来进行。例如,为了生成第一和第二AV位置提议,第一和第二定位模块1910a、1910b可以使用一个或多个定位算法,该一个或多个定位算法包括基于地图的定位、基于LiDAR地图的定位、基于RADAR地图的定位、基于视觉地图的定位、视觉测程和基于特征的定位。
在一些实现中,第一AV位置提议的生成可以由第一定位模块1910a基于第一定位算法来进行。并且,第二AV位置提议的生成可以由第二定位模块1910b基于与第一定位算法不同的第二定位算法来进行。在其它实现中,第二定位模块1910b可以使用第一定位算法来生成第二AV位置提议,并且获得与第一AV位置提议不同的第二AV位置提议。这是因为,由第二定位模块1910b作为向第一定位算法的输入所使用的第二传感器信号和第二世界视图1716b的组合不同于由第一定位模块1910a作为向第一定位算法的输入所使用的第一传感器信号和第一世界视图1716a的组合。将第一定位算法应用于不同的输入可以得到不同的AV位置提议。
在2240a处,第一定位模块1910a基于第一定位成本函数来在第一AV位置提议和第二AV位置提议中选择一个位置提议,并将所选择的位置提议作为第一AV位置2118a提供至第一规划模块1720a。在2240b处,第二定位模块1910b基于第二定位成本函数来在第一AV位置提议和第二AV位置提议之间选择一个位置提议,并将所选择的位置提议作为第二AV位置2118b提供至第二规划模块1720b。注意,提供至第一规划模块220a和第一控制模块1810a的第一AV位置2118a可以包括AV的当前位置的第一估计,并且提供至第二规划模块220b和第二控制模块1810b的第二AV位置2118b可以包括AV的当前位置的第二估计。
在2250a处,第一规划模块1720a从第一定位模块1910a接收第一AV位置2118a,并且基于该第一AV位置2118a来生成第一路线提议。在2250b处,第二规划模块1720b从第二定位模块1910b接收第二AV位置2118b,并且基于该第二AV位置2118b来生成第二路线提议。
注意,第一规划模块1720a可以从第一感知模块1710a接收第一世界视图1716a。以这种方式,第一路线提议的生成由第一规划模块1720a基于第一AV位置2118a和第一世界视图1716a的组合来进行。此外,注意,第二规划模块1720b可以从第二感知模块1710b接收第二世界视图1716b。以这种方式,第二路线提议的生成可以由第二规划模块1720b基于第二AV位置2118b和第二世界视图1716b的另一组合来进行。
在一些实现中,第一路线提议的生成可以由第一规划模块1720a基于第一规划算法来进行。并且,第二路线提议的生成可以由第二规划模块1720b基于与第一规划算法不同的第二规划算法来进行。在其它实现中,第二规划模块1720b可以使用第一规划算法来生成第二路线提议,并获得与第一路线提议不同的第二路线提议。这是因为,由第二定位模块1910b作为向第一规划算法的输入所使用的第二AV位置2118b和第二世界视图1716b的组合不同于由第一规划模块1720a作为向第一规划算法的输入所使用的第一AV位置2118a和第一世界视图1716a的组合。将第一规划算法应用于不同的输入可以得到不同的路线提议。
在一些实现中,规划模块1720a、1720b生成路线提议可以包括:提议在AV的当前位置和AV的目的地412之间的相应路径。
在一些实现中,规划模块1720a、1720b生成路线提议可以包括:推断AV以及一个或多个其它运载工具的行为。在一些情况下,通过将所检测到的对象的列表与同AV的当前地点相关联的驾驶规则进行比较来推断该行为。例如,小汽车在美国在道路右侧驾驶,在英国在道路左侧驾驶,并且应停留在道路的合法侧。在其它情况下,通过将所检测到的对象的列表与许可运载工具按与运载工具的当前地点相关联的驾驶规则操作的地点进行比较来推断该行为。例如,不允许小汽车在人行道上驾驶、偏离道路驾驶、穿过建筑物驾驶等。在一些情况下,通过针对各所检测到的对象的恒速或恒加速度模型来推断该行为。在一些实现中,规划模块1720a、1720b生成路线提议可以包括:提议符合所推断的行为并避开一个或多个所检测到的对象的相应路径。
在2260a处,第一规划模块1720a基于第一规划成本函数来在第一路线提议和第二路线提议之间选择一个路线提议,并将所选择的路线提议作为第一路线2114a提供至第一控制模块1810a。在2260b处,第二规划模块220b基于第二规划成本函数来在第一路线提议和第二路线提议之间选择一个路线提议,并将所选择的路线提议作为第二路线2114b提供至第二控制模块1810b。
在一些实现中,在第一路线提议和第二路线提议之间选择一个路线提议可以包括:基于各个世界视图1716a,b和行为推理模型来评价碰撞可能性。
在2270a处,第一控制模块1810a从第一规划模块1720a接收第一路线2114a,并基于该第一路线2114a生成第一控制信号提议。在2270b处,第二控制模块1810b从第二规划模块1720b接收第二路线2114b,并基于该第二路线2114b生成第二控制信号提议。
注意,第一控制模块1810a可以从第一定位模块1910a接收第一AV位置2118a。以这种方式,第一控制信号提议的生成可以由第一控制模块1810a基于第一AV位置2118a和第一路线2114a的组合来进行。此外,注意,第二控制模块1810b可以从第二定位模块1910b接收第二AV位置2118b。以这种方式,第二控制信号提议的生成可以由第二控制模块1810b基于第二AV位置2118b和第二路线1714b的另一组合来进行。
在2280a处,第一控制模块1810a基于第一控制成本函数来在第一控制信号提议和第二控制信号提议之间选择一个控制信号提议,并将所选择的控制信号提议作为第一控制信号提供至输出中介器1840。在2280b处,第二控制模块1810b基于第二控制成本函数来在第一控制信号提议和第二控制信号提议之间选择一个控制信号提议,并将所选择的控制信号提议作为第二控制信号提供至输出中介器1840。
在2290处,输出中介器1840接收或访问来自第一控制模块1810a的第一控制信号和来自第二控制模块1810b的第二控制信号。这里,输出中介器1840通过使用在下一部分中详细所述的选择过程来在第一控制信号和第二控制信号之间选择一个控制信号。以这种方式,输出中介器1840将所选择的控制信号作为控制信号提供至AV的一个或多个致动器(例如,420a、420b、42c)。在下一部分中详细说明输出中介器1840将所选择的控制信号传输至AV的适当致动器或指示将所选择的控制信号传输至AV的适当致动器的方式。
实现协同冗余的系统1300、1600和2000的示例表明:各个AV操作子系统1310a,b、1610a,b、1620a,b、2030a,b的各评分器1314a,b、1614a,b、1624a,b、2034a,b在信服了由另一操作子系统1310b,a、1610b,a、1620b,a、2030b,a提出的解决方案的优越性的情况下,可以采用该解决方案。如上所述,“令人信服的”包括:与从自身的AV操作子系统的提议器1312a,b、1612a,b、1622a,b、2032a,b接收到的本机解决方案并排地进行从另一AV操作子系统的提议器1312b,a、1612b,a、1622b,a、2032b,a接收到的备选解决方案的成本函数评价。以这种方式,管道的相同阶段的各个AV操作子系统与在AV操作子系统不能评价彼此的解决方案提议的情况下相比表现更好。这样得到潜在更高的故障容限。
在一些实现中,希望在一对管道的特定阶段增加解决方案的多样性,这将相当于增加该阶段的“创造力”。例如,AV系统积分器可能希望将如下的路线提供至控制器模块,该路线是基于生成然后评价N>2个不同的路线提议(例如,N=4)所选择的。以下说明实现该目标的冗余管道的各种示例。
图24示出系统2400,该系统通过使用N个冗余管道PLA、PLB、PLC、PLD和输出中介器A来实现生成和协同评价N个不同的路线提议的目标。这里,各冗余管道PLA,B,C,D包括被实现为相应的感知模块PA,B,C,D的第一阶段和被实现为相应的规划模块RA,B,C,D的第二阶段。在图24所示的示例中,各感知模块PA,B,C,D包括相应的解决方案提议器SPPA,B,C,D和相应的解决方案评分器SSPA,B,C,D。并且各规划模块RA,B,C,D包括相应的解决方案提议器SPRA,B,C,D和相应的解决方案评分器SSRA,B,C,D。注意,在相同的管道PLA,B,C,D内,感知模块PA,B,C,D的解决方案评分器SSPA,B,C,D通过相应的栈内连接CPR与规划模块RA,B,C,D的解决方案提议器SPRA,B,C,D进行通信。此外,注意,规划模块RA,B,C,D的解决方案评分器SSPA,B,C,D通过相应的端栈连接CRA与输出中介器A进行通信。此外,各感知模块Pj的解决方案提议器SPPj通过栈内栈间连接CP与其属于的感知模块Pj的解决方案评分器SSPj、以及与其余感知模块Pk的各个解决方案评分器SSPk≠j(其中j,k∈{A,B,C,D})进行通信。例如,解决方案提议器SPPA与相同管道PLA内的解决方案评分器SSPA进行通信,并且分别在冗余管道PLB、PLC和PLD上与各个解决方案得分器SSPB、SSPC和SSPD进行通信。此外,各规划模块Rj的解决方案提议器SPRj通过另一栈内栈间连接CR与其所属于的规划模块Rj的解决方案评分器SSRj、以及与其余规划模块Pk的各个解决方案评分器SSPk≠j(其中j,k∈{A,B,C,D})进行通信。例如,解决方案提议器SPRA与相同管道PLA内的解决方案评分器SSRA进行通信,并且分别在冗余管道PLB、PLC和PLD上与各个解决方案评分器SSRB、SSRC和SSRD进行通信,等等。注意,例如如上述的栈内栈间连接1315、1415、1515、1615、1625、1715、1725、1815、1915、2035等那样,栈内栈间连接CP、CR可被实现为相应的多路总线。
可以通过以下方式在系统2400的感知阶段实现协同冗余。各感知模块Pj的解决方案提议器SPPj基于来自与系统2400相关联的传感器的相应子集的可用传感器信号(图24中未示出)来生成相应的世界视图提议。各感知模块Pj的解决方案评分器SSPj通过栈内栈间连接CP从感知模块Pj的解决方案提议器SPPj以及从其余感知模块Pk的解决方案提议器SPPk≠j(其中j,k∈{A,B,C,D})接收相应的世界视图提议,并且通过使用与解决方案评分器SSPj相关联的感知成本函数来评价所有所接收到的提议。例如,感知模块PA的解决方案评分器SSPA使用第一感知成本函数来评价从解决方案提议器SPPA、SPPB、SPPC接收到的世界视图提议,而感知模块PB的解决方案评分器SSPB使用第二感知成本函数来评价从解决方案提议器SPPA、SPPB、SPPC、SPPD接收到的世界视图提议,等等。各感知模块Pj的解决方案评分器SSPj从所接收到的世界视图提议中选择与同解决方案评分器SSPj相关联的感知成本函数的最小值相对应的世界视图提议作为获胜世界视图。例如,感知模块PA的解决方案评分器SSPA对从解决方案提议器SPPA、SPPB、SPPC、SPPD接收到的世界视图提议应用第一感知成本函数,并且可以确定为与解决方案提议器SPPB所提议的世界视图相对应的第一感知成本函数值小于与解决方案提议器SPPA、SPPC、SPPD所提议的各个其余世界视图相对应的第一感知成本函数值。由于该原因,感知模块PA的解决方案评分器SSPA将感知模块PB的解决方案提议器SPPB所提议的世界视图通过管道PLA的栈内栈间连接CPR提供至规划模块RA的解决方案提议器SPRA。注意,该情形对应于“远程解决方案”胜过“本地解决方案”和其它远程解决方案的情况。同时,感知模块PB的解决方案评分器SSPB将第二感知成本函数应用于从解决方案提议器SPPA、SPPB、SPPC、SPPD接收到的世界视图提议,并且可以确定为与解决方案提议器SPPB所提议的世界视图相对应的第二感知成本函数值小于与解决方案提议器SPPA、SPPC、SPPD所提议的各个其余世界视图相对应的第二感知成本函数值。由于该原因,感知模块PB的解决方案评分器SSPB将感知模块PB的解决方案提议器SPPB所提议的世界视图通过管道PLB的栈内连接CPR提供至规划模块RB的解决方案提议器SPRB。注意,该情形对应于“本地解决方案”胜过多个“远程解决方案”的情况等。
可以通过以下方式在系统2400的规划阶段实现协同冗余。各规划模块Rj的解决方案提议器SPRj基于从感知模块Pj的解决方案评分器SSPj通过管道PLj的栈内连接CPR接收到的各个获胜世界视图,来生成各个路线提议。各规划模块Rj的解决方案评分器SSRj从规划模块Rj的解决方案提议器SPRj并且从其余规划模块Rk的解决方案提议器SPRk≠j(其中:j,k∈{A,B,C,D})通过栈内栈间连接CR接收各个路线提议,并且通过使用与解决方案评分器SSRj相关联的规划成本函数来评价所有接收到的提议。例如,规划模块RA的解决方案评分器SSRA使用第一规划成本函数来评价从解决方案提议器SPRA、SPRB、SPRC、SPRD接收到的路线提议,而规划模块RB的解决方案评分器SSRB使用第二规划成本函数来评价从解决方案提议器SPRA、SPRB、SPRC、SPRD接收到的路线提议,等等。各规划模块Rj的解决方案评分器SSRj从所接收到的路线提议中选择与同解决方案评分器SSRj相关联的规划成本函数的最小值相对应的路线提议作为获胜路线。例如,规划模块RA的解决方案评分器SSRA对从解决方案提议器SPRA、SPRB、SPRC、SPRD接收到的路线提议应用第一规划成本函数,并且可以确定为与解决方案提议器SPRB所提议的路线相对应的第一规划成本函数值小于与解决方案提议器SPRA、SPRC、SPRD所提议的各个其余路线相对应的第一规划成本函数值。因此,规划模块RA的解决方案评分器SSRA将通过与管道PLA相对应的端栈连接CRA向输出中介器A提供规划模块RB的解决方案提议器SPRB所提议的路线。同时,规划模块RB的解决方案评分器SSRB对从解决方案提议器SPRA、SPRB、SPRC、SPRD接收到的路线提议应用第二规划成本函数,并且可以确定为与解决方案提议器SPRB所提议的路线相对应的第二规划成本函数值小于与解决方案提议器SPRA、SPRC、SPRD所提议的各个其余路线相对应的第二规划成本函数值。由于该原因,规划模块RB的解决方案评分器SSRB将通过与管道PLB相对应的端栈连接CRA向输出中介器A提供规划模块RB的解决方案提议器SPRB所提议的路线,等等。
输出中介器A可以实现在下一部分中详细所述的一个或多个选择处理,以选择由管道PLA、PLB、PLC、PLD提供的路线其中之一。以这种方式,输出中介器可以向控制器模块提供或指示向控制器模块提供在冗余管道PLA、PLB、PLC、PLD内生成和评价的N=4个路线中的单个路线。
在一些情况下,实现多于两个的多阶段管道以在特定阶段提供期望数量的冗余解决方案提议可能过于昂贵。例如,AV系统积分器可能要求将冗余管道的数量保持为两个,同时希望将基于生成然后评价N>2个不同的路线提议(例如,N=4)所选择出的路线提供至控制器模块。以下说明实现该目标的冗余管道对的各种示例。
图25示出系统2500,该系统2500通过使用一对冗余管道PL1、PL2以及输出中介器A来实现生成和协同评价N个不同的路线提议的目标,使得N1个路线提议由第一管道PL1提供并且N2个路线提议由第二管道PL2提供,其中N1+N2=N。这里,各冗余管道PL1,2包括被实现为相应的感知模块P1,2的第一阶段和被实现为相应的规划模块R1,2的第二阶段。在图25所示的示例中,各感知模块P1,2包括相应的解决方案提议器SPP1,2和相应的解决方案评分器SSP1,2。并且各规划模块R1,2包括相应数量N1,2的解决方案提议器SPR(1,2)i以及相应的解决方案评分器SSR1,2,其中i∈{A,B,…}。在图25所示的示例中,N1=2并且N2=2。注意,在同一管道PL1,2内,感知模块P1,2的解决方案评分器SSP1,2通过管道PL1,2的栈内连接CPR与规划模块R1,2的所有N1,2个解决方案评分器SPR(1,2)i进行通信。此外注意,规划模块R1,2的解决方案评分器SSR1,2通过相应的端栈连接CRA与输出中介器A进行通信。此外,各感知模块P1,2的解决方案提议器SPP1,2通过栈内栈间连接CP与感知模块P1,2的解决方案评分器SSP1,2并且与另一感知模块P2,1的解决方案评分器SSP2,1进行通信。此外,各规划模块R1,2的各解决方案提议器SPR(1,2)i通过另一栈内栈间连接CR与规划模块R1,2的解决方案评分器SSR1,2和另一规划模块R2,1的解决方案评分器SSR2,1进行通信。
可以通过在系统2400的感知阶段实现协同冗余的方式来在系统2500的感知阶段实现协同冗余,除了在这里N=2。可以通过以下方式在系统2500的规划阶段实现协同冗余。规划模块R1的N1个解决方案提议SPR1i各自均基于从感知模块P1的解决方案评分器SSP1通过管道PL1的栈内连接CPR接收到的第一世界视图来生成相应的路线提议,并且规划模块R2的N2个解决方案提议SPR2i各自基于从感知模块P2的解决方案评分器SSP2通过管道PL2的栈内连接CPR所接收到的第二世界视图来生成相应的路线提议。规划模块R1,2的解决方案评分器SSR1,2通过栈内栈间连接CR从规划模块R1,2的N1,2个解决方案提议器SPR(1,2)i并且从另一规划模块R2,1的N2,1个解决方案提议器SPR(2,1)i接收各自的路线提议,并且使用与解决方案评分器SSR1,2相关联的规划成本函数来评价所有N=N1+N2个接收到的提议。例如,规划模块R1的解决方案评分器SSR1使用第一规划成本函数来评价从第一管道PL1的解决方案提议器SPR1A、SPR1B和从第二管道PL2的解决方案提议器SPR2A、SPR2B接收到的路线提议,而规划模块R2的解决方案评分器SSR2使用第二规划成本函数来评价从第二管道PL2的解决方案提议器SPR2A、SPR2B和从第一管道PL1的解决方案提议器SPR1A、SPR1B接收到的路线提议。各规划模块Rj的解决方案评分器SSRj从所接收到的路线提议中选择与同解决方案评分器SSRj相关联的规划成本函数的最小值相对应的路线提议作为获胜路线。例如,规划模块R1的解决方案评分器SSR1将第一规划成本函数应用于从解决方案提议器SPR1A、SPR1B、SPR2A、SPR2B接收到的路线提议,并且可以确定为与解决方案提议器SPR1B所提议的路线相对应的第一规划成本函数值小于与解决方案提议器SPR1A、SPR2A、SPR2B所提议的各个其余路线相对应的第一规划成本函数值。由于该原因,规划模块R1的解决方案评分器SSR1将通过与管道PL1相对应的端栈连接CRA向输出中介器A提供规划模块R1的解决方案提议器SPR1B所提议的路线。注意,该情形与“本地解决方案”胜过其它本地解决方案且胜过多个“远程解决方案”的情况相对应。同时,规划模块R2的解决方案评分器SSR2将第二规划成本函数应用于从解决方案提议器SPR1A、SPR1B、SPR2A、SPR2B接收到的路线提议,并且可以确定为与解决方案提议器SPR1B所提议的路线相对应的第二规划成本函数值小于与解决方案提议器SPR1A、SPR2A、SPR2B所提议的各个其余路线相对应的第二规划成本函数值。由于该原因,规划模块R2的解决方案评分器SSR2将通过与管道PL2相对应的端栈连接CRA向输出中介器A提供规划模块R1的解决方案提议器SPR1B所提议的路线。注意,该情形与“远程解决方案”胜过多个“本地解决方案”和其它远程解决方案的情况相对应。
对于图25所示的示例,输出中介器A可以实现在下一部分中详细所述的一个或多个选择处理,以选择由一对冗余管道PL1、PL2提供的路线其中之一。以这种方式,输出中介器A可以将由冗余管道PL1、PL2生成并且在冗余管道PL1、PL2内评价的N=4个路线中的单个路线提供至控制器模块。
注意,在系统2500的一些实现中,解决方案评分器SSR1,2可以使用其本地成本函数来进行比较,并且从由N1,2个本地解决方案提议器SPR(1,2)i本地提议的解决方案中选择优选解决方案。随后或同时,解决方案评分器SSR1,2可以使用其本地成本函数来进行比较,并且从由N2,1个远程解决方案提议器SPR(2,1)i远程提议的解决方案中选择优选解决方案。注意,为了进行后者比较,解决方案评分器SSR1,2首先转换和/或标准化所接收到的远程提议解决方案,因此解决方案评分器SSR1,2可以将其本地成本函数应用于这些远程提议解决方案。接着,解决方案评分器SSR1,2在优选本地提议解决方案和优选远程提议解决方案之间选择具有基于本地成本函数所评价的成本值中的较小值的解决方案。通过以这种方式进行选择,解决方案评分器SSR1,2比较这些解决方案中的经过了转换/标准化操作的N2,1个提议远程解决方案的得分,然后仅将这些得分中的最佳得分与无需经过转换/标准化操作的N1,2个提议本机解决方案中的最佳解决方案进行比较。因而,可以将转换/标准化后的提议远程解决方案和提议本地解决方案之间的直接比较的数量减少为1次。
在系统2500的一些实现中,解决方案评分器SSR1,2将由N1,2个本地解决方案评分器SPR(1,2)i本地提议的两个或更多个解决方案与由N2,1个远程解决方案提议器SPR(2,1)i远程提议的两个或更多个解决方案在无需首先按出处对这些解决方案进行分组的情况下按接收到这些解决方案的顺序进行比较。当然,解决方案评分器SSR1,2在其可以将本地成本函数应用于各个远程提议解决方案之前,首先对各个远程提议解决方案进行转换/标准化。这里,解决方案评分器SSR1,2在(i)所接收到的提议解决方案和(ii)当前优选的提议解决方案(后者是从提议解决方案之前的先前比较得到的)之间选择新的优先提议解决方案作为具有基于本地成本函数所评价的成本值中的较小值的解决方案。通过以这种方式进行选择,解决方案评分器SSR1,2可以立即进行最新接收到的提议解决方案的比较,而不必如在前述实现中所述等待相同出处的另一解决方案。
在任意上述实现中,通过向规划模块R1,2(或者通常为AV操作子系统)的解决方案评分器SSR1,2提供多于一个的本体提议解决方案的访问,解决方案评分器SSR1,2可以在对整个系统2500不会大大降低制作解决方案的速度的情况下避免非最优的解决方案。
在上述任何比较中,无论是在两个本地提议解决方案、两个远程提议解决方案、还是本地提议解决方案和远程提议解决方案之间,如果差异超过阈值(例如,10%、5%、1%、0.5%或0.1%的差异),则解决方案评分器SSR1,2选择优选解决方案作为具有基于本地成本函数所评价的成本中的较小成本的提议解决方案。然而,如果两个提议解决方案的成本的差异不超过阈值差异,则解决方案评分器SSR1,2被配置为基于有利于与针对AV的操作所选择的一个或多个先前解决方案的连续性的附加成本评估来在提议解决方案之间进行比较和选择。例如,如果针对新的提议解决方案所返回的本地成本函数值比针对“正常优选”提议解决方案所返回的本地成本函数值低了小于阈值,则仅在新的提议解决方案与正常优选的提议解决方案相差了比预定距离小的距离的情况下,才将选择新的提议解决方案作为新的优选提议解决方案。这避免了在从当前操作切换到与获胜解决方案相对应的操作时的AV操作中的加加速度(不平稳性)。在一些实现中,解决方案评分器SSR1,2可以保持跟踪记录一个提议解决方案何时优于另一提议解决方案,并且在AV队列周围共享该信息以跟踪另一解决方案何时可能更好。
在一些情况下,例如,对于系统1600、2400,如上所述针对多个冗余管道中的各管道生成仅一个本机解决方案并且实现协同冗余,这可能就足够了。然而,可以通过针对特定阶段的各管道使用多个解决方案评分器以对在特定阶段生成的单个本机解决方案和单个远程解决方案进行评分来实现更丰富的协同冗余。例如,如以下所述,对于一对冗余管道,在特定阶段具有N1个解决方案评分器的管道中的第一个管道可以以N1个方式评价本机解决方案和远程解决方案各自,并且在特定阶段具有N2个解决方案评分器的管道中的第二个管道可以以N2个方式评价本机解决方案和远程解决方案各自。
图26示出系统2600,该系统2600通过使用一对冗余管道PL1、PL2以及输出中介器A来生成两个不同的路线提议并且以N>2个方式协同地评价这些路线提议,使得通过第一管道PL1生成第一路线提议并且通过第二管道PL2生成第二路线提议,其中第一路线提议和第二路线提议由第一管道PL1以N1个方式且由第二管道PL2以N2个方式评价。这里,各个冗余管道PL1,2包括被实现为相应的感知模块P1,2的第一阶段和被实现为相应的规划模块R1,2的第二阶段。在图26所示的示例中,各感知模块P1,2包括相应的解决方案提议器SPP1,2和相应的解决方案评分器SSP1,2。并且各规划模块R1,2包括相应的解决方案提议器SPR1,2、相应数量N1,2个解决方案评分器SSR(1,2)i和相应的规划仲裁器AR1,2,其中i∈{A,B,…}。在图26所示的示例中,N1=2并且N2=2。注意,在同一管道PL1,2内,感知模块P1,2的解决方案评分器SSP1,2通过管道PL1,2的栈内连接CPR与规划模块R1,2的解决方案提议器SPR1,2进行通信。在规划模块R1,2内,所有的N1,2个解决方案评分器SSR(1,2)i通过模块内连接CRR与规划仲裁器AR1,2进行通信。此外注意,规划模块R1,2的规划仲裁器AR1,2通过相应的端栈连接CRA与输出中介器A进行通信。此外,各感知模块P1,2的解决方案提议器SPP1,2通过栈内栈间连接CP与感知模块P1,2的解决方案评分器SSP1,2并且与其它感知模块P2,1的解决方案评分器SSP2,1进行通信。另外,各规划模块R1,2的解决方案提议器SPR1,2通过另一栈内栈间连接CR与规划模块R1,2的各解决方案评分器SSR(1,2)i并且与另一规划模块R2,1的各解决方案评分器SSR(2,1)i进行通信。
除了在这里N=2以外,可以通过在系统2400的感知阶段实现协同冗余的方式在系统2600的感知阶段实现协同冗余。可以通过以下方式在系统2600的规划阶段实现协同冗余。规划模块R1的解决方案提议器SPR1基于从感知模块P1的解决方案评分器SSP1通过管道PL1的栈内连接CPR接收到的第一世界视图来生成第一路线提议,并且规划模块R2的解决方案提议器SPR2基于从感知模块P2的解决方案评分器SSP2通过管道PL2的栈内连接CPR接收到的第二世界视图来生成第二路线提议。
规划模块R1,2的N1,2个解决方案评分器SSR(1,2)i各自通过栈内栈间连接CR从规划模块R1的解决方案提议器SPR1接收第一路线提议并从规划模块R2的解决方案提议器SPR2接收第二路线提议,并且通过使用与解决方案评分器SSR(1,2)i相关联的规划成本函数来评价第一路线提议和第二路线提议这两者。例如,解决方案评分器SSR1A使用第一规划成本函数来评价第一路线提议和第二路线提议,并且解决方案评分器SSR1B使用第二规划成本函数来评价第一路线提议和第二路线提议。这里,第一规划成本函数和第二规划成本函数可以沿着不同的轴(例如,安全性、舒适性等)评价第一路线提议和第二路线提议各自。此外,解决方案评分器SSR2A使用第三规划成本函数来评价第一路线提议和第二路线提议,并且解决方案评分器SSR2B使用第四规划成本函数来评价第一路线提议和第二路线提议。各解决方案评分器SSR(1,2)i选择第一路线提议和第二路线提议中的与同解决方案评分器SSR(1,2)i相关联的规划成本函数的最小值相对应的路线提议作为获胜路线。这里,第三规划成本函数和第四规划成本函数可以沿着同一轴但利用不同的模型、先验等来评价第一路线提议和第二路线提议各自。
例如,解决方案评分器SSR1A将第一规划成本函数应用于第一和第二路线提议,并且可以确定为与由解决方案提议器SPR1提议的第一路线相对应的第一规划成本函数值小于与由解决方案提议器SPR2提议的第二路线相对应的第一规划成本函数值。由于该原因,规划模块R1的解决方案评分器SSR1A将第一路线通过规划模块R1的模块内连接CRR提供至规划仲裁器AR1。同时,解决方案评分器SSR1B将第二规划成本函数应用于第一和第二路线提议,并且确定为与由解决方案提议器SPR1提议的第一路线相对应的第二规划成本函数值小于与由解决方案提议器SPR2提议的第二路线相对应的第二规划成本函数值。由于该原因,规划模块R1的解决方案评分器SSR1B将第一路线通过规划模块R1的模块内连接CRR提供至规划仲裁器AR1。规划仲裁器AR1可以实现例如如在下一部分中详细所述的选择处理那样的一个或多个选择处理,以选择由规划模块R1的冗余解决方案评分器SSR1A、SSR1B提供的路线其中之一。在上述示例情形中,解决方案评分器SSR1A、SSR1B提供了相同的路线,因此规划仲裁器AR1简单地通过与管道PL1相对应的端栈连接CRA将第一路线中继到输出中介器A。尽管这些操作在管道PL1处进行,但解决方案评分器SSR2A将第三规划成本函数应用于第一和第二路线提议,并且可以确定为与由解决方案提议器SPR2提议的第二路线相对应的第三规划成本函数值小于与由解决方案提议器SPR1提议的第一路线相对应的第三规划成本函数值。由于该原因,规划模块R2的解决方案评分器SSR2A将第二路线通过规划模块R2的模块内连接CRR提供至规划仲裁器AR2。同时,解决方案评分器SSR2B将第四规划成本函数应用于第一和第二路线提议,并且可以确定为与由解决方案提议器SPR1提议的第一路线相对应的第四规划成本函数值小于与由解决方案提议器SPR2提议的第二路线相对应的第四规划成本函数值。由于该原因,规划模块R2的解决方案评分器SSR2B将第一路线通过规划模块R2的模块内连接CRR提供至规划仲裁器AR2。规划仲裁器AR2可以实现例如如在下一部分中详细所述的选择处理那样的一个或多个选择处理,以选择由规划模块R2的冗余解决方案评分器SSR2A、SSR2B提供的路线其中之一。在上述情形中,解决方案评分器SSR2A、SSR2B提供了不同的路线,因此规划仲裁器AR2必须首先应用自身的选择处理,然后通过与管道PL2相对应的端栈连接CRA将在第一路线和第二路线之间所选择的路线中继到输出中介器A。
对于图26所示的示例,输出中介器可以实现在下一部分中详细所述的一个或多个选择处理,以选择由一对冗余管道PL1、PL2提供的路线其中之一。以这种方式,输出中介器A可以将在冗余管道PL1、PL2内生成并在冗余管道PL1、PL2内以N>2个方式评价的第一路线和第二路线之间的单个路线提供至控制器模块。
由于以下原因,在如上所述可用于操作AV的系统的示例中实现的协同冗余与即插即用架构相对应。如上所述,上述的各个AV操作子系统包括作为例如表示为X14的纯评分器或者例如以上表示为X12的纯提议器的组件,其中X∈{F,G,H,I,J,K}。这与具有集成在一起的解决方案提议器和解决方案评分器的AV操作子系统、或者具有一起集成在管道内的两个不同AV操作子系统的管道形成对比。将作为纯评分器或纯提议器的组件用于各AV操作子系统的方面允许使用OEM组件、即由第三方设计和/或制造的AV操作子系统(也称为模块)。例如,AV系统集成器无需完全理解第三方模块的“引擎罩内”配置,只要第三方模块被放置在通过所公开的协同冗余与包括相应阶段的可信模块的一个或多个其它管道集成的测试管道中即可。以这种方式,可以测试各种情形,并且如果第三方模块贡献了在交叉评价期间以符合目标选择频率的选择频率被选择的提议,则第三方模块可被视为有用的和/或可靠的。然而,如果在所公开的交叉评价期间不符合对第三方模块贡献的提议的选择频率,则可以将第三方模块从测试管道中移除。
在设置更细粒度的级别,提议器(X12)可以由任何第三方设计和制造,只要第三方提议器的联合覆盖使用实例即可。在规划阶段,可以集成在如上述AV操作系统那样的协同冗余AV操作系统中的这样的提议器的示例包括用于规划定型计划(例如,现在停车、跟随车道、跟随前方运载工具等)的第三方提议器。例如,其它示例包括用于规划任何临时探索性步骤以解决极端情况的第三方提议器。当检测到某提议器的提议没有足够频繁地被一个或多个评分器选择时,可以将第三方提议器从AV操作子系统(从第三方提议器进行通信的同一AV操作子系统或在其它冗余管道的相同阶段布置的AV操作子系统)中移除。可以基于一个或多个当前使用的提议器的性能来建立第三方提议器必须满足的目标选择频率。以这种方式,在所公开的系统中实现的交叉评价允许AV系统在移除差的提议器时恢复由“差的”提议器使用的计算资源。
各自正实现协同冗余的可用于操作AV的系统1300、1600、2000、2400、2500和2600的示例可以潜在地提供进一步的优势。在多个计算路径(例如,管道)上生成解决方案提议(例如,候选)以及/或者还在多个计算路径上对所生成的解决方案提议进行评分确保了保持各评估的独立性。这是因为,只有在这样的备选解决方案基于该AV操作子系统内部的成本函数而被视为优于自身的解决方案提议的情况下,各AV操作子系统才采用另一AV操作子系统的解决方案提议。这种丰富的解决方案潜在地使得各路径的整体性能和可靠性提高。通过在多个阶段进行解决方案提议的跨栈评价,可以在过程中尽早(在早期阶段)就最佳候选达成共识(这些最佳候选然后被提议至输出中介器)。这反过来减轻了输出中介器的选择负担。
接着说明输出中介器1340、1640、A为了选择由两个或更多个冗余管道提供的各个输出中的一个输出所使用的各种选择过程。
情境选择性模块
参见图13(或16、20、24、25、26),可用于操作自主运载工具(AV)的系统1300(或1600、2000、2400、2500、2600)包括两个或更多个不同的AV操作子系统1310a、1310b(或1620a、1620b、R1、R2、...)以及输出中介器1340(或1640、A),这两个或更多个不同的AV操作子系统各自1310a,b(或1620a、b、R1,2)与这两个或更多个不同的AV操作子系统中的另一个1310b,a(或1620b,a、R2,1)是冗余的,该输出中介器1340(或1640、A)与两个或更多个不同的AV操作子系统1310a、1310b(或1620a、1620b、R1、R2、…)耦接,并且被配置为管理来自两个或更多个不同的AV操作子系统1310a、1310b(或1620a、1620b、R1、R2、…)的AV操作输出。注意,在系统1600、2000的情况下,与输出中介器1640耦接的两个或更多个不同的AV操作子系统1620a、1620b(或者与输出中介器A耦接的AV操作子系统R1、R2、…)对应于冗余管道1602a、1602b(或PL1、PL2、...)的最后阶段。
在先前部分所述的各个示例中,输出中介器1340(或1640或A)被配置为基于当前输入数据与用于两个或更多个不同的AV操作子系统1310a、1310b(或1620a、1620b、或R1、R2、…)的历史性能数据进行比较,来选择性地将两个或更多个不同的AV操作子系统1310a、1310b(或1620a、1620b或R1、R2、…)中的单个操作子系统提升为优先状况。例如,一个冗余子系统可被设计用于处理高速公路驾驶,并且另一冗余子系统可被设计用于城市驾驶;可以基于驾驶环境来优先任意的冗余子系统。一旦提升为优先状况,AV操作模块1310a,b(或1620a,b或R1,2)的输出优于其余AV操作子系统1310b,a(或1620b,a或R2,1)的输出。以这种方式,输出中介器1340(或1640)作为实际上的AV操作仲裁器操作,该AV操作仲裁器选择从AV操作子系统1310a,b(或1620a,b或A)接收到的一个AV操作输出、而不是从其余AV操作子系统1310b,a(或1620b,a、R2,1)接收到的所有其它输出。
图27是由与N个不同的AV操作子系统耦接的输出中介器用于管理来自N个不同的AV操作子系统的表示为OP1、OP2、…、OPN的AV操作输入的处理2700的示例的流程图,其中N≥2。处理2700可以由相应示例系统1300、1600、2000、2500或2600的输出中介器1340、1640或A(其中N=2)、或者由系统2400(其中N=4)进行。
在2710处,输出中介器将优先状况指定到N个不同的AV操作子系统中的一个AV操作子系统,并且将非优先状况指定到这N个不同的AV操作子系统中的其余AV操作子系统。该操作是在处理100的开始时(例如,在输出中介器的电源接通(ON)、输出中介器被重置、或者输出中介器被升级软件修补等时)进行的,以将初始状况指派至输出中介器进行通信的N个不同的AV操作子系统各自。在图28所示的示例中,输出中介器1340(或1640、A)可以访问N个不同的AV操作子系统1310a、1310b、…、图110N(或1620a、1620b、…、1620N或R1、R2、...)的AV操作子系统标识符(ID)的阵列28-05。一旦输出中介器1340将优先状况指定至N个不同的AV操作子系统1310a、1310b、…、1310N其中之一(例如,指定至1310b),输出中介器1340就使用优先级指针指向具有优先状况28-15的AV操作子系统的ID,因而记录以下事实:在该示例中,具有优先状况的是1310b,而不是来自其余AV操作子系统1310a、…、1310N的另一AV操作子系统。
再次参考图27,在2720处,输出中介器分别从N个不同的AV操作子系统接收N个输出,即输出中介器接收第一AV操作子系统的输出OP1、…、以及第N AV子操作系统的输出OPN。在包括两个冗余感知模块1410a、1410b的示例系统1400中,输出中介器1440接收两个版本的世界视图1416a、1416b。在包括两个冗余规划模块1510a、1510b(或1720a、1720b)的示例系统1500(或1700)中,输出中介器1540(或1740)接收两个版本的路线1414a、1414b(或1714a、1714b)。在包括两个冗余规划模块R1、R2的示例系统2500或2600各自中,输出中介器A也接收两个版本的路线。然而,在包括四个冗余规划模块R1、R2、R3、R4的示例系统2400中,输出中介器A接收四个版本的路线。此外,在包括两个冗余控制模块1810a、1810b的示例系统1800、1900或2100各自中,输出中介器1840接收用于控制转向致动器420a、油门致动器420b和/或制动致动器420c的两个版本的控制信号。
在2725处,输出中介器(例如,1340或1640)确定第一AV操作子系统、...、以及第NAV操作子系统各自是否提供了相同的输出OP。等效地,输出中介器在2725处确定第一AV操作子系统的输出OP1、...、以及第N AV操作子系统的输出OPN是否彼此相等。
注意,由于在先前部分中所述的系统(例如,1300、1600、2000、2400、2500、2600)实现了协同冗余,因此布置在冗余管道的相同阶段的N个AV操作子系统被配置为评价彼此的提议解决方案。由于该原因,由N个AV操作子系统其中之一提出的具体解决方案将由所有N个AV操作子系统独立地采用并从这N个AV操作子系统输出。在这种情况下,当输出中介器从所有的N个AV操作子系统都接收到相同的输出OP时,输出中介器将跳过一组操作2730至2760,因而节省了本该用于进行所跳过的操作的计算资源。
在图28所示的示例中,输出中介器1340(或1640、A)使用输出比较器2825来比较所接收到的AV操作子系统输出2822。
在一些实现中,输出比较器2825将通过比较所接收到的AV操作子系统输出2822各自的出处指标来比较这些AV操作子系统输出2822。这里,解决方案提议器1312a,b、1622a,b、SPRA,B,C,D用指示其所属于的AV操作子系统的ID的解决方案标识符来标记相应的解决方案提议。例如,由解决方案提议1312a提议的解决方案将用指定该解决方案源自于AV操作子系统1310a的出处指标来标记,而由解决方案提议1312b提议的备选解决方案将用指定该解决方案源自于冗余AV操作子系统1310b的出处指标来标记。以这种方式,由输出中介器接收到的第一AV操作子系统的输出OP1、…、以及第N AV操作子系统的输出OPN将携带标识该输出源自于的AV操作子系统的相应出处指标。因而,在这些实现中,输出中介器的输出比较器2825将简单地检查所接收到的AV操作子系统输出2822的各个出处指标,以确定这些出处指标是相同还是这些出处指标中的至少一个出处指标不同于另一出处指标。例如,如果输出中介器A确定为从冗余规划模块接收到的四个路线RA、RB、RC、RD各自携带相同的出处指标、例如标识规划模块RB,则输出中介器A将四个路线视为同一路线(这里为源自于规划模块RB且由所有四个规划模块RA、RB、RC、RD采用的路线)。作为另一示例,如果输出中介器A确定为从冗余规划模块RA、RB、RC、RD接收到的四个路线至少之一携带与其它出处指标不同的出处指标,则输出中介器A将该路线视为不同于其它三个路线。
在一些实现中,输出比较器2825将通过评价所接收到的AV操作子系统输出2822之间的相对距离来比较这些输出。如果第i AV操作子系统的输出OPi和第j AV操作子系统的输出OPj之间的距离大于阈值距离,则这些输出被视为不同,即OPi≠OPj,其中i≠j且i,j=1…N。否则,如果第i AV操作子系统的输出OPi和第j AV操作子系统的输出OPj之间的距离小于或等于阈值距离,则这些输出被视为相同或相等,OPi=OPj。在示例系统1400中,输出中介器1440从两个冗余感知模块1410a、1410b接收两个世界视图1416a、1416b。这里,如果世界视图1416a、1416b之间的距离小于或者等于阈值世界视图距离,则输出中介器1440将这些世界视图视为相同,或者如果这些世界视图之间的距离大于阈值世界视图距离,则输出中介器1440将这些世界视图视为不同。在示例系统1500中,输出中介器1540从两个冗余规划模块1510a、1510b接收两个路线1514a、1514b。这里,如果两个路线1514a、1514b之间的距离小于或等于阈值路线距离,则输出中介器1540将这两个路线视为相同,或者如果这些路线之间的距离大于阈值路线距离,则输出中介器1540将这两个路线视为不同。
如果在2725处为Y(是)时、输出中介器确定为第一AV操作子系统的输出OP1、...、以及第N AV操作子系统的输出OPN彼此相等,则在2770处,输出中介器控制具有优先状况的AV操作子系统的输出的发出。以下详细说明输出中介器控制具有优先状况的AV操作子系统的输出的发出的各种方式。
然而,如果在2725处为N(否)时、输出中介器确定为第一AV操作子系统的输出OP1、...、以及第N AV操作子系统的输出OPN至少之一不同于其余的输出,则在2730处,输出中介器访问当前输入数据。图28示出输出中介器1340(或1640)可以访问当前输入数据L231。图29示出当前输入数据28-31包括:例如由数据库模块410或远程地理位置系统存储的地图数据28-32;例如由定位模块408提供的位置数据28-38;例如由感知模块402提供的交通数据28-36;由本地传感器121或远程天气监测/预报系统提供的天气数据28-34;由本地或远程时钟提供的当日时间数据28-35;以及由AV的速度计提供的速率数据28-33。
在2740处,输出中介器基于当前输入数据来确定当前操作情境。例如,输出中介器可以使用输入数据向操作情境的映射,以(i)识别该映射中的输入数据中的包含当前输入数据的一部分、并且(ii)将当前操作情境确定为映射到所识别的输入数据部分的操作情境。例如,输入数据向操作情境的映射可被实现为查找表(LUT)。
现在参考图28和29这两者,输出中介器1340(或1640、A)为此目的所使用的LUT被实现为输入数据/情境查找表(LUT)2842。输入数据/情境LUT2842包括M个预定义的操作情境以及输入数据类型和范围的两个或更多个分组,这些分组被映射到M个预定义的操作情境,其中M≥2。例如,将包括与高速公路相对应的位置数据2838和地图数据2832以及在45-75mph的范围内的速率数据2833的分组映射到被称为“高速公路驾驶”的操作情境。作为另一示例,将包括与地面街道相对应的位置数据2838和地图数据2832以及在5-45mph的范围内的速率数据2833的分组映射到被称为“地面街道驾驶”的操作情境。作为又一示例,将包括与中低交通量相对应的交通数据2838和在19:00h至06:00h的范围内的当日时间数据2835的分组映射到被称为“夜间驾驶”的操作情境。作为又一示例,将包括与中高交通量相对应的交通数据2838和在06:00h到19:00h的范围内的当日时间数据2835的分组映射到被称为“日间驾驶”的操作情境。作为又一示例,将包括与雨、雨夹雪或雪相对应的天气数据2834和在5-30mph的范围内的速率数据2833映射到被称为“恶劣天气驾驶”的操作情境。作为又一示例,将包括与无降水相对应的天气数据2834和在30-75mph的范围内的速率数据2833映射到被称为“晴朗天气驾驶”的操作情境。可以在输入数据/情境LUT 2842中定义许多其它预定义的操作情境。
输出中介器1340(或1640、A)识别输入数据/情境LUT 2842中所包括的输入数据类型和范围的分组中的哪个分组包含当前输入数据2831。例如,如果当前输入数据2831包括表明AV当前位于405SANTA MONICA FREEWAY上并且AV速率为55mph的位置数据2838和地图数据2832,则输出中介器1340(或1640)将输入数据/情境LUT 2842的包含当前输入数据2831的输入数据类型和范围的分组识别为包括与高速公路相对应的位置数据2838和地图数据2831以及在45-75mph的范围内的速率数据2833的分组。通过识别输入数据/情境LUT2842的包含当前输入数据2831的分组,输出中介器1340(或1640、A)将AV的当前操作情境2845确定为映射到所识别的分组的操作情境。在上述示例中,通过识别包括与高速公路相对应的位置数据2838和地图数据2832以及在45-75mph的范围内的速率数据2833的分组,输出中介器1340(或1640、A)确定为AV的当前操作情境2845是“高速公路驾驶”。一旦输出中介器1340(或1640、A)以这种方式确定了当前操作情境2845,输出中介器1340(或1640、A)就可以使用指向当前操作情境2845的标识符的情境指针,以记录以下事实:在该示例中,当前操作情境是“高速公路驾驶”,而不是来自在输入数据/情境LUT 2842中参考的其余操作情境的另一操作情境。
在2750处,输出中介器识别与当前操作情境相对应的AV操作子系统。例如,输出中介器可以使用操作情境向AV操作子系统的ID的映射,以(i)选择该映射的与当前操作情境匹配的操作情境、并且(ii)将与当前操作情境相对应的AV操作子系统识别为具有映射到所选择的操作情境的ID的AV操作子系统。将操作情境映射到AV操作子系统的ID表示N个不同的AV操作子系统的历史性能数据。
在一些实现中,输出中介器使用机器学习来确定特定操作情境向AV操作子系统的ID的映射。例如,机器学习算法在AV操作子系统的历史数据上操作,以确定AV的一个或多个特定操作情境,其中在该一个或多个特定操作情境中,AV的N个不同的AV操作子系统中的每一个AV操作子系统与这N个不同的AV操作子系统的其余AV操作子系统相比以不同的方式(更好地或更差地)表现。在一些实现中,历史数据包括在当前行程中收集的数据,并且操作情境向AV操作子系统的ID的映射的确定是实时运行的。在一些实现中,历史数据包括在以前的行程上收集的数据,并且操作情境向AV操作子系统的ID的映射的确定是在当前行程之前例如在夜间运行的。
在一些实现中,仅在针对AV操作子系统确定了实质性改进之后,机器学习算法才将AV操作子系统映射到特定操作情境。例如,仅当历史性能数据在特定操作情境方面表现出明显更好的性能时,AV操作子系统才被映射到特定操作情境。作为示例,如果特定AV操作子系统与针对特定操作情境优选的AV操作子系统相比在100次中有52次更好的性能,则该特定AV操作子系统将不会被提升到针对该特定操作情境的优选状况。例如,性能改进必须高出20%以实现要实现的优选状况的改变。如此,如果特定AV操作子系统与针对特定操作情境优选的AV操作子系统相比在100次中有61次更好的性能,则该特定AV操作子系统将被提升到针对该特定操作情境的优选状况。性能改进是从以下方面测量的:由特定AV操作子系统提供的解决方案的成本与由先前优选的AV操作子系统提供的解决方案的成本相比低了预定增量;以及由特定AV操作子系统提供的解决方案和由先前优选的AV提供的解决方案之间的距离小于预定差异。
确定将操作情境映射到AV操作子系统ID的结果是跨AV队列共享的。例如,机器学习算法在与将N个不同的AV操作子系统用在AV队列中的不同AV中有关的历史性能数据上操作。通过机器学习算法以这种方式获得的结果可以直接地(例如,通过与在彼此附近的AV的对等通信、或者通过用于协调多个AV的操作的中央控制系统(例如,如以上与图2有关地所述的中央控制系统那样))与队列中的其它AV共享。通过跨AV队列共享N个不同的AV操作子系统的确定结果,可以用横跨使用相同子系统的AV队列的数据的分析来改进个体AV性能。
例如,操作情境向AV操作子系统的ID的映射可被实现为另一LUT。再次参考图28,输出中介器1340(或1640、A)为此目的所使用的另一LUT被实现为情境/子系统LUT 2852。情境/子系统LUT 2852包括N个AV操作子系统ID和M个预定义的操作情境,这N个ID被映射到M个操作情境,其中M,N≥2。注意,在图28所示的该示例情境/子系统LUT 2852中,AV操作子系统ID被映射到M个操作情境中的一个或多个,而操作情境具有映射到自身的单个AV操作子系统ID。例如,AV操作子系统1310a的ID被映射到第一操作情境(例如,“高速公路驾驶”),而AV操作子系统1310N的ID被映射到第j操作情境(例如,“夜间驾驶”)。作为另一示例,AV操作子系统1310b的ID被映射到第二操作情境(例如,“地面街道驾驶”),并且被映射到第M操作情境(例如,“恶劣天气驾驶”)。参考图24,规划模块RA的ID可被映射到操作情境“高速公路、晴朗天气驾驶”,规划模块RB的ID可被映射到另一操作情境“高速公路、恶劣天气驾驶”,规划模块RC的ID可被映射到又一操作情境“地面街道、晴朗天气驾驶”,并且规划模块RD的ID可被映射到又一操作情境“地面街道、恶劣天气驾驶”。在该示例中,例如,规划模块RD的ID可同时被映射到操作情境“拥挤交通驾驶”。
输出中介器1340(或1640)选择情境/子系统LUT 2852中所包括的与当前操作情境2845匹配的操作情境。例如,如果当前操作情境2845是“地面街道驾驶”,则输出中介器1340(或1640、A)从情境/子系统LUT 2852中所包括的操作情境中选择标记为“地面街道驾驶”的第二操作情境。通过选择情境/子系统LUT 2852中所包括的与当前操作情境2845匹配的操作情境,输出中介器1340(或1640、A)将AV操作子系统2855的ID识别为映射到所选择的操作情境的AV操作子系统的ID,并由此将所映射的AV操作子系统2855识别为对应于当前操作情境2845。在上述示例中,通过选择情境/子系统LUT 2852中所包括的第二操作情境,输出中介器1340(或1640、A)从AV操作子系统1310a、1310b、...、1310N的ID中识别AV操作子系统1310b的ID,并由此将AV操作子系统1310b识别为对应于“地面街道驾驶”。一旦输出中介器1340(或1640、A)以这种方式识别出AV操作子系统2855,输出中介器1340(或1640、A)就可以使用指向AV操作子系统2855的标识符的子系统指针来记录以下事实:在该示例中,所识别出的AV操作子系统是1310b、而不是来自在情境/子系统LUT 2852中参考的其余AV操作子系统1310a、…、1310N的另一操作子系统。
在2755处,输出中介器核实所识别出的AV操作子系统是否是具有优先状况的AV操作子系统。在图28所示的示例中,输出中介器1340(或1640、A)可以确定为来自与当前操作情境2845相对应的情境/子系统LUT 2852的AV操作子系统2855的ID与具有优先状况2815的AV操作子系统的ID相同,并由此核实了所识别出的AV操作子系统2855具有优先状况。或者,输出中介器1340(或1640)可以确定为来自与当前操作情境2845相对应的情境/子系统LUT2852的AV操作子系统2855的ID不同于具有优先状况2815的AV操作子系统的ID,并由此核实了所识别出的AV操作子系统具有非优先状况。
如果在2755中为Y(是)时、输出中介器确定为所识别出的AV操作子系统是具有优先状况的AV操作子系统,则在2770处,输出中介器控制具有优先状况的AV操作子系统的输出的发出。以下详细说明输出中介器控制具有优先状况的AV操作子系统的输出的发出的各种方式。
然而,如果在2755中为N(否)时、输出中介器确定为所识别出的AV操作子系统不同于具有优先状况的AV操作子系统,则在2760处,输出中介器将具有优先状况的AV操作子系统降级为非优先状况,并将所识别出的AV操作子系统提升为优先状况。在图28所示的示例中,输出中介器1340(或1640、A)将优先级指针从指向在2755中的“否”处降级之前具有优先状况的AV操作子系统2815的ID重定向为指向从2755中的“否”处被提升起具有优先状况的AV操作子系统2855的ID。
以这种方式,在一些实现中,输出中介器(例如,1340或1640、A)基于AV当前所在的街道的类型来提升AV操作子系统。例如,输出中介器被配置为基于以下两个因素来选择性地将从N个不同AV操作子系统中识别的AV操作子系统2855提升为优先状况。第一个因素是:当前输入数据2831(基于输入数据/情境LUT 2842)指示当前操作情境2845是城市街道或高速公路驾驶状况。第二个因素是:以情境/子系统LUT 2852的形式表示的历史性能数据表明所识别出的AV操作子系统2855与N个不同的AV操作子系统中的其余操作子系统相比在当前操作情境2845方面表现更好。
在一些实现中,输出中介器(例如,1340或1640、A)基于AV当前所经历的交通来提升AV操作子系统。例如,输出中介器被配置为基于以下两个因素来选择性地将从N个不同的AV操作子系统中识别的AV操作子系统2855提升为优先状况。第一个因素是:当前输入数据2831(基于输入数据/情境LUT 2842)指示当前操作情境2845涉及特定交通状况。第二个因素是:以情境/子系统LUT 2852的形式表示的历史性能数据表明所识别出的AV操作子系统2855与N个不同的AV操作子系统中的其余操作子系统相比在当前操作情境2845方面表现更好。
在一些实现中,输出中介器(例如,1340或1640、A)基于AV当前所经历的天气来提升AV操作子系统。例如,输出中介器被配置为基于以下两个因素来选择性地将从N个不同的AV操作子系统中识别的AV操作子系统2855提升为优先状况。第一个因素是:当前输入数据2831(基于输入数据/情境LUT 2842)指示当前操作情境2845涉及特定天气状况。第二个因素是:以情境/子系统LUT 2852的形式表示的历史性能数据表明所识别出的AV操作子系统2855与N个不同的AV操作子系统中的其余操作子系统相比在当前操作情境2845方面表现更好。
在一些实现中,输出中介器(例如,1340或1640、A)基于AV当前操作的当日时间来提升AV操作子系统。例如,输出中介器被配置为基于以下两个因素来选择性地将从N个不同的AV操作子系统中识别的AV操作子系统2855提升为优先状况。第一个因素是:当前输入数据2831(基于输入数据/情境LUT 2842)指示当前操作情境2845是特定当日时间。第二个因素是:以情境/子系统LUT 2852的形式表示的历史性能数据表明所识别出的AV操作子系统2855与N个不同的AV操作子系统中的其余操作子系统相比在当前操作情境2845方面表现更好。
在一些实现中,输出中介器(例如,1340或1640、A)基于AV的当前速率来提升AV操作子系统。例如,输出中介器被配置为基于以下两个因素来选择性地将从N个不同的AV操作子系统中识别的AV操作子系统2855提升为优先状况。第一个因素是:当前输入数据2831(基于输入数据/情境LUT 2842)指示当前操作情境2845是特定速率范围。第二个因素是:以情境/子系统LUT 2852的形式表示的历史性能数据表明所识别出的AV操作子系统2855与N个不同的AV操作子系统中的其余操作子系统相比在当前操作情境2845方面表现更好。
然后,在2770处,输出中介器控制具有优先状况的AV操作子系统的输出的发出。首先,注意,处理2700在进行操作2725中为“是”、2755中为“否”和2760中的任一个之后到达操作2770。也就是说,2770由输出中介器在确认了如下情况时进行:在2720处,从现在在2770处(即,在当前操作情境中)具有优先状况的AV操作子系统接收到要从输出中介器向下游提供的AV操作子系统的输出。
在一些实现中,在2770处,输出中介器(例如,1340或1640、A)指示优先的AV操作子系统(例如,2815)将其AV操作输出从其下游直接提供至下一AV操作子系统或AV的致动器。这里,输出中介器不会将优先的AV操作子系统的输出中继到其目的地,而是优先的AV操作子系统本身将优先的AV操作子系统的输出中继到其目的地。在示例系统17中,一旦输出中介器1740确认了规划模块1720b在当前操作情境中具有优先状况,输出中介器1740就指示规划模块1720b将规划模块1720b的路线1714b向下游提供至控制模块406。
在其它实现中,在2770处,输出中介器(例如,1340或1640、A)将由输出中介器在2720处接收到的优先AV子系统(例如,2815)的输出向下游提供至下一AV操作子系统或AV的致动器。在示例系统17中,一旦输出中介器1740确认了规划模块1720b在当前操作情境中具有优先状况,输出中介器1740就将规划模块1720b的路线1714b沿下游中继至控制模块406。
操作序列2720至2770由输出中介器(例如,1340或1640、A)在各时钟周期中进行。如此,这些操作在将来的时钟周期期间迭代地进行。通过以这种方式进行处理2700,将通过进行情境敏感提升(例如,通过积极适应驾驶情境)来提高系统1300(或1600、2000等)的AV操作性能。
冗余控制系统
图30示出用于在AV的控制系统中提供冗余的冗余控制系统3000。诸如图1的AV100等的AV可以包括冗余控制系统3000。冗余控制系统3000包括计算机处理器3010、第一控制系统3020和第二控制系统3030。在实施例中,计算机处理器3010包括仅一个处理器。在实施例中,计算机处理器3010包括多于一个的处理器。计算机处理器3010被配置为基于实时传感器数据和先验信息来通过算法生成控制动作。在实施例中,计算机处理器3010与图1中引用的计算机处理器146基本上类似。计算机处理器3010可以包括诊断模块3011和仲裁器模块3012。
在实施例中,第一控制系统3020和第二控制系统3030包括控制模块3023、3033。在实施例中,控制模块3023、3033与先前参考图4所述的控制模块406基本上类似。在实施例中,控制模块3023、3033包括与先前参考图11所述的控制器1102基本上类似的控制器。在实施例中,例如,如前面参考图13-29所述,一个控制系统使用由另一控制系统输出的数据。
第一控制系统3020和第二控制系统3030被配置为接收来自计算机处理器3010的操作命令并作用于这些操作命令。然而,第一控制系统3020和第二控制系统3030可以包括各种其它类型的控制器,诸如门锁控制器、窗控器、转弯指示器控制器、挡风玻璃雨刮器控制器和制动器控制器等。
第一控制系统3020和第二控制系统3030还包括控制装置3021、3031。在实施例中,控制装置3021、3031促进控制系统3020、3030影响控制操作3040的能力。控制装置3021、3031的示例包括但不限于转向机构/柱、轮、轴、制动踏板、制动器、燃料系统、变速杆、挡位、油门机构(例如,油门踏板)、挡风玻璃雨刮器、侧门锁、窗控器和转弯指示器。在示例中,第一控制系统3020和第二控制系统3030包括转向角控制器和油门控制器。第一控制系统3020和第二控制系统3030被配置为提供影响至少一个控制操作3040的输出。在实施例中,输出是用于加速控制的数据。在实施例中,输出是用于转向角控制的数据。在实施例中,控制操作3040包括影响AV 100的运动的方向。在实施例中,控制操作3040包括改变AV 100的速率。控制操作的示例包括但不限于使得AV 100加速/减速以及使AV 100转向。
在实施例中,控制系统3020、3030影响控制操作140,这些控制操作140包括管理AV100的速率和朝向的变化。如本文所述,速率分布与加速度或加加速度的变化有关,以使得AV 100从第一速率转变为至少第二速率。例如,锯齿状的速率分布描述AV 100的速率的经由加速或减速的快速变化。具有锯齿状的速率分布的AV 100在速率之间快速地转变,因此可能由于快速的加速/减速而导致乘员经历不愉快/不舒服的力。此外,平滑的速率分布描述AV 100的速率的用以使AV 100从第一速率转变为第二速率的逐渐变化。平稳的速率分布确保了AV 100以较慢的速率在速率之间转变,因此减少了乘员所经历的加速/减速的力。在实施例中,控制系统3020、3030控制速率的随时间经过的各种导数,这些导数包括加速度、加加速度、颠簸、噼啪声、爆裂声、或速率相对于时间的其它更高阶导数、或者它们的组合。
在实施例中,控制系统3020、3030影响AV 100的转向分布。转向分布与转向角度的变化有关,以将AV 100从第一方向定向至第二方向。例如,锯齿状的转向分布包括使得AV100以更高/更锐利的角度在朝向之间转变。锯齿状的转向分布可能导致乘员不舒服,并且也可能导致AV 100翻倒的可能性增加。平滑的转向分布包括使得AV 100以更低/更宽的角度在朝向之间转变。平滑的转向分布使得在变化的环境条件下操作AV 100时,增加了乘员舒适性和安全性。
在实施例中,第一控制系统3020和第二控制系统3030包括促进控制系统3020、3030影响基本上类似的控制操作3040的能力的不同的控制装置3021、3031。例如,第一控制系统3020可以包括油门机构、制动踏板和变速杆以影响油门控制操作,而第二控制系统3030可以包括燃料系统、制动器和挡位以影响油门控制操作。在实施例中,转向机构是方向盘。然而,转向机构可以是用于使AV 100的方向转向的任何机构,诸如操纵杆或控制杆转向设备等。为了使AV 100转向,第一控制系统3020可以包括AV 100的转向机构,而第二控制系统3030可以包括轮或轴。因而,第一控制系统3020和第二控制系统3030可以一起行动,以允许两个冗余控制系统可以在控制单独装置的同时都进行相同的控制操作(例如,转向、油门控制等)。在实施例中,第一控制系统3020和第二控制系统3030在包括相同装置的同时影响相同的控制操作。例如,第一控制系统3020和第二控制系统3030都可以包括转向机构、制动踏板、变速杆和油门踏板以影响转向和油门操作。此外,第一控制系统3020和第二控制系统3030可以同时包括重叠装置以及单独装置。例如,第一控制系统3020和第二控制系统3030可以包括AV 100的转向柱以控制转向操作,而第一控制系统3020可以包括油门机构以控制油门操作,而第二控制系统3030可以包括AV 100的轮以控制油门操作。
第一控制系统3020和第二控制系统3030根据至少一个输入来提供各自的输出。例如,如前面参考图12所示,控制系统3020、3030可以接收来自规划模块(诸如前面参考图4所论述的规划模块404等)的输入,该规划模块提供控制系统3020、3030选择AV 100的航向和确定穿越哪些道路路段所使用的信息。该输入还可以对应于从定位模块(诸如前面参考图4所论述的定位模块408等)接收到的信息,该定位模块向控制系统3020、3030提供描述AV100的当前地点的信息,使得控制系统3020、3030可以确定AV 100是否在基于正控制AV 100的装置的方式所预期的地点。该输入也可以对应于反馈模块(诸如前面参考图11所论述的预测反馈模块1122等)。该输入还可以包括从数据库、计算机网络等接收到的信息。在实施例中,该输入是期望输出。期望输出可以包括基于由例如规划模块404接收到的信息的速率和航向。在实施例中,第一控制系统3020和第二控制系统3030基于相同的输入提供来输出。在实施例中,第一控制系统3020基于第一输入来提供输出,而第二控制系统3030基于第二输入来提供输出。
计算机处理器3010被配置为利用仲裁器模块3012来选择第一控制系统3020和第二控制系统3030至少之一以影响AV 100的控制操作。任意控制系统的选择均可以基于各种标准。例如,在实施例中,仲裁器模块3012被配置为评价控制系统3020、3030的性能,并且基于第一控制系统3020和第二控制系统3030在一段时间内的性能来选择第一控制系统3020和第二控制系统3030至少之一。例如,评价控制系统性能可以包括:评价控制系统3020、3030的响应性或者控制系统的响应的准确性。在实施例中,响应性的评价包括:确定在控制系统接收输入以例如影响加速度的变化和控制系统3020或3030作用于油门控制机构以改变加速度之间的时滞。类似地,准确性的评价包括:确定在控制系统对致动器所需的致动和控制系统所应用的实际致动之间的误差或差。在实施例中,计算机处理器3010包括诊断模块3011,该诊断模块3011被配置为识别第一控制系统3020和第二控制系统3030至少之一的故障。故障可以是部分或完全的,或者控制系统3020、3030可以满足至少一个故障条件。部分故障通常是指服务的退化,而完全故障通常是指基本上完全失去服务。例如,关于AV 100在转向方面的控制,完全故障可以是完全丧失使AV 100转向的能力,而部分故障可以是AV100对转向控制的响应性下降。关于油门控制,完全故障可以是完全丧失使得AV 100加速的能力,而部分故障可以是AV 100对油门控制的响应性下降。
在实施例中,故障条件包括控制系统变得不响应、对控制系统的潜在安全威胁、转向装置/油门装置变得锁定/卡住、或者增加AV 100偏离其期望输出的风险的各种其它故障条件。例如,假定第一控制系统3020正控制AV 100上的转向柱(或其它转向机构)、并且第二控制系统3030正直接控制AV 100的轮(或轴),则在转向柱被锁定在原处(例如,控制系统故障条件)的情况下,计算机处理器3010可以选择第二控制系统3030来进行转向操作。此外,假定第一控制系统3020正控制AV 100上的油门踏板(或其它油门机构)、并且第二控制系统3030正直接控制AV 100的燃料系统,则在油门踏板对从计算机处理器3010发送来的命令不响应(例如,控制系统故障条件)的情况下,计算机处理器3010可以选择第二控制系统3030来执行油门操作。这些情景是例示性的而并不意味着限制,并且可能存在各种其它系统故障情景。
如以上参考图11所示,在实施例中,第一控制系统3020和第二控制系统3030的控制器被配置为分别接收和利用来自第一反馈系统和第二反馈系统的反馈。反馈系统可以包括传感器的组、一种传感器或反馈算法。在实施例中,第一控制系统3020和第二控制系统3030被配置为接收来自相同反馈系统的反馈。在实施例中,第一控制系统3020被配置为接收来自第一反馈系统的反馈,而第二控制系统3030被配置为接收来自第二反馈系统的反馈。例如,第一控制系统3020可以仅从AV 100上的LiDAR传感器接收反馈,而第二控制系统3030可以仅从AV 100上的照相机接收反馈。反馈可以包括测量输出反馈,诸如AV 100的位置、速度或加速度等。反馈还可以包括来自预测反馈模块(诸如以上参考图11所述的预测反馈模块1122等)的预测反馈。在实施例中,计算机处理器3010被配置为比较来自第一反馈系统和第二反馈系统的反馈,以识别第一控制系统3020和第二控制系统3030至少之一的故障(若有的话)。
例如,假定第一控制系统3020和第二控制系统3030被配置为在一定误差界限内用25MPH的期望速率输出影响AV 100的油门操作。例如,如果与第一控制系统3020相对应的第一反馈系统在5分钟的时间段内将AV 100的平均速率测量为15MPH、并且第二反馈模块在5分钟的时间段内将AV 100的平均速率测量为24MPH,则计算机处理器3010可以确定为第一控制系统3010正经历故障条件。如前面所述,当计算机处理器3010识别出一个控制系统的故障时,计算机处理器3010可以选择另一控制系统来影响控制操作。
控制系统3020、3030可以使用控制算法3022、3032来影响控制操作3040。例如,在实施例中,控制算法3022/3032调整AV 100的转向角度。在实施例中,控制算法3022/3032调整AV 100的油门控制。在实施例中,第一控制系统3020在影响控制操作3040时使用第一控制算法3022。在实施例中,第二控制系统3030在影响控制操作时使用第二控制算法3032。例如,第一控制系统3020可以使用第一控制算法3022来调整应用于AV 100的转向角度,而第二控制系统3030可以使用第二控制算法3032来调整应用于AV 100的油门。
在实施例中,两个控制系统3020、3030使用相同的算法来影响控制操作3040。在实施例中,控制算法3022、3032是作为与反馈模块(诸如如前面参考图11所述的测量反馈模块1114和预测反馈模块1122等)相对应的算法的控制反馈算法。
在实施例中,计算机处理器3010被配置为例如基于AV 100的传感器所检测的信息来识别干扰第一控制系统3020和第二控制系统3030中的一个或这两个的操作的至少一个环境条件。环境条件包括雨、雪、雾、灰尘、太阳光不足、或者可能导致响应性转向/油门操作变得更重要的其它条件。例如,由雨或雪引起的湿滑条件可能会增加与转向控制相对应的响应性的重要性。基于与第一控制系统3020和第二控制系统3030的响应性有关的测量性能,计算机处理器3010可以选择与转向响应性有关的测量性能最高的控制系统。作为另一示例,在由雾、灰尘或太阳光引起的低能见度条件下,油门控制响应性可能变得更重要。在这种情况下,计算机处理器3010可以选择针对油门控制响应性的测量性能最高的控制系统。
具有能够控制AV 100的两个控制系统的冗余控制系统减轻了与控制故障相关联的风险。此外,由于计算机处理器可以基于性能诊断、反馈和环境条件来在控制系统之间进行选择,因此AV 100的驾驶性能(在准确性和效率方面)可能提高。
图31示出表示根据本发明的至少一个实现的用于在控制系统中提供冗余的方法3100的流程图。在实施例中,以上参考图30所述的冗余控制系统3000进行用于在控制系统中提供冗余的方法3100。方法3100包括:接收操作信息(块3110);确定要影响哪个控制操作(块3120);以及选择控制系统来影响控制操作(块3130)。一旦选择了控制系统,方法3100包括:生成控制功能(块3140);以及利用所选择的控制系统生成输出(块3150)。
用于在控制系统中提供冗余的方法3100包括:接收操作信息(块3110)。这包括:利用至少一个处理器来接收与AV系统、AV系统的控制系统和/或AV正操作于的周围环境有关的信息。在实施例中,至少一个处理器是如前面参考图30所述的计算机处理器3010。例如,在冗余控制系统3000正进行方法3100的实施例中,计算机处理器3010接收与各控制系统3020、3030在一段时间内的性能统计有关的信息。例如,性能统计可以与各控制系统3020、3030的响应性和/或准确性有关。诸如图30的诊断模块3011等的诊断模块可以分析和比较所接收到的性能信息。在实施例中,所接收到的性能信息是从反馈系统接收到的反馈信息。反馈系统可以对应于一个或多个控制系统。在实施例中,各控制系统对应于单独的反馈系统。例如,第一控制系统可以对应于第一反馈系统,而第二控制系统可以对应于第二反馈系统。
在实施例中,诊断模块基于所接收到的操作信息来识别至少一个控制系统的全部或部分故障。故障可以基于故障条件。故障条件可以包括至少部分不可操作的控制系统或一直未能提供期望输出的控制系统。在实施例中,计算机处理器3010接收与环境条件有关的信息,诸如雨、雪、雾、灰尘、或者可能影响AV系统检测周围环境并在周围环境中导航的能力的其它环境条件等。
方法3100还包括:确定影响哪个控制操作(块3120)。在实施例中,计算机处理器确定影响哪些控制操作。该确定可以基于如前面参考图30所述的规划模块。控制操作可以包括油门操作和/或转向操作。
方法3100还包括:选择控制系统来影响控制操作(块3130)。如前面参考图30所示,诸如图30的控制系统3020、3030等的控制系统可被配置为使用相同的控制装置来影响基本上类似的控制操作,或者这些控制系统可以使用不同的控制装置来影响类似的控制操作。在实施例中,计算机处理器利用所接收到的操作信息来选择使用哪个控制系统来影响控制操作。例如,计算机处理器可以使用所接收到的性能统计来分析各控制系统的性能,并选择与更期望的性能统计相对应的控制系统(例如,具有表现出更高响应性或准确性的性能统计的控制系统)。作为另一示例,计算机处理器可以在一个控制系统中识别故障(完全或部分故障),并且基于识别出故障来选择另一控制系统影响控制操作。计算机处理器还可以使用所接收到的与环境条件有关的信息,并且使用该信息来选择使用哪个控制系统来影响控制操作。例如,假定AV正在雨天条件下操作,则计算机处理器可以选择可能更适合在雨天条件下操作的控制系统。
方法3100包括:生成控制功能(块3140)。一旦选择了控制系统以供使用,计算机处理器就通过算法生成控制功能并将这些控制功能发送至控制系统。这些控制功能可以基于实时传感器数据和/或先验信息。
方法3100还包括:利用所选择的控制系统生成输出(块3150)。响应于接收到控制功能,所选择的控制系统提供影响至少一个控制操作的输出。输出可以是可用于加速控制的数据和/或可用于转向角控制的数据。输出可以包括控制算法。例如,这些算法可以是基于从反馈系统接收到的反馈的反馈算法。在实施例中,第一控制系统使用第一算法来影响控制操作,而第二控制系统使用第二算法来影响控制操作。在实施例中,一个算法包括朝向调整转向角度的偏置作为调整技术。在实施例中,一个算法包括朝向调整油门的偏置作为调整技术。
输出可以是根据至少一个输入生成的。该输入可以是来自规划模块的输入,该规划模块提供控制系统用于选择AV的航向和确定要穿越哪些道路路段的信息。输入可以对应于从定位模块接收到的信息,该定位模块提供描述AV的当前地点的信息,使得控制系统可以确定AV是否在基于正控制AV的装置的方式所预期的地点。输入也可以对应于如以上参考图11所述的反馈模块。输入还可以包括从数据库、计算机网络等接收到的信息。在实施例中,输入是期望输出。期望输出可以包括基于由例如规划模块接收到的信息的速率和航向。在实施例中,控制系统基于相同的输入来提供输出。在实施例中,一个控制系统基于第一输入来提供输出,而另一控制系统基于第二输入来提供输出。
传感器故障冗余
图32示出用于检测和处理传感器故障的自主运载工具3205(例如,图1所示的AV100)的传感器相关架构的示例。自主运载工具3205包括第一传感器3210a、第一缓冲器3215a、第一多路复用器3225a、第二传感器3210b、第二缓冲器3215b、第二多路复用器3225b、第一变换器3220a、第二变换器3220b、异常检测器3240、传感器选择器3235和自主运载工具处理器3250。传感器3210a-b的各种示例包括LiDAR、RADAR、照相机、射频(RF)、超声、红外和紫外。其它类型的传感器是可以的。尽管示出两个传感器,但自主运载工具3205可以使用任意数量的传感器。
在实施例中,传感器3210a-b被配置为在自主运载工具处于操作驾驶状态时,从诸如对象、天气条件或自主运载工具3205外部的道路条件等的一个或多个环境输入产生各自的传感器数据流。例如,处理器3250使用这些传感器数据流来检测和避免诸如自然障碍、其它运载工具、行人或骑车者等的对象。传感器3210a-b被配置为检测相同类型的信息。传感器3210a-b使用一个或多个不同的传感器特性,诸如感测频率、传感器放置、感测信号的范围或感测信号的幅度等。在一些实现中,当运载工具已开启或激活时,自主运载工具处于操作驾驶状态。
在实施例中,处理器3250经由缓冲器3215a-b和多路复用器3225a-b与传感器3210a-b通信地耦接。在一些实现中,传感器3210a-b产生包括由传感器3210a-b内的模数转换器(ADC)生成的样本的传感器数据流。来自不同流的样本存储在相应的缓冲器3215a-b中。传感器选择器3235被配置为控制多路复用器3225a-b以在传感器数据流之间切换。在传感器3210a-b正正常起作用的标称状态下,传感器选择器3235向多路复用器3225a发送信号以使得来自传感器3210a的流流向处理器3250,并向多路复用器3225b发送信号以使得来自传感器3210b的流流向处理器3250。
在实施例中,异常检测器3240被配置为基于由相应传感器3210a-b正产生的传感器数据流之间的差异来检测异常条件。在一些实现中,基于指示诸如通过灰尘或其它物质覆盖传感器3210a-b所引起等的传感器故障或者传感器堵塞的一个或多个样本值来检测异常条件。在一些实现中,异常条件可基于一个或多个缺失样本来检测。例如,第一传感器3210a可能已产生了针对特定时间索引的样本,但第二传感器3210b没有产生针对相同时间索引的样本。在实施例中,异常条件是来自恶意行为者对AV 100或AV 100的子系统的外部入侵或攻击的结果。例如,黑客可能为了发送虚假数据、窃取数据、导致AV 100故障、或者出于其它不法目的试图访问AV 100。
在异常条件的情况下,变换器3220a-b变换来自功能传感器3210a-b的传感器数据流,以为未正常起作用的传感器3210a-b生成替换流。如果异常检测器3240检测到例如与第二传感器3210b相关联的异常条件,则传感器选择器3235可以向多路复用器3225b发送信号,以使得来自变换器3220b的输出(例如替换流)流向处理器3250。
传感器3210a-b例如以不同的角度(诸如从自主运载工具3205的左侧和右侧等)捕获自主运载工具3205前方的道路的视频。在一个实现中,如果右侧传感器3210b故障,则变换器3220b对左侧传感器3210a正产生的流进行仿射变换,以生成右侧传感器3210b正产生的流的替换版本。如此,在处理器3250上运行的正预期两个不同的照相机角度的视频处理例程可以通过使用替换流来继续起作用。
在另一示例中,传感器3210a-b以诸如可视和红外等的不同波长范围捕获图像。在一个实现中,如果可视范围传感器经历异常条件,则变换器将红外数据变换成可视范围,使得被配置为使用可视范围图像数据来检测行人的例程可以通过使用红外传感器流的变换版本来继续起作用。
在一些实现中,处理器3250包括异常检测器3240和传感器选择器3235。例如,处理器3250被配置为在传感器3210a-b之间切换作为用以控制自主运载工具3205的输入。在一些实现中,处理器3250与诊断模块进行通信,以通过进行传感器3210a-b的测试或重置来解决异常条件。
图33示出用以操作自主运载工具和该自主运载工具中的传感器的处理的示例。在3305处,在自主运载工具处于操作驾驶状态时,自主运载工具经由第一传感器从自主运载工具外部的一个或多个环境输入产生第一传感器数据流。传感器的各种示例包括LiDAR、RADAR、照相机、RF、超声、红外和紫外。其它类型的传感器也是可以的。环境输入的各种示例包括附近对象、天气条件或道路条件。其它类型的环境输入也是可以的。在一些实现中,在自主运载工具内进行该处理的处理器被配置为发送命令以使得传感器开始产生传感器数据流。
在3310处,在自主运载工具处于操作驾驶状态时,自主运载工具经由第二传感器从自主运载工具外部的一个或多个环境输入产生第二传感器数据流。在一个实现中,第一传感器和第二传感器被配置为检测相同类型的信息。例如,这些传感器可以检测相同类型的输入,诸如附近对象、天气条件或道路条件等。在一些实现中,传感器可以使用一个或多个不同的传感器特性来检测相同类型的信息。传感器特性的各种示例包括感测频率、照相机放置、感测信号的范围和感测信号的幅度。其它类型的传感器特性也是可以的。在一些实现中,通过具有相同的传感器特性,第二传感器与第一传感器相同。在一些实现中,第二传感器在一个或多个不同的传感器特性(诸如不同的频率、不同的范围或幅度、或者不同的面向角度)下操作。例如,两个传感器可以通过使用两个不同的频率范围来检测相同类型的信息(例如,道路危险的存在)。
在3315处,自主运载工具基于第一和第二传感器数据流之间的差异来确定是否存在异常条件。异常条件的各种示例包括:传感器值方差超过阈值、或者传感器或系统故障。其它类型的异常条件也是可以的。例如,该差异可以基于传感器数据流其中之一中的一个或多个缺失样本而发生。在一些实现中,该差异通过比较两个或更多个传感器数据流之间的值来确定。在一些实现中,该差异通过比较两个或更多个传感器数据流之间的图像帧来确定。例如,遮挡一个照相机传感器而不遮挡另一照相机传感器的灰尘可能产生大部分黑色像素或像素值没有逐帧地改变的图像帧,而未遮挡的照相机传感器可以产生颜色的动态范围更高的图像帧。在一些实现中,该差异通过将各流的值与各个传感器的历史范数进行比较来确定。在一些实现中,该差异通过对针对各流在采样窗内获得的样本的数量进行计数来确定。在一些实现中,该差异通过计算传感器流之间的协方差来确定。
在3320处,自主运载工具确定是否检测到异常条件。在一些实现中,预定数量的缺失传感器样本可以触发异常条件检测。在一些实现中,大于预定阈值的不同流之间的样本偏差触发异常条件检测。在一些实现中,传感器报告故障代码,这反过来触发异常条件检测。
在3325处,如果没有检测到这种,则自主运载工具使用第一传感器和第二传感器来控制自主运载工具。在实施例中,传感器数据流用于避免撞击附近的对象、调整速率或调整制动。例如,自主运载工具将来自传感器的流中的一个或多个的样本转发到诸如碰撞避免例程等的自主运载工具的控制例程。在3330处,如果检测到异常条件,则自主运载工具响应于所检测到的异常条件,在第一传感器、第二传感器、或者第一和第二传感器这两者之间切换,作为用以控制自主运载工具的输入。在一些实现中,如果第一传感器与异常条件相关联,则自主运载工具切换到第二传感器的流或从第二传感器的流导出的替换版本。在一些实现中,自主运载工具响应于检测到异常条件,在第一传感器、第二传感器或这两者上进行诊断例程以解决异常条件。
在一些实现中,自主运载工具从与同一时间索引相对应的不同传感器数据流访问样本,并且在3315处基于这些样本来计算差异。基于差异超过预定阈值来检测异常条件。在一些实现中,基于与流的期望值的比较来确定各流的差异。在一些实现中,自主运载工具从与同一时间范围相对应的不同传感器数据流访问采样,计算各流的平均采样值,并且在3315处基于平均值来计算差异。
在一些实现中,第一和第二传感器数据流之间的差异是基于检测到传感器数据流内的缺失样本。传感器例如可能经历导致一个或多个缺失样本的临时或部分故障,例如,照相机缺失一个或多个帧。此外,自主运载工具可能由于诸如运载工具网络拥塞、处理器减慢、(例如由黑客进行的)外部攻击、网络入侵或样本存储溢出等的事件而丢弃样本。缺失的样本可以触发自主运载工具切换到另一传感器。
在实施例中,例如,如前面参考图13-29所述,一个传感器系统使用另一传感器系统所输出的数据来检测异常条件。
图34示出用以检测传感器相关的异常条件的处理的示例。在3405处,自主运载工具响应于驾驶条件来控制采样时间窗的持续时间。例如,诸如高速、天气条件、以及粗糙或未铺设道路这样的道路条件等的驾驶条件都可能提供不太准确的传感器读数或样本之间的较大差异。如此,如果需要更多的样本来检测异常条件,则采样时间窗会增加。然而,在一些实现中,采样时间窗的持续时间是预先确定的。在3410处,自主运载工具在采样时间窗内捕获第一传感器数据流内的第一组数据值。在一些实现中,数据值存储在缓冲器中。在3415处,自主运载工具在采样时间窗内捕获第二传感器数据流内的第二组数据值。在3420处,自主运载工具基于第一组数据值和第二组数据值之间的偏差来检测异常条件。在一些实现中,自主运载工具运行异常检测器以确定两组或更多组数据值之间的差异。在一些实现中,被阻挡的传感器产生低方差系列的数据值,而未被阻挡的传感器产生更高动态范围的数据值。例如,如果污泥完全覆盖照相机镜头,则相应的照相机传感器产生在颜色、亮度或这两者上变化最小或无变化的值。注意,如果雪覆盖镜头,则传感器将产生与污泥示例不同的值,但仍将产生像素值变化最小或无变化的值。如果照相机镜头无障碍或碎片,则照相机会产生诸如颜色和亮度的变化更多等的值的范围更大的值。各组数据值中的这样的偏差可能触发异常条件事件。
图35示出响应于检测到异常条件而对传感器数据流进行变换的处理的示例。在3505处,该处理将第一和第二传感器数据流提供至自主运载工具的控制器。在该示例中,使用两个数据流。然而,可以向控制器提供附加数据流。
在3510处,处理确定在第一传感器数据流内是否检测到异常条件。在3505处,如果未检测到异常条件,则处理继续提供传感器数据流。在3515处,如果检测到异常条件,则处理进行第二传感器数据流的变换以产生第一传感器数据流的替换版本。在实施例中,进行第二传感器数据流的变换包括:访问第二传感器数据流内的值,并且修改这些值以产生适合于替换第一传感器数据流的替换流。在一些实现中,修改值包括:应用诸如仿射变换等的变换。仿射变换的示例包括平移、缩放、反射、旋转、剪切映射、相似变换、以及它们在任何组合和序列中的组成。其它类型的变换也是可以的。在一些实现中,修改值包括:应用滤波器以改变电压范围、频率或这两者。例如,在一些实现中,如果第二传感器的输出值范围大于第一传感器,则对第二传感器值进行压缩以适合在第一传感器的值的预期范围内。在一些实现中,如果第二传感器的输出频率范围不同于第一传感器,则对第二传感器值进行压缩和/或偏移以适合在第一传感器的预期频率范围内。
在3520处,处理将第二传感器数据流和第一传感器数据流的替换版本提供至控制器。在3525处,处理在第一传感器上进行诊断例程。在一个实现中,诊断例程包括进行传感器检查、重置或例程,以识别什么传感器组件出现故障等。
在3530处,处理确定异常条件是否得到解决。在一些实现中,处理接收到报告传感器正在起作用的传感器状况更新。在一些实现中,处理检测到传感器正在再次产生样本。在一些实现中,处理检测到不同的传感器数据流再次具有类似的统计性质。例如,在一些实现中,处理计算各流的运行平均值,并且确定这些平均值是否在预期范围内。在一些实现中,处理计算各流的运行平均值,并且确定平均值之间的差是否不超过预定阈值。在一些实现中,处理计算各流的偏差,并且确定偏差是否不超过预定阈值。在3505处,如果异常条件得到解决,处理继续将标称的、未变换的传感器数据流提供至控制器。在3515处,如果异常条件未得到解决,则处理继续对第二传感器数据流内的下一组数据进行变换。
在一些实现中,AV包括主传感器和副传感器。当触发副传感器时,AV控制器可以确定副传感器与主传感器是否相同、或者副传感器是否具有一个或多个不同的参数设置、物理设置或类型。如果相同,则AV控制器可以用副传感器数据流替代主传感器数据流。如果不同,AV控制器可以对来自副传感器的原始传感器数据进行变换以提取期望信息。在一些实现中,如果两个照相机正以不同的角度面向道路,则对来自副照相机的数据进行仿射变换,以匹配主照相机的视场。在一些实现中,主传感器是可视范围照相机(例如,用于检测行人),并且副传感器是红外范围照相机(例如,用于检测对象的热标记和/或确认基于热标记的对象的检测等)。如果可视范围照相机遇到问题,则AV控制器将红外数据变换为可视范围,使得基于可视范围的图像处理算法可以继续检测行人。
遥操作冗余
图36例示遥操作系统3690的示例架构。在实施例中,遥操作系统3690包括通常安装在AV系统3692的AV 3600上的遥操作客户端3601(例如,硬件、软件、固件、或者它们中的两个或更多个的组合)。遥操作客户端3601例如与AV系统3692的组件(例如,传感器3603、通信装置3604、用户接口装置、处理器3606、控制器3607或功能装置、或者它们的组合)交互,从而发送和接收信息和命令。遥操作客户端3601通过通信网络3605(例如,可以至少部分是无线的本地网络322和/或因特网328)与遥操作服务器3610进行通信。
在实施例中,遥操作服务器3610位于远离AV 3600的远程地点。遥操作服务器3610使用通信网络3605来与遥操作客户端3601进行通信。在实施例中,遥操作服务器3610与多个遥操作客户端同时进行通信;例如,遥操作服务器3610与作为另一AV系统3694的一部分的AV 3650的另一遥操作客户端3651进行通信。客户端3601和3651与一个或多个数据源3620(例如,中央服务器3622、远程传感器3624和远程数据库3626或它们的组合)进行通信,以收集用于实现自主驾驶能力的数据(例如,路网、地图、天气和交通)。遥操作服务器3610还与远程数据源3620进行通信,以对AV系统3692或3694或这两者进行遥操作。
在实施例中,由遥操作服务器3610呈现的用户界面3612允许人类遥操作者3614参与对AV系统3692的遥操作。在实施例中,界面3612向遥操作者3614渲染AV系统3692已感知到或正在感知的内容。渲染通常基于传感器信号或基于模拟。在实施例中,用户界面3612被代表遥操作者3614作出任何决定的自动干预处理3611替换。在实施例中,人类遥操作者3614使用增强现实(AR)或虚拟现实(VR)装置来参与对AV系统3692的遥操作。例如,人类遥操作者3614坐在VR盒中或使用VR耳机来实时地接收传感器信号。同样,人类遥操作者3614利用AR耳机将AV系统3692的诊断信息投影或叠加在所接收到的传感器信号上。
在实施例中,遥操作客户端3601与两个或更多个遥操作服务器进行通信,这两个或更多个遥操作服务器发送或汇总用于单个遥操作者3614的各种信息,以在用户界面3612上进行遥操作会话。在实施例中,遥操作客户端3601与向不同的遥操作者呈现单独用户界面的两个或更多个遥操作服务器进行通信,从而允许两个或更多个遥操作者共同参与遥操作会话。在实施例中,遥操作客户端3601包括用于决定两个或更多个遥操作者中的哪个遥操作者参与遥操作会话的逻辑。在实施例中,自动处理代表界面和遥操作者使遥操作自动化。在实施例中,两个或更多个遥操作者使用AR和VR装置来协作地遥操作AV系统3692。在实施例中,两个或更多个遥操作者各自遥操作AV系统3692的单独子系统。
在实施例中,基于所生成的遥操作事件,生成遥操作请求,该遥操作请求请求遥操作系统利用AV系统3692开始AV和遥操作者之间的交互(遥交互)。响应于该请求,遥操作系统分配可用的遥操作者,并向该遥操作者呈现遥操作请求。在实施例中,遥操作请求包括AV系统3692的信息(例如,计划轨迹、感知环境、运载工具组件、或者它们的组合等)。另一方面,在等待遥操作者发出遥操作时,AV系统3692实现回退或默认操作。
图37示出遥操作客户端3601的示例架构。在实施例中,遥操作客户端3601被实现为软件模块,存储在存储器3722中,由处理器3720执行,并且包括请求遥操作系统利用AV系统开始遥交互的遥操作处理过程3736。在实施例中,遥操作客户端3601被实现为包括以下中的一个或多个的硬件:数据总线3710、处理器3720、存储器3722、数据库3724、控制器3734和通信接口3726。
在实施例中,AV系统3692自主地操作。一旦遥操作者3614接受遥操作请求并参与遥交互,遥交互就可能变化。例如,遥操作服务器3610通过界面3612向遥操作者3614推荐可能的遥操作,并且遥操作者3614选择所推荐的遥操作中的一个或多个,并且使得遥操作服务器3610向AV系统3692发送信号,从而使得AV系统3692执行所选择的遥操作。在实施例中,遥操作服务器3610通过用户界面3612向遥操作者3614渲染AV系统的环境,并且遥操作者3614分析该环境以选择最佳遥操作。在实施例中,遥操作者3614输入计算机代码以发起某些遥操作。例如,遥操作者3614使用界面3612来绘制AV继续其驾驶所沿着的推荐轨迹。
基于遥交互,遥操作者3614发出合适的遥操作,该遥操作然后由遥操作处理过程3736处理。遥操作处理过程3736向AV系统3692发送遥操作请求,以影响AV 3600的自主驾驶能力。一旦AV系统完成了遥操作的执行(或使遥操作中止)、或者遥操作由遥操作者3614终止,遥操作就结束。AV系统3692返回到自主模式,并且AV系统3692侦听另一遥操作事件。
图38示出示例遥操作系统3800。在实施例中,(图36和37中的)遥操作客户端3601被集成为(与AV系统3810类似的)AV系统3692的一部分。在实施例中,遥操作客户端3601不同于AV系统3692,并且通过网络链路与AV系统3692维持通信。在实施例中,遥操作客户端3601包括AV系统监测过程3820、遥操作事件处理过程3830和遥操作命令处理过程3840。在实施例中,AV系统监测过程3820读取系统信息和数据3692以供分析,从而例如确定AV系统3692的状况。分析结果生成遥操作事件3822到遥操作事件处理过程3830。遥操作事件处理过程3830可以向遥操作服务器3850发送出遥操作请求3834,并向遥操作命令处理过程3840发送出回退请求3832。在实施例中,遥操作服务器3850向遥操作者3870呈现用户界面3860,以便与AV系统3692进行遥交互。响应于遥操作者3870通过用户界面的操作,遥操作服务器发出以供遥操作命令处理过程3840使用的形式表示遥操作的遥操作命令3852。遥操作命令处理过程3840将遥操作命令转换成以对于AV系统3692有用的形式表示的AV系统命令3842,并将该命令发送到AV系统3692。
参考图36-38,在实施例中,AV系统监测过程3820接收系统信息和数据3812,以监测AV系统3692的操作状况(例如,速度、加速度、转向、数据通信、感知和轨迹规划)。操作状况可以基于AV系统3692的硬件组件或软件处理或这两者的输出,或者通过测量关联的量来间接地推断(例如,通过计算或统计)输出,或者这两者。在实施例中,AV系统监测过程3820从操作状况导出信息(例如,计算统计数据、或者将所监测的条件与数据库中的知识进行比较)。在实施例中,监测过程3820基于所监测的操作状况或所导出的信息或这两者来检测遥操作事件3822,并且生成对遥操作3852的请求。
在实施例中,当AV系统3692的一个或多个组件(例如,图1中的120)处于异常或意外条件时,发生遥操作事件3822。在实施例中,异常条件是AV系统3692的硬件的故障。例如,制动器故障;发生爆胎;视觉传感器的视场被阻挡或视觉传感器停止起作用;传感器的帧速率降至低于阈值;AV系统3692的移动与当前的转向角度、油门水平、制动水平不匹配;或者以上的组合。其它异常条件包括:软件的故障导致错误,诸如故障软件代码等;信号强度降低,诸如与通信网络3605并由此与遥操作者3870进行通信的能力降低等;噪声水平增加;在AV系统3692的环境中感知到的未知对象;由于规划错误而导致用以寻找朝向目标的轨迹的运动规划处理失败;无法访问数据源(例如,数据库3602或3626、传感器或地图数据源);或者以上的组合。在实施例中,异常条件是硬件和软件故障的组合。在实施例中,异常条件是作为异常环境因素(例如,大雨或大雪、极端天气条件、存在异常多的反光面、交通拥塞、事故等)的结果而发生的。
在实施例中,AV系统3692自主地操作。在这些操作期间,控制系统3607(图36)影响AV系统3692的控制操作。例如,控制系统3607包括控制器1102,该控制器1102控制油门/制动器1206和转向角致动器1212(图12)。控制器3607确定供由诸如油门/制动器1206和转向角致动器112等的控制组件执行的指令。然后,这些指令控制各种组件,例如,用于控制转向角度的转向致动器或其它功能、油门/制动器1206、加速器、或者AV系统3692的其它移动组件。
在实施例中,AV系统监测过程3820包括生成遥操作事件3822的错误列表。例如,诸如制动故障或视觉数据丢失等的严重错误。在实施例中,AV系统监测过程3820检测故障或错误,并且在生成遥操作事件3822之前将所检测到的错误与错误列表进行比较。在这种情况下,遥操作事件3822被发送到遥操作事件处理过程3830,该遥操作事件处理过程3830向服务器3850发送遥操作请求3834。遥操作者3870将遥操作命令3852发送至遥操作命令处理过程3840,该遥操作命令处理过程3840经由与通信网络3605一起操作的通信接口3604与遥操作客户端3601进行通信。通信接口3604可以包括网络收发器(Wi-Fi收发器和/或WiMAX收发器、蓝牙收发器、BLE收发器、IR收发器等)。通信网络3605从外部源(例如,从遥操作者3870和经由服务器3850)传输指令,使得遥操作客户端3601接收到这些指令。
一旦接收到,遥操作客户端3601使用从外部源接收到的指令(例如,从遥操作者3870中继来的AV系统命令3842),并且确定由AV系统3692(诸如由油门/制动器1206和转向角致动器1212等)可执行的指令,使得遥操作者3870能够控制AV系统3692的操作。
当检测到触发遥操作事件3822的一个或多个指定条件时,遥操作客户端3601切换到使用从遥操作者3870接收到的指令。这些指定条件基于来自传感器3603中的一个或多个的一个或多个输入。遥操作客户端3601确定从位于运载工具上的传感器3603接收到的数据是否满足一个或多个指定条件,并且根据该确定来使得遥操作者3870能够经由通信网络3605控制AV系统3692。遥操作客户端3601所检测到的指定条件包括诸如运载工具的软件和/或硬件故障等的紧急条件。例如,制动器、油门或加速器故障、憋胎、诸如运载工具燃料或电池电量耗尽等的引擎故障、传感器停止提供有用的数据、或者检测到运载工具没有对规则或输入作出响应。
导致运载工具将本地控制(控制器3607)切换到由遥操作者3870经由遥操作客户端3601的控制的指定条件包括从自主运载工具的乘员接收到的输入。例如,乘员可能意识到传感器未检测到的紧急情况(例如,医疗紧急情况、火灾、事故、洪水)。运载工具的用户或乘员可以使用耦接至计算装置146(图1)的或者输入装置314或光标控制器316(诸如鼠标、轨迹球、触控显示器(图3)等)中的计算机外设132其中之一来按下按钮或激活遥操作命令。该按钮位于自主运载工具的内部的便于任何乘员使用的范围内。在实施例中,在运载工具的内部多个按钮可供多个乘员使用。
引起遥操作的激活的指定条件包括环境条件。这些环境条件包括天气相关的条件,诸如由于雨或冰而引起的湿滑道路、或者由于雾或雪而导致失去能见度。环境条件可以是道路相关的,诸如在道路上存在未知对象、(例如,由于施工而引起的)车道标记丢失、或者由于道路维修而造成的不平地面。
在实施例中,遥操作客户端3601确定自主运载工具当前是否位于先前未行驶的道路上。存在于先前未知的道路是指定条件其中之一,并且使得电信系统能够(例如,从遥操作者3870)向遥操作客户端3601提供指令。可以通过将AV的当前地点和位于AV的包括所行驶道路的列表的数据库3602中的地点进行比较来确定先前未知或未行驶的道路。遥操作客户端3601还经由通信网络3605进行通信以查询诸如远程位置的数据库134或3626等的远程信息。遥操作客户端3601在确定为运载工具的当前地点在未知道路上之前,将运载工具的地点与所有可用的数据库进行比较。
可选地,自主运载工具3600仅包括影响自主运载工具3600的控制操作的本地控制器3607。作为遥操作客户端3601的一部分的第二处理器3720与控制器3607进行通信。处理器3720确定由控制器3607执行的指令。通信网络105经由通信装置3604与处理器3720进行通信,该电信装置被配置为从诸如遥操作者3614等的外部源接收指令。处理器3720根据从外部源接收到的指令来确定控制器3607可执行的指令,并且被配置为在检测到一个或多个指定条件时,使得所接收到的指令能够控制控制器3607。
再次参考图36-38,自主运载工具3600自主地操作或者由遥操作者3614操作。在实施例中,AV系统3692在遥操作和自主操作之间自动切换。AV 3600具有控制自主运载工具的操作的控制器3607,其中处理器3606与控制器3607进行通信。处理器3606确定由控制器3607执行的指令。这些元件是本地控制系统的一部分。
电信装置3604与控制器3607进行通信。电信装置3604(在通信网络3605上经由遥操作服务器3610)从诸如遥操作者3614等的外部源接收指令。电信装置3604与AV系统3692进行通信,以向充当第二冗余控制软件模块的遥操作客户端3601发送指令。作为遥操作客户端3601的一部分的处理器3720根据从外部源(例如,经由遥操作服务器3610从遥操作者3614)接收到的指令来确定由控制器3607可执行的指令。然后,当检测到一个或多个指定条件时,处理器3720从本地控制器3607采取控制。
可选地,遥操作客户端3601充当作为自主运载工具3600的一部分且也可以控制自主运载工具3600的操作的第二冗余控制模块。第二控制器3734与第二处理器3720进行通信,该第二处理器3720确定由第二控制器3734执行的指令。电信网络105经由通信装置3604与处理器3734进行通信,该通信装置3604接收来自遥操作者3614的指令。处理器3720根据从遥操作者3614接收到的信号来确定由第二控制器3734可执行的指令,并且当检测到一个或多个指定条件时,将该信号中继至第二控制器3734以操作运载工具。
经由遥操作客户端3601指示将对运载工具的控制从(例如,由本地控制器3607进行的)本地控制切换到由遥操作者3614进行的控制的指定条件包括从自主运载工具的乘员接收到的输入。乘员可能知晓传感器未检测到的紧急情况(例如,医疗紧急情况、火灾、事故、洪水)。运载工具的用户或乘员可以使用耦接至计算装置146(图1)的或者输入装置314或光标控制器316(诸如鼠标、轨迹球、触控显示器(图3)等)中的计算机外设132其中之一来按下按钮或激活遥操作命令。该按钮位于自主运载工具的内部的便于任何乘员使用的范围内。在实施例中,在运载工具的内部多个按钮可用。
引起遥操作的激活的指定条件包括环境条件。这些环境条件包括天气相关的条件,诸如由于雨或冰而引起的湿滑道路、或者由于雾或雪而导致失去能见度等。环境条件也可以是道路相关的,诸如在道路上存在未知对象、(例如,由于施工而引起的)车道标记丢失、或者由于道路维修而造成的不平地面。
在实施例中,遥操作客户端3601确定自主运载工具当前是否位于先前未行驶的道路上。存在于先前未知的道路充当指定条件其中之一,并且使得电信系统能够(例如,从遥操作者3870)向遥操作客户端3601提供指令。可以通过将AV的当前地点和位于AV的包括所行驶道路列表的数据库3602中的地点进行比较来确定先前未知或未行驶的道路。遥操作客户端3601还经由通信网络3605进行通信以查询诸如远程位置的数据库134或3626等的远程信息。遥操作客户端3601在确定为运载工具的当前地点在未知道路上之前,将运载工具的地点与所有可用的数据库进行比较。
如上所述,并且继续参考图36-38,在AV系统3692的自主操作期间,AV系统3692有时可能无法与遥操作者3614进行通信。该通信故障可以作为AV系统3692中的故障(诸如软件故障或硬件故障(例如,通信设备104的故障或损坏)等)而发生。通信故障可以作为遥操作系统的故障(诸如服务器3610由于软件故障或电力损失而离线等)而发生。通信故障也可作为AV 3600围绕其环境移动并行驶进入通信网络3605的网络信号强度降低或缺失的区域的自然后果而发生。信号强度丢失可以发生在例如缺乏Wi-Fi覆盖的“死区”中、隧道中、停车场、桥梁下、或者被诸如建筑物或山脉等的信号阻挡特征包围的地方。
在实施例中,AV系统3692当与遥操作系统3690接触时,采用连接驱动模式,并且当不与遥操作系统接触时,采用非连接驱动模式。在实施例中,AV系统3692检测到其已失去与遥操作者3614的连接。AV系统3692采用连接驱动模式,并且采用风险较低的驾驶策略。例如,风险较低的驾驶策略包括降低运载工具的速度、增加AV和前方运载工具之间的跟随距离、减小传感器所检测到的导致AV运载工具减速或停止的对象的大小等。驾驶策略可以涉及单个运载工具操作(例如,改变速率)或者多个运载工具操作。
在实施例中,AV 3600在从连接模式切换到非连接模式之前等待一段时间,例如等待2秒、5秒、60秒。该延迟允许AV系统3692运行诊断,或者针对失去连接、以其它方式自身解决(诸如AV 3600离开隧道等)、而不会引起运载工具的行为的频繁变化。
为了执行连接和非连接模式切换,AV系统3692具有:控制器3607,其在自主模式期间影响AV 3600的控制操作;以及第二控制器3734,其在处于遥操作者模式下影响自主运载工具的控制操作。电信装置104与第二控制器模块3734进行通信,其中电信装置104是通信网络105的一部分,并且被配置为经由遥操作服务器3610从遥操作者3614接收指令。
遥操作客户端3601包括处理器3720,该处理器3720中继或转换由控制器3734可读取的指令,并且根据从遥操作者3614接收到的指令来影响控制操作。处理器3720还被配置为确定电信装置104与外部源进行通信(例如,与通信网络3605进行通信)的能力。如果处理器3720确定为通信足够,则处理器3720发送本地处理器3606和控制器3607控制控制操作(例如,在连接模式下操作)的信号。在实施例中,处理器3720确定为通信足够,并且正从遥操作者3614接收信号。处理器3720将指令中继至控制器3607,或者可选地,使得遥操作客户端3601的处理器3734取得对控制操作的控制。在实施例中,处理器3720确定为与通信网络3605的通信不足够。在这种情况下,处理器3720例如从存储器3722加载非连接驾驶策略。处理器3720将这些非连接驾驶策略发送至控制器3607或者可选地发送至控制器3734。AV系统3692继续操作,但利用与在可以预期遥操作者3614的干预的正常操作期间相比不同的一组指令来操作。
在实施例中,在通信网络105是无线网络的情况下,处理器3720通过确定无线网络的信号强度来确定电信装置104与遥操作者3614进行通信的能力。选择阈值信号强度,并且如果所检测到的信号强度降至低于该阈值,则AV系统3692切换到处理器3722向运载工具的操作系统发送命令的非连接模式。
在连接模式下的操作期间,处理器3606使用算法或一组算法来确定AV 3600的操作。可选地,处理器3722使用相同的算法或一组算法。当系统进入非连接模式时,处理器使用与第一算法不同的第二算法或一组算法。通常,第一算法的输出影响AV生成与第二算法的输出相比更具有侵略性的移动和行为的操作。也就是说,当处于连接模式时,控制器3607执行与当运载工具处于非连接模式(且例如由控制器3822控制)时执行的操作相比具有更高风险(例如,更高速率)的操作。当AV系统3692失去人类遥操作者干预时,AV系统3692所表现出的行为与可以进行遥操作干预时相比更加保守(例如,降低速率、增加运载工具和前方运载工具之间的跟随距离、减小传感器所检测到的导致AV运载工具减速或停止的对象的大小)。在实施例中,第一算法的输出影响AV生成与第二算法的输出相比更加保守的移动和行为的操作。作为安全特征,AV系统3692默认使用更保守的一组指令。
图39示出用于当检测到错误时激活AV 3600的遥操作者控制的处理3900的流程图。在实施例中,该处理可以由AV 3600的遥操作客户端3601的组件执行。参考图39,在步骤3902处,自主运载工具确定由控制系统执行的指令。控制系统被配置为影响自主运载工具的控制操作。控制处理器与控制系统和电信系统进行通信。例如,控制系统可以是控制系统3607,并且电信系统可以是图36的电信系统3605。在步骤3904处,电信系统从外部源接收指令。在步骤3906处,控制处理器根据从外部源接收到的指令来确定控制系统可执行的指令。在步骤3908处,当检测到一个或多个指定条件时,控制处理器还使得与电信系统进行通信的外部源能够控制控制系统。控制处理器确定从自主运载工具上的一个或多个传感器(例如,图36中的传感器3603)或从自主运载工具的乘员(例如,从自主运载工具内部的通知接口)接收到的数据是否满足一个或多个指定条件,并且根据该确定,使得电信系统能够操作/指示/发起控制系统。在实施例中,控制处理器所检测到的一个或多个指定条件包括紧急条件、环境条件、控制处理器的故障,或者自主运载工具是否在先前未行驶的道路上(例如,使用来自已行驶道路的数据库的数据)。在实施例中,电信系统基于遥操作者(例如,遥操作者3614)所进行的输入来接收指令。
图39还示出表示用于激活AV 3600的冗余遥操作者和人类控制的处理3900的流程图。在实施例中,该处理可以由AV 3600的遥操作客户端3601的组件执行。参考图39,在步骤3902处,自主运载工具确定由控制系统执行的指令。例如,控制系统可以是图36的控制系统3607。控制系统被配置为影响自主运载工具的控制操作。控制处理器与控制系统进行通信,并且与电信系统进行通信。例如,电信系统可以是图36的电信系统3605。电信系统从外部源(步骤3904)(例如,经由服务器3600从遥操作者3614)接收指令。控制处理器根据从外部源接收到的指令来中继由控制系统可执行的指令(步骤3906)。在实施例中,中继指令或发生计算以将指令转换成可用格式。控制处理器还使得与电信系统进行通信的外部源能够控制控制系统(步骤3908)。在实施例中,当检测到一个或多个指定条件时,控制处理器使得电信系统能够操作控制系统。在实施例中,指定条件基于从自主运载工具上的一个或多个传感器或从自主运载工具的乘员或自主运载工具内部的通知接口接收到的数据,并且根据该确定,使得电信系统能够控制控制系统。在实施例中,控制处理器所检测到的一个或多个指定条件还包括紧急条件、环境条件、控制处理器的故障、自主运载工具是否在先前未行驶的道路上(例如,使用来自行驶道路数据库的数据)。在实施例中,电信系统基于遥操作者所进行的输入来接收指令。
图40示出表示用于根据取决于与遥操作者的可用连接性的不同驾驶策略来控制AV 3600的操作的处理4000的流程图。在实施例中,该处理可以由AV 3600的遥操作客户端3601执行。参考图40,在步骤4002处,自主运载工具从外部源接收由控制系统执行的指令。控制系统可以是自主运载工具的第一或第二控制系统(例如,图36的控制器3607或图37的控制器3734)。控制处理器与控制系统进行通信,并且与将这些指令从外部源(例如,处理器3720或3606)传输的电信系统进行通信。系统根据从外部源接收到的指令来确定控制系统可执行的指令(步骤4004)。系统确定电信系统与外部源进行通信的能力(步骤4008),然后根据该确定来选择第一控制系统或第二控制系统。在实施例中,确定电信系统与外部源进行通信的能力包括:确定电信系统(例如,电信系统3605)传输指令所经由的无线网络的信号强度的度量(图41中的流程图4100的步骤4102)、或者确定自主运载工具上的无线信号接收器损坏的指示。在实施例中,第一控制系统使用第一算法,并且第二控制系统使用不同于第一控制系统的第二算法。在实施例中,第一算法的输出影响第一控制操作,以生成与第二算法的输出相比更具有侵略性或更加保守的自主运载工具的移动,并且使用一个算法作为默认值。
队列冗余
在一些实施例中,多个自主运载工具(例如,自主运载工具队列)彼此交换信息,并且基于所交换的信息来进行自动化任务。作为示例,各自主运载工具可以单独生成和/或收集诸如以下等的各种运载工具遥测数据:与自主运载工具自身有关的信息(例如运载工具状况、地点、速率、航向或朝向、海拔高度、电池水平等);与自主运载工具所进行的或所要进行的操作有关的信息(例如,自主运载工具所穿过的路线、自主运载工具所要穿过的计划路线、自主运载工具的预期目的地、指派给自主运载工具的任务等);与自主运载工具的环境有关的信息(例如,指示接近于自主运载工具的对象的传感器数据、交通信息、标志信息等);或者与自主运载工具的操作相关联的任何其它信息。该信息可以在自主运载工具之间交换,使得各自主运载工具均能获得进行操作所利用的更大量的信息。
该信息交换可以提供各种技术好处。例如,自主运载工具之间的交换信息可以提高自主运载工具队列整体的冗余性,由此提高这些自主运载工具的操作的效率、安全性和有效性。作为示例,在第一自主运载工具沿着特定路线行驶时,第一自主运载工具可能遇到某些可能影响其操作的条件(例如,道路上的障碍、交通拥塞等)。第一自主运载工具可以将与这些条件有关的信息传输至其它自主运载工具,使得这些其它自主运载工具也能获得该信息,即使这些其它自主运载工具尚未穿过该同一路线。因此,其它自主运载工具可以先发式地调整其操作,以考虑路线的条件(例如,完全避免该路线、在特定区域中更缓慢地穿过、使用特定区域中的某些车道等)和/或更好地预测路线的条件。
类似地,当一个或多个附加自主运载工具穿过同一路线时,该一个或多个附加自主运载工具可以独立地收集与这些条件和/或第一自主运载工具未观察到的任何其它条件有关的附加信息,并将该信息传输至其它自主运载工具。因此,在自主运载工具之间收集和交换与路线有关的冗余信息,由此降低了遗漏任何条件的可能性。此外,自主运载工具可以基于冗余信息来确定与路线的条件有关的共识,由此(例如,通过降低对条件的误识别或误解的可能性)提高集体信息的准确性和可靠性。因而,自主运载工具可以以更有效、更安全和更有效的方式操作。
图42示出区域4206中的自主运载工具4202a-c的队列之间的示例信息交换。在一些实施例中,自主运载工具4202a-c中的一个或多个是以与针对图1所述的自主运载工具100类似的方式实现的。
在一些实施例中,自主运载工具4202a-c的队列(例如,经由它们之间的对等网络连接)彼此直接交换信息。作为示例,在自主运载工具4202a和4202b之间交换信息(例如,如由线4204a所示)。作为另一示例,在自主运载工具4202b和4202c之间交换信息(例如,如由线4204b所示)。实际上,自主运载工具可以交换任何其它数量的自主运载工具(例如,1、2、3、4或更多个)的信息。
在一些实施例中,自主运载工具4202a-c的队列通过中介机构交换信息。作为示例,各个自主运载工具4202a-c将信息传输至计算机系统4200(例如,如由线4204c-e所示)。反过来,计算机系统4200可以将所接收到的信息的部分或全部传输至自主运载工具4202a-c中的一个或多个。在一些实施例中,计算机系统4200远离各个自主运载工具4202a-c(例如,远程服务器系统)。在一些实施例中,计算机系统4200是以与针对图1所述的远程服务器136和/或针对图1和3所述的云计算环境300类似的方式实现的。
作为另一示例,自主运载工具可以向另一自主运载工具传输信息。反过来,该自主运载工具可以将所接收到的信息的部分或全部传输至另一自主运载工具。在一些实施例中,可以将来自自主运载工具的信息传输至链中的其它多个自主运载工具,使得该信息顺次分布在数个自主运载工具之中。
在一些实施例中,信息的交换是单向的(例如,自主运载工具直接或间接地向另一自主运载工具传输信息,但没有从该自主运载工具接收任何信息作为回报)。在一些实施例中,信息的交换是双向的(例如,自主运载工具直接或间接地向另一自主运载工具传输信息,并且也直接地或间接地从该自主运载工具接收信息作为回报)。
在一些实施例中,将来自一个自主运载工具的信息与队列中的每个其它自主运载工具交换。例如,如图42所示,将来自自主运载工具4202b的信息与其它自主运载工具102a和102c各自共享。在一些实施例中,将来自一个自主运载工具的信息与队列中的另一自主运载工具的子集交换。例如,如图1所示,将来自自主运载工具4202a的信息与另一自主运载工具102b共享,但不与另一自主运载工具102c共享。
在一些实施例中,在特定区域(例如,区域4206内)的自主运载工具之间选择性地交换信息。例如,可以在特定政治区域(例如,特定国家、州、县、省、市、镇、区或其它政治区域)、特定预定义区域(例如,具有特定预定义边界的区域)、临时定义区域(例如,具有动态边界的区域)或任何其它区域中的自主运载工具之间交换信息。在一些实施例中,在彼此邻近(例如,相对于彼此小于特定阈值距离)的自主运载工具之间选择性地交换信息。在一些情况下,不论区域或区域相对于彼此的接近度如何,都在自主运载工具之间交换信息。
自主运载工具4202a-c和/或计算机系统4200可以经由一个或多个通信网络交换信息。通信网络可以是可以传送和共享数据的任何网络。例如,通信网络可以是局域网(LAN)或诸如因特网等的广域网(WAN)。通信网络可以使用各种网络接口(例如,无线网络接口(诸如Wi-Fi、WiMAX、蓝牙(Bluetooth)、红外、蜂窝或移动网络、无线电等))来实现。在一些实施例中,自主运载工具4202a-c和/或计算机系统4200使用一个或多个网络接口经由多于一个的通信网络来交换信息。
可以在自主运载工具之间交换各种信息。例如,自主运载工具可以交换运载工具遥测数据(例如,包括由自主运载工具的一个或多个传感器获得的一个或多个测量值、读数和/或样本的数据)。运载工具遥测数据可以包括各种信息。作为示例,运载工具遥测数据可以包括从一个或多个传感器(例如,光电检测器、照相机模块、LiDAR模块、RADAR模块、交通灯检测模块、麦克风、超声波传感器、飞行时间(TOF)深度传感器、速率传感器、温度传感器、湿度传感器和降水传感器等)获得的数据。例如,这可以包括自主运载工具的传感器所捕获到的一个或多个视频、图像或声音。
作为另一示例,运载工具遥测数据可以包括与自主运载工具的当前条件有关的信息。例如,这可以包括与以下有关的信息:(例如,如由具有GNSS传感器的定位模块确定的)自主运载工具的地点、(例如,如由速率或速度传感器确定的)速率或速度、(例如,如由加速计确定的)加速度、(例如,如由高度计确定的)海拔高度、以及/或者(例如,如由罗盘或陀螺仪确定的)航向或朝向。这还可以包括与自主运载工具和/或其一个或多个子组件的状况有关的信息。例如,这可以包括指示自主运载工具正正常操作的信息、或者指示与自主运载工具的操作相关的一个或多个异常(例如,错误指示、警告、故障指示等)的信息。作为另一示例,这可以包括指示自主运载工具的一个或多个特定子组件正正常操作的信息、或者指示与这些子组件相关的一个或多个异常的信息。
作为另一示例,运载工具遥测数据可以包括与自主运载工具的历史条件有关的信息。例如,这可以包括与自主运载工具的历史地点、速率、加速度、海拔高度、以及/或者航向或朝向有关的信息。这还可以包括与自主运载工具和/或其一个或多个子组件的历史状况有关的信息。
作为另一示例,运载工具遥测数据可以包括与自主运载工具在特定地点和时间观察到的当前和/或历史环境条件有关的信息。例如,这可以包括与以下有关的信息:自主运载工具所观察到的道路的交通条件、自主运载工具所观察到的道路的关闭或障碍、自主运载工具所观察到的交通量和交通速率、自主运载工具所观察到的对象或危险、自主运载工具所观察到的天气、或者其它信息。
在一些实施例中,运载工具遥测数据包括获得观察结果或测量结果的特定地点和/或时间的指示。例如,运载工具遥测数据可以包括与各观察结果或测量结果相关联的地理坐标和时间戳。
在一些实施例中,运载工具遥测数据也指示运载工具遥测数据有效的时间段。例如,这可以是有用的,因为自主运载工具可以确定所接收到的数据是否足够“新鲜”(例如,在10秒、30秒、1分钟、5分钟、10分钟、30分钟、1小时、2小时、3小时、12小时或24小时内)以供使用,因此自主运载工具可以确定数据的可靠性。例如,如果自主运载工具检测到在其附近存在另一运载工具,则自主运载工具可以表明,与所检测到的运载工具有关的信息在相对较短的一段时间内是有效的(例如,由于预计所检测的运载工具将保持在特定地点并持续相对较短的一段时间)。作为另一示例,如果自主运载工具检测到存在标志(例如,停车标志),则自主运载工具可以表明,与所检测到的标志有关的信息在相对较长的一段时间内是有效的(例如,预计标志将保持在某地点并持续相对较长的一段时间)。实际上,根据运载工具遥测数据的性质,运载工具遥测数据有效的时间段可以变化。
自主运载工具4202a-c可以根据不同的频率、速率或模式来交换信息。例如,自主运载工具4202a-c可以周期性地(例如,以循环复发的方式,诸如按特定频率等)交换信息。作为另一示例,自主运载工具4202a-c可以间歇地或零星地交换信息。作为另一示例,如果满足一个或多个触发条件(例如,当自主运载工具收集到某些类型的信息时、在特定类型的时间、当发生某些事件时等),自主运载工具4202a-c可以交换信息。作为另一示例,自主运载工具可以连续地或基本上连续地交换信息。
在一些实施例中,自主运载工具4202a-c交换自身收集的信息的子集。作为示例,各自主运载工具4202a-c可以(例如,使用一个或多个传感器)收集信息,并且选择性地与一个或多个其它自主运载工具4202a-c交换所收集到的信息的子集。在一些实施例中,自主运载工具4202a-c交换自身收集的信息的全部或基本上全部。作为示例,各自主运载工具4202a-c可以(例如,使用一个或多个传感器)收集信息,并且选择性地与一个或多个其它自主运载工具4202a-c交换所收集的信息的全部或基本上全部。
自主运载工具之间的交换信息可以提高自主运载工具队列整体的冗余度,由此提高这些自主运载工具的操作的效率、安全性和有效性。作为示例,自主运载工具可以交换与特定路线的条件有关的信息,使得其它自主运载工具可以先发式地调整其操作,以考虑到这些条件和/或更好地预测路线的条件。
作为示例,图43示出区域4206中的两个自主运载工具4202a和4202b。自主运载工具4202a和4202b这两者都沿着道路4300(例如,分别沿方向4302a和4302b)行驶。在这些自主运载工具导航时,自主运载工具4202a和4202b各自收集与各自的操作和周围环境有关的信息(例如,运载工具遥测数据)。
在该示例中,在道路4300上存在危险4302。危险4304例如可以是道路4300的障碍、道路4300上或附近的对象、关于道路4300的交通模式的变化(例如,绕道或车道关闭)、或者可能影响运载工具的通过的另一其它条件。当领先的自主运载工具4202b遇到危险4302时,该自主运载工具4202b收集与危险4302有关的信息(例如,识别危险4302的性质的传感器数据和/或其它运载工具遥测数据、危险的地点、进行观察的时间等)。
如图44所示,自主运载工具4202b将所收集的信息的部分或全部(例如,以一个或多个数据项4306的形式)传输至计算机系统4200。如图45所示,反过来,计算机系统4200将所接收到的信息的部分或全部(例如,以一个或多个数据项4308的形式)传输至自主运载工具4202a。因此,尽管自主运载工具4202a沿着公路4300在自主运载工具4202a的后方且尚未遇到危险4304,但自主运载工具4202a可以获得与危险4304有关的信息。
使用该信息,自主运载工具4202a可以采取先发式措施来应对危险4302(例如,在其接近危险4302时减速,进行车道改变以避免危险4302,使用其传感器中的一个或多个来主动搜索危险4302等)。例如,如图46所示,在自主运载工具4202a接近危险4302时,自主运载工具4202a可以获得来自自主运载工具4202b的共享信息以及自主运载工具4202a本身(例如,基于其自身的传感器)收集的信息。使用该组合信息,自主运载工具4202a可以以更安全和更有效的方式穿过危险4302。
在一些实施例中,自主运载工具基于从一个或多个其它自主运载工具接收到的信息来修改其路线。例如,如果自主运载工具遇到障碍、拥塞、或者阻碍以安全和/或高效的方式在道路的特定部分上导航的任何其它条件,则其它自主运载工具可以修改其路线以避开道路的该特定部分。
作为示例,图47示出区域4206中的两个自主运载工具4202a和4202b。自主运载工具4202a和4202b这两者都沿着道路4700(例如,分别沿方向4702a和4702b)行驶。在这些自主运载工具导航时,自主运载工具4202a和4202b各自收集与各自的操作和周围环境有关的信息(例如,运载工具遥测数据)。
在该示例中,自主运载工具正计划使用道路4700沿着(由虚线表示的)路线4706导航到目的地地点4704。然而,道路4700被危险4708阻碍,从而妨碍了通过该危险的交通的有效和/或安全流动。当领先的自主运载工具4202b遇到危险4708时,自主运载工具4202b收集与危险4708有关的信息(例如,标识危险4302的性质的传感器数据和/或其它运载工具遥测数据、危险的地点、进行观察的时间等)。此外,基于所收集到的信息,自主运载工具4202b可以确定为不能以安全和/或高效的方式穿过危险4708(例如,危险4708完全阻断道路4700,使通过交通减速到一定程度,使道路不安全通行等)。
如图48所示,自主运载工具4202b将所收集的信息的部分或全部(例如,以一个或多个数据项4710的形式)传输至计算机系统4200。如图49所示,反过来,计算机系统4200将所接收到的信息的部分或全部(例如,以一个或多个数据项4712的形式)传输至自主运载工具4202a。因此,尽管自主运载工具4202a沿着道路4700在自主运载工具4202a的后方且尚未遇到危险4708,但自主运载工具4202a可以获得与危险4708有关的信息(例如,表明不能以安全和/或高效的方式穿过危险4708的信息)。
基于该信息,自主运载工具4202a可以修改其到达地点4704的路线。作为示例,自主运载工具4202a可以基于来自自主运载工具4202b的信息来确定使用原始路线4706导航到地点4704所需的时间长度(例如,包括与穿过危险4708相关联的时间延迟)。此外,自主运载工具4202a可以确定用于导航到地点4704的一个或多个备选路线(例如,避开道路的具有危险478的部分的一个或多个路线)。如果可以在较短的时间量内穿过特定备选路线,则自主运载工具4202a可以修改其计划路线以与备选路线一致。
作为示例,自主运载工具4202a基于来自自主运载工具4202b的信息,可以确定为道路4700的具有危险4708的部分是不可通行的和/或不能安全地穿过。此外,自主运载工具4202a可以确定不利用道路4700的具有危险4708的部分的、用于导航到地点4704的一个或多个备选路线。基于该信息,自主运载工具4202a可以修改其计划路线以与备选路线一致。
例如,如图50所示,自主运载工具4202a可以基于从自主运载工具4202b接收到的信息,确定为道路4700具有危险4708的部分是不可通行的和/或不能安全地穿过。作为响应,自主运载工具4202a可以确定绕过道路4700的具有危险4708的部分的备选路线4714(例如,利用其它道路4716的路线)。因此,即使自主运载工具4202a尚未遇到危险4708本身,自主运载工具4202a也可以使用路线4714导航到地点4704并避开危险4708。
尽管图43-46和47-50示出与危险有关的信息的交换,但这些附图仅是例示性示例。实际上,自主运载工具可以交换与其周围环境的任何方面有关的信息,以增强自主运载工具整体的操作。作为示例,自主运载工具可以交换与以下有关的信息:沿着特定路线观察到的交通或拥塞、沿着特定路线观察到的标志、沿着特定路线观察到的地标(例如,建筑物、树木、企业、交叉口、人行横道等)、沿着特定路线观察到的交通模式(例如,流向、交通车道、绕道、车道关闭等)、沿着特定路线观察到的天气(例如,雨、雪、雨夹雪、冰、风、雾等)、或者任何其它信息。作为进一步的示例,自主运载工具可以交换与环境的变化有关的信息(例如,沿着特定路线的交通或拥塞的变化、沿特定路线的标志的变化、沿特定路线的地标的变化、沿特定路线的交通模式的变化、沿特定路线的天气的变化、或者任何其它变化)。此外,自主运载工具可以交换表示做出观察结果的地点、做出这些观察结果的时间和这些观察有效的时间段的信息。因此,各自主运载工具不仅可以获得自身收集的信息,而且还可以获得一个或多个其它自主运载工具所收集到的信息,由此使得该自主运载工具能够以更安全和更有效的方式穿过环境。
此外,尽管图43-46和47-50示出通过中介计算机系统4200的信息交换,但并非必须如此。例如,自主运载工具4202a和4202b可以从另一中介机构(例如,一个或多个其它自主运载工具)、或者(例如,经由对等网络连接)直接与彼此交换信息。
在一些实施例中,两个或更多个自主运载工具在导航到各自的目的地时形成“排”(platoon)。一排自主运载工具例如可以是在一段时间内彼此接近地行驶的一组两个或更多个自主运载工具。在一些实施例中,一排自主运载工具是在某些方面彼此类似的一组两个或更多个自主运载工具。作为示例,排中的各个自主运载工具均可以具有与排中的其它自主运载工具相同的硬件配置(例如,相同的运载工具制造商、运载工具模型、运载工具形状、运载工具尺寸、内部布局、传感器配置、内在参数、车载计算基础设施、运载工具控制器、和/或与另一运载工具或服务器的通信带宽)。作为另一示例,排中的各个自主运载工具均可以具有来自有限的或预定义的硬件配置池中的特定硬件配置。
在一些实施例中,一排自主运载工具可以行驶,使得这些自主运载工具占据一个或多个共同的交通车道(例如,在单个车道的单个线中、或者在沿着多个车道的多个线中),在特定区域(例如,特定地区、城市、州、国家、大陆或其他区域)内行驶,以及/或者维持与其前方或后方的自主运载工具大致类似的距离。在一些实施例中,按排行驶的自主运载工具(例如,由于改进了的空气动力特性、更少的减速等)与单独行驶的自主运载工具相比消耗更少的功率(例如,消耗更少的燃料和/或更少的电力)。
在一些实施例中,排中的一个或多个自主运载工具指导排中的一个或多个其它自主运载工具的操作。例如,排中的领先自主运载工具可以代表排确定路线、速率、行驶车道等,并且指示排中的其它自主运载工具相应地操作。作为另一示例,排中的领先自主运载工具可以确定路线、速率、行驶车道等,并且排中的其它自主运载工具可以(例如,在单个文件线中或者在沿着多个车道上的多个线中)跟随领先自主运载工具。
在一些实施例中,自主运载工具基于与彼此的某些类似性形成排(formplatoons)。例如,如果自主运载工具位于类似的地点、具有类似的目的地地点、正计划导航类似路线(部分或部分)和/或其它相似性,则这些自主运载工具可以形成排。
作为示例,图51示出区域4206中的两个自主运载工具4202a和4202b。自主运载工具4202a正计划导航到地点5100a,并且自主运载工具4202b正计划导航到地点5100b。
自主运载工具4202a和4202b交换与它们计划行驶到各自的目的地地点有关的运载工具遥测数据。例如,如图51所示,自主运载工具4202a和4202b各自将运载工具遥测数据(例如,分别以一个或多个数据项5102a和5102b的形式)传输至计算机系统4200。运载工具遥测数据例如可以包括自主运载工具的当前地点、其目的地地点、其航向或朝向、以及其计划导航到目的地地点的路线。
基于所接收到的信息,计算机系统4200确定自主运载工具4202a和4202b是否应彼此形成排。在确定自主运载工具是否应形成排时可以考虑各种因素。作为示例,如果两个或更多个自主运载工具彼此更接近,则这可以有利于形成排。相反,如果两个或更多个自主运载工具彼此距离更远,则这可能不利于形成排。
作为另一示例,如果两个或更多个自主运载工具的目的地地点彼此更接近,则这可以有利于形成排。相反,如果两个或更多个自主运载工具的目的地地点彼此距离更远,则这可能不利于形成排。
作为另一示例,如果两个或更多个自主运载工具具有类似的计划路线(或其计划路线的一部分类似),则这可以有利于形成排。相反,如果两个或更多个自主运载工具具有不同的计划路线(或其计划路线的一部分是不同的),则这可能不利于形成排。
作为另一示例,如果两个或更多个自主运载工具具有类似的航向或朝向,则这可以有利于形成排。相反,如果两个或更多个自主运载工具具有不同的航向或朝向,则这可能不利于形成排。
在本示例中,自主运载工具4202a和4202b的当前地点、其目的地地点及其计划路线大致类似。因此,计算机系统4200向自主运载工具4202a和4202b传输指令以彼此形成排(例如,通过向自主运载工具4202a传输指令5104a以与自主运载工具4202b形成排,并且向自主运载工具4202b传输指令5104B以与自主运载工具4202a形成排)。
如图53所示,作为响应,自主运载工具4202a和4202b形成排,并且(例如,通过在特定地点集合并且集体朝方向5104前进)来集体朝向各自的目的地地点导航。
在图51-53所示的示例中,自主运载工具4202a和4202b通过中介机构计算机系统4200交换信息。然而,并非必须如此。例如,在一些实施例中,自主运载工具直接彼此交换信息,并且在没有来自远程计算机系统的明确指令的情况下彼此形成排。
例如,图54示出区域4206中的两个自主运载工具4202a和4202b。自主运载工具4202a正计划导航到地点5400a,并且自主运载工具正计划导航到地点5400b。
自主运载工具4202a和4202b直接与彼此交换与它们计划行驶到各自的目的地地点有关的运载工具遥测数据。例如,如图54所示,自主运载工具4202a和4202b各自(例如,分别以一个或多个数据项5402a和5402b的形式)向另一个传输运载工具遥测数据。运载工具遥测数据例如可以包括自主运载工具的当前地点、其目的地地点、其航向或朝向、以及其计划导航到目的地地点的路线。
基于所接收到的信息,自主运载工具4202a和4202b中的一个或两个可以确定是否形成排。如上所述,在确定自主运载工具是否形成排时,可以考虑各种因素(例如,在自主运载工具的当前地点、自主运载工具的目的地地点、航向或朝向、以及/或者自主运载工具的计划路线方面的类似性)。
在一些实施例中,自主运载工具确定是否与一个或多个其它自主运载工具形成排,并且如果与一个或多个其它自主运载工具形成排,则向这些自主运载工具传输邀请以加入排。各被邀请的自主运载工具可以接受该邀请并加入排,或者拒绝该邀请并在无排的情况下继续前进(例如,与另一排行驶或单独行驶)。
在该示例中,自主运载工具4202a和4202b的当前地点、其目的地地点及其计划路线大致类似。基于该信息,自主运载工具4202b确定为自主运载工具4202b应与自主运载工具4202a形成排,并且向自主运载工具4202a传输邀请5106以加入该排。
如图55所示,作为响应,自主运载工具4202a可以向接受邀请的自主运载工具4202b传输响应5108。如图56所示,响应于接受邀请,自主运载工具4202a和4202b形成排,并且(例如,通过在特定地点集合并且集体朝方向5104前进)来集体朝向各自的目的地地点导航。
尽管图51-53和54-56示出形成排的两个自主运载工具的示例,但这些自主运载工具仅是例示性示例。实际上,任何数量的自主运载工具都可以形成排(例如,两个、三个、四个或更多个)。
此外,在一些实施例中,根据情形,自主运载工具动态地加入和/或离开排。例如,一个自主运载工具可以加入排,以在路线的该自主运载工具和该排的自主运载工具共同的特定部分中导航。然而,当自主运载工具的路线偏离排的其它自主运载工具时,该自主运载工具可以离开该排,并且加入另一排或单独继续到达目的地。
如以上(例如,关于图51-53和54-56)所述,另外两个自主运载工具可以彼此形成排以导航到各自的目的地。然而,实际上,排还可以包括不是自主的一个或多个运载工具以及/或者不是完全自主的一个或多个运载工具。此外,排可以包括能够进行完全自主操作、但当前正以“手动”模式操作(例如,正由人类乘员手动操作)的一个或多个自主运载工具。当手动操作的运载工具是排的一部分时,可以根据排向人类乘员提供与她的运载工具的操作有关的指令(例如,用以在特定时间导航到特定地点、等待其它运载工具、在特定行驶车道中行驶、以特定速率行驶、维持与该自主运载工具前方或后方的特定距离等的指令)。在一些实施例中,这些指令是由计算机系统(例如,计算机系统4200)生成并(例如,使用乘员的移动电子装置(诸如智能电话等)、以及/或者运载工具中的车载电子装置)呈现给运载工具的乘员以供执行的。
图57示出用于在自主运载工具之间交换信息的示例处理5700。处理5700可以至少部分使用本文所述的系统中的一个或多个(例如,使用一个或多个计算机系统、AV系统、自主运载工具等)来进行。在一些实施例中,处理5700部分或全部由具有一个或多个传感器(例如,一个或多个LiDAR传感器、RADAR传感器、光电检测器、超声传感器等)的自主运载工具来进行。
在处理5700中,第一自主运载工具基于从一个或多个传感器接收到的数据来确定第一自主运载工具的操作的方面(步骤5710)。作为示例,第一自主运载工具可以收集和/或生成与以下有关的运载工具遥测数据:规划行驶路线;识别周围环境中的对象(例如,另一运载工具、标志、行人、地标等);评价道路的条件(例如,识别沿着第一自主运载工具所要穿过的道路的交通模式、拥塞、绕道、危险、障碍等);对自主运载工具的环境中的标志的解释;或者与操作第一自主运载工具相关联的任何其它方面。
在一些实施例中,从一个或多个传感器接收到的数据包括自主运载工具的环境中的对象(例如,其它运载工具、行人、屏障、交通控制装置等)和/或道路的条件(例如,坑洼、地表水/冰等)的指示。在一些实施例中,传感器检测接近于运载工具的对象和/或道路条件,从而使得运载工具能够更安全地在环境中导航。该信息可以与其它运载工具共享,从而改善整体操作。
第一自主运载工具还接收源自一个或多个其它自主运载工具的数据(步骤5720)。例如,第一自主运载工具可以从诸如以下等的一个或多个其它自主运载工具接收运载工具遥测数据:附近的自主运载工具、特定自主运载工具队列中的其它自主运载工具、以及/或者过去穿过了道路的特定路段或特定路线的自主运载工具。
第一自主运载工具使用该确定和所接收到的数据来执行操作(步骤5730)。例如,第一自主运载工具所收集或生成的信息可以用源自其它自主运载工具的数据来丰富或补充,以改善其整体操作(例如,规划更高效的行驶路线、更准确地识别周围环境中的对象、更准确地评价道路的条件、更准确地解释自主运载工具的环境中的标志等)。
在一些实施例中,第一自主运载工具还与一个或多个其它自主运载工具共享该第一自主运载工具收集或生成的信息。例如,第一自主运载工具可以将从一个或多个传感器接收到的数据的至少一部分数据传输到其它自主运载工具至少之一。因此,第一自主运载工具可获得的数据可以与其它自主运载工具共享,从而改善其整体操作。
在一些实施例中,源自一个或多个其它自主运载工具的数据包括源自该一个或多个其它自主运载工具的数据为有效的时间段的指示。这例如可以是有用的,因为自主运载工具可以确定所接收到的数据是否足够“新鲜”以供使用,使得该自主运载工具可以确定数据的可靠性。
在一些实施例中,第一自主运载工具接收到的数据所来自的一个或多个其它自主运载工具可能在该第一自主运载工具穿过该道路之前已穿过了该道路。此外,源自一个或多个其它自主运载工具的数据包括当一个或多个其它自主运载工具穿过道路时的道路条件的指示。这例如可以是有用的,因为传感器数据在穿过相同道路的自主运载工具之间共享,因而更有可能与各个自主运载工具有关。
在一些实施例中,源自一个或多个其它自主运载工具的数据包括一个或多个其它自主运载工具所穿过的一个或多个路径的指示。这例如可以是有用的,因为自主运载工具可以共享规定路线数据以改进规定路线决定。
在一些实施例中,源自一个或多个其它自主运载工具的数据包括对沿着一个或多个其它自主运载工具所穿过的一个或多个路径的交通模式进行的一个或多个修改的指示。这例如可以是有益的,因为自主运载工具可以共享交通模式的变化(诸如单向街道变成双向街道等),以改善其它运载工具的将来规定路线。
在一些实施例中,源自一个或多个其它自主运载工具的数据还包括沿着一个或多个其它自主运载工具所穿过的一个或多个路径的一个或多个障碍物或障碍的指示。这例如可以是有用的,因为自主运载工具可以共享与障碍物或障碍(诸如所观察到的坑洼或屏障等)有关的信息,以改进其它自主运载工具的将来规定路线。
在一些实施例中,源自一个或多个其它自主运载工具的数据包括针对沿着一个或多个其它自主运载工具所穿过的一个或多个路径的一个或多个对象的变化的指示。例如,运载工具可以共享与道路侧的地标(诸如树木或标志等)有关的信息,以改进其它运载工具的将来规定路线。
在一些实施例中,自主运载工具与一个或多个其它自主运载工具形成排,并且集体朝向各自的目的地地点导航。例如,第一自主运载工具基于源自一个或多个其它自主运载工具的数据,可以确定为一个或多个其它自主运载工具的目的地与第一自主运载工具的目的地类似。响应于该确定,第一自主运载工具可以向一个或多个其它自主运载工具传输请求或邀请,以形成排。这例如可以是有用的,因为向同一地点行驶的运载工具可以“排队”行驶到该地点以消耗更少的功率(例如,消耗更少的燃料和/或更少的电力)。
在一些实施例中,源自一个或多个其它自主运载工具的数据包括一个或多个其它自主运载工具的环境的条件的指示。因此,自主运载工具可以从其它运载工具接收与其周围环境有关的信息,从而提高传感器系统的可靠性/冗余性。
在一些实施例中,自主运载工具基于与从一个或多个其它自主运载工具接收到的环境条件有关的信息来调整其计划行驶路线。例如,第一自主运载工具可以基于一个或多个其它自主运载工具的环境的条件的指示来修改其路线。因此,这使得自主运载工具能够基于从其它自主运载工具接收到的信息来重新规定自身的路线。
在一些实施例中,源自一个或多个其它自主运载工具的数据包括一个或多个其它自主运载工具的状况。一个或多个其它自主运载工具的状况可以包括与以下有关的信息:一个或多个其它自主运载工具的地点、一个或多个其它自主运载工具的速率或速度、或者一个或多个其它自主运载工具的加速度。这例如可以是有益的,因为该状况使得运载工具能够共享遥测数据,使得运载工具可以相对于彼此更一致地操作。
在一些实施例中,自主运载工具经由诸如中央计算机系统等的中介机构交换信息。作为示例,第一自主运载工具可以使用第一自主运载工具的通信引擎(例如,Wi-Fi、WiMAX或蜂窝收发器)向被配置为控制第一自主运载工具以及一个或多个其它自主运载工具的操作的外部控制系统(例如,用于协调多个自主运载工具的操作的中央控制系统)传输信息和/或从该外部控制系统接收信息。这使得运载工具能够与中央控制系统交换信息,从而改善整体操作。
在一些实施例中,自主运载工具(例如,经由对等连接)直接交换信息。作为示例,第一自主运载工具可以使用第一自主运载工具的通信引擎(例如,Wi-Fi、WiMAX或蜂窝收发器)来通过一个或多个对等网络连接向一个或多个自主运载工具传输信息和/或接收信息。这使得运载工具能够在无需中央计算机系统的情况下临时与其它运载工具交换信息,从而提高了操作的灵活性。
外部无线通信装置
在实施例中,可以使用由位于自主运载工具外部的一个或多个无线通信装置提供的信息来在自主运载工具中实现冗余。如本文所使用的,“无线通信装置”意味着使用一个或多个无线通信协议和技术来相对于一个或多个自主运载工具传输和/或接收信息的任何装置,该一个或多个无线通信协议和技术包括但不限于:蓝牙、近场、Wi-Fi、红外、自由空间光、声学、寻呼、蜂窝、卫星、微波和电视、无线电广播和专用短距离无线电通信(DSRC)无线协议。位于自主运载工具外部的无线通信装置在下文被称为“外部”无线通信装置,并且位于自主运载工具上或中的无线通信装置在下文被称为“内部”无线通信装置。无线通信装置可以安装在物理结构(例如,建筑物、桥、塔、桥、交通灯、交通标志、广告牌)、道路路段、运载工具、无人机、移动装置(例如,智能电话、智能手表、健身带、平板计算机、识别腕带)上或中,并且由人类或其它动物携带或穿戴(例如,系于宠物项圈)。在实施例中,无线通信装置可以接收和/或发送在从约1MHz至约10GHz的频率范围内的射频(RF)信号。
在一些实施例中,外部无线通信装置被配置为使用一个或多个无线通信协议来将信号(单向的)通过无线通信介质广播至一个或多个自主运载工具。在这样的实施例中,外部无线通信装置无需与自主运载工具的内部无线通信装置配对或“握手”。在其它实施例中,外部无线通信装置与内部无线通信装置“配对”以建立与内部无线通信装置的双向通信会话。内部无线通信装置包括接收器,该接收器对信号中的一个或多个消息进行解码,并从这些消息中解析或提取一个或多个有效载荷(以下称为“外部消息”)。如参考图58-60所述,有效载荷包括用于在自主运载工具中实现冗余的内容。
外部消息可以具有任何期望的格式,其中如参考图5所述,该格式包括但不限于头部、有效载荷以及检错和纠错码。在实施例中,在内部无线通信装置可以从消息中提取有效载荷之前,需要一个或多个认证步骤。在实施例中,有效载荷是加密的,因此必须在由内部无线通信装置使用加密密钥或其它秘密信息读取之前被解密。在其它实施例中,有效载荷在无认证或加密的情况下(例如,公共广播消息)可由公众访问。如以下进一步详细所述,有效载荷的内容用于为自主运载工具所进行的包括但不限于规划、定位、感知和控制功能的各种功能提供冗余。
图58示出根据实施例的、用于使用由一个或多个外部无线通信装置提供的一个或多个外部消息来在自主运载工具中实现冗余的系统5800的框图。系统5800包括具有与外部无线通信装置5802-5805进行通信的内部无线通信装置5801的AV 100。无线通信装置5802-5805分别通过通信链路5806a-5806b向AV 100通信一个或多个外部消息。在所示的示例中,装置5802安装在AV 100之后的另一运载工具5807中,装置5804是发射塔发射器,装置5805是路边RF信标,并且装置5803是用户5808携带或穿戴的移动装置(例如,智能电话或可穿戴计算机)。各个装置5802-5805有线地或无线地耦接至为与AV 100的操作域有关的外部消息提供内容的一个或多个信息源。信息源的一些示例包括但不限于:存储装置、传感器、信令系统和在线服务。示例传感器是安装在建筑物上的捕获特定地理区域(例如,街道交叉口)的图像的立体照相机、或者位于道路路段上的速率传感器。示例信令系统是街道交叉口处的交通信号。在线服务的一些示例包括但不限于:交通服务、政府服务、运载工具制造商或OEM服务、供软件更新用的空中(OTA)服务、远程操作者服务、天气预报服务、娱乐服务、导航辅助服务等。在所示示例中,发射塔5804通过网络5809a耦接至在线服务5810a,路边RF信标5805通过网络5809b耦接至在线服务5810b,并且还耦接至存储装置5811和速率传感器5812。
在实施例中,外部无线通信装置5805是位于道路路段上且耦接至一个或多个速率传感器5812以检测AV 100的速率的路边RF信标。当AV 100位于路边RF信标5805的通信范围内时,AV 100接收并解码由外部无线通信装置5805通过通信链路5806c广播的RF信号。在实施例中,RF信号包括有效载荷,该有效载荷包括由一个或多个速率传感器5812生成的AV100的速率数据。AV 100将从无线通信装置5805接收到的速率数据与配置在AV 100上的速度计或其它传感器所检测到的速率进行比较。如果检测到速率数据之间的差异,则AV 100推断出AV 100的车载传感器(例如,速度计)或子系统故障,并且进行“安全停止”机动动作或其它合适的动作(例如,减速)。
在另一实施例中,(在该示例中跟随AV 100的)运载工具5807上所安装的的外部无线通信装置5802可以向AV 100发送外部消息,该消息包括如由运载工具5807的车载传感器(例如,LiDAR、立体照相机)所观察到的AV 100的驾驶状态。驾驶状态可以包括运载工具5807所观察到的AV 100的多个驾驶参数,这些驾驶参数包括但不限于速率、车道信息、异常转向或制动模式等。可以在通过通信线路5806a传输到AV 100的外部消息的有效载荷中发送运载工具5807的传感器所捕获到的该信息。当接收到时,AV 100将该外部生成的驾驶状态与其内部生成的驾驶状态进行比较,以发现驱动参数之间的任何差异。如果发现差异,AV100可以发起“安全停止”机动动作或另一动作(例如,减速,将AV 100转向进入不同的车道)。例如,来自运载工具5807的外部信息可以包括表明AV 100正在高速公路的车道1中行驶的驾驶状态,其中AV 100的车载传感器可以表明AV 100由于系统或传感器故障而在高速公路的车道2中行驶。在该示例中,外部消息提供了可用于将AV 100转向至正确的车道1或者进行如减速等的一些其它动作或者进行“安全停止”机动动作的冗余控制信息。
在实施例中,外部无线通信装置可用于对AV 100的操作强制执行限速或一些其它约束。例如,执法部门或州、市或市政当局可以通过将防止AV在学校区域内或施工工地附近时绕过限速的控制信息通过外部无线通信装置传输至AV,来在学校区域或施工区中强制执行30mph的限速。类似地,AV 100可以自动调整其通风系统以关闭通风口并再循环空气以避免灰尘进入运载工具。在另一示例中,无线通信装置用于通过计算距离测量值来将AV 100安全地引导进入(例如,通过导线引导进入)装载区、充电站或其它停车场所。
在另一示例中,外部无线通信装置5803-5805可以广播与自身所处的特定地理区域有关的信息。例如,外部无线通信装置5803-5805可以在进入学校区域、施工工地、装载区、无人机着陆口、列车路轨交叉、桥梁、隧道等时向AV 100广告。这样的地点外部信息可用于更新地图、路由和场景描述,并且在需要时可能地使AV 100置于警报模式。例如,位于学校区域的外部无线通信装置可以广告学校当前正在上课,因此许多学生可能在学校区域中漫游。该信息可能不同于由AV 100的感知模块提供的场景描述。如果检测到差异,则可能存在系统或传感器故障,并且可以命令AV 100减速、改变其路线或车道和/或调整其传感器和/或扫描速率,以避免与学生发生碰撞。在另一示例中,位于施工区的外部无线通信装置可以广告施工活动正在进行中,并且如果施工区未包括在场景描述中,则可以命令AV 100减速、改变车道和/或计算绕道路线,以避开施工区以及与施工工人和/或重型机械的可能碰撞。
在实施例中,外部无线通信装置耦接至诸如照相机、LiDAR、RADAR等的一个或多个感知传感器。在实施例中,外部无线通信装置5804位于高位置,以提供AV 100所行驶的道路路段的一部分的无障碍视图。在所示示例中,外部无线通信装置5804放置在公用塔上以向AV 100提供场景描述。AV 100将外部生成的场景描述与其内部生成的场景描述进行比较,以确定对象是否正从指示潜在传感器故障的内部生成的场景描述中缺失。例如,由于AV的LiDAR部分被对象(例如,大型卡车)部分遮挡,因此内部生成的场景描述可以不包括道路路段上的让路标志。在该示例中,比较外部和内部生成的场景描述将发现缺失的让路标志,使得通过减速或停止来控制AV 100遵守让路标志,直到AV 100的车载传感器表明AV 100可以继续为止。
在实施例中,外部无线通信装置耦接至交通灯,并将表示交通灯状态的信号发送至AV 100。例如,当AV 100接近交叉口时,AV 100可以与耦接至交通灯的外部无线通信装置建立连接,以接收指示交通灯的当前状态的信号。如果外部交通灯状态不同于AV 100所感知到的(例如,使用其车载照相机传感器所感知到的)交通灯状态,则AV 100可以减速或发起“安全停止”机动动作。在另一示例中,耦接至交通灯的外部无线通信装置可以传输指示交通信号将改变的时间的外部消息,从而允许AV 100进行诸如在信号改变之前停止或重新启动其引擎以节省电力等的操作。
在另一实施例中,外部无线通信装置5803是行人或动物所携带或穿戴的便携式装置(例如,移动电话、智能手表、健身带、识别装置)。例如,外部无线通信处理器5803可以将行人的地点(或距离)和/或速率发送至AV 100。AV 100可以将行人的地点与内部生成的场景描述进行比较。如果存在差异,则AV 100可以进行“安全停止”机动动作或其它动作。在一些实施例中,外部无线通信装置5803可被编程为提供例如表明穿戴者是儿童、身体受损者、老年人、宠物等的识别信息。在另一示例中,来自由运载工具在无线信号扫描中接收到的大量外部无线通信装置的信号强度可用于指示由于传感器故障或由于传感器受损(例如被对象遮挡)而可能未被包括在内部生成的场景描述中的人群。
在实施例中,AV 100的无线通信装置5801与三个外部无线通信装置建立连接,并且使用外部无线通信装置的信号强度测量和广告地点来例如使用三边测量算法确定AV100的位置。在另一实施例中,AV 100的位置可以由蜂窝网络或外部传感器(例如,外部照相机)估计,并且在外部消息的有效载荷中被提供至AV 100。AV 100可以将从由外部无线通信装置提供的信息生成的位置与由车载GNSS接收器或照相机使用视觉测程所计算出的AV100的位置进行比较。如果传感器出现故障或提供差的导航解决方案(例如,高水平位置误差),则使用外部生成的信息所确定的位置可以由AV 100在“安全停止”机动动作或其它动作中使用。
在实施例中,停放的且配备有无线通信装置的运载工具用于形成用于向AV 100提供位置信息的自组织无线网络。例如,位于同一地理区域并属于同一队列服务的停放的或停用的运载工具可用于提供对GNSS接收器冗余的基于短距离通信的定位服务、以及由AV100进行的视觉测程定位技术。停放的或停用的运载工具可以将它们的地点传输至云,使得队列可以确定它们的地点或将它们的地点直接发送至AV 100。由停放的或停用的运载工具所传输的RF信号可以连同停放的或停用的运载工具的已知地点一起由AV 100使用,以确定AV 100的地点。
图59例示根据实施例的外部消息格式5900。外部消息格式5900包括头部5902、公共消息5904、一个或多个私人(例如,加密)消息5906、以及检错/纠错码5906。公共消息5904以及一个或多个私人消息5906被统称为外部消息的“有效载荷”。
头部5902包括可以由无线通信接收器用于解析和解码外部消息的元数据,该元数据包括但不限于时间戳以及各有效载荷的数量、类型和大小。公共信息5904是未加密的,并且包括任一无线通信接收器可以利用的内容,该内容包括但不限于交通条件信息、安珀警报(Amber alert)、天气报告、公共服务通告等。在实施例中,一个或多个私人消息5906是加密的,并且包括被授权访问内容的无线通信接收器可以利用的内容,该内容包括但不限于更详细的交通和天气报告、定制娱乐内容、指向网站或门户的URL等。
在实施例中,外部消息格式5900包括由不同的服务提供商提供的内容的私人消息5906,并且各私人消息均需要可被提供至服务的订阅者的用以解密的私钥。该特征允许不同的AV队列服务使用和共享单个外部消息以将它们各自的私人消息5906递送至它们的订阅者基础。各队列服务可以将私钥提供至其订阅者以在外部消息中获得在私人消息5906中递送的增强或高级内容。该特征允许单个外部无线通信装置递送针对各种不同内容提供商的内容、而不是各内容提供商安装自身的专有无线通信装置。例如,城市可以安装和操作无线通信装置,然后将外部消息中的私人消息位置许可给内容提供商以获得许可费。
在实施例中,外部消息可以由单个运载工具从外部无线通信装置接收,然后由单个运载工具转播到单个运载工具的附近内的其它运载工具,因此在不在外部无线通信装置的覆盖范围内的地理区域中以病毒方式传播外部消息。
图60示出根据实施例的用于使用由一个或多个外部无线通信装置提供的外部信息来在自主运载工具中提供冗余的示例处理300。在实施例中,一种方法包括:由AV在环境中进行AV的自主驾驶功能(例如,定位、规划、感知、控制功能)(6001);由AV的内部无线通信装置从位于环境中的(例如,安装在另一运载工具中的、在行人或动物上携带或穿戴的、安装在公用塔上的)外部无线通信装置(例如,RF信标、红外装置、自由空间光学装置、声学装置、微波装置)接收外部消息(6002);利用AV的一个或多个处理器,将功能的输出与外部消息的内容或者与基于该内容所生成的数据进行比较(6003)(例如,比较场景描述、比较AV的位置坐标、比较驾驶状态);以及根据比较的结果,使得AV进行机动动作(6004)(例如,进行安全停止机动动作、改变AV的速率、应用制动、发起车道改变)。
替换冗余组件
由于用于进行自主功能(诸如感知等)的大量附加组件(例如,传感器、ECU、致动器),因此难以维护大的AV队列。为了使队列运载工具的正常运行时间最大化,需要迅速更换已损坏或需要升级的AV组件。如个人计算机那样,AV可以利用“即插即用”(PnP)技术来减少AV在维修店的时间量。使用PnP,可以在无需物理装置配置或解决资源冲突的技术人员干预的情况下自动发现添加至AV的硬件组件。
然而,不同于个人计算机,AVS可能在其关键系统中内置冗余。在一些情况下,冗余组件需要与冗余模型兼容,以确保AV的安全操作。例如,如前面参考图13-29所述,一个传感器可以使用另一传感器所输出的数据来确定这些传感器其中之一是否已故障或将来将故障。如果安装了对AV的另一组件冗余的不兼容的替换组件、并且该替换组件依赖于来自另一组件的数据,则该替换组件可能导致AV故障。
兼容性可以包括但不限于:规范中的兼容性(例如,硬件、软件和传感器属性)、版本兼容性、兼容数据速率和算法兼容性(例如,匹配/检测算法)。例如,替换立体照相机可以使用与相应LiDAR传感器中使用的匹配算法相同的匹配算法,其中冗余模型要求两个算法不同。
为了解决冗余不兼容,代替基本的PnP配置处理或者除了基本的PnP配置处理之外,还进行单独的冗余配置处理。在实施例中,冗余配置处理包括基本PnP配置步骤,但还进行附加步骤以检测替换组件是否违反冗余模型。
在实施例中,添加至AV的组件是PnP兼容的,使得组件能够相对于AV操作子系统(OS)识别自身,并且能够接受来自AV OS的资源指派。作为该识别的一部分,可以将特性列表提供至AV OS,该特性列表足够详细地描述组件的能力,使得AV OS可以确定组件是否违反冗余模型。一些示例特性包括但不限于:硬件的制造商、型号和版本、以及在组件使用软件/固件的情况下的组件的软件/固件版本。其它特性可以是组件特定的性能规范,诸如LiDAR传感器的范围、分辨率、准确度和目标检测算法、或者立体照相机的传感器分辨率、深度分辨率(对于z轴)、位深度、像素大小、帧速率、焦距、视野(FOV)、曝光范围和匹配算法(例如,OpenCV块匹配器、OpenCV SGBM匹配器)等。
在实施例中,在主机计算机上运行的非易失性固件(例如,基本输入/输出服务(BIOS))包括收集与AV中的不同组件有关的信息并向这些组件分配资源的例程。固件还将该信息通信至AV OS,AV OS使用该信息来配置其驱动程序和软件,以使AV组件根据冗余模型正确地工作。在实施例中,AV OS设置AV应用所要使用的组件所需的组件的装置驱动程序。AV OS还与AV的驾驶员(或者与修理店中的技术人员)进行通信,从而向她通知配置的改变并且允许技术人员在需要的情况下对资源设置做出改变。该通信可以通过AV中的显示器、通过诊断设备的显示器、AV远程信息数据流、或者通过任何其它合适的输出机构。
图61示出用于替换AV中的冗余组件的示例架构6100的框图。在实施例中,架构6100包括通信接口6101、计算平台6102、主机处理器6103、存储装置6104、以及组件集线器6105a和6105b。组件集线器6105a耦接至组件6107、6108和6109。组件集线器6105b耦接至组件6110和6111。组件集线器6105b还包括用于接收新组件6113以替换损坏的组件(例如损坏的照相机)的额外插槽/端口6112。在实施例中,各组件集线器6105a、105b作为数据集中器和/或数据从组件到计算平台6102(例如,自动驾驶服务器)的路由器工作。
在所示示例中,通信接口6101是为“I/O虚拟化”提供硬件支持的外围组件互连表达(PCIe)交换机,这意味着上层协议是从物理连接(例如,HDBaseT连接)抽象得到的。组件可以是具有PnP能力的任何硬件装置,其包括但不限于:传感器、致动器、控制器、扬声器、I/O装置等。
在实施例中,PnP功能由BIOS固件在启动过程期间进行。在启动过程的适当步骤中,BIOS将遵循用以发现和配置AV中的PnP组件的过程。示例基本PnP配置包括以下步骤:1)创建可用的中断请求(IRQ)、直接内存访问(DMA)通道和I/O地址的资源表,其中排除了为系统组件所保留的任何IRQ、DMA通道和I/O地址;2)在AV总线或交换机上搜索和识别PnP和非PnP装置;3)加载非易失性存储器中所存储的最后一个已知系统配置;4)将当前配置与最后一个已知配置进行比较。如果当前配置和最后一个已知配置不变,则5)继续启动。
如果当前配置和最后一个已知配置改变,则进行以下的附加步骤:6)通过删除非PnP装置正使用的资源表中的任何资源来开始系统重新配置;7)检查BIOS设置,以查看是否保留了任何附加系统资源以供由非PnP组件使用并将这些附加系统资源中的任何系统资源从资源表删除;8)从资源表中剩余的资源向PnP卡指派资源,并向组件通知新的指派;9)通过将配置数据作为新的系统配置保存到资源表来更新配置数据;以及10)继续启动过程。
在基本配置完成之后,进行冗余配置,该冗余配置包括:搜索(例如,存储装置6104中所存储的)冗余表,以确定新组件与AV的另一组件是否形成冗余对,其中冗余对组件必须兼容以不违反AV的冗余模型。如果新组件6113在冗余表中,则将由新组件6113提供的特性列表(例如,性能规格、传感器属性)与存储装置6104中所存储的冗余模型所需的特性列表进行比较。如果特性不匹配、这指示不兼容,则(例如,通过显示器)向AV的驾驶员或者(例如,在AV在汽车修理厂的情况下)向技术人员通知不兼容。在实施例中,AV也可以被禁用,使得不能驾驶AV,直到添加了不违反AV的冗余模型的兼容组件为止。
图62示出替换AV中的冗余组件的示例处理6200的流程图。
处理6200从以下开始:检测耦接至AV的数据网络的新组件(6201)。例如,组件可以通过PCIe交换机耦接至数据网络。组件的一些示例包括但不限于:耦接至多个组件的传感器、致动器、控制器和集线器。
处理6200继续以下:AV OS利用AV OS发现新组件(6201),并且确定新组件是否是冗余组件且具有对应的冗余组件(6202)。例如,如参考图61所述,可以在冗余表中搜索以确定新组件是否正替换冗余组件、因此必须与AV的冗余模型兼容。
根据新组件作为冗余组件,处理6200进行冗余配置(6203)。根据新组件不是冗余组件,处理6200进行基本配置(6204)。先前参考图61说明了基本和冗余配置步骤。在实施例中,冗余配置包括基本配置、以及用以确定新模块与AV的冗余模型的依从性的附加步骤。
冗余规划
在实施例中,感知模块将场景描述提供到范围内检查模块中,该范围内检查模块确定场景描述是否在自主运载工具的操作域内(“范围内”)。自主运载工具的操作域是自主运载工具正操作于的地理区域,其包括地理区域中的为自主运载工具已知的所有固定和动态对象。当场景描述包括不在自主运载工具的操作域内的一个或多个对象(例如,新停车标志、施工区、指挥交通的警察、无效路网图)时,违反了“范围内”条件。
如果场景描述是“范围内”,则感知模块将场景描述作为输入提供到两个独立且冗余的规划模块。各规划模块包括行为推理模块和运动规划模块。运动规划模块各自使用采用自主运载工具的位置和静态地图数据作为输入的的运动规划算法来为自主运载工具生成轨迹(或轨迹走廊)。在实施例中,自主运载工具的位置由定位模块(诸如参考图4所述的定位模块408等)、或者由自主运载工具外部的源来提供。
各规划模块接收由另一规划模块生成的轨迹(或轨迹走廊),并且评价与场景描述中的至少一个对象发生碰撞的轨迹。行为推理模块使用不同的行为推理模型。例如,由第一规划模块实现的第一行为推理模块可以使用恒速(CV)和/或恒定加速度(CA)模型来评价由第二规划模块生成的轨迹(或轨迹走廊)。类似地,在第二规划模块中实现的第二行为推理模块可以使用机器学习算法来评价由第一规划模块生成的第一轨迹(或轨迹走廊)。
在实施例中,对各规划模块的数据输入/输出进行独立的诊断监测和真实性检查,以检测与规划模块相关联的硬件和/或软件错误。由于在冗余的规划模块之间不存在共因故障,因此由于硬件和/或软件错误,冗余规划模块不太可能由于硬件和/或软件错误而同时发生故障。诊断监测和真实性检查的结果以及轨迹评价的结果确定了自主运载工具的适当行动,诸如安全停止机动动作或紧急制动等。
在实施例中,规划模块其中之一是在标称操作条件期间使用的,并且另一规划模块用于自我车道中的安全停止(以下也称为“降级模式”)。在实施例中,规划模块不进行除评价由另一规划模块提供的与至少一个对象发生碰撞的轨迹以外的任何功能。
图63示出根据实施例的冗余规划系统6300的框图。系统6300包括感知模块6301、范围内检查模块6302和规划模块6303a、6303b。规划模块6303a还包括行为推理模块6304a、运动规划模块6305a和车载诊断(OBD)模块106a。规划模块6303b还包括行为推理模块6304b、运动规划模块6305b和OBD模块6306a。
感知模块6301(先前参考图4描述为感知模块402)使用一个或多个传感器来识别附近的物理对象。在实施例中,将对象分类为类型(例如,行人、自行车、汽车、交通标志等),并且将包括经分类的对象416的场景描述(也称为“场景描述”)提供至冗余规划模块6303a、6303b。冗余规划模块6303a、6303b还从(图4所示的)定位模块408或从AV外部的源接收表示AV位置418的数据(例如,纬度、经度、海拔高度)。在实施例中,场景描述由AV外部的源(例如,基于云的源,使用V2V的另一AV)通过无线通信介质提供。
范围内检查模块6302确定场景描述是否为“范围内”,这意味着场景描述在AV的操作域内。如果场景描述为“范围内”,则范围内检查模块6302输出范围内信号。根据所定义的AV的操作域,范围内检查模块6302查找“范围外”条件,以确定是否违反了AV的操作域。范围外条件的一些示例包括但不限于:施工区、一些天气条件(例如,暴风雨、大雨、浓雾等)、指挥交通的警察和无效路网图(例如,新的停车标志、车道关闭)。如果自主运载工具不知晓其正在范围外操作,则不能保证自主运载工具的安全操作(例如,自主运载工具可能在停车标志运行)。在实施例中,AV未通过“范围内”检查导致安全停止机动动作。
范围内信号被输入至规划模块6303a、6303b。如果为“范围内”,则运动规划模块6305a、6305b独立地生成AV的轨迹,其在本示例实施例中分别被称为轨迹A和轨迹B。如参考图9所述,运动规划模块6305a、6305b使用共同或不同的运动规划算法、静态地图和AV位置来独立地生成轨迹A和B。
轨迹A被输入至规划模块6303b的行为推理模块6304b,并且轨迹B被输入至规划模块6303a的行为推理模块6304a。行为推理模块6304a、6304b实现不同的行为推理模型,以确定轨迹A和B是否与场景描述中的至少一个对象发生碰撞。可以使用任何期望的行为推理模型来确定与场景描述中的对象的碰撞。在实施例中,行为推理模块6304a使用恒速(CV)模型和/或恒加速度(CA)模型来推断对象行为,并且行为推理模块6304b使用机器学习模型(例如,卷积神经网络、深度学习、支持向量机、分类器)来推断对象行为。行为推理模型的其它示例包括但不限于:博弈论模型、使用部分可观察的马尔可夫决策过程(POMDP)的概率模型、由神经网络参数化的高斯混合模型、非参数预测模型、逆强化学习(IRL)模型、以及生成式对抗性模仿学习模型。
在实施例中,行为推理模块6304a、6304b的输出信号(例如,是/否)指示轨迹A和/或B是否与场景描述中的至少一个对象发生碰撞。在碰撞检测的情况下,输出信号可以路由到另一AV模块(诸如参考图4所述的控制模块406等)以影响“安全停止”机动动作或紧急制动。在实施例中,“安全停止机动动作”是指由自主运载工具在紧急情况(例如,系统故障、由自主运载工具中的乘员发起的紧急停车、自然灾害、恶劣天气条件、涉及自主运载工具或环境中其它运载工具的道路事故等)期间进行的机动动作。
在实施例中,OBD 6306a和OBD 6306b分别为规划模块6303a和6303b提供独立的诊断覆盖范围,其包括监测这些规划模块各自的输入/输出并且进行真实性检查以检测硬件和/或软件错误。OBD 6306a和OBD 6306b输出指示各自的诊断测试的结果(例如,通过/失败)的信号。在实施例中,其它输出信号或数据可以由OBD 6306a和OBD 6306b提供,诸如指示故障的类型和故障的严重程度的代码(例如,二进制代码)等。在故障的情况下,输出信号被路由到另一AV模块(诸如参考图4所述的控制模块406等)以影响“安全停止”机动动作或紧急制动。
图64示出例示由图63所示的冗余规划模块进行的冗余规划逻辑的表。该表中的各行表示得到AV所要进行的特定动作的输出信号的组合。参考该表的行1,如果场景描述在AV操作域的范围内(“范围内”)、并且不存在由于碰撞而引起的诊断失败或不安全轨迹,则AV维持标称操作条件。参考该表的行2和3,如果“范围内”和覆盖规划模块6303a或6303b的诊断指示故障,则冗余度丢失并且AV在自我车道中发起“安全停止”机动动作。参考行4和5,如果“范围内”和规划模块6303a、6303b这两者的诊断通过、并且规划模块6303a或规划模块6303b由于碰撞而检测到不安全轨迹,则在规划模块6303a、6303b之间存在与轨迹的安全性有关的分歧,并且AV在自我车道中发起“安全停止”。参考行6,如果规划模块103a、103b这两者的诊断通知、并且规划模块103a、103b这两者都检测到了碰撞,则AV例如使用AV中的高级驾驶辅助系统(ADAS)组件发起AEB。在实施例中,仅规划模块103a是在标称操作条件期间使用的,并且规划模块103b仅用于当AV在“降级”模式中操作时在自我车道中安全停止。
图65示出冗余规划处理6500的流程图。处理6500可以通过图3和图4所示的AV架构来实现。处理6500可以从以下开始:从感知模块或外部源获得操作环境的场景描述、以及获得AV操作域的描述(6501)。处理6500继续以下操作:确定(6502)场景描述是否在AV的操作域内(6502)。如果为“否”,则处理6500停止。如果为“是”,则处理6500确定(6503)冗余规划模块中的一个或这两个的诊断是否指示硬件和/或软件故障。根据确定为故障,AV发起“安全停止”机动动作(6510)。
根据确定为不存在由于硬件和/或软件引起的故障,处理6500继续以下:利用第一规划模块使用场景描述和AV位置来生成第一轨迹(6505),并且利用第二规划模块使用场景描述和AV位置来生成第二轨迹(6506)。处理6500继续以下:使用第一规划模块的第一行为推理模型来针对碰撞对第二轨迹进行评价,并且使用第二规划模块的第二行为推理模型来针对碰撞对第一轨迹进行评价(6507)。根据处理6500确定为(6508)第一轨迹和第二轨迹这两者都是安全的,AV在标称条件下操作(6509)并且冗余不受影响。根据处理6500确定为(6511)第一轨迹和第二轨迹其中之一是不安全的,AV在自我车道(ego lane)上进行“安全停止”机动动作(6510)。根据处理6500确定为(6508)第一轨迹和第二轨迹不安全,AV进行紧急制动(6512)作为最后手段。
使用模拟的冗余
AV处理、子系统和系统的模拟用于通过使用第一处理/子系统/系统的输出作为向第二处理/子系统/系统的模拟的输入、并且使用第二处理/子系统/系统的输出作为向第一处理/子系统/系统的模拟的输入,来为处理/子系统/系统提供冗余。另外,各处理/子系统/系统均经受针对软件或硬件错误的独立诊断监测。冗余处理器采用各处理/子系统/系统的输出、各模拟的输出以及诊断检测的结果作为输入,以确定是否存在处理和系统其中之一或这两个的潜在故障。根据确定为处理/子系统/系统存在故障,自主运载工具进行“安全停止”机动动作或其它动作(例如,紧急制动)。在实施例中,使用一个或多个外部因素(例如,环境条件、道路条件、交通条件、AV特性、当日时间)和/或驾驶员简档(例如,年龄、技能水平、驾驶模式)来调整模拟(例如,调整模拟中所使用的一个或多个模型)。
如本文所使用的,“模拟”意味着AV传感器或子系统的现实世界处理或系统的操作的模仿,其可以也可以不由表示该处理或系统的关键特性、行为和功能的“模型”表示。
如本文所使用的,“模型”意味着对现实的有目的抽象,这样得到对现实世界处理或系统的概念化和基本假定和约束的说明。
图66示出用于使用模拟来实现冗余的系统6600的框图。在实施例中,系统6600包括接口6601a、6601b、诊断模块6602a、6602b、模拟器6603a、6603b、以及冗余处理器6604。诊断模块6602a、6602b是以硬件和/或软件实现的,并且模拟器6603a、6603b是以在一个或多个计算机处理器上运行的软件实现的。
当在标称操作模式下操作时,来自第一AV处理/子系统/系统的数据A被输入至接口101a,该接口101a将数据A转换和/或格式化为模拟器6603b可接受的形式。然后,将转换/格式化后的数据A输入到诊断模块6602a中,该诊断模块6602a监测硬件和软件错误,并且输出指示监测结果的数据或信号(例如,通过或失败)。数据A然后被输入到模拟器6603b(“模拟器B”)中,该模拟器6603b使用数据A来进行第二AV处理/子系统/系统的模拟。
同时(例如,并行地),来自第二AV处理/子系统/系统的数据B被输入到接口101b,该接口101b将数据B转换和/或格式化为模拟器6603a可接受的形式。转换/格式化后的数据B然后被输入到诊断模块6602b,该诊断模块6602b监测硬件和软件错误,并且输出指示监测结果的数据或信号(例如,通过或失败)。数据B然后被输入到模拟器6603a(“模拟器A”),该模拟器6603a使用数据B来进行第一AV处理/系统的模拟。
在实施例中,系统6600是使用实时(RT)模拟和硬件在环(HIL)技术来实现的,其中硬件(例如,传感器、控制器、致动器)通过I/O接口6601a、6601b耦接至RT模拟器6603a、6603b。在实施例中,I/O接口6601a、6601b包括模数(AD)转换器和数模(DAC)转换器,这两者将硬件所输出的模拟信号转换成可通过RT模拟处理的数字值。I/O接口6601a、6601b也可以提供电气连接、电源和数据聚合(例如,缓冲器)。
数据A、数据B、诊断模块6602a、6602b的输出和模拟器103a、103b的输出(所模拟的数据A、数据B)全部被输入至输入冗余处理器6604。冗余处理6604对这些输入应用逻辑,以确定是否发生了第一或第二处理/系统的故障。根据确定为发生了第一或第二处理/系统的故障,AV进行“安全停止”机动动作或其它动作。根据确定为未发生第一或第二处理/系统的故障,AV继续以标称模式操作。
在实施例中,在以下的表I中示出由冗余处理器6604实现的逻辑。
表I-示例模拟冗余逻辑
诊断A失败? 诊断B失败? 模拟器A失败? 模拟器B失败? 动作
N N N N 标称
N Y * * 安全停止
Y N * * 安全停止
N N N Y 安全停止
N N Y N 安全停止
N N Y Y 紧急制动
如以上的表I所示,如果诊断模块A和B没有指示故障、并且模拟器A和B没有指示故障,则AV继续处于标称操作模式。如果至少一个诊断模块指示故障或一个模拟器指示故障,则AV使用未发生故障的处理/系统来进行安全停止机动动作或其它动作。如果两个模拟器都指示故障,则AV进行紧急制动。
在实施例中,模拟器6603b,6603a接收实时数据流和/或来自存储装置6605b、6605a的历史数据。这些数据流和存储装置105a、105b向模拟器6603a、6603b提供外部因素和/或驾驶员简档,其中模拟器6603a、6603b使用外部因素和/或驾驶员简档来调整正模拟的处理/系统的一个或多个模型。外部因素的一些示例包括但不限于:天气状况(例如,雨、雪、雨夹雪、雾、温度、风速)、道路条件(例如,陡坡、封闭车道、绕道)、交通条件(例如,交通速率、事故)、当日时间(例如,白天或夜间)、AV特性(例如,制造商、型号、年份、配置、燃料或电池水平、轮胎压力)、以及驾驶员简档(例如,年龄、技能水平、驾驶模式)。外部因素可用于调整或“调谐”模拟器6603a、6603b中的一个或多个模型。例如,某些传感器(例如,LiDAR)当在雨中操作时可能以不同的方式表现,并且其它传感器(例如,照相机)当在夜间工作时或在雾中操作时可能以不同的方式表现。
示例驾驶员简档包括驾驶员的年龄、技能水平和历史驾驶模式。历史驾驶模式可以包括但不限于:加速和制动模式。可以使用在AV的处理器上实现的机器学习算法(例如,深度学习算法)来随时间的经过学习驾驶模式。
在实施例中,模拟器6603a、6603b中的一个或这两个使用固定地图数据以及由感知模块408提供的包括AV和其它固定和动态对象(例如,其它运载工具、行人、建筑物、交通灯)的场景描述,来实现虚拟世界。模拟器6603a、6603b利用外部因素和/或驾驶员简档来在虚拟世界中模拟AV(例如,2D或3D模拟),以确定AV将如何进行以及是否有可能发生故障。
在实施例中,使用数据存储装置6605a、6605b中所存储的历史数据来进行数据分析,以分析AV处理/系统的过去故障并预测AV处理/系统的将来故障。
为了进一步例示系统6600的操作,将不说明示例情景。在该示例情景中,正模拟两个冗余传感器:LiDAR传感器和立体照相机。AV正以标称操作模式在道路路段上行驶。LiDAR输出由图4所示的感知模块402处理的点云数据。感知模块402输出包括从LiDAR点云数据中检测到的一个或多个经分类的对象(例如,运载工具、行人)的第一场景描述。与LiDAR处理同时(例如,并行地),立体照相机捕获立体图像,这些立体图像也被输入至感知模块402。感知模块402输出从立体图像数据检测到的一个或多个经分类的对象的第二场景描述。
LiDAR和立体照相机包括在同时运行的独立HIL处理中。第一HIL处理包括通过第一I/O接口6601a耦接至第一RT模拟器6603b的LiDAR硬件,其中第一RT模拟器6603b使用第一场景描述来模拟立体照相机的操作。第二HIL处理包括通过第二I/O接口6601b耦接至第二RT模拟器6603a的立体照相机硬件,该第二RT模拟器6603a使用第二场景描述来模拟LiDAR硬件。另外,LiDAR和立体照相机这两者分别由独立的诊断模块6602a、6602b来监测硬件和/或软件错误。模拟器6603a、6603b是在一个或多个硬件处理器上实现的。I/O接口6601a、6601b是根据需要为模拟器103a、103b提供电气连接、供给电源并进行数据聚合、转换和格式化的硬件和/或软件或者固件。
LiDAR模拟器6603b使用从立体照相机数据生成的第二场景描述中的经分类的对象的位置坐标来计算模拟LiDAR场景描述。可以使用从定位模块408(图4)获得的AV的地点以及光线投射技术来模拟LiDAR深度数据。同时,立体照相机模拟器6603a使用从LiDAR点云数据生成的第一场景描述中的对象的位置坐标来计算模拟立体照相机场景描述。各模拟器103a、103b将各自的模拟场景描述作为输出提供至冗余处理器6604。另外,各个诊断模块6602a、6620b将通过/失败指标输出至冗余处理器6604。
冗余处理器104执行在以上的表I中示出的逻辑。例如,如果诊断模块102a、102b没有表明LiDAR或立体照相机硬件或软件发生故障,则LiDAR场景描述与模拟LiDAR场景描述匹配(例如,在这两个场景描述中都考虑所有经分类的对象),并且如果立体照相机场景描述与模拟立体照相机场景描述匹配,则AV继续以标称模式操作。如果LiDAR和立体照相机硬件或软件没有故障、并且LiDAR和立体照相机场景描述其中之一与其相应的模拟场景描述不匹配,则AV进行“安全停止”机动动作或其它动作。如果LiDAR和立体照相机其中之一存在硬件或软件故障,则AV进行“安全停止”机动动作或其它动作。如果LiDAR和立体照相机没有硬件或软件错误、并且LiDAR和立体照相机场景描述与其模拟场景描述不匹配,则AV应用紧急制动。
上述的示例情景不限于感知/规划处理/子系统/系统。相反,模拟器可用于模拟在诸如定位和控制等的其它AV功能中使用的处理/子系统/系统。例如,可以使用惯性数据(例如,IMU数据)、基于LiDAR地图的定位数据、视觉测程数据(例如,使用图像数据)、或者RADAR或基于视觉的特征地图数据(例如,使用非LiDAR系列生产传感器)来模拟GNSS接收器。
在实施例中,例如,如先前参考图13-29所述,一个模拟器使用由另一模拟器输出的数据。
图67示出用于使用模拟来实现冗余的处理6700的流程图。处理6700可以由图4所示的系统400来实现。
处理6700从以下开始:如参考图66所述,利用第一模拟器,使用由第二AV处理/系统(例如,立体照相机)输出的数据(例如,立体照相机数据)来进行第一AV处理/系统的模拟(例如,模拟LiDAR)(6701)。
处理6700继续以下:利用第二模拟器,使用由第二AV处理/系统输出的数据来进行第一AV处理/系统的模拟(6702)。
处理6700继续以下:将第一和第二处理和系统的输出(例如,基于LiDAR点云数据和立体照相机数据的场景描述)与其相应的模拟处理和系统的输出进行比较(6703),并且根据确定为(6704)发生了故障(或者基于预测模型将来将发生故障),使得AV进行“安全停止”机动动作或其它动作(6705)。否则,使得AV继续以标称模式操作(6706)。
在实施例中,处理6700包括:利用独立的诊断模块在冗余处理或系统中监测硬件或软件错误,并且使用诊断模块的输出(例如,通过/失败指标)结合模拟器的输出来确定是否发生了或者是否将发生冗余处理和系统其中之一或这两个的故障,并且响应于故障,使得AV采取动作(例如,“安全停止”机动动作、紧急制动、标称模式)。
感知输入的联合
图68示出根据实施例的、用于联合感知输入以对操作环境进行建模的运载工具系统的框图。运载工具系统6800包括两个或更多个感知组件(例如,感知组件6802和6803),其各自能够独立地对操作环境6801进行感知功能。示例感知功能包括操作环境6801中所存在的各种对象和背景的检测、跟踪和分类。在实施例中,感知组件6802和6803是图4所示的感知模块402的组件。
在实施例中,感知组件实现基于硬件和软件的感知技术这两者。例如,感知组件6802可以包括硬件模块6804,该硬件模块6804由诸如LiDAR、RADAR、声纳、立体视觉系统、单视觉系统等的互补传感器(例如,图1所示的传感器121)组成。感知组件6802还可以包括执行一个或多个软件算法以辅助感知功能的软件模块6806。例如,软件算法可以包括前馈神经网络、递归神经网络、完全卷积神经网络、基于区域的卷积神经网络、You-Only-Look-Once(YOLO)检测模型、单发检测器(SDD)、立体匹配算法、等等。硬件模块6804和软件模块6806可以共享、比较和交叉检查它们各自的感知输出,以提高感知组件6802的整体感知准确度。
在实施例中,感知组件各自进行独立和互补的感知功能。来自不同感知功能的结果可以由处理器6810交叉检查和融合(例如,组合)。根据操作环境,一个感知功能可能更适合于检测某些对象或条件,并且另一感知功能可能更适合于检测其它对象或条件,并且来自一个感知功能的数据可用于以互补的方式增强来自另一感知功能的数据。作为一个示例,感知组件6802可以进行密集自由空间检测,而感知组件6803可以进行基于对象的检测和跟踪。自由空间被定义为操作环境6801中的不包含障碍物且运载工具可以安全地驾驶的区域。例如,未占用的路面是自由空间,但路肩(有时称为“发生故障的车道”)不是自由空间。自由空间检测是自主/半自主驾驶的基本感知功能,因为运载工具仅在自由空间中驾驶是安全的。另一方面,基于对象的检测和跟踪的目标是发现操作环境6801中的对象的当前存在并预测该对象的将来轨迹。因此,可以组合使用两个感知功能所获得的数据,以更好地理解周围环境。
处理器6810比较和融合来自感知组件6802和6803的独立输出,以产生操作环境6814的联合模型。在一个示例中,来自感知组件的各感知输出与指示输出准确的概率的置信度得分相关联。感知组件基于可能影响关联数据的准确度的因素来生成置信度得分,例如,在暴雨期间生成的数据与在晴朗天气期间生成的数据相比可能具有更低的置信度得分。联合程度是基于置信度得分和联合的期望谨慎程度。例如,如果误报比漏报更优选,则置信度得分低的检测对象仍将以高置信度得分被添加至所检测到的自由空间。
在示例中,感知组件6802可以使用一个或多个LiDAR或照相机(例如,单目照相机或立体照相机)来检测操作环境6801中的自由空间。LiDAR可以直接输出3D对象地图,但相对于其它技术而言操作范围有限,并且在不利的天气条件下可能会遇到性能下降。相比之下,尽管单目照相机或立体照相机可以感测不同的颜色,但照相机需要照明来操作,并且可能由于照明变化而产生失真数据。
在实施例中,为了在检测自由空间时获得LiDAR和照相机这两者的使用的性能优势,感知组件6802可以使用两个类型的传感器来获取冗余测量,并将感知数据融合在一起。例如,感知组件6802可以使用立体照相机来捕获超出LiDAR的操作范围的深度数据。然后,感知组件6802可以通过将3D对象地图中的空间结构与立体照相机输出中的空间结构进行匹配来扩展由LiDAR创建的3D对象地图。
在另一示例中,感知组件可以融合从LiDAR和单目照相机获得的数据。单目照相机通常感知二维图像平面中的对象,这会妨碍对象之间的距离的测量。因此,为了辅助距离测量,来自单目照相机的输出可被首先馈送到例如在软件模块6806中运行的神经网络。在实施例中,训练神经网络以从单目照相机图像检测和估计对象之间的距离。在实施例中,感知组件6802将神经网络所产生的距离信息与来自LiDAR的3D对象地图组合。
在一个示例中,感知组件6803可以使用一个或多个360°单目照相机和RADAR来进行操作环境6801的冗余测量。例如,RADAR所检测到的对象可以覆盖在360°单目照相机所捕获到的全景图像输出上。
在实施例中,感知组件6803使用一个或多个软件算法来检测和跟踪操作环境6801中的对象。例如,软件模块6807可以实现多模型对象跟踪器,该多模型对象跟踪器链接由类别检测器(例如,神经网络分类器)所检测到的对象,以形成对象轨迹。在实施例中,训练神经网络分类器以对操作环境6801中常见对象(诸如运载工具、行人、道路标志、道路标记等)进行分类。在示例中,对象跟踪器可以是经训练以在一系列图像中关联对象的神经网络。神经网络可以使用诸如位置、形状或颜色等的对象特性来进行关联。
在实施例中,处理器6810将来自感知组件6802的输出与来自感知组件6803的输出进行比较,以检测感知组件其中之一的故障或故障率。例如,各感知组件可以向其各自的输出指派置信度得分作为不同的感知功能(例如,自由空间检测和对象检测),并且在不同条件下产生具有不同置信度的结果。当出现不一致时,处理器6810忽略了置信度得分较低的来自感知组件的输出。在另一示例中,运载工具系统6800具有实现不同感知方法的第三感知组件。在该示例中,处理器6810使得第三感知组件进行第三感知功能并且例如基于三个感知组件中的两个感知组件之间的输出的一致性而依赖于大多数结果。
在实施例中,处理器6810使得感知组件6802和6803对彼此提供安全检查。例如,最初,感知组件6802被配置为使用LiDAR检测操作环境6801中的自由空间,而感知组件6803被配置为使用神经网络和立体照相机的组合来检测和跟踪对象。为了进行交叉安全检查,处理器6810可以使得神经网络和立体照相机进行自由空间检测,并且使得LiDAR进行对象检测和跟踪。
图69示出根据实施例的用于联合感知输入以创建操作环境的模型的示例处理6900。为方便起见,示例处理6900在下文将被描述为由运载工具系统(例如,图68的运载工具系统6800)进行。
运载工具系统使得第一组件进行功能(步骤6902)。例如,该功能可以是感知功能,并且第一组件可以是包括一个或多个LiDAR、立体照相机、单目照相机、RADAR、声纳等的硬件感知系统。在另一示例中,第一组件可以是被配置为接收和分析来自硬件传感器的数据输出的软件程序。在实施例中,软件程序是经训练以检测和跟踪图像数据或对象地图中的对象的神经网络。
运载工具系统同时使得第二组件进行与第一组件相同的功能(步骤6904)。例如,第二组件可以是类似于第一组件的硬件感知系统或软件程序,以在操作环境上进行感知功能。
在第一和第二组件产生各自的数据输出之后,运载工具系统组合并比较这些输出,以创建操作环境的模型(步骤6906-6908)。例如,第一组件可被配置为检测操作环境中的自由空间,而第二组件可被配置为检测和跟踪操作环境中的对象。运载工具系统可以通过匹配其各自的空间特征来比较来自第一和第二组件的输出,并且创建操作环境的联合模型。联合模型与单独利用第一或第二组件的输出相比可以是操作环境的更准确表示。
在获得操作环境的联合模型之后,运载工具系统基于模型的特性来发起操作(步骤6910)。例如,运载工具系统可以调整车速和轨迹,以避开操作环境的模型中所存在的障碍物。
在先前描述中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以发布权利要求书的具体形式从本申请发布的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。
项1.一种系统,包括:
两个或更多个不同的自主运载工具操作子系统,所述两个或更多个不同的自主运载工具操作子系统中的各自主运载工具操作子系统与所述两个或更多个不同的自主运载工具操作子系统中的另一自主运载工具操作子系统是冗余的,
其中,所述两个或更多个不同的自主运载工具操作子系统中的各操作子系统包括:
解决方案提议器,其被配置为基于当前输入数据来提议用于自主运载工具操作的解决方案;以及
解决方案评分器,其被配置为基于一个或多个成本评估来评价用于自主运载工具操作的提议解决方案,
其中,所述两个或更多个不同的自主运载工具操作子系统中的至少一个的解决方案评分器被配置为评价以下两者:来自所述两个或更多个不同的自主运载工具操作子系统中的所述至少一个的解决方案提议器的提议解决方案、以及来自所述两个或更多个不同的自主运载工具操作子系统中的至少另一个的解决方案提议器的提议解决方案至少之一;以及
输出中介器,其与所述两个或更多个不同的自主运载工具操作子系统耦接,并且被配置为管理来自所述两个或更多个不同的自主运载工具操作子系统的自主运载工具操作输出。
项2.根据项1的系统,其中,所述两个或更多个不同的自主运载工具操作子系统包括在自主运载工具操作的感知阶段。
项3.根据任何前述项的系统,其中,所述两个或更多个不同的自主运载工具操作子系统包括在自主运载工具操作的定位阶段。
项4.根据任何前述项的系统,其中,所述两个或更多个不同的自主运载工具操作子系统包括在自主运载工具运行的规划阶段。
项5.根据任何前述项的系统,其中,所述两个或更多个不同的自主运载工具操作子系统包括在自主运载工具操作的控制阶段。
项6.根据任何前述项的系统,其中,所述两个或更多个不同的自主运载工具操作子系统中的所述至少一个的解决方案评分器被配置为:(i)确定来自所述两个或更多个不同的自主运载工具操作子系统中的所述至少一个的解决方案评分器中的两个或更多个的提议解决方案中的优选提议解决方案、以及来自所述两个或更多个不同的自主运载工具操作子系统中的至少另一个的备选解决方案中的优选备选解决方案;(ii)将所述优选解决方案与所述优选备选解决方案进行比较;以及(iii)基于所述比较来在所述优先解决方案和所述优选备选解决方案之间进行选择。
项7.根据任何前述项的系统,其中,所述两个或更多个不同的自主运载工具操作子系统中的所述至少一个的解决方案评分器被配置为基于成本评估来在所述提议解决方案和所述备选解决方案之间进行比较和选择,所述成本评估有利于与针对自主运载工具的操作所选择的一个或多个先前解决方案的连续性。
项8.根据任何前述项的系统,其中,所述两个或更多个不同的自主运载工具操作子系统中的所述至少一个的解决方案评分器被配置为将所述提议解决方案与从所述两个或更多个不同的自主运载工具操作子系统中的其它自主运载工具操作子系统接收到的多于一个的备选解决方案进行比较,并且在所述提议解决方案和所述备选解决方案之间进行选择。
项9.根据项1至8中任一项的系统,其中,所述两个或更多个不同的自主运载工具操作子系统中的所述至少另一个被配置为提供不与所述两个或更多个不同的自主运载工具操作子系统中的所述至少一个的自主运载工具操作解决方案冗余的附加自主运载工具操作解决方案。
项10.根据项1至8中任一项的系统,其中,所述两个或更多个不同的自主运载工具操作子系统中的所述至少另一个被配置为仅提供与所述两个或更多个不同的自主运载工具操作子系统中的所述至少一个的自主运载工具操作解决方案冗余的自主运载工具操作解决方案。
项11.根据项1至8中任一项的系统,其中,所述两个或更多个不同的自主运载工具操作子系统中的各自主运载工具操作子系统包括操作阶段的管道,所述管道中的各阶段包括被配置为评价来自所述阶段中的至少一个解决方案提议器的提议解决方案,并且来自各管道的至少一个解决方案评分器被配置为评价来自另一管道的提议解决方案。
项12.根据项11的系统,其中,所述操作阶段的管道包括:
第一管道的第一阶段解决方案提议器;
所述第一管道的第一阶段解决方案评分器,其被配置为评价来自所述第一阶段第一管道解决方案提议器的解决方案;
所述第一管道的第二阶段解决方案提议器;
所述第一管道的第二阶段解决方案评分器,其被配置为评价来自所述第二阶段第一管道解决方案提议器的解决方案;
第二管道的第一阶段解决方案提议器;
所述第二管道的第一阶段解决方案评分器,其被配置为评价来自所述第一阶段第二管道解决方案提议器的解决方案;
所述第二管道的第二阶段方案提议器;以及
所述第二管道的第二阶段解决方案评分器,其被配置为评价来自所述第二阶段第二管道解决方案提议器的解决方案,
其中,所述第一阶段第一管道解决方案评分器被配置为评价来自所述第一阶段第二管道解决方案提议器的解决方案;
其中,所述第一阶段第二管道解决方案评分器被配置为评价来自所述第一阶段第一管道解决方案提议器的解决方案;
其中,所述第二阶段第一管道解决方案评分器被配置为评价来自所述第二阶段第二管道解决方案提议器的解决方案;以及
其中,所述第二阶段第二管道解决方案评分器被配置为评价来自所述第二阶段第一管道解决方案提议器的解决方案。
项13.根据项12的系统,其中,所述第二管道的包括所述第一阶段解决方案提议器、所述第一阶段解决方案评分器、所述第二阶段解决方案提议器和所述第二阶段解决方案评分器的组件共享电源。
项14.根据项12的系统,其中,所述第一阶段包括感知阶段,所述感知阶段被配置为基于所述当前输入数据来确定自主运载工具操作的感知当前状态,并且所述第二阶段包括规划阶段,所述规划阶段被配置为基于来自所述第一阶段的输出来确定用于自主运载工具操作的计划。
项15.根据项14的系统,其中,所述第一阶段第一管道解决方案提议器实现感知生成机制,所述感知生成机制包括自下而上的感知(对象检测)、自上而下的任务驱动的注意力、先验、以及占用网格至少之一,以及其中,所述第一阶段第一管道解决方案评分器实现感知评价机制,所述感知评价机制包括根据传感器模型的可能性的计算至少之一。
项16.根据项12的系统,其中,所述第一阶段包括规划阶段,所述规划阶段被配置为基于所述当前输入数据来确定用于自主运载工具操作的计划,并且所述第二阶段包括控制阶段,所述控制阶段被配置为基于来自所述第一阶段的输出来确定用于自主运载工具操作的控制信号。
项17.根据项16的系统,其中,所述第一阶段第一管道解决方案提议器实现规划生成机制,所述规划生成机制包括随机采样、MPC、深度学习和预定义原语至少之一,以及其中,所述第一阶段第一管道解决方案评分器实现规划评价机制,所述规划评价机制包括基于轨迹长度、安全性或舒适性的轨迹评分至少之一。
项18.根据项12的系统,其中,所述第一阶段包括定位阶段,所述定位阶段被配置为基于所述当前输入数据来确定自主运载工具的当前位置,并且所述第二阶段包括控制阶段,所述控制阶段被配置为基于来自所述第一阶段的输出来确定用于自主运载工具操作的控制信号。
项19.根据项12的系统,其中,所述操作阶段的管道包括:
所述第一管道的第三阶段解决方案提议器;
所述第一管道的第三阶段解决方案评分器,其被配置为评价来自所述第三阶段第一管道解决方案提议器的解决方案;
所述第二管道的第三阶段解决方案提议器;以及
所述第二管道的第三阶段解决方案评分器,其被配置为评价来自所述第三阶段第二管道解决方案提议器的解决方案,
其中,所述第三阶段第一管道解决方案评分器被配置为评价来自所述第三阶段第二管道解决方案提议器的解决方案,以及
其中,所述第三阶段第二管道解决方案评分器被配置为评价来自所述第三阶段第一管道解决方案提议器的解决方案。
项20.一种用于使用根据项1至19中任一项的系统来操作自主运载工具的方法。
项21.一种编码有指令的非暂时性计算机可读介质,所述指令能够操作以使得数据处理设备使用根据项1至19中任一项的系统来操作自主运载工具。
项22.一种用于在自主运载工具(AV)的AV系统内操作与输出中介器耦接的两个或更多个冗余管道的方法,所述两个或更多个冗余管道中的第一管道包括第一感知模块、第一定位模块、第一规划模块和第一控制模块,并且所述两个或更多个冗余管道中的第二管道包括第二感知模块、第二定位模块、第二规划模块和第二控制模块,其中所述第一控制模块和所述第二控制器模块各自与输出中介器连接,所述方法包括:
利用所述第一感知模块,从AV的第一组传感器接收第一传感器信号,并且利用所述第一感知模块,基于所述第一传感器信号来生成第一世界视图提议;
利用所述第二感知模块,从所述AV的第二组传感器接收第二传感器信号,并且利用所述第二感知模块,基于所述第二传感器信号来生成第二世界视图提议;
利用所述第一感知模块,基于第一感知成本函数来在所述第一世界视图提议和所述第二世界视图提议之间选择一个世界视图提议,并且利用所述第一感知模块,将所选择的世界视图提议作为第一世界视图提供至所述第一定位模块;
利用所述第二感知模块,基于第二感知成本函数来在所述第一世界视图提议和所述第二世界视图提议之间选择一个世界视图提议,并且利用所述第二感知模块,将所选择的世界视图提议作为第二世界视图提供至所述第二定位模块;
利用所述第一定位模块,基于所述第一世界视图来生成第一AV位置提议;
利用所述第二定位模块,基于所述第二世界视图来生成第二AV位置提议;
利用所述第一定位模块,基于第一定位成本函数来在所述第一AV位置提议和所述第二AV位置提议之间选择一个AV位置提议,并且利用所述第一定位模块,将所选择的AV位置提议作为第一AV位置提供至所述第一规划模块;
利用所述第二定位模块,基于第二定位成本函数来在所述第一AV位置提议和所述第二AV位置提议之间选择一个AV位置提议,并且利用所述第二定位模块,将所选择的AV位置提议作为第二AV位置提供至所述第二规划模块;
利用所述第一规划模块,基于所述第一AV位置来生成第一路线提议;
利用所述第二规划模块,基于所述第二AV位置来生成第二路线提议;
利用所述第一规划模块,基于第一规划成本函数来在所述第一路线提议和所述第二路线提议之间选择一个路线提议,并且利用所述第一规划模块,将所选择的路线提议作为第一路线提供至所述第一控制模块;
利用所述第二规划模块,基于第二规划成本函数来在所述第一路线提议和所述第二路线提议之间选择一个路线提议,并且利用所述第二规划模块,将所选择的路线提议作为第二路线提供至所述第二控制模块;
利用所述第一控制模块,基于所述第一路线来生成第一控制信号提议;
利用所述第二控制模块,基于所述第二路线来生成第二控制信号提议;
利用所述第一控制模块,基于第一控制成本函数来在所述第一控制信号提议和所述第二控制信号提议之间选择一个控制信号提议,并且利用所述第一控制模块,将所选择的控制信号提议作为第一控制信号提供至所述输出中介器;
利用所述第二控制模块,基于第二控制成本函数来在所述第一控制信号提议和所述第二控制信号提议之间选择一个控制信号提议,并且利用所述第一控制模块,将所选择的控制信号提议作为第二控制信号提供至所述输出中介器;以及
利用所述输出中介器,在所述第一控制信号和所述第二控制信号之间选择一个控制信号,并且利用所述输出中介器,将所选择的控制信号作为控制信号提供至所述AV的致动器。
项23.根据项22的方法,其中,
从所述第一组传感器接收到的所述第一传感器信号包括由所述第一组的相应传感器检测到的对象的一个或多个列表,以及
从所述第二组传感器接收到的所述第二传感器信号包括由所述第一组的相应传感器检测到的对象的一个或多个列表。
项24.根据项22的方法,其中,
所述第一世界视图提议的生成包括:创建由所述第一组的相应传感器检测到的对象的一个或多个第一列表,以及
所述第二世界视图提议的生成包括:创建由所述第二组的相应传感器检测到的对象的一个或多个列表。
项25.根据项22至24中任一项的方法,其中,
所述第一世界视图提议的生成是基于第一感知提议机制来进行的,以及
所述第二世界视图提议的生成是基于与所述第一感知提议机制不同的第二感知提议机制来进行的。
项26.根据项22至25中任一项的方法,其中,
至少提供至所述第一定位模块的所述第一世界视图包括由所述第一组传感器检测到的一个或多个对象的第一对象踪迹,以及
至少提供至所述第二定位模块的所述第二世界视图包括由所述第二组传感器检测到的一个或多个对象的第二对象踪迹。
项27.根据项22至26中任一项的方法,其中,所述第一组传感器不同于所述第二组传感器。
项28.根据项22的方法,还包括:
利用所述第一定位模块,接收来自所述第一组传感器的所述第一传感器信号的至少一部分,其中所述第一AV位置提议的生成进一步基于所述第一传感器信号,以及
利用所述第二定位模块,接收来自所述第二组传感器的所述第二传感器信号的至少一部分,其中所述第二AV位置提议的生成进一步基于所述第二传感器信号。
项29.根据项28的方法,其中,所述第一AV位置提议和所述第二AV位置提议的生成使用一个或多个定位算法,所述一个或多个定位算法包括基于地图的定位、基于LiDAR地图的定位、基于RADAR地图的定位、基于视觉地图的定位、视觉测程、以及基于特征的定位。
项30.根据项22以及项27-28中任一项的方法,其中,
所述第一AV位置提议的生成是基于第一定位算法来进行的,以及
所述第二AV位置提议的生成是基于与所述第一定位算法不同的第二定位算法来进行的。
项31.根据项22以及项28至30中任一项的方法,其中,
至少提供至所述第一规划模块的所述第一AV位置包括对所述AV的当前位置的第一估计,以及
至少提供至所述第二规划模块的所述第二AV位置包括对所述AV的当前位置的第二估计。
项32.根据项22的方法,还包括:
利用所述第一规划模块,从所述第一感知模块接收所述第一世界视图,其中所述第一路线提议的生成进一步基于所述第一世界视图,以及
利用所述第二规划模块,从所述第二感知模块接收所述第二世界视图,其中所述第二路线提议的生成进一步基于所述第二世界视图点。
项33.根据项22或32的方法,其中,
所述第一路线提议的生成是基于第一规划算法来进行的,以及
所述第二路线提议的生成是基于与所述第一规划算法不同的第二规划算法来进行的。
项34.根据项22以及项32至33中任一项的方法,其中,所述第一路线提议和所述第二路线提议的生成包括:提议所述AV的当前位置和所述AV的目的地之间的相应路径。
项35.根据项22以及项32至34中任一项的方法,其中,所述第一路线提议和所述第二路线提议的生成包括:推断所述AV以及一个或多个其它运载工具的行为。
项36.根据项35的方法,其中,所述行为是通过将所检测到的对象的列表与同所述AV的当前地点相关联的驾驶规则进行比较来推断的。
项37.根据项35的方法,其中,所述行为是通过将所检测到的对象的列表与以下地点进行比较来推断的:在这些地点,按照与同所述运载工具的当前地点相关联的驾驶规则,许可运载工具进行操作。
项38.根据项35的方法,其中,所述行为是通过针对各所检测到的对象的恒速或恒加速度模型来推断的。
项39.根据项35的方法,其中,所述第一路线提议和所述第二路线提议的生成包括:提议符合所推断的行为并避开一个或多个所检测到的对象的相应路径。
项40.根据项32的方法,其中,所述第一路线提议和所述第二路线提议的选择包括:基于相应的世界视图和行为推断模型来评价碰撞可能性。
项41.根据项22的方法,还包括:
利用所述第一控制模块,从所述第一定位模块接收所述第一AV位置,其中所述第一控制信号提议的生成进一步基于所述第一AV位置,以及
利用所述第二控制模块,从所述第二定位模块接收所述第二AV位置,其中所述第二控制信号提议的生成进一步基于所述第二AV位置。
项42.根据项22或41的方法,其中,
所述第一控制信号提议的生成是基于第一控制算法来进行的,以及
所述第二控制信号提议的生成是基于第二控制算法来进行的。
项43.一种系统,包括:
两个或更多个不同的自主运载工具操作子系统,所述两个或更多个不同的自主运载工具操作子系统中的各自主运载工具操作子系统与所述两个或更多个不同的自主运载工具操作子系统中的另一自主运载工具操作子系统是冗余的;以及
输出中介器,其与所述两个或更多个不同的自主运载工具操作子系统耦接,并且被配置为管理来自所述两个或更多个不同的自主运载工具操作子系统的自主运载工具操作输出,
其中,所述输出中介器被配置为基于当前输入数据与所述两个或更多个不同的自主运载工具操作子系统的历史性能数据相比,选择性地将所述两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统提升为优先状况。
项44.根据项43的系统,其中,所述两个或更多个不同的自主运载工具操作子系统包括在自主运载工具操作的感知阶段。
项45.根据任何前述项的系统,其中,所述两个或更多个不同的自主运载工具操作子系统包括在自主运载工具操作的定位阶段。
项46.根据任何前述项的系统,其中,所述两个或更多个不同的自主运载工具操作子系统包括在自主运载工具运行的规划阶段。
项47.根据任何前述项的系统,其中,所述两个或更多个不同的自主运载工具操作子系统包括在自主运载工具操作的控制阶段。
项48.根据项43至47中任一项的系统,其中,所述两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统中的第一个自主运载工具操作子系统被配置为提供不与所述两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统中的第二个自主运载工具操作子系统的自主运载工具操作决定冗余的附加自主运载工具操作决定。
项49.根据项43至47中任一项所述的系统,其中,所述两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统中的第一个自主运载工具操作子系统被配置为仅提供与所述两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统中的第二个自主运载工具操作子系统的自主运载工具操作决定冗余的附加自主运载工具操作决定。
项50.根据项43至47中任一项的系统,其中,所述输出中介器被配置为仅当所述历史性能数据在特定操作情境方面表现出明显更好的性能时,才将自主运载工具操作子系统提升为优先状况。
项51.根据项43至50中任一项所述的系统,其中,所述输出中介器被配置为基于来自机器学习算法的结果来将自主运载工具操作子系统提升为优先状况,所述机器学习算法对所述历史性能数据进行操作以确定所述自主运载工具的一个或多个具体操作情境,其中在所述一个或多个具体操作情境中,所述两个或更多个不同的自主运载工具操作子系统中的一个自主运载工具操作子系统与所述两个或更多个不同的自主运载工具操作子系统中的其余自主运载工具操作子系统相比以不同的方式运作。
项52.根据项51的系统,其中,所述机器学习算法对与所述两个或更多个不同的自主运载工具操作子系统在自主运载工具队列中的不同自主运载工具中的使用有关的历史性能数据进行操作。
项53.根据项43、51或52的系统,其中,所述输出中介器被配置为基于如下的当前输入数据并且基于如下的历史性能数据来选择性地将所述两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统提升为优先状况,所述当前输入数据指示当前操作情境是城市街道或高速公路驾驶条件,所述历史性能数据表明所述两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统与所述两个或更多个不同的自主运载工具操作子系统中的其余自主运载工具操作子系统相比在所述当前操作情境方面以不同的方式运作。
项54.根据项43、51或52的系统,其中,所述输出中介器被配置为基于如下的当前输入数据并且基于如下的历史性能数据来选择性地将所述两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统提升为优先状况,所述当前输入数据指示当前操作情境涉及特定天气条件,所述历史性能数据表明所述两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统与所述两个或更多个不同的自主运载工具操作子系统中的其余自主运载工具操作子系统相比在所述当前操作情境方面以不同的方式运作。
项55.根据项43、51或52的系统,其中,所述输出中介器被配置为基于如下的当前输入数据并且基于如下的历史性能数据来选择性地将所述两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统提升为优先状况,所述当前输入数据指示当前操作情境涉及特定交通条件,所述历史性能数据表明所述两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统与所述两个或更多个不同的自主运载工具操作子系统中的其余自主运载工具操作子系统相比在所述当前操作情境方面以不同的方式运作。
项56.根据项43、51或52的系统,其中,所述输出中介器被配置为基于如下的当前输入数据并且基于如下的历史性能数据来选择性地将所述两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统提升为优先状况,所述当前输入数据指示当前操作情境在一天中的特定时间期间,所述历史性能数据表明所述两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统与所述两个或更多个不同的自主运载工具操作子系统中的其余自主运载工具操作子系统相比在所述当前操作情境方面以不同的方式运作。
项57.根据项43、51或52的系统,其中,所述输出中介器被配置为基于如下的当前输入数据并且基于如下的历史性能数据来选择性地将所述两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统提升为优先状况,所述当前输入数据指示当前操作情境涉及特定速率范围,所述历史性能数据表明所述两个或更多个不同的自主运载工具操作子系统中的不同自主运载工具操作子系统与所述两个或更多个不同的自主运载工具操作子系统中的其余自主运载工具操作子系统相比在所述当前操作情境方面以不同的方式运作。
项58.根据项43至57中任一项的系统,其中,所述两个或更多个不同的自主运载工具操作子系统中的各自主运载工具操作子系统均实现自主运载工具操作的感知功能和规划功能这两者。
项59.根据项43至57中任一项的系统,其中,所述两个或更多个不同的自主运载工具操作子系统中的各自主运载工具操作子系统均实现自主运载工具操作的感知功能和控制功能这两者。
项60.一种用于使用根据项43至59中任一项的系统来操作自主运载工具的方法。
项61.一种编码有指令的非暂时性计算机可读介质,所述指令能够操作以使得数据处理设备使用根据项43至59中任一项的系统来操作自主运载工具。
项62.一种由自主运载工具的输出中介器进行的方法,所述输出中介器用于控制两个或更多个不同的自主运载工具操作子系统的输出,所述两个或更多个不同的自主运载工具操作子系统其中之一具有优先状况,所述方法包括:
在当前操作情境下,接收来自所述两个或更多个不同的自主运载工具操作子系统的输出;
响应于确定为所接收到的输出中的至少一个输出不同于其它输出,将所述自主运载工具操作子系统中的与所述当前操作语境相对应的自主运载工具操作子系统提升为优先状况;以及
控制具有所述优先状况的自主运载工具操作子系统的输出的发出,以操作所述自主运载工具。
项63.根据项62的方法,其中,控制来自具有所述优先状况的自主运载工具操作子系统的输出的发出包括:指示具有所述优先状况的自主运载工具操作子系统将其输出传输至所述自主运载工具的布置在所述输出中介器的下游且使用所传输的输出来操作所述自主运载工具的组件。
项64.根据项62的方法,其中,控制来自具有所述优先状况的自主运载工具操作子系统的输出的发出包括:将具有所述优先状况的自主运载工具操作子系统的输出传输至所述自主运载工具的布置在所述输出中介器的下游且使用所传输的输出来操作所述自主运载工具的组件。
项65.根据项62至64中任一项所述的方法,其中,所述提升是响应于确定为与所述当前操作情境相对应的自主运载工具操作子系统缺乏优先状况而进行的。
项66.根据项62至64中任一项的方法,还包括:
在下一时钟周期期间并且在相同的当前操作情境下,接收来自所述两个或更多个不同的自主运载工具操作子系统的其它输出;以及
响应于确定为所接收到的输出是相同的,不论具有所述优先状况的自主运载工具操作子系统是否对应于所述当前操作语境,都控制具有所述优先状况的自主运载工具操作子系统的其它输出的发出。
项67.根据项62至64中任一项的方法,还包括:
在下一时钟周期期间并且在相同的当前操作情境下,接收来自所述两个或更多个不同的自主运载工具操作子系统的其它输出;以及
响应于确定为所接收到的其它输出至少之一不同于其它的输出,确定为与所述当前操作语境相对应的自主运载工具操作子系统具有优先状况。
项68.根据项62至65中任一项所述的方法,其中,在将自主运载工具操作子系统中的与所述当前操作情境相对应的自主运载工具操作子系统提升为优先状况之前,所述方法还包括:
访问当前输入数据;
基于所述当前输入数据来确定所述当前操作情境;以及
识别与所述当前操作情境相对应的自主运载工具操作子系统。
项69.根据项68的方法,其中,基于所述当前输入数据来确定所述当前操作情境是通过使用输入数据/情境查找表来进行的。
项70.根据项69的方法,其中,由所述输入数据/情境查找表引用的输入数据包括交通数据、地图数据、AV地点数据、当日时间数据、速率数据和天气数据中的一个或多个。
项71.根据项68的方法,其中,识别与所述当前操作情境相对应的自主运载工具操作子系统是通过使用情境/子系统查找表来进行的。
项72.根据项62至71中任一项的方法,其中,
所述两个或更多个自主运载工具操作子系统是多个感知模块,并且所述感知模块的输出是相应的世界视图,以及
所述方法包括:控制由具有优先状况的感知模块提供的世界视图向布置在所述输出中介器的下游的规划模块的发出。
项73.根据项62至71中任一项的方法,其中,
所述两个或更多个自主运载工具操作子系统是多个规划模块,并且所述规划模块的输出是相应的路线,以及
所述方法包括:控制由具有优先状况的规划模块提供的路线向布置在所述输出中介器的下游的规划模块的发出。
项74.根据项62至71中任一项的方法,其中,
所述两个或更多个自主运载工具操作子系统是多个定位模块,并且所述定位模块的输出是相应的AV位置,以及
所述方法包括:控制由具有优先状况的定位模块提供的AV位置向布置在所述输出中介器的下游的规划模块的发出。
项75.根据项62至71中任一项的方法,其中,
所述两个或更多个自主运载工具操作子系统是多个控制模块,并且所述控制模块的输出是相应的控制信号,以及
所述方法包括:控制由具有优先状况的控制模块提供的控制信号向布置在所述输出中介器的下游的规划模块的发出。
项76.一种自主运载工具,包括:
第一控制系统,其被配置为根据至少一个输入,在所述自主运载工具处于自主驾驶模式且选择所述第一控制系统时,提供影响所述自主运载工具的控制操作的输出;
第二控制系统,其被配置为根据至少一个输入,在所述自主运载工具处于所述自主驾驶模式且选择所述第二控制系统时,提供影响所述自主运载工具的所述控制操作的输出;以及
至少一个处理器,其被配置为选择所述第一控制系统和所述第二控制系统至少之一,以影响所述自主运载工具的所述控制操作。
项77.根据项76的自主运载工具,其中,所述至少一个处理器用于根据所述第一控制系统和所述第二控制系统在一段时间段内的性能来选择所述第一控制系统和所述第二控制系统至少之一。
项78.根据项76至77中任一项的自主运载工具,其中,所述至少一个处理器被配置用于识别所述第一控制系统和所述第二控制系统至少之一的故障。
项79.根据项76至78中任一项的自主运载工具,其中,所述至少一个处理器被配置用于根据识别出所述第一控制系统的故障,选择所述第二控制系统。
项80.根据项76至79中任一项的自主运载工具,其中,所述至少一个处理器被配置用于:
识别干扰所述第一控制系统和所述第二控制系统至少之一的操作的环境条件,以及
根据所识别的环境条件来选择所述第一控制系统和所述第二控制系统至少之一。
项81.根据项76至80中任一项的自主运载工具,其中,第一控制系统被配置用于接收来自第一反馈系统的反馈,并且所述第二控制系统被配置用于接收来自第二反馈系统的反馈。
项82.根据项81的自主运载工具,其中,所述至少一个处理器被配置为比较来自所述第一反馈系统和所述第二反馈系统的反馈,以识别所述第一控制系统和所述第二控制系统至少之一的故障。
项83.根据项76至82中任一项的自主运载工具,其中,所述第一控制系统根据第一输入而操作,并且所述第二控制系统根据第二输入而操作。
项84.根据项76至82中任一项的自主运载工具,其中,所述第一控制系统根据第一输入而操作,并且所述第二控制系统根据第一输入而操作。
项85.根据项76至84的自主运载工具,其中,所述第一控制系统被配置为在影响所述控制操作时使用第一算法,并且所述第二控制系统被配置为在影响所述控制操作时使用第二算法。
项86.根据项85的自主运载工具,其中,第一算法和第二算法是控制反馈算法。
项87.根据85至86项中任一项的自主运载工具,其中,所述第一算法调整转向角度,并且所述第二算法调整油门控制。
项88.根据项76至86中任一项的自主运载工具,其中,所述第一控制系统被配置为使用转向机构来影响转向,并且所述第二控制系统被配置为使用除所述转向机构以外的功能来影响转向。
项89.根据项88的自主运载工具,其中,除所述转向机构以外的功能包括对所述自主运载工具的轮的直接控制和对所述自主运载工具的轴的直接控制至少之一。
项90.根据项76至86中任一项的自主运载工具,其中,所述第一控制系统被配置为使用油门控制机构来影响加速度,并且所述第二控制系统被配置为使用除所述油门控制机构以外的功能来影响加速度。
项91.根据项90的自主运载工具,其中,除所述油门控制机构以外的功能包括对所述自主运载工具的引擎的直接控制和对所述自主运载工具的燃料系统的直接控制至少之一。
项92.根据项76至91中任一项所述的自主运载工具,其中,所述控制操作控制所述自主运载工具的速率和所述自主运载工具的朝向至少之一。
项93.根据项76至92中任一项所述的自主运载工具,其中,所述控制操作控制所述自主运载工具的速率平滑度和所述自主运载工具的朝向平滑度至少之一。
项94.根据项76至93中任一项的自主运载工具,其中,所述控制操作控制所述自主运载工具的加速度、加加速度、颠簸、噼啪声、爆裂声至少之一。
项95.根据项76至94中任一项的自主运载工具,其中,所述至少一个处理器包括仲裁器模块和诊断模块至少之一。
项96.一种自主运载工具,包括:
第一传感器,其被配置为在所述自主运载工具处于操作驾驶状态时,从所述自主运载工具外部的一个或多个环境输入产生第一传感器数据流;
第二传感器,其被配置为在所述自主运载工具处于操作驾驶状态时,从所述自主运载工具外部的所述一个或多个环境输入产生第二传感器数据流,所述第一传感器和所述第二传感器被配置为检测相同类型的信息;以及
处理器,其与所述第一传感器和所述第二传感器耦接,其中所述处理器被配置为基于所述第一传感器数据流和所述第二传感器数据流之间的差异来检测异常条件,以及其中所述处理器被配置为响应于检测到所述异常条件,在所述第一传感器、所述第二传感器和这两者之间进行切换,作为用以控制所述自主运载工具的输入。
项97.根据项96的自主运载工具,其中,所述处理器被配置为在采样时间窗内捕获所述第一传感器数据内的第一组数据值,其中,所述处理器被配置为在所述采样时间窗内捕获所述第二传感器数据内的第二组数据值,以及其中,所述处理器被配置为通过确定所述第一组数据值和所述第二组数据值之间的偏差来检测所述异常条件。
项98.根据项97的自主运载工具,其中,所述处理器被配置为响应于驾驶条件而控制所述采样时间窗的持续时间。
项99.根据项97的自主运载工具,其中,所述采样时间窗的持续时间是预先确定的。
项100.根据项96至99中任一项的自主运载工具,其中,所述处理器被配置为基于所述第一传感器数据流的第一样本和所述第二传感器数据流的第二样本来确定所述差异,所述第一样本和所述第二样本对应于同一时间索引。
项101.根据项100项的自主运载工具,其中,所述处理器被配置为基于所述差异超过预定阈值来检测所述异常条件。
项102.根据项96至101中任一项的自主运载工具,其中,所述处理器被配置为基于检测到所述第一传感器数据流内的缺失样本来确定所述差异。
项103.根据项96至102的自主运载工具,其中,所述第一传感器和所述第二传感器使用一个或多个不同的传感器特性来检测相同类型的信息。
项104.根据项103的自主运载工具,其中,所述第一传感器与所述异常条件相关联,以及其中,所述处理器响应于检测到所述异常条件,被配置为进行所述第二传感器数据流的变换,以产生所述第一传感器数据流的替换版本。
项105.根据项96至102中任一项的自主运载工具,其中,所述第二传感器是所述第一传感器的冗余版本。
项106.根据项96至105中任一项的自主运载工具,其中,所述处理器响应于检测到所述异常条件,被配置为对所述第一传感器、所述第二传感器或这两者进行诊断例程,以解决所述异常条件。
项107.一种用于操作自主运载工具的方法,所述方法包括:
经由第一传感器,在所述自主运载工具处于操作驾驶状态时,从所述自主运载工具外部的一个或多个环境输入产生第一传感器数据流;
经由第二传感器,在所述自主运载工具处于所述操作驾驶状态时,从所述自主运载工具外部的所述一个或多个环境输入产生第二传感器数据流,所述第一传感器和所述第二传感器被配置为检测相同类型的信息;
基于所述第一传感器数据流和所述第二传感器数据流之间的差异来检测异常条件;以及
响应于所检测到的异常条件,在所述第一传感器、所述第二传感器和这两者之间切换,作为用以控制所述自主运载工具的输入。
项108.根据项107的方法,包括:
在采样时间窗内捕获所述第一传感器数据流内的第一组数据值;以及
在所述采样时间窗内捕获第二传感器数据流内的第二组数据值,
其中,检测所述异常条件包括:确定所述第一组数据值和所述第二组数据值之间的偏差。
项109.根据项108的方法,包括:
响应于驾驶条件来控制所述采样时间窗的持续时间。
项110.根据项108的方法,其中,所述采样时间窗的持续时间是预先确定的。
项111.根据项107至110中任一项的方法,其中,所述差异是基于所述第一传感器数据流的第一样本和所述第二传感器数据流的第二样本,所述第一样本和所述第二样本对应于同一时间索引。
项112.根据项111的方法,其中,检测所述异常条件包括:确定所述差异是否超过预定阈值。
项113.根据项107至112中任一项的方法,其中,所述差异是基于检测到所述第一传感器数据流内的缺失样本。
项114.根据项107至113中任一项的方法,其中,所述第一传感器和所述第二传感器使用一个或多个不同的传感器特性来检测相同类型的信息。
项115.根据项114的方法,包括:
响应于检测到所述异常条件,进行所述第二传感器数据流的变换以产生所述第一传感器数据流的替换版本,其中所述第一传感器与所述异常条件相关联。
项116.根据项107至113中任一项的方法,其中,所述第二传感器是所述第一传感器的冗余版本。
项117.根据项107至116中任一项的方法,包括:
响应于检测到所述异常条件,对所述第一传感器、所述第二传感器或这两者进行诊断例程,以解决所述异常条件。
项118.一种自主运载工具,包括:
控制系统,其被配置为影响所述自主运载工具的控制操作;
控制处理器,其与所述控制系统进行通信,所述控制处理器被配置为确定供由所述控制系统执行的指令;
电信系统,其与所述控制系统进行通信,所述电信系统被配置为接收来自外部源的指令,
其中,所述控制处理器被配置为在从所述外部源接收到的指令中确定所述控制系统可执行的指令,并且被配置为当检测到一个或多个指定条件时,使得能够与所述电信系统进行通信的所述外部源控制所述控制系统。
项119.根据项118的自主运载工具,其中,所述控制处理器被配置为确定从所述自主运载工具上的一个或多个传感器接收到的数据是否满足所述一个或多个指定条件,并且根据所述确定,使得所述电信系统能够控制所述控制系统。
项120.根据项118的自主运载工具,其中,所述控制处理器所检测到的所述一个或多个指定条件包括紧急条件。
项121.根据项118的自主运载工具,其中,所述控制处理器在从所述自主运载工具的乘员接收到的输入中检测所述一个或多个指定条件。
项122.根据项121的自主运载工具,其中,所述输入是从所述自主运载工具的内部内的通知接口接收到的。
项123.根据项118的自主运载工具,其中,所述一个或多个指定条件包括环境条件。
项124.根据项118的自主运载工具,其中,所述一个或多个指定条件包括所述控制处理器的故障。
项125.根据项118的自主运载工具,其中,所述控制处理器被配置为确定所述自主运载工具是否在先前未行驶的道路上作为所述指定条件其中之一,并且根据所述确定,使得所述电信系统能够控制所述控制系统。
项126.根据项125的自主运载工具,其中,所述自主运载工具在先前未行驶的道路上这一确定是使用来自已行驶道路的数据库的数据而作出的。
项127.根据项118的自主运载工具,其中,所述电信系统基于遥操作者所作出的输入来接收指令。
项128.一种自主运载工具,包括:
控制系统,其被配置为影响所述自主运载工具的第一控制操作;
控制处理器,其与所述控制系统进行通信,所述控制处理器被配置为确定供由所述控制系统执行的指令;
电信系统,其与所述控制系统进行通信,所述电信系统被配置为接收来自外部源的指令,
处理器,其被配置为在从所述外部源接收到的指令中确定所述控制系统可执行的指令,并且使得所述控制处理器或与所述电信系统进行通信的所述外部源能够操作控制系统。
项129.根据项128的自主运载工具,其中,所述控制处理器被配置为当检测到一个或多个指定条件时,使得所述电信系统能够操作所述控制系统。
项130.根据项129的自主运载工具,其中,所述控制处理器所检测到的所述一个或多个指定条件包括紧急条件。
项131.根据项129的自主运载工具,其中,所述控制处理器在从所述自主运载工具的乘员接收到的输入中检测所述一个或多个指定条件。
项132.根据项131的自主运载工具,其中,所述输入是从所述自主运载工具的内部内的通知接口接收到的。
项133.根据项128的自主运载工具,其中,所述一个或多个指定条件包括环境条件。
项134.根据项129的自主运载工具,其中,所述一个或多个指定条件包括所述控制处理器的故障。
项135.根据项129的自主运载工具,其中,所述控制处理器被配置为确定所述自主运载工具是否在先前未行驶的道路上作为所述指定条件其中之一,并且根据所述确定,使得所述电信系统能够控制所述控制系统。
项136.根据项128的自主运载工具,其中,所述自主运载工具在先前未行驶的道路上这一确定是使用来自已行驶道路的数据库的数据而作出的。
项137.根据项129的自主运载工具,其中,所述外部源基于遥操作者所作出的输入来接收指令。
项138.一种自主运载工具,包括:
第一控制系统,其被配置为影响所述自主运载工具的第一控制操作;
第二控制系统,其被配置为影响所述自主运载工具的所述第一控制操作;
电信系统,其与所述第一控制系统进行通信,所述电信系统被配置为从外部源接收指令;以及
控制处理器,其被配置为在从所述外部源接收到的指令中确定用以影响所述第一控制操作的指令,并且被配置为所述电信系统与所述外部源进行通信的能力,并且根据所述确定,选择所述第一控制系统或所述第二控制系统。
项139.根据项138的自主运载工具,其中,确定所述电信系统与所述外部源进行通信的能力包括:确定所述电信系统传输所述指令所经由的无线网络的信号强度的度量。
项140.根据项138的自主运载工具,其中,所述第一控制系统使用第一算法,并且所述第二控制系统不同于所述第一控制系统使用第二算法。
项141.根据项140的自主运载工具,其中,所述第一算法的输出影响所述第一控制操作,以生成与所述第二算法的输出相比更具侵略性的所述自主运载工具的移动。
项142.根据项140的自主运载工具,其中,所述第一算法的输出影响所述第一控制操作,以生成与所述第二算法的输出相比更保守的所述自主运载工具的移动。
项143.根据项142的自主运载工具,其中,控制处理器被配置为默认使用所述第一控制系统。
项144.根据项138的自主运载工具,其中,确定所述电信系统与所述外部源进行通信的能力包括:确定所述自主运载工具上的无线信号接收器损坏的指示。
项145.一种方法,包括:
在具有一个或多个传感器的第一自主运载工具处:
基于从所述一个或多个传感器接收到的数据来确定所述第一自主运载工具的操作的方面;
接收源自一个或多个其它自主运载工具的数据;以及
使用所述确定和所接收的数据来执行所述操作。
项146.根据项145的方法,还包括:
将从所述一个或多个传感器接收到的数据的至少一部分传输到所述其它自主运载工具至少之一。
项147.根据项145或项146的方法,其中,从所述一个或多个传感器接收到的数据包括所述第一自主运载工具的环境中的对象的指示和道路的条件至少之一。
项148.根据项145至147中任一项的方法,其中,源自所述一个或多个其它自主运载工具的数据包括:源自所述一个或多个其它自主运载工具的数据有效的一段时间的指示。
项149.根据项145至148中任一项的方法,其中,在所述第一自主运载工具穿过所述道路之前,所述一个或多个其它自主运载工具穿过了所述道路,以及其中,源自所述一个或多个其它自主运载工具的数据包括:当所述一个或多个其它自主运载工具穿过了所述道路时的所述道路的条件的指示。
项150.根据项145至149中任一项的方法,其中,源自所述一个或多个其它自主运载工具的数据包括所述一个或多个其它自主运载工具所穿过的一个或多个路径的指示。
项151.根据项150的方法,其中,源自所述一个或多个其它自主运载工具的数据还包括对沿着由所述一个或多个其它自主运载工具穿过的所述一个或多个路径的交通模式的一个或多个修改的指示。
项152.根据项150的方法,其中,源自所述一个或多个其它自主运载工具的数据还包括沿着由所述一个或多个其它自主运载工具穿过的所述一个或多个路径的一个或多个障碍物的指示。
项153.根据项150的方法,其中,源自所述一个或多个其它自主运载工具的数据还包括关于由所述一个或多个其它自主运载工具穿过的所述一个或多个路径的一个或多个对象的变化的指示。
项154.根据项150的方法,还包括:
基于源自所述一个或多个其它自主运载工具的数据,确定为所述一个或多个其它自主运载工具的目的地与所述第一自主运载工具的目的地类似,以及
响应于确定所述一个或多个其它自主运载工具的目的地与所述第一自主运载工具的目的地类似,向所述一个或多个其它自主运载工具传输请求以形成运载工具排(vehicle platoon)。
项155.根据项145至154中任一项的方法,其中,源自所述一个或多个其它自主运载工具的数据包括所述一个或多个其它自主运载工具的环境的条件的指示。
项156.根据项155的方法,还包括:基于所述一个或多个其它自主运载工具的环境的条件的指示来修改所述第一自主运载工具的路线。
项157.根据项145至156中任一项的方法,其中,源自所述一个或多个其它自主运载工具的数据包括所述一个或多个其它自主运载工具的状况。
项158.根据项145至157中任一项所述的方法,其中,所述一个或多个其它自主运载工具的状况包括所述一个或多个其它自主运载工具的地点、所述一个或多个其它自主运载工具的速度、以及所述一个或多个其它自主运载工具的加速度至少之一。
项159.根据项145至158中任一项的方法,还包括:使用所述第一自主运载工具的通信引擎来向外部控制系统传输信息和/或从所述外部控制系统接收信息,所述外部控制系统被配置为控制所述第一自主运载工具以及一个或多个所述其它自主运载工具的操作。
项160.根据项145至159中任一项的方法,还包括:使用所述第一自主运载工具的通信引擎来通过一个或多个对等网络连接向所述一个或多个自主运载工具传输信息和/或从所述一个或多个自主运载工具接收信息。
项161.根据项145至161中任一项所述的方法,其中,所述操作是以下其中之一:规划所述第一自主运载工具的路线、识别所述第一自主运载工具的环境中的对象、评价所述第一自主运载工具所要穿过的道路的条件、以及解释所述自主运载工具的环境中的标志。
项162.一种第一装置,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其存储在存储器中,所述一个或多个程序包括用于进行根据项145至161中任一项的方法的指令。
项163.一种非暂时性计算机可读存储介质,包括供由第一装置的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括指令,所述指令在由所述一个或多个处理器执行时,使得所述第一装置进行根据项145至161中任一项的方法。
项164.一种方法,包括:
利用自主运载工具(AV),在环境中进行所述AV的自主驾驶功能;
利用所述AV的内部无线通信装置,从位于所述环境中的外部无线通信装置接收外部消息;
利用所述AV的一个或多个处理器,将所述功能的输出与所述外部消息的内容或基于所述内容所生成的数据进行比较;以及
根据所述比较的结果,使得所述AV进行机动动作。
项165.根据项164的方法,其中,所述功能是定位,并且所述内容包括所述AV的地点或所述环境中的对象的地点。
项166.根据项164的方法,其中,所述功能是感知,并且所述内容包括对象以及所述对象在所述环境中的相应地点。
项167.根据项166的方法,还包括:
利用所述一个或多个处理器,使用所述对象的相应地点来更新所述环境的场景描述;以及
使用更新后的场景描述来进行所述感知功能。
项168.根据根据项164中任一项的方法,其中,所述外部消息是从在所述环境中操作的一个或多个其它运载工具广播或传输来的。
项169.根据项164的方法,其中,所述内容包括所述AV的驾驶状态、或者所述其它运载工具中的一个或多个的驾驶状态。
项170.根据项164的方法,其中,所述内容包括交通灯状态数据。
项171.根据项164的方法,其中,所述内容用于对所述AV的操作强制执行限速。
项172.根据项164的方法,其中,所述内容用于创建或更新由所述AV在内部生成的场景描述。
项173.根据项164至172中任一项的方法,其中,所述机动动作是安全停止机动动作或跛行(limp)模式。
项174.根据项164至172中任一项的方法,其中,所述内容包括公共消息以及一个或多个加密的私人消息。
项175.一种自主运载工具(AV)系统,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其存储在存储器中,所述一个或多个程序包括用于进行根据项164至174中任一项的方法的指令。
项176.一种非暂时性计算机可读存储介质,包括供由自主运载工具(AV)系统的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括指令,所述指令在由所述一个或多个处理器执行时,使得所述AV系统进行根据项164至174中任一项的方法。
项177.一种方法,包括:
利用自主运载工具(AV)的操作系统(OS),发现耦接至所述AV的数据网络的新组件;
利用所述AV OS,确定所述新组件是否是冗余组件;
根据所述新组件是冗余组件:
进行所述新组件的冗余配置;以及
根据所述新组件不是冗余组件,
进行所述新组件的基本配置,
其中,所述方法由一个或多个专用计算装置来进行。
项178.根据项177的方法,其中,进行所述新组件的基本配置还包括:
开始启动过程;
创建可用的中断请求、直接内存访问(DMA)通道和输入/输出(I/O)地址的资源表;
加载所述新组件的最后一个已知配置;
将所述新组件的当前配置与所述新组件的最后一个已知配置进行比较;
根据所述目前配置和最后一个已知配置保持不变,
继续所述启动过程。
项179.根据项178的方法,其中,根据所述当前配置和所述最后一个已知配置改变:
从所述资源表中删除任何保留的系统资源;
从所述资源表中剩余的资源中向所述新组件指派资源;
向所述新组件通知所述新组件的新指派;以及
更新所述新组件的配置数据;以及
继续所述启动过程。
项180.根据项177的方法,其中,所述新组件是耦接至多个组件的集线器。
项181.根据项177的方法,其中,确定所述新组件是否是冗余组件包括:在冗余表中搜索所述新组件。
项182.根据项177的方法,其中,进行所述新组件的冗余配置包括:确定所述新组件是否符合所述AV的冗余模型。
项183.根据项182的方法,其中,确定所述新组件是否符合所述AV的冗余模式还包括:
将所述新组件的一个或多个特性与所述冗余模型所需的一个或多个特性进行比较;以及
基于所述比较来确定所述新组件符合所述冗余模型。
项184.根据项183的方法,其中,所述特性是性能规范或传感器属性。
项185.根据项183的方法,其中,比较一个或多个特性包括:确定为所述新组件所使用的算法与所述AV的相应冗余组件所使用的算法相同或不同。
项186.根据项185的方法,其中,所述新组件是立体照相机,并且相应的冗余组件是LiDAR。
项187.一种自主运载工具,包括:
一个或多个计算机处理器;
存储指令的一个或多个非暂时性存储介质,所述指令在由所述一个或多个计算机处理器执行时,使得进行包括以下的操作:
利用所述自主运载工具(AV)的操作系统(OS),发现耦接至所述AV的数据网络的新组件;
利用所述AV OS,确定所述新组件是否是冗余组件;
根据所述新组件是冗余组件,
进行所述新组件的冗余配置;
根据所述新组件不是冗余组件,
进行所述新组件的基本配置,
其中,所述方法由一个或多个专用计算装置进行。
项188.一个或多个存储有指令的非暂时性存储介质,所述指令在由一个或多个计算装置执行时,使得进行根据项177所述的方法。
项189.一种方法,包括进行涉及指令的机器执行的操作,所述指令在由一个或多个计算装置执行时,使得进行包括以下的操作:
利用所述自主运载工具(AV)的操作系统(OS),发现耦接至所述AV的数据网络的新组件;
利用所述AV OS,确定所述新组件是否是冗余的;
根据所述新组件是冗余组件,
进行所述新组件的冗余配置;
根据所述新组件不是冗余组件,
进行所述新组件的基本配置,
其中,所述机器执行的操作是发送所述指令、接收所述指令、存储所述指令和执行所述指令至少之一。
项190.一种方法,包括:
从自主运载工具(AV)的感知模块获得场景描述,所述场景描述包括由所述AV的一个或多个传感器检测到的一个或多个对象;
确定所述场景描述是否落在所述AV的操作域内;
根据所述场景描述落在所述AV的所述操作域内:
利用所述AV的第一运动规划模块,至少部分使用所述场景描述和所述AV的位置来生成所述AV的第一轨迹;
利用所述AV的第二运动规划模块,至少部分使用所述场景描述和所述AV位置来生成所述AV的第二轨迹;
利用所述第一路线规划模块的第一行为推理模型,评价所述第二轨迹,以确定所述第二轨迹是否与所述场景描述中的所述一个或多个对象发生碰撞;
利用所述第二路线规划模块的第二行为推理模型,评价所述第一轨迹,以确定所述第一轨迹是否与所述场景描述中的所述一个或多个对象发生碰撞,其中所述第二行为推理模型不同于所述第一行为推理模型;
基于所述评价来确定所述第一轨迹或所述第二轨迹与所述场景描述中所包括的所述一个或多个对象是否发生碰撞;以及
根据确定为所述第一轨迹或所述第二轨迹与所述场景描述中的所述一个或多个对象发生碰撞,
使得所述AV进行安全停止机动动作或紧急制动。
项191.根据项190的方法,其中,所述第一行为推理模型是恒速模型或恒加速度模型,并且所述第二行为推理模型是机器学习模型。
项192.根据项190的方法,其中,所述第一行为推理模型或所述第二行为推理模型是使用部分可观察马尔可夫决策过程(POMDP)的概率模型。
项193.根据项190的方法,其中,所述第一行为推理模型或所述第二行为推理模型是由神经网络参数化的高斯混合模型。
项194.根据项190的方法,其中,所述第一行为推理模型或所述第二行为推理模型是逆强化学习(IRL)模型。
项195.根据项190的方法,还包括:
提供所述第一规划模块的第一诊断覆盖范围;
提供所述第二规划模块的第二诊断覆盖范围;
基于所述第一诊断覆盖范围和所述第二诊断覆盖范围,确定是否存在与所述第一规划模块或所述第二规划模块相关联的硬件或软件错误;以及
根据确定为不存在与所述第一规划模块或所述第二规划模块相关联的硬件或软件错误、以及所述第一轨迹或所述第二轨迹与所述场景描述中的所述一个或多个对象发生碰撞,
使得所述AV进行安全停止机动动作。
项196.根据项195的方法,还包括:
根据确定为存在与所述第一规划模块或所述第二规划模块相关联的硬件或软件错误,
使得所述AV进行安全停止机动动作。
项197.根据项190的方法,还包括:
提供所述第一路线规划系统的第一诊断覆盖范围;
提供所述第二路线规划系统的第二诊断覆盖范围;
基于诊断覆盖范围,确定是否存在与所述第一规划模块或所述第二规划模块相关联的硬件或软件错误;以及
根据确定为在所述AV中不存在硬件或软件错误、以及所述第一轨迹或所述第二轨迹与所述场景描述中的所述一个或多个对象发生碰撞,
使得所述AV进行紧急制动。
项198.根据项190的方法,其中,所述场景描述是至少部分通过无线通信介质从所述AV外部的源获得的。
项199.根据项190的方法,其中,所述场景描述是至少部分通过无线通信介质从另一自主运载工具获得的。
项200.一种自主运载工具,包括:
一个或多个计算机处理器;以及
存储有指令的一个或多个非暂时性存储介质,所述指令在由所述一个或多个计算机处理器执行时,使得进行根据项1至10中任一项的方法。
项201.一个或多个存储有指令的非暂时性存储介质,所述指令在由一个或多个计算装置执行时,使得进行根据项190至199中任一项的方法。
项202.一种由自主运载工具(AV)进行的方法,所述方法包括:
利用第一模拟器,使用由第二AV处理/系统输出的数据来进行第一AV处理/系统的第一模拟;
利用第二模拟器,使用由所述第一AV处理/系统输出的数据来进行所述第二AV处理/系统的第二模拟;
利用一个或多个处理器,将由所述第一处理/系统和所述第二处理/系统输出的数据与由所述第一模拟器和所述第二模拟器输出的数据进行比较;以及
根据所述比较的结果,使得所述AV进行安全模式机动或其它动作。
项203.根据项202的方法,还包括:
利用第一诊断装置,进行所述第一AV处理/系统的第一诊断监测;
利用第二诊断装置,进行所述第二AV处理/系统的第二诊断监测;以及
根据所述第一诊断监测和所述第二诊断监测,使得所述AV进行安全模式机动动作或其它动作。
项204.根据项202的方法,还包括:
利用所述第一模拟器或所述第二模拟器,接收一个或多个外部因素;以及
利用所述第一模拟器或所述第二模拟器,基于所述外部因素来调整一个或多个模型。
项205.根据项204的方法,其中,所述外部因素包括天气条件。
项206.根据项204的方法,其中,所述外部因素包括道路条件。
项207.根据项204的方法,其中,所述外部因素包括交通条件。
项208.根据项204的方法,其中,所述外部因素包括AV特性。
项209.根据项204的方法,其中,所述外部因素包括当日时间。
项210.根据项202的方法,还包括:
利用所述第一模拟器或所述第二模拟器,接收驾驶员简档;以及
利用所述第一模拟器或所述第二模拟器,基于所述驾驶员简档来调整一个或多个模型。
项211.根据项210的方法,其中,所述驾驶员简档包括驾驶模式/。
项212.一种自主运载工具,包括:
一个或多个计算机处理器;
存储有指令的一个或多个非暂时性存储介质,所述指令在由所述一个或多个计算机处理器执行时,使得进行包括以下的操作:
利用第一模拟器,使用由第二AV处理/系统输出的数据来进行第一AV处理/系统的第一模拟;
利用第二模拟器,使用由所述第一AV处理/系统输出的数据来进行所述第二AV处理/系统的第二模拟;
利用一个或多个处理器,将由所述第一处理/系统和所述第二处理/系统输出的数据与由所述第一模拟器和所述第二模拟器输出的数据进行比较;以及
根据所述比较的结果,使得所述AV进行安全模式机动或其它动作。
项213.一个或多个存储有指令的非暂时性存储介质,所述指令在由一个或多个计算装置执行时,使得进行根据项202所述的方法。
项214.一种方法,包括进行涉及指令的机器执行的操作,所述指令在由一个或多个计算装置执行时,使得进行包括以下的操作:
利用第一模拟器,使用由第二AV处理/系统输出的数据来进行第一AV处理/系统的第一模拟;
利用第二模拟器,使用由所述第一AV处理/系统输出的数据来进行所述第二AV处理/系统的第二模拟;
利用一个或多个处理器,将由所述第一处理/系统和所述第二处理/系统输出的数据与由所述第一模拟器和所述第二模拟器输出的数据进行比较;以及
根据所述比较的结果,使得所述AV进行安全模式机动动作或其它动作,
其中,所述机器执行的操作是发送所述指令、接收所述指令、存储所述指令和执行所述指令至少之一。
项215.一种系统,包括:
组件基础设施,其包括实现自主运载工具(AV)的系统的一组交互组件,所述组件基础设施包括:
第一组件,其进行所述AV的操作的功能;
第二组件,其与所述第一软件组件同时进行所述AV的操作的第一功能;
感知电路,其被配置用于通过将来自所述第一组件的第一输出与来自所述第二组件的第二输出组合或比较,来创建所述AV的操作环境的模型;以及
基于所述操作环境的模型来发起用以在所述AV上进行所述功能的操作模式。
项216.根据项215的系统,其中,所述功能是感知,所述第一组件实现密集自由空间检测,并且所述第二组件实现基于对象的检测和跟踪。
项217.根据项216的系统,其中,所述密集自由空间检测使用密集光检测和测距(LiDAR)传感器的输出、以及来自一个或多个立体或单目照相机的冗余测量。
项218.根据项216的系统,其中,所述密集自由空间检测使用传感器数据融合。
项219.根据项216的系统,其中,所述传感器数据融合将光检测和测距(LiDAR)输出与立体照相机深度数据一起使用。
项220.根据项218的系统,其中,所述传感器数据融合将光检测和测距(LiDAR)输出与耦接至一个或多个单目照相机的自由空间神经网络的输出一起使用。
项221.根据项216的系统,其中,所述基于对象的检测和跟踪使用来自一个或多个360°单目照相机以及一个或多个RADAR的测量值。
项222.根据项216的系统,其中,所述基于对象的检测和跟踪将用于对对象进行分类的神经网络分类器与用于跟踪所述对象的多模型对象跟踪器一起使用。
项223.根据项216的系统,其中,所述基于对象的检测和跟踪将用于对对象进行分类的神经网络与用于跟踪所述对象的神经网络一起使用。
项224.根据项215的系统,其中,所述感知电路被配置用于:
比较所述第一组件和所述第二组件的输出;
检测所述第一组件或所述第二组件的故障;以及
根据检测到所述故障,排他地使用另一组件来为所述AV提供所述功能。
项225.根据项215的系统,其中,感知电路被配置用于:
比较所述第一组件和所述第二组件的输出;
根据所述比较,使得所述第一组件仅对所述第二组件提供安全检查,或者使得所述第二组件仅对所述第一组件提供安全检查。

Claims (23)

1.一种自主运载工具,包括:
第一传感器,其被配置为在所述自主运载工具处于操作驾驶状态时,从所述自主运载工具外部的一个或多个环境输入产生第一传感器数据流;
第二传感器,其被配置为在所述自主运载工具处于所述操作驾驶状态时,从所述自主运载工具外部的所述一个或多个环境输入产生第二传感器数据流,所述第一传感器和所述第二传感器被配置为检测相同类型的信息;以及
处理器,其与所述第一传感器和所述第二传感器耦接,其中所述处理器被配置为基于所述第一传感器数据流和所述第二传感器数据流之间的差异来检测异常条件,以及其中所述处理器被配置为响应于检测到所述异常条件,在所述第一传感器、所述第二传感器或这两者之间切换,作为用以控制所述自主运载工具的输入。
2.根据权利要求1所述的自主运载工具,其中,所述处理器被配置为在采样时间窗内捕获所述第一传感器数据流内的第一组数据值,其中,所述处理器被配置为在所述采样时间窗内捕获所述第二传感器数据流内的第二组数据值,以及其中,所述处理器被配置为通过确定所述第一组数据值和所述第二组数据值之间的偏差来检测所述异常条件。
3.根据权利要求2所述的自主运载工具,其中,所述处理器被配置为响应于驾驶条件来控制所述采样时间窗的持续时间。
4.根据权利要求2所述的自主运载工具,其中,所述采样时间窗的持续时间是预先确定的。
5.根据权利要求1至4中任一项所述的自主运载工具,其中,所述处理器被配置为基于所述第一传感器数据流的第一样本和所述第二传感器数据流的第二样本来确定所述差异,所述第一样本和所述第二样本对应于同一时间索引。
6.根据权利要求5所述的自主运载工具,其中,所述处理器被配置为基于所述差异超过预定阈值来检测所述异常条件。
7.根据权利要求1至6中任一项所述的自主运载工具,其中,所述处理器被配置为基于检测到所述第一传感器数据流内的缺失样本来确定所述差异。
8.根据权利要求1至7中任一项所述的自主运载工具,其中,所述第一传感器和所述第二传感器使用一个或多个不同的传感器特性来检测所述相同类型的信息。
9.根据权利要求8所述的自主运载工具,其中,所述第一传感器与所述异常条件相关联,以及其中,所述处理器响应于检测到所述异常条件,被配置为进行所述第二传感器数据流的变换,以产生所述第一传感器数据流的替换版本。
10.根据权利要求1至9中任一项所述的自主运载工具,其中,所述第二传感器是所述第一传感器的冗余版本。
11.根据权利要求1至10中任一项所述的自主运载工具,其中,所述处理器响应于检测到所述异常条件,被配置为对所述第一传感器、所述第二传感器或这两者进行诊断例程,以解决所述异常条件。
12.一种用于操作自主运载工具的方法,所述方法包括:
经由第一传感器,在所述自主运载工具处于操作驾驶状态时,从所述自主运载工具外部的一个或多个环境输入产生第一传感器数据流;
经由第二传感器,在所述自主运载工具处于所述操作驾驶状态时,从所述自主运载工具外部的所述一个或多个环境输入产生第二传感器数据流,所述第一传感器和所述第二传感器被配置为检测相同类型的信息;
基于所述第一传感器数据流和所述第二传感器数据流之间的差异来检测异常条件;以及
响应于所检测到的异常条件,在所述第一传感器、所述第二传感器或这两者之间切换,作为用以控制所述自主运载工具的输入。
13.根据权利要求12所述的方法,包括:
在采样时间窗内捕获所述第一传感器数据流内的第一组数据值;以及
在所述采样时间窗内捕获所述第二传感器数据流内的第二组数据值,
其中,检测所述异常条件包括:确定所述第一组数据值和所述第二组数据值之间的偏差。
14.根据权利要求13所述的方法,包括:
响应于驾驶条件来控制所述采样时间窗的持续时间。
15.根据权利要求13所述的方法,其中,所述采样时间窗的持续时间是预先确定的。
16.根据权利要求12至15中任一项所述的方法,其中,所述差异是基于所述第一传感器数据流的第一样本和所述第二传感器数据流的第二样本,所述第一样本和所述第二样本对应于同一时间索引。
17.根据权利要求16所述的方法,其中,检测所述异常条件包括:确定所述差异是否超过预定阈值。
18.根据权利要求12至17中任一项所述的方法,其中,所述差异是基于检测到所述第一传感器数据流内的缺失样本。
19.根据权利要求12至18中任一项所述的方法,其中,所述第一传感器和所述第二传感器使用一个或多个不同的传感器特性来检测所述相同类型的信息。
20.根据权利要求19所述的方法,包括:
响应于检测到所述异常条件,进行所述第二传感器数据流的变换,以产生所述第一传感器数据流的替换版本,其中所述第一传感器与所述异常条件相关联。
21.根据权利要求12至20中任一项所述的方法,其中,所述第二传感器是所述第一传感器的冗余版本。
22.根据权利要求12至21中任一项所述的方法,包括:
响应于检测到所述异常条件,对所述第一传感器、所述第二传感器或这两者进行诊断例程,以解决所述异常条件。
23.一个或多个存储有指令的非暂时性存储介质,所述指令在由一个或多个计算装置执行时,使得进行根据权利要求12至22中任一项所述的方法。
CN201980072734.1A 2018-10-30 2019-10-30 自主运载工具中的冗余 Pending CN112969622A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862752447P 2018-10-30 2018-10-30
US62/752,447 2018-10-30
PCT/US2019/058949 WO2020092635A1 (en) 2018-10-30 2019-10-30 Redundancy in autonomous vehicles

Publications (1)

Publication Number Publication Date
CN112969622A true CN112969622A (zh) 2021-06-15

Family

ID=70464217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980072734.1A Pending CN112969622A (zh) 2018-10-30 2019-10-30 自主运载工具中的冗余

Country Status (7)

Country Link
US (1) US20210163021A1 (zh)
KR (2) KR20230030029A (zh)
CN (1) CN112969622A (zh)
DE (1) DE112019005425T5 (zh)
DK (1) DK202070218A1 (zh)
GB (5) GB2610938B (zh)
WO (1) WO2020092635A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115390431A (zh) * 2022-09-21 2022-11-25 上海小马智行智能科技发展有限公司 控制器与车辆

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12086507B2 (en) 2017-02-22 2024-09-10 Middle Chart, LLC Method and apparatus for construction and operation of connected infrastructure
US11216007B2 (en) * 2018-07-16 2022-01-04 Phantom Auto Inc. Normalization of intelligent transport system handling characteristics
WO2020018688A1 (en) 2018-07-20 2020-01-23 May Mobility, Inc. A multi-perspective system and method for behavioral policy selection by an autonomous agent
US11644334B2 (en) * 2019-02-07 2023-05-09 Uber Technologies, Inc. Route optimization system based on height parameter
US12112283B1 (en) 2019-02-15 2024-10-08 State Farm Mutual Automobile Insurance Company Systems and methods for dynamically generating optimal routes and routed vehicle analytics
US10969470B2 (en) 2019-02-15 2021-04-06 May Mobility, Inc. Systems and methods for intelligently calibrating infrastructure devices using onboard sensors of an autonomous agent
US11466998B1 (en) 2019-02-15 2022-10-11 State Farm Mutual Automobile Insurance Company Systems and methods for dynamically generating optimal routes for management of multiple vehicles
US11560153B2 (en) * 2019-03-07 2023-01-24 6 River Systems, Llc Systems and methods for collision avoidance by autonomous vehicles
DE102019107443A1 (de) * 2019-03-22 2020-09-24 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betrieb eines Roboters mit verbesserter Objektdetektion
DE112019007111T5 (de) * 2019-03-29 2022-01-27 Honda Motor Co., Ltd. Steuervorrichtung, Steuerverfahren und Programm
US20220204003A1 (en) * 2019-05-07 2022-06-30 Kontrol Gmbh Formal Verification for the Development and Real-Time Application of Autonomous Systems
AT522167B1 (de) * 2019-06-13 2020-09-15 Avl List Gmbh Verfahren und Vorrichtung zur vorausschauenden Fahrzeugkontrolle
CN112114840B (zh) * 2019-06-21 2023-01-06 华为技术有限公司 软件升级方法、装置及系统
US11549815B2 (en) * 2019-06-28 2023-01-10 GM Cruise Holdings LLC. Map change detection
JP2021015565A (ja) * 2019-07-16 2021-02-12 トヨタ自動車株式会社 車両制御装置
US11392122B2 (en) 2019-07-29 2022-07-19 Waymo Llc Method for performing a vehicle assist operation
US11301700B2 (en) * 2019-08-22 2022-04-12 Wipro Limited System and method for safely parking an autonomous vehicle on sensor anomaly
US11900244B1 (en) * 2019-09-30 2024-02-13 Amazon Technologies, Inc. Attention-based deep reinforcement learning for autonomous agents
US11619942B2 (en) * 2019-10-15 2023-04-04 Robert Bosch Gmbh Controlling an autonomous vehicle when the autonomous vehicle is outside of its operational design domain
FR3102879B1 (fr) * 2019-10-30 2024-09-13 Renault Sas Système et procédé de gestion de la position d’un véhicule autonome.
DE102019130036A1 (de) * 2019-11-07 2021-05-12 Daimler Ag Vorrichtung zur Steuerung eines automatisierten Fahrbetriebs eines Fahrzeugs
US11370419B2 (en) * 2019-11-13 2022-06-28 Robert Bosch Gmbh Use of driver assistance collision mitigation systems with autonomous driving systems
CN111025959B (zh) * 2019-11-20 2021-10-01 华为技术有限公司 一种数据管理的方法、装置、设备及智能汽车
KR20210066984A (ko) * 2019-11-28 2021-06-08 현대자동차주식회사 자율 발렛 주차를 지원하는 시스템 및 방법, 그리고 이를 위한 인프라 및 차량
DE102019218718B4 (de) * 2019-12-02 2023-11-16 Volkswagen Aktiengesellschaft Steuerungssystem zur Steuerung eines Betriebs eines selbstfahrenden Fahrzeugs sowie Kraftfahrzeug
EP4078434A2 (de) * 2019-12-20 2022-10-26 ZF Friedrichshafen AG Steuergerät für ein fahrerassistenzsystem und fahrerassistenzsystem
EP4081993A4 (en) * 2019-12-23 2023-08-30 Nokia Technologies Oy VIRTUAL DYNAMIC PELOTON
KR20210095359A (ko) * 2020-01-23 2021-08-02 엘지전자 주식회사 로봇, 로봇의 제어 방법 및 로봇을 제어하기 위한 서버
US20210232913A1 (en) * 2020-01-27 2021-07-29 Honda Motor Co., Ltd. Interpretable autonomous driving system and method thereof
JP7234967B2 (ja) * 2020-02-17 2023-03-08 トヨタ自動車株式会社 衝突回避支援装置
US11661895B2 (en) * 2020-02-24 2023-05-30 General Electric Comapny Autonomous safety mode for distributed control of turbomachines
US11644846B2 (en) * 2020-03-31 2023-05-09 GM Cruise Holdings LLC. System and method for real-time lane validation
US11210869B2 (en) 2020-03-31 2021-12-28 Calpro Adas Solutions, Llc Vehicle safety feature identification and calibration
US11453409B2 (en) * 2020-04-21 2022-09-27 Baidu Usa Llc Extended model reference adaptive control algorithm for the vehicle actuation time-latency
KR20210138201A (ko) * 2020-05-11 2021-11-19 현대자동차주식회사 자율 주행 제어 방법 및 장치
CN111762179B (zh) * 2020-05-11 2022-07-12 广州文远知行科技有限公司 车辆控制方法、装置、车辆和计算机可读存储介质
DE102020206168A1 (de) * 2020-05-15 2021-11-18 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Lokalisieren eines Fahrzeugs in Relation zu einem Umfeldmodell um eine Fahrtrajektorie
WO2021233552A1 (de) * 2020-05-22 2021-11-25 Tsu Gmbh Gesellschaft Für Technik, Sicherheit Und Umweltschutz Mbh Redundante steuerlogik für sicherheitskritische automatisierungssysteme auf der basis künstlicher neuronaler netze
JP2023533225A (ja) 2020-07-01 2023-08-02 メイ モビリティー,インコーポレイテッド 自律走行車ポリシーを動的にキュレーションする方法及びシステム
US11644835B2 (en) * 2020-07-29 2023-05-09 Toyota Research Institute, Inc. Game-theoretic planning for risk-aware interactive agents
US11643082B2 (en) * 2020-08-05 2023-05-09 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for determining real-time lane level snow accumulation
US20230022896A1 (en) * 2020-08-10 2023-01-26 Jun Luo System and method for managing flexible control of vehicles by diverse agents in autonomous driving simulation
US11713979B2 (en) * 2020-08-27 2023-08-01 Here Global B.V. Method, apparatus, and computer program product for generating a transition variability index related to autonomous driving
US11691643B2 (en) 2020-08-27 2023-07-04 Here Global B.V. Method and apparatus to improve interaction models and user experience for autonomous driving in transition regions
US11687094B2 (en) 2020-08-27 2023-06-27 Here Global B.V. Method, apparatus, and computer program product for organizing autonomous vehicles in an autonomous transition region
US11610412B2 (en) * 2020-09-18 2023-03-21 Ford Global Technologies, Llc Vehicle neural network training
DE102020212035A1 (de) * 2020-09-24 2022-03-24 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren, Datenverarbeitungsmodul und Datenverarbeitungsnetzwerk zur Verarbeitung von Daten
US11386776B2 (en) * 2020-10-05 2022-07-12 Qualcomm Incorporated Managing a driving condition anomaly
CN112434564B (zh) * 2020-11-04 2023-06-27 北方工业大学 公交车内异常聚集行为的检测系统
CN112347906B (zh) * 2020-11-04 2023-06-27 北方工业大学 公交车内异常聚集行为的检测方法
WO2022115713A1 (en) * 2020-11-30 2022-06-02 Nuro, Inc. Hardware systems for an autonomous vehicle
US11199404B1 (en) * 2020-12-09 2021-12-14 Baker Hughes Holdings Llc Camera triggering and multi-camera photogrammetry
US11827243B2 (en) * 2020-12-13 2023-11-28 Pony Ai Inc. Automated vehicle safety response methods and corresponding vehicle safety systems with serial-parallel computing architectures
WO2022132774A1 (en) * 2020-12-14 2022-06-23 May Mobility, Inc. Autonomous vehicle safety platform system and method
US12105192B2 (en) 2020-12-17 2024-10-01 Aptiv Technologies AG Radar reference map generation
US11988741B2 (en) * 2020-12-17 2024-05-21 Aptiv Technologies AG Vehicle routing based on availability of radar-localization objects
US11912302B2 (en) * 2020-12-21 2024-02-27 Zoox, Inc. Autonomous control engagement
US11738777B2 (en) 2020-12-21 2023-08-29 Zoox, Inc. Dynamic autonomous control engagement
US11919547B1 (en) * 2020-12-28 2024-03-05 Honda Motor Co., Ltd. Vehicle control device, vehicle system, vehicle control method, and program
US12005922B2 (en) 2020-12-31 2024-06-11 Honda Motor Co., Ltd. Toward simulation of driver behavior in driving automation
US11708066B2 (en) * 2021-01-21 2023-07-25 Motional Ad Llc Road surface condition guided decision making and prediction
AU2022227763A1 (en) * 2021-02-25 2023-09-28 Autonomous Solutions, Inc. Intelligent urgent stop system for an autonomous vehicle
US20220281478A1 (en) * 2021-03-02 2022-09-08 Steering Solutions Ip Holding Corporation Motion monitoring safety diagnostic for the detection of erroneous autonomous motion requests
EP4063222A1 (en) * 2021-03-24 2022-09-28 Zenseact AB Precautionary vehicle path planning
US20220306119A1 (en) * 2021-03-25 2022-09-29 Ford Global Technologies, Llc Location-based vehicle operation
EP4314708A1 (en) 2021-04-02 2024-02-07 May Mobility, Inc. Method and system for operating an autonomous agent with incomplete environmental information
JP2022174596A (ja) * 2021-05-11 2022-11-24 トヨタ自動車株式会社 自動運転システム、自動運転制御方法、及び自動運転制御プログラム
JP2024526037A (ja) 2021-06-02 2024-07-17 メイ モビリティー,インコーポレイテッド 自律エージェントの遠隔支援のための方法及びシステム
US11639180B1 (en) * 2021-06-30 2023-05-02 Gm Cruise Holdings Llc Notifications from an autonomous vehicle to a driver
CN113386796A (zh) * 2021-07-08 2021-09-14 北京三快在线科技有限公司 无人车控制方法、装置、系统、存储介质及电子设备
US20230029093A1 (en) * 2021-07-20 2023-01-26 Nissan North America, Inc. Computing Framework for Vehicle Decision Making and Traffic Management
DE102021208005A1 (de) 2021-07-26 2023-01-26 Robert Bosch Gesellschaft mit beschränkter Haftung Verarbeitung von Satellitendaten zum Erweitern oder Vervollständigen von Messdaten
CN113370721B (zh) * 2021-07-29 2023-06-20 中国人民解放军国防科技大学 三轴无人车应对野外特种任务的控制策略及系统
US11851074B2 (en) * 2021-08-25 2023-12-26 Cyngn, Inc. System and method of large-scale autonomous driving validation
DE102021211257A1 (de) 2021-10-06 2023-04-06 Zf Friedrichshafen Ag Angriffen auf ein künstliches neuronales Netzwerk vorbeugen
CN113885330B (zh) * 2021-10-26 2022-06-17 哈尔滨工业大学 一种基于深度强化学习的信息物理系统安全控制方法
CN113895451B (zh) * 2021-10-27 2023-07-18 东风汽车集团股份有限公司 一种基于自动驾驶系统的安全冗余与故障诊断系统及方法
CN114084157B (zh) * 2021-11-10 2024-05-14 国汽智控(北京)科技有限公司 基于车用冗余可靠模块的配置方法、装置、设备及介质
US11880428B2 (en) 2021-11-12 2024-01-23 Toyota Motor Engineering & Manufacturing North America, Inc. Methods and systems for updating perception models based on geolocation features
KR102694062B1 (ko) * 2021-11-17 2024-08-12 주식회사 아이비스 자동차 이동경험 공유 플랫폼을 이용한 사용자 경험 서비스 제공 장치 및 그 방법
US12012123B2 (en) 2021-12-01 2024-06-18 May Mobility, Inc. Method and system for impact-based operation of an autonomous agent
US20230182772A1 (en) * 2021-12-14 2023-06-15 Zoox, Inc. Autonomous vehicle operations related to detection of an unsafe passenger pickup/delivery condition
EP4198573A1 (en) * 2021-12-14 2023-06-21 Tusimple, Inc. System and method for detecting rainfall for an autonomous vehicle
CN114266299A (zh) * 2021-12-16 2022-04-01 京沪高速铁路股份有限公司 基于无人机作业的铁路桥梁钢结构缺陷检测方法及系统
CN114084158B (zh) * 2021-12-17 2024-07-26 吉林大学 一种自动驾驶冗余控制系统
CN114132337B (zh) * 2021-12-31 2024-03-26 阿维塔科技(重庆)有限公司 车辆的故障管理方法、装置以及车辆
WO2023154568A1 (en) 2022-02-14 2023-08-17 May Mobility, Inc. Method and system for conditional operation of an autonomous agent
US20230256981A1 (en) * 2022-02-17 2023-08-17 Steering Solutions Ip Holding Corporation Generic actuator with customized local feedback
US11959760B2 (en) * 2022-02-21 2024-04-16 Motional Ad Llc Passenger preference route and alternative destination estimator
US20230267775A1 (en) * 2022-02-24 2023-08-24 International Business Machines Corporation Collaborative data sharing for data anomalies
CN116767264A (zh) * 2022-03-09 2023-09-19 北京图森智途科技有限公司 具有传感器冗余的车辆
US20230322264A1 (en) * 2022-04-06 2023-10-12 Ghost Autonomy Inc. Process scheduling based on data arrival in an autonomous vehicle
US20230350354A1 (en) * 2022-04-28 2023-11-02 Woven By Toyota, Inc. Method of optimizing execution of a function on a control system and apparatus for the same
US11810459B1 (en) 2022-05-09 2023-11-07 Aptiv Technologies Limited Vehicle localization based on radar detections in garages
US20240012106A1 (en) * 2022-07-07 2024-01-11 Gm Cruise Holdings Llc Multiple sensor calibration in autonomous vehicles performed in an undefined environment
US12039671B2 (en) 2022-07-21 2024-07-16 Qualcomm Incorporated Visual content verification in extended and augmented reality
US20240034329A1 (en) * 2022-07-26 2024-02-01 Ford Global Technologies, Llc Vehicle data transmission
US12086943B2 (en) * 2022-08-15 2024-09-10 Middle Chart, LLC Spatial navigation to digital content
US20240087377A1 (en) * 2022-09-12 2024-03-14 Gm Cruise Holdings Llc Intelligent components for localized decision making
CN115610346B (zh) * 2022-09-29 2024-04-12 重庆赛力斯凤凰智创科技有限公司 汽车风险控制方法、汽车、计算机设备和存储介质
WO2024129832A1 (en) 2022-12-13 2024-06-20 May Mobility, Inc. Method and system for assessing and mitigating risks encounterable by an autonomous vehicle
DE102023103091A1 (de) * 2023-02-08 2024-08-08 Bayerische Motoren Werke Aktiengesellschaft Vorrichtung und system zur freigabe eines zugangs zu einem fahrzeug sowie fahrzeug aufweisend die vorrichtung

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010029414A1 (en) * 2000-03-15 2001-10-11 Toyota Jidosha Kabushiki Kaisha Vehicle control using multiple sensors
US20120259464A1 (en) * 2011-04-06 2012-10-11 Fanuc Corporation Robot system having error detection function of robot and control method thereof
CN102958739A (zh) * 2010-06-28 2013-03-06 舍弗勒技术股份两合公司 用于识别驾驶员在车辆中的存在的方法
US20170038773A1 (en) * 2015-08-07 2017-02-09 International Business Machines Corporation Controlling Driving Modes of Self-Driving Vehicles
US20170090476A1 (en) * 2015-09-28 2017-03-30 Uber Technologies, Inc. Autonomous vehicle with independent auxiliary control units
US20170124781A1 (en) * 2015-11-04 2017-05-04 Zoox, Inc. Calibration for autonomous vehicle operation
CN108292134A (zh) * 2015-11-04 2018-07-17 祖克斯有限公司 用于优化远程操作和/或规划器决策的机器学习系统和技术
US20180272963A1 (en) * 2017-03-23 2018-09-27 Uber Technologies, Inc. Dynamic sensor selection for self-driving vehicles

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4594714A (en) * 1983-05-02 1986-06-10 United Technologies Corporation Dual-actuator monitor
US20100019964A1 (en) * 2008-07-24 2010-01-28 Gm Global Technology Operations, Inc. Adaptive vehicle control system with driving style recognition and road condition recognition
JP2013540326A (ja) * 2010-10-11 2013-10-31 ゼネラル・エレクトリック・カンパニイ 冗長センサ信号でシフトを検出するためのシステム、方法、及び装置
WO2012050473A1 (en) * 2010-10-11 2012-04-19 General Electric Company Systems, methods, and apparatus for detecting agreement for individual channels among redundant sensor signals
US20140309876A1 (en) * 2013-04-15 2014-10-16 Flextronics Ap, Llc Universal vehicle voice command system
EP3114574A4 (en) * 2014-03-03 2018-03-07 Inrix, Inc. Traffic obstruction detection
WO2015151055A1 (en) * 2014-04-04 2015-10-08 Koninklijke Philips N.V. System and methods to support autonomous vehicles via environmental perception and sensor calibration and verification
SG10201407100PA (en) * 2014-10-30 2016-05-30 Nec Asia Pacific Pte Ltd System For Monitoring Event Related Data
EP3264785B1 (en) * 2015-02-27 2019-05-01 Fujikura Ltd. Sensor node and method of controlling the same
US9988008B2 (en) * 2015-10-26 2018-06-05 Active Knowledge Ltd. Moveable internal shock-absorbing energy dissipation padding in an autonomous vehicle
US9612123B1 (en) * 2015-11-04 2017-04-04 Zoox, Inc. Adaptive mapping to navigate autonomous vehicles responsive to physical environment changes
CN107003900B (zh) * 2015-12-29 2020-06-02 华为技术有限公司 一种切换方法及便携式电子设备
US10410113B2 (en) * 2016-01-14 2019-09-10 Preferred Networks, Inc. Time series data adaptation and sensor fusion systems, methods, and apparatus
US9883403B2 (en) * 2016-05-15 2018-01-30 Fmr Llc Monitoring presence of authorized user during user session based upon mobile computing device motion
US10007264B2 (en) * 2016-07-14 2018-06-26 Baidu Usa Llc Autonomous vehicle human driver takeover mechanism using electrodes
AT519164A3 (de) * 2016-08-16 2018-10-15 Fts Computertechnik Gmbh Fehlertolerantes Verfahren und Vorrichtung zur Steuerung einer autonomen technischen Anlage auf der Basis eines konsolidierten Umweltmodells
DE102017216083B4 (de) * 2016-09-13 2023-08-17 Hl Klemove Corp. Vorrichtung und Verfahren zur Stoßabsorption für ein Fahrzeug
EP3805889A1 (en) * 2016-12-23 2021-04-14 Mobileye Vision Technologies Ltd. Navigational system monitoring host and target vehicle behaviour
US10209718B2 (en) * 2017-03-14 2019-02-19 Starsky Robotics, Inc. Vehicle sensor system and method of use
US11377108B2 (en) * 2017-04-03 2022-07-05 Motional Ad Llc Processing a request signal regarding operation of an autonomous vehicle
US10526992B2 (en) * 2017-04-05 2020-01-07 GM Global Technology Operations LLC Method and system to detect and mitigate sensor degradation
US10883436B2 (en) * 2017-04-12 2021-01-05 GM Global Technology Operations LLC Method and system to control propulsion systems having sensor or actuator degradation
DE102017206485A1 (de) * 2017-04-18 2018-10-18 Robert Bosch Gmbh Vorrichtung und Verfahren zur Steuerung eines Fahrzeugs
JP6841162B2 (ja) * 2017-05-25 2021-03-10 株式会社デンソー 電子制御装置
JP6848769B2 (ja) * 2017-08-29 2021-03-24 トヨタ自動車株式会社 車載中継装置、情報処理システム、中継装置、情報処理方法、及びプログラム
IL277233B2 (en) * 2018-03-18 2024-04-01 Driveu Tech Ltd Device, system and method for autonomous driving and remotely controlled vehicles
CN111919089A (zh) * 2018-03-27 2020-11-10 松下知识产权经营株式会社 自动驾驶控制装置、车辆以及需求仲裁系统
US20220194412A1 (en) * 2020-12-18 2022-06-23 Lyft, Inc. Validating Vehicle Sensor Calibration

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010029414A1 (en) * 2000-03-15 2001-10-11 Toyota Jidosha Kabushiki Kaisha Vehicle control using multiple sensors
CN102958739A (zh) * 2010-06-28 2013-03-06 舍弗勒技术股份两合公司 用于识别驾驶员在车辆中的存在的方法
US20120259464A1 (en) * 2011-04-06 2012-10-11 Fanuc Corporation Robot system having error detection function of robot and control method thereof
US20170038773A1 (en) * 2015-08-07 2017-02-09 International Business Machines Corporation Controlling Driving Modes of Self-Driving Vehicles
US20170090476A1 (en) * 2015-09-28 2017-03-30 Uber Technologies, Inc. Autonomous vehicle with independent auxiliary control units
US20170124781A1 (en) * 2015-11-04 2017-05-04 Zoox, Inc. Calibration for autonomous vehicle operation
CN108292134A (zh) * 2015-11-04 2018-07-17 祖克斯有限公司 用于优化远程操作和/或规划器决策的机器学习系统和技术
US20180272963A1 (en) * 2017-03-23 2018-09-27 Uber Technologies, Inc. Dynamic sensor selection for self-driving vehicles

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115390431A (zh) * 2022-09-21 2022-11-25 上海小马智行智能科技发展有限公司 控制器与车辆

Also Published As

Publication number Publication date
GB2613298B (en) 2023-12-20
GB2610938A (en) 2023-03-22
GB202303153D0 (en) 2023-04-19
GB2613298A (en) 2023-05-31
KR20210006926A (ko) 2021-01-19
DE112019005425T5 (de) 2021-07-22
GB202017386D0 (en) 2020-12-16
DK202070218A1 (en) 2020-07-13
WO2020092635A1 (en) 2020-05-07
GB202213300D0 (en) 2022-10-26
GB2613740B (en) 2023-12-06
GB2587275B (en) 2022-10-26
GB2613740A (en) 2023-06-14
GB2613509A (en) 2023-06-07
US20210163021A1 (en) 2021-06-03
GB2613509B (en) 2023-11-22
GB202303756D0 (en) 2023-04-26
GB2587275A (en) 2021-03-24
KR20230030029A (ko) 2023-03-03
GB202303553D0 (en) 2023-04-26
GB2610938B (en) 2023-09-06

Similar Documents

Publication Publication Date Title
CN112969622A (zh) 自主运载工具中的冗余
CN111915917B (zh) 计算机实现的方法、存储介质和运载工具
CN111190418B (zh) 使用多维包络调整运载工具的横向间隙
KR102551208B1 (ko) 차량의 교통 신호등 검출 시스템
US20200276973A1 (en) Operation of a vehicle in the event of an emergency
US20210053569A1 (en) Data Driven Rule Books
CN113165668A (zh) 利用机器学习使用运动规划来操作运载工具
CN113012187A (zh) 使用曲面拟合的前景提取
US11568688B2 (en) Simulation of autonomous vehicle to improve safety and reliability of autonomous vehicle
CN113196011A (zh) 运动图构建和车道级路线规划
CN112986979A (zh) 使用融合的照相机/LiDAR数据点的自动对象标注
CN112996703A (zh) 使用多个运动约束的运载工具的操作
CN113044025A (zh) 用于运载工具的安全系统
CN113195333A (zh) 使用线性时间逻辑的自主运载工具操作
KR20220054534A (ko) 거동 규칙 검사를 사용한 차량 작동
CN113970924A (zh) 用于运载工具的方法和系统
CN112486163A (zh) 基于导航信息的可用性的自主运载工具的操作
CN114812586A (zh) 用于运载工具的系统、方法和存储介质
CN115220439A (zh) 用于运载工具的系统和方法以及存储介质
US11878695B2 (en) Surface guided vehicle behavior
CN113196356A (zh) 交通灯估计
US11926342B2 (en) Autonomous vehicle post-action explanation system
CN115077543A (zh) 运载工具及其方法和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination