CN114684185A - 自动化车辆安全控制的车辆安全响应控制层级结构及对应的方法 - Google Patents
自动化车辆安全控制的车辆安全响应控制层级结构及对应的方法 Download PDFInfo
- Publication number
- CN114684185A CN114684185A CN202111506476.9A CN202111506476A CN114684185A CN 114684185 A CN114684185 A CN 114684185A CN 202111506476 A CN202111506476 A CN 202111506476A CN 114684185 A CN114684185 A CN 114684185A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- vehicle safety
- safety response
- response control
- control level
- 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
Links
- 230000004044 response Effects 0.000 title claims abstract description 312
- 238000000034 method Methods 0.000 title claims abstract description 108
- 238000004891 communication Methods 0.000 claims description 31
- 230000003190 augmentative effect Effects 0.000 claims description 20
- 239000013589 supplement Substances 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 abstract description 11
- 238000012545 processing Methods 0.000 description 73
- 238000013500 data storage Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 24
- 238000001514 detection method Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 230000000977 initiatory effect Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 239000000835 fiber Substances 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 229910052802 copper Inorganic materials 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- JMASRVWKEDWRBT-UHFFFAOYSA-N Gallium nitride Chemical compound [Ga]#N JMASRVWKEDWRBT-UHFFFAOYSA-N 0.000 description 1
- 229910052581 Si3N4 Inorganic materials 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/04—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
- B60W10/06—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units including control of combustion engines
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/007—Emergency override
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0015—Planning or execution of driving tasks specially adapted for safety
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/18—Conjoint control of vehicle sub-units of different type or different function including control of braking systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/20—Conjoint control of vehicle sub-units of different type or different function including control of steering systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/09—Taking automatic action to avoid collision, e.g. braking and steering
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
- B60W30/10—Path keeping
- B60W30/12—Lane keeping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/029—Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/038—Limiting the input power, torque or speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0011—Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D15/00—Steering not otherwise provided for
- B62D15/02—Steering position indicators ; Steering position determination; Steering aids
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/029—Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
- B60W2050/0292—Fail-safe or redundant systems, e.g. limp-home or backup systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Indexing codes relating to the type of sensors based on the principle of their operation
-
- B60W2420/408—
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2710/00—Output or target parameters relating to a particular sub-units
- B60W2710/06—Combustion engines, Gas turbines
- B60W2710/0605—Throttle position
Abstract
本文描述的是用于实施自动化车辆安全响应措施以确保在支持自动化车辆驾驶功能的车辆部件或车辆系统发生故障之后在有限时间段内继续安全自动化车辆操作的系统、方法和非暂时性计算机可读介质。当关键车辆部件/系统(诸如车辆计算平台)发生故障时,车辆可能不再能够执行以自主方式安全操作和导航车辆所需的运算,或者至少不再能够确保此类运算的准确性。在此类场景中,本文公开的自动化车辆安全响应措施可以确保:尽管车辆部件/系统的故障,在有限时间段内继续车辆的安全自动化操作,以使车辆安全停止。
Description
技术领域
本发明总体上涉及用于自动化车辆安全响应的技术,并且更具体地,在一些实施例中,涉及用于响应车辆系统故障来实施自动化车辆安全措施的技术和对应的车辆计算架构。
背景技术
现代车辆配备了许多特征和功能,设计用于增强车辆对潜在安全危害的安全响应的有效性。例如,此类危害可能是由与车辆可操作的外部环境相关联的特性引起的,诸如天气危害、道路上的障碍物等。越来越多的车辆驾驶功能正在进行自动化,并且随着自动化程度的提高,在支持自动驾驶功能的车辆部件发生故障之后,为确保继续安全车辆操作所需的安全协议的数量和复杂性也对应地增加。本文描述的是解决与响应于车辆部件/系统的故障而采取的当前车辆安全措施相关联的技术问题的技术解决方案。
发明内容
本发明的示例实施例涉及用于实施自动化车辆安全响应措施以确保在支持自动化车辆驾驶功能的车辆部件或车辆系统发生故障之后在有限时间段内继续安全自动化车辆操作的车辆系统、方法、非暂时性计算机可读介质、技术和方法学。例如,车辆可以是具有一个或多个驾驶功能的至少部分自动化的自动驾驶车辆。自动驾驶车辆可以包括车辆计算平台,该车辆计算平台负责执行与对于安全自动驾驶车辆操作关键的任务(例如,物体检测和感知)相关的计算密集的运算。当诸如车辆计算平台的关键车辆部件/系统发生故障时,车辆可能不再能够执行以自主方式安全操作和导航车辆所需的运算,或者至少不再能够确保此类运算的准确性。在此类场景下,本文公开的自动化车辆安全响应措施可以确保:尽管车辆部件/系统的故障,在有限时间段内继续车辆的安全自动化操作,以使车辆安全停止。
根据本发明的示例实施例的车辆安全系统和子系统可以包括有助于本文所述的自动化车辆安全响应措施的对应的车辆计算架构,诸如包括一个或多个处理器的串行化或组合串行-并行计算架构。在示例实施例中,可以提供串行计算架构,其包括主(主要)车辆计算平台、车辆安全系统和车辆致动系统。主计算平台、车辆安全系统和车辆致动系统可以被配置为串行化通信,从而主计算平台生成车辆控制命令并将其发送到车辆安全系统,车辆安全系统进而将控制命令中继到车辆致动系统用于实施。
在示例实施例中,除了车辆控制命令之外,主车辆计算平台还可以将未来车辆轨迹信息连续发送到车辆安全系统。未来车辆轨迹信息可以指示在接收到轨迹信息之后的有限时间段内车辆的计划未来轨迹。例如,在主车辆计算平台故障的情况下,车辆安全系统可以利用刚好在故障之前从主计算平台接收的未来车辆轨迹信息来确定一组车辆安全响应控制命令,该组车辆安全响应控制命令在由车辆致动系统实施时使车辆减速并沿计划未来车辆轨迹安全停止。在一些示例实施例中,车辆安全系统可以从一个或多个传感器接收传感器数据,车辆安全系统可以使用这些传感器数据来补强车辆安全响应控制命令,以帮助确保车辆在自动停止策略期间维持期望轨迹。
根据本发明的示例实施例的车辆安全系统和子系统可以替代地包括有助于本文公开的自动化车辆安全响应措施的组合串行-并行计算架构。在示例实施例中,串行-并行计算架构可以包括主(主要)车辆计算平台、次车辆计算平台、车辆安全系统和车辆致动系统。主要车辆计算平台和次车辆计算平台可以各自被配置为生成车辆控制命令并将命令发送到车辆安全系统,车辆安全系统进而可以将控制命令中继到车辆致动系统。主车辆计算平台和次车辆计算平台在串行化架构中可以各自占据相同(并行)的级别。
在一些示例实施例中,次车辆计算平台可以执行运算/处理以生成至少部分启用自动驾驶功能的车辆控制命令。例如,凭借其更大的处理能力/较低处理延迟,主车辆计算平台可以执行比次车辆计算平台更大数量和/或更计算密集的运算/处理。此外,在一些示例实施例中,次车辆计算平台可以被配置为处理比车辆安全系统更大的处理负载和/或更计算密集的任务。在此类示例实施例中,次车辆计算平台可以被配置为生成一个或多个车辆安全响应控制命令,该车辆安全响应控制命令能够响应于主计算平台的故障而启动较高级别(例如,更复杂)车辆安全响应措施。此类较高级别车辆安全响应措施可以包括复杂车辆控制命令——可能由传感器数据补强——该复杂车辆控制命令在由车辆致动系统实施时使车辆至少执行一个变道策略,以使车辆在例如,慢车道或路肩停止。在主计算平台和次计算平台都发生故障的示例场景中,车辆安全系统可以被配置为生成较低级别车辆命令,以例如使车辆沿由未来车辆轨迹数据指示的计划轨迹停止,而不需要更复杂的驾驶任务,诸如变道。
在示例实施例中,车辆安全系统可以与对应的车辆安全响应控制级别层级结构相关联,该层级结构定义能够由车辆安全系统支持的车辆安全响应控制级别的层级结构。层级结构中的车辆安全响应级别中的一个或多个可以与相应一个或多个车辆部件相关联,该一个或多个车辆部件需要操作以实现与该车辆安全响应控制级别对应的车辆安全响应措施。车辆安全系统可以被配置为遍历层级结构进行迭代直到识别出其中支持控制级别(如果有的话)所需的对应的(一个或多个)车辆部件处于操作状态的最高控制级别。如此识别的车辆控制级别不一定是层级结构中能够由车辆安全系统实施的最高整体控制级别。在示例实施例中,所识别的控制级别可以被选择为当前车辆安全响应控制级别,并且车辆安全系统可以确定与选择的控制级别相称的车辆安全响应控制命令。
在示例实施例中,公开了一种计算机实施的方法。该方法包括由车辆的一个或多个处理器从车辆的车辆计算平台接收未来车辆轨迹数据;由一个或多个处理器确定车辆计算平台已经发生故障;由一个或多个处理器遍历车辆安全响应控制级别层级结构进行迭代以确定层级结构中由车辆的当前操作状态支持的最高车辆安全响应控制级别;由一个或多个处理器选择层级结构中由车辆的当前操作状态支持的最高车辆安全响应控制级别作为当前车辆安全响应控制级别;由一个或多个处理器确定与当前车辆安全响应控制级别对应的一组车辆安全响应控制命令;以及由一个或多个处理器将该组车辆安全响应控制命令发送到车辆的一个或多个致动器,以响应于车辆计算平台的故障启动用于车辆的安全响应措施。
在示例实施例中,遍历车辆安全响应控制级别层级结构进行迭代包括:确定第一车辆安全响应控制级别是层级结构中能够由车辆支持的最高整体车辆安全响应控制级别;识别车辆的与第一车辆安全响应控制级别对应的一个或多个部件;确定一个或多个部件是可操作的;以及确定第一车辆安全响应控制级别是层级结构中由车辆的当前操作状态支持的最高车辆安全响应控制级别。
在示例实施例中,确定一个或多个部件是可操作的包括:确定一个或多个部件中的每个部件的一个或多个操作度量的相应一个或多个值满足对应的一个或多个阈值。
在示例实施例中,一个或多个部件包括车辆的一个或多个传感器,并且其中确定与当前车辆安全响应控制级别对应的一组车辆安全响应控制命令包含:至少部分地基于未来车辆轨迹数据生成一组初始控制命令;从一个或多个传感器接收传感器数据;以及使用传感器数据补强一组初始控制命令以生成一组车辆安全响应控制命令。
在示例实施例中,传感器数据包括从惯性传感器接收的第一传感器数据,并且其中使用传感器数据补强一组初始控制命令以生成一组车辆安全响应控制命令包括:生成一个或多个车辆转向控制命令,该一个或多个车辆转向控制命令在被实施时使一个或多个致动器调整车辆的转向控制以减轻车辆的实际轨迹与由未来车辆轨迹数据指示的计划轨迹之间的偏差。
在示例实施例中,传感器数据包括从基于雷达的传感器接收的第一传感器数据,并且其中使用传感器数据补强一组初始控制命令以生成一组车辆安全响应控制命令包括:使用第一传感器数据,沿由未来车辆轨迹数据指示的计划轨迹检测障碍物;以及生成一个或多个车辆节流控制命令,该一个或多个车辆节流控制命令在被实施时使一个或多个致动器增加车辆的减速率以避免与障碍物发生碰撞。
在示例实施例中,传感器数据包括从基于雷达的传感器接收的第一传感器数据,并且其中使用传感器数据补强一组初始控制命令以生成一组车辆安全响应控制命令包括:使用第一传感器数据,沿由未来车辆轨迹数据指示的计划轨迹检测障碍物;以及生成一个或多个车辆转向控制命令,该一个或多个车辆转向控制命令在被实施时使一个或多个致动器启动对计划轨迹的替代车辆轨迹,以避免与障碍物发生碰撞。
在示例实施例中,遍历车辆安全响应控制级别层级结构进行迭代包括:确定第一车辆安全响应控制级别是层级结构中能够由车辆支持的最高整体车辆安全响应控制级别;识别车辆的与第一车辆安全响应控制级别对应的一个或多个部件;确定一个或多个部件中的至少一个不是可操作的;确定第二车辆安全响应控制级别是层级结构中能够由车辆支持的第一车辆安全响应控制级别之后的下一个最高控制级别;以及确定第二车辆安全响应控制级别是层级结构中由车辆的当前操作状态支持的最高车辆安全响应控制级别。
在示例实施例中,该方法还包括确定第二车辆安全响应控制级别是层级结构中的最低控制级别,其中确定与当前车辆安全响应控制级别对应的一组车辆安全响应控制命令包括:确定第二车辆安全响应控制级别对应于硬制动控制命令,并且其中将一组车辆安全响应控制命令发送到一个或多个致动器包括:将硬制动控制命令发送到一个或多个致动器以使一个或多个致动器启动车辆的硬制动操作。
在示例实施例中,一个或多个处理器包括最小风险条件控制(MRCC)车辆安全系统。
在示例实施例中,一个或多个致动器构成线控驱动(DBW)车辆系统的一部分。
在示例实施例中,MRCC车辆安全系统和DWB车辆系统形成集成系统的一部分,并且其中MRCC车辆安全系统使用专有车辆通信协议与DWB车辆系统通信。
在示例实施例中,公开了一种用于车辆的自动化控制的系统。该系统包括至少一个处理器和存储计算机可执行指令的至少一个存储器。至少一个处理器被配置为访问至少一个存储器并执行计算机可执行指令以执行一组操作。上述系统还被配置为执行任何操作/功能并且可以包括上面关于本发明的示例计算机实施的方法描述的本发明的示例实施例的任何附加特征/方面。
在示例实施例中,一种用于车辆的自动化控制的系统包括:车辆计算平台;一个或多个致动器;以及至少一个处理器;以及至少一个存储器,其存储计算机可执行指令,其中至少一个处理器被配置为访问至少一个存储器并执行计算机可执行指令以进行以下操作:从车辆计算平台接收未来车辆轨迹数据;确定车辆计算平台已经发生故障;遍历车辆安全响应控制级别层级结构进行迭代以确定层级结构中由车辆的当前操作状态支持的最高车辆安全响应控制级别;选择层级结构中由车辆的当前操作状态支持的最高车辆安全响应控制级别作为当前车辆安全响应控制级别;确定与当前车辆安全响应控制级别对应的一组车辆安全响应控制命令;以及将该组车辆安全响应控制命令发送到车辆的一个或多个致动器,以响应于车辆计算平台的故障启动车辆的安全响应措施。
在示例实施例中,至少一个处理器被配置为通过执行计算机可执行指令以进行以下操作来遍历车辆安全响应控制级别层级结构进行迭代:确定第一车辆安全响应控制级别是层级结构中能够由车辆支持的最高整体车辆安全响应控制级别;识别车辆的与第一车辆安全响应控制级别对应的一个或多个部件;确定一个或多个部件是可操作的;以及确定第一车辆安全响应控制级别是层级结构中由车辆的当前操作状态支持的最高车辆安全响应控制级别。
在示例实施例中,至少一个处理器被配置为通过执行计算机可执行指令以进行以下操作来确定一个或多个部件是可操作的:确定一个或多个部件中的每个部件的一个或多个操作度量的相应一个或多个值满足对应的一个或多个阈值。
在示例实施例中,一个或多个部件包括车辆的一个或多个传感器,并且其中至少一个处理器被配置为通过执行计算机可执行指令以进行以下操作来确定与当前车辆安全响应控制级别对应的一组车辆安全响应控制命令:至少部分地基于未来车辆轨迹数据生成一组初始控制命令;从一个或多个传感器接收传感器数据;以及使用传感器数据补强一组初始控制命令以生成一组车辆安全响应控制命令。
在示例实施例中,传感器数据包括从惯性传感器接收的第一传感器数据,并且其中至少一个处理器被配置为通过执行计算机可执行指令以进行以下操作来使用传感器数据补强一组初始控制命令以生成一组车辆安全响应控制命令:生成一个或多个车辆转向控制命令,该一个或多个车辆转向控制命令在被实施时使一个或多个致动器调整车辆的转向控制以减轻车辆的实际轨迹与由未来车辆轨迹数据指示的计划轨迹之间的偏差。
在示例实施例中,传感器数据包括从基于雷达的传感器接收的第一传感器数据,并且其中至少一个处理器被配置为通过执行计算机可执行指令以进行以下操作来使用传感器数据补强一组初始控制命令以生成一组车辆安全响应控制命令:使用第一传感器数据,沿由未来车辆轨迹数据指示的计划轨迹检测障碍物;以及生成一个或多个车辆节流控制命令,该一个或多个车辆节流控制命令在被实施时使一个或多个致动器增加车辆的减速率以避免与障碍物发生碰撞。
在示例实施例中,传感器数据包括从基于雷达的传感器接收的第一传感器数据,并且其中至少一个处理器被配置为通过执行计算机可执行指令以进行以下操作来使用传感器数据补强一组初始控制命令以生成一组车辆安全响应控制命令:使用第一传感器数据,沿由未来车辆轨迹数据指示的计划轨迹检测障碍物;以及生成一个或多个车辆转向控制命令,该一个或多个车辆转向控制命令在被实施时使一个或多个致动器启动对计划轨迹的替代车辆轨迹,以避免与障碍物发生碰撞。
在示例实施例中,至少一个处理器被配置为通过执行计算机可执行指令以进行以下操作来遍历车辆安全响应控制级别层级结构进行迭代:确定第一车辆安全响应控制级别是层级结构中能够由车辆支持的最高整体车辆安全响应控制级别;识别车辆的与第一车辆安全响应控制级别对应的一个或多个部件;确定一个或多个部件中的至少一个不是可操作的;确定第二车辆安全响应控制级别是层级结构中能够由车辆支持的第一车辆安全响应控制级别之后的下一个最高控制级别;以及确定第二车辆安全响应控制级别是层级结构中由车辆的当前操作状态支持的最高车辆安全响应控制级别。
在示例实施例中,公开了一种用于车辆的自动化控制的计算机程序产品。该计算机程序产品包括存储计算机/机器可执行指令的非暂时性计算机可读介质,该指令响应于包括一个或多个处理单元的处理电路的执行而使方法被执行。上述计算机程序产品还被配置为执行任何操作/功能并且可以包括上面关于本发明的示例计算机实施的方法描述的本发明的示例实施例的任何附加特征/方面。
通过参考附图考虑以下描述和所附权利要求书,本文公开的系统、方法和非暂时性计算机可读介质的这些和其他特征、以及结构的相关元件和部分的组合的操作和功能的方法以及制造的经济性将变得显而易见,所有附图形成本说明书的一部分,其中在各个附图中,相同的附图标记表示对应的部分。然而,应该明确地理解,附图仅出于说明和描述的目的,并且不旨在作为对本发明的限制的定义。
附图说明
在所附权利要求中具体阐述了本技术的各种实施例的某些特征。通过参考下面的详细描述,将获得对技术的特征和优点的更好的理解,以下详细描述阐述了说明性实施例和附图,在说明性实施例中利用了本发明的原理,并且附图中:
图1A是根据本发明的示例实施例的串行化车辆计算架构内的车辆安全系统的示意框图。
图1B是根据本发明的示例实施例的串行化车辆计算架构内的集成车辆安全系统和车辆致动系统的示意框图。
图1C是根据本发明的示例实施例的串行化车辆计算架构内的用来自辅助传感器系统的传感器数据补强的车辆安全系统的示意框图。
图1D是根据本发明的示例实施例的串行化车辆计算架构内的集成补强的车辆安全系统和车辆致动系统的示意框图。
图1E是根据本发明的示例实施例的包括主要车辆计算平台和次车辆计算平台的串行-并行车辆计算架构内的车辆安全系统的示意框图。
图1F是根据本发明的示例实施例的串行-并行车辆计算架构内的集成车辆安全系统和车辆致动系统的示意框图。
图2A-图2D描绘了可以由根据本发明的示例实施例的车辆安全系统采取的各种示例自动化车辆安全响应措施。
图3A是示出根据本发明的示例实施例的车辆计算平台、车辆安全系统和车辆致动系统之间的串行化数据流的混合数据流和框图。
图3B是示出根据本发明的示例实施例的车辆安全系统响应于车辆计算平台的故障而启动车辆安全措施的混合数据流和框图。
图4是根据本发明的示例实施例的用于由串行化车辆计算架构内的车辆安全系统检测车辆计算平台的故障并启动车辆安全响应措施的说明性方法的流程图。
图5是根据本发明的示例实施例的用于由串行-并行车辆计算架构内的车辆安全系统响应于各种安全响应触发事件启动车辆安全响应措施的说明性方法的流程图。
图6是根据本发明的示例实施例的示例车辆安全响应控制级别层级结构的示意框图。
图7是根据本发明的示例实施例的用于遍历车辆安全响应控制级别层级结构进行迭代以基于支持控制级别可能需要的(一个或多个)对应的车辆部件的操作状态选择能够由车辆安全系统实施的最高控制级别的说明性方法的流程图。
图8是示出被配置为实施本发明的示例实施例的示例联网架构的示意框图。
具体实施方式
在下面的描述中,阐述了某些特定细节以提供对本发明的各种实施例的透彻理解。然而,本领域技术人员将理解,可以在没有这些细节的情况下实践本发明。此外,尽管本文公开了本发明的各种实施例,但是根据本领域技术人员的公知常识,可以在本发明的范围内做出许多改变和修改。这样的修改包括用已知的等同物替代本发明的任何方面,以便以基本上相同的方式获得相同的结果。
除非上下文另外要求,否则在整个说明书和权利要求书中,词语“包括”及其变体(诸如“包括”和“将……包括”)应以开放、包容的含义来解释,即为“包括但不仅限于。”在整个说明书中对值的数值范围的引用旨在用作速记符号,分别指代落入包括限定范围的值在内的范围内的每个单独的值,并且每个单独的值如本文单独记载的那样并入说明书中。另外,单数形式的“一”、“一个”和“该/所述”包括复数对象,除非上下文另外明确指出。短语“……的至少一个”、“选自……的组中的至少一个”或“选自由……组成的组中的至少一个”等要以析取方式进行解释(例如,不要解释为A中的至少一个和B中的至少一个)。
在整个说明书中,对“一个实施例”或“实施例”的引用是指结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,在整个说明书中各处出现的短语“在一个实施例中”或“在实施例中”不一定全部指的是相同实施例,而是在某些情况下可以指相同实施例。此外,在一个或多个实施例中,可以以任何合适的方式组合特定的特征、结构或特性。
本发明的示例实施例涉及用于实施自动化车辆安全响应措施以确保在支持自动化车辆驾驶功能的车辆部件发生故障之后在有限时间段内继续安全自动化车辆操作的车辆系统、方法、非暂时性计算机可读介质、技术和方法学。例如,车辆可以是具有一个或多个驾驶功能的至少部分自动化的自动驾驶车辆。自动驾驶车辆可以包括车辆计算平台,该车辆计算平台负责执行与对于安全自动驾驶车辆操作关键的任务(例如,物体检测和感知)相关的计算密集的运算。当诸如车辆计算平台的关键车辆部件/系统发生故障时,车辆可能不再能够执行以自主方式安全操作和导航车辆所需的运算,或者至少不再能够确保此类运算的准确性。本文公开的自动化车辆安全响应措施可以——尽管关键车辆部件/系统的故障——确保在有限时间段内继续安全自动化车辆操作,以使车辆安全停止。
如本文所用,自动驾驶车辆是指具有一个或多个驾驶功能的至少部分自动化的任何车辆。例如,自动驾驶车辆可以包括归类为介于2和5之间(包括2和5)的汽车工程师协会(SAE)自动化级别的车辆。自动驾驶车辆可以能够在不需要任何人工输入的情况下实现全自动化车辆控制,但仍然可以有一名安全驾驶员在场,如果自动驾驶功能发生故障,该驾驶员能够接管手动驾驶功能。在其他示例实施例中,自动驾驶车辆可能是无人驾驶的,在这种情况下,本文描述的自动安全响应技术对于确保车辆能够在重大车辆部件/系统故障(例如,车辆计算平台故障)的情况下安全停止是关键的,因为没有人类驾驶员来承担车辆的手动控制。考虑到它们对此类车辆的特定适用性,本发明的示例实施例可以在本文中结合不需要(并且因此可以不包括)人类驾驶员来提供手动驾驶输入或接管车辆的手动控制的完全自动驾驶车辆来描述。然而,应当理解,本发明的示例实施例同样适用于具有至少部分自动化能力的任何类型的车辆,包括需要人类驾驶员提供至少一些手动驾驶输入的车辆。
图1A描绘了根据本发明的示例实施例的串行化车辆计算架构内的车辆安全系统104。在示例实施例中,车辆安全系统104可以是最小风险条件控制(MRCC)系统。MRCC车辆安全系统104可以被配置为启动和实施满足例如国家公路运输和安全管理局(NHTSA)定义的车辆安全措施,用于在车辆部件/系统发生故障时建立车辆的回退(最小风险条件)状态。在示例实施例中,故障车辆系统可以是车辆计算平台102,其可以是例如自动驾驶车辆的主(主要)计算平台。
根据NHTSA,最小风险条件(MRC)被定义为当系统发生故障时或当人类驾驶员未能适当响应请求以接管动态驾驶任务时自动驾驶系统自动采取的低风险操作条件。与MRC相关的进一步NHTSA要求包括:其管理方式应有助于车辆的安全操作,并最小化不稳定的驾驶行为,并应包括回退动作,该回退动作最小化在转换为手动控制期间和之后人类驾驶员识别和决策制作中的错误的影响。此外,在车辆中可能没有人类驾驶员的较高车辆自动化的情况下,MRC必须包括在没有人类驾驶员干预的情况下使车辆安全停止的能力。MRC可以包括响应于系统故障发生时可能出现的不同驾驶条件/场景的不同自动化车辆安全措施。例如,为建立MRC所采取的自动化车辆安全措施可以取决于车辆是直线行驶还是曲线行驶、车辆是否正在转弯、其他车辆是否在车辆附近等。
在示例实施例中,图1A中描绘的MRCC车辆安全系统104可以被配置为启动车辆安全响应措施以响应于例如检测到的车辆计算平台102的故障而为车辆建立MRC。图1A中描绘的串行化计算架构可以有助于MRCC车辆安全系统104检测车辆计算平台102的故障并启动车辆安全响应措施的能力。在示例实施例中,串行计算架构可以实现主车辆计算平台102、MRCC车辆安全系统104和车辆致动系统106之间的串行化通信,由此主计算平台102生成车辆控制命令(诸如与加速踏板、制动踏板和/或转向角相关的那些)并将其发送到MRCC车辆安全系统104,MRCC车辆安全系统104进而将控制命令中继到车辆致动系统106用于实施。
如前所述,在示例实施例中,车辆计算平台102可以是车辆的主(主要)车辆计算平台。主车辆计算平台102可以与次车辆计算平台协同可操作的其他示例实施例将在本公开中稍后描述。车辆计算平台102可以包括一个或多个处理单元和存储器,该存储器存储可由(一个或多个)处理单元执行以执行支持自动驾驶功能所需的各种运算/处理的机器可读/机器可执行指令。此类运算/处理可以包括但不限于执行物体检测/感知的处理,这可能需要以低处理延迟处理大量传感器数据,以确保车辆能够制造安全自动驾驶车辆操作所需的实时自动化车辆导航决策类型。此类传感器数据可以包括从各种类型的传感器接收的数据,传感器包括但不限于光检测和测距(LiDAR)传感器;相机;基于雷达的传感器;惯性传感器(诸如加速度计、陀螺仪、磁力计等);温度传感器;红外传感器;近红外传感器;远红外传感器;超声波传感器;等等。在示例实施例中,LiDAR可以形成传感器组件的一部分,该传感器组件还包括例如围绕LiDAR周向定位的多个相机。在一些实施例中,可以提供惯性测量单元(IMU),其包括加速度计和陀螺仪,并且可选地包括磁力计。
在示例实施例中,主车辆计算平台102可以是例如包含高性能微处理器或微控制器的集成电路,诸如能够执行需要例如并行处理大数据块(诸如,传感器数据)的算法的图形处理单元(GPU)。在一些示例实施例中,主车辆计算平台102可以包括可能跨多个计算设备分布并且经由一个或多个通信总线彼此通信的多种类型的处理单元(例如,GPU、中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等)。
在示例实施例中,MRCC车辆安全系统104可以是满足严格的安全性和可靠性要求的车辆控制单元(VCU),诸如国际标准化组织(ISO)26262(建立道路车辆功能安全的标准)定义的汽车安全完整性级别(ASIL)风险分类方案所规定的那些。在示例实施例中,MRCC车辆安全系统104可以是额定为ASIL-D级别的VCU,这规定了ASIL分类方案内的最高完整性和可靠性要求。例如,通过提供额定为ASIL-D的VCU作为MRCC车辆安全系统104,MRCC车辆安全系统104的完整性和可靠性大大增强,并且系统104经历故障的可能性被最小化。这进而确保了MRCC车辆安全系统104将能够在车辆部件/系统故障(诸如主车辆计算平台102的故障)的情况下采取建立MRC所需的车辆安全响应措施。MRCC车辆安全系统104可以包括诸如晶体管(包括金属氧化物硅场效应晶体管(MOSFET)和双极晶体管)、二极管和/或集成电路的部件。这些部件可由诸如硅或氮化镓(GaN)的材料制成。
在示例实施例中,车辆致动系统106可以是线控驱动(DBW)系统。DBW系统106可以包括执行车辆致动控制(诸如传统上经由机械连杆实现的转向、节流和制动控制)的电和/或机电系统/部件。DBW系统106可以用电子控制系统代替传统机械控制系统,该电子控制系统利用机电致动器和人机界面(HMI),诸如踏板和转向感觉模拟器。因此,在传统机械车辆致动系统中存在的部件(例如转向柱、中间轴、泵、软管、皮带、冷却器、主缸等)可以不存在于DBW系统106。在示例实施例中,DBW系统106可以被配置为实施以下车辆致动控制中的一个或多个:线控节流(其中车辆推进可以借助于电子节流实现,无需从加速踏板到发动机的节流阀的任何线缆);线控制动(其中可以使用马达实现卡钳致动,从而避免对液压系统的需要);线控换档(其中车辆的运动的方向(例如,前进或倒退)可以经由发送到变速器内部致动器的电子命令进行设置);线控转向(其中转向控制(例如,车轮方向)可以通过由电子控制单元致动的电动马达来实现);和线控停车(其中电子命令可以被发送到马达以致动变速器的停车棘爪)。
在示例实施例中,主车辆计算平台102可以基于由平台102执行的车辆控制算法的结果生成车辆控制命令。如前所述,执行此类算法可以涉及处理来自多种类型的车辆传感器的大量数据。主车辆计算平台102可以被配置为连续生成车辆控制命令并将其发送到MRCC车辆安全系统104,MRCC车辆安全系统104进而可以被配置为将车辆控制命令中继到DBW系统106。MRCC车辆安全系统104可以被配置为使用标准通信协议或特定于每个OEM DBW系统的通信协议与各种不同的OEM DBW系统通信。
DBW系统106可以被配置为解释和实施车辆控制命令以启动与实时自动驾驶车辆操作相关联的自动化车辆控制(例如,转向控制、节流控制、制动控制等)。MRCC车辆安全系统104可以在将车辆控制命令从主车辆计算平台102中继到DBW系统106时引入最小延迟,从而确保DBW系统106能够实时或接近实时接收、解释和执行车辆控制命令。在一些实施例中,主车辆计算平台102有时可以绕过MRCC车辆安全系统104并将车辆控制命令直接发送到DBW系统106。
除了用于控制车辆的实时自动化可操作的车辆控制命令外,主车辆计算平台102还可以将未来车辆轨迹和运动信息发送到MRCC车辆安全系统104。未来车辆轨迹信息可以指示在接收到轨迹信息之后的有限时间段内车辆的计划未来轨迹。在示例实施例中,未来车辆轨迹数据可以指示在接收到轨迹数据之后例如大约5秒到大约10秒的时间段内车辆的计划轨迹。未来车辆轨迹数据可以由主车辆计算平台102基于车辆的过去轨迹;车辆的当前轨迹;和/或可能影响车辆的未来轨迹的障碍物、道路曲率等来生成。运动信息可以指示在接收到轨迹信息之后车辆的实际未来运动。
例如,在主车辆计算平台102发生故障的情况下,MRCC车辆安全系统104可以利用刚好在其故障之前从主计算平台102接收的最后未来车辆轨迹和运动数据来确定一组车辆安全响应控制命令,该组车辆安全响应控制命令在由DBW系统106执行时使车辆减速并沿计划车辆轨迹安全停止。在一些示例实施例中,MRCC车辆安全系统104可以基于在MRCC系统104处执行的未来车辆轨迹数据的处理来生成车辆安全响应控制命令。在其他示例实施例中,主车辆计算平台102可以将车辆安全响应控制命令连同对应的未来车辆轨迹数据一起发送到MRCC车辆安全系统104,在这种情况下,MRCC系统104可以将安全控制命令中继到DBW系统106而不对未来车辆轨迹数据执行任何处理(或仅执行最小的处理)。在本公开中将稍后更详细地描述其中可以检测车辆计算平台102的故障的方式。
在一些示例实施例中,主车辆计算平台102可以将未来车辆轨迹数据连续流式传输到MRCC车辆安全系统104。在任何给定的时间点,MRCC系统104可以被配置为仅存储与预定时间段(例如,5-10秒)对应的流式传输的未来车辆轨迹数据的一部分。也就是说,在车辆操作期间,MRCC车辆安全系统104可以连续存储新接收的未来车辆轨迹数据,并且随着先前接收的车辆轨迹数据有效的时间段逝去而计算平台102没有故障,可以丢弃先前接收的车辆轨迹数据,因为它不再代表车辆的计划未来轨迹。
图1B是包括集成车辆安全系统和车辆致动系统的替代串行化车辆计算架构的示意框图。如图1B所示,主车辆计算平台102可以与集成DBW-MRCC系统108串行通信。集成DBW-MRCC系统108可以包括MRCC车辆安全子系统110和DBW子系统112。在一些示例实施例中,MRCC车辆安全子系统110可以类似于MRCC车辆安全系统104(图1)被实施为ASIL-D VCU。此外,在一些示例实施例中,DBW子系统112可以是专有DBW系统,并且MRCC车辆安全子系统110可以被配置为使用专有通信协议与DBW系统通信。
图1C是示出示例实施例的示意框图,其中使用来自辅助传感器系统114的传感器数据来补强MRCC车辆安全系统104的输出。如图1C所描绘的,辅助传感器系统114可以包括N-box 116(可以是“导航盒”的缩写),并且可选地可以包括基于雷达的传感器118。取决于特定的实施方式,辅助传感器系统114可以包括一个或多个其他类型的车辆传感器(例如,LiDAR、相机等)。在一些实施例中,辅助传感器系统114还可以通信地联接到主车辆计算平台102,因为主计算平台102执行的处理可能需要来自辅助传感器系统114的一个或多个传感器的传感器数据。在一些实施例中,辅助传感器系统114可以不是车辆内的传感器的物理划分或划定的系统。例如,可以没有包含辅助传感器系统114的所有传感器的单个外壳。相反,在一些实施例中,辅助传感器系统114可以简单地表示现有车辆传感器的逻辑集合,这些传感器除了通信地联接到主车辆计算平台102之外,还通信地联接到MRCC车辆安全系统104以将导航相关传感器数据的一些子集提供到MRCC系统104。在其他示例实施例中,N-box116可以包括作为与主车辆计算平台102通信的其他现有传感器的冗余的传感器。
N-box 116可以包括IMU,并且可选地包括其他类型的传感器,该传感器为MRCC车辆安全系统104提供与车辆参数相关的数据,诸如车辆的比力、角速率、取向等。特别地,N-box 116的IMU可以使用一个或多个加速度计检测线性加速度并使用一个或多个陀螺仪检测旋转速率。MRCC车辆安全系统104可以被配置为从N-box 116接收原始IMU数据并处理原始IMU数据以运算各种车辆导航度量,包括但不限于相对于全球参考系的线速度和位置、角速率、角取向等。MRCC车辆安全系统104还可以被配置为然后使用这些运算出的度量来补强基于未来车辆轨迹数据生成的车辆安全响应控制命令。
例如,MRCC车辆安全系统104可以利用基于原始IMU数据运算出的导航度量来补强基于未来车辆轨迹数据生成的一个或多个车辆安全响应控制命令(例如,车辆转向控制命令、车辆节流控制命令和/或车辆制动控制命令)以校正在采取车辆响应安全措施和使车辆停下来的时间段期间车辆的实际轨迹与车辆预期轨迹的任何偏差。更具体地,在采取车辆安全响应措施以使车辆安全停止的时段期间,MRCC车辆安全系统104可以从N-box 116连续接收传感器数据(例如,来自IMU的数据)作为反馈数据并且可以基于反馈数据更新/补强发送到DBW系统106的车辆安全响应控制命令,以减轻车辆的实际轨迹与计划轨迹的任何偏差的影响。以这种方式,MRCC车辆安全系统104可以利用来自N-box 116的传感器数据通过确保车辆在车辆停止操作期间更紧密地遵循计划未来轨迹来提供对安全响应措施的额外控制层。
现在参考图1D,示出包括集成补强的车辆安全系统和车辆致动系统的替代串行化车辆计算架构。主车辆计算平台102可以与集成DBW-MRCC系统108串行通信,集成DBW-MRCC系统108可以包括MRCC车辆安全子系统110和DBW子系统112,类似于图1B中所描绘的。然而,MRCC车辆安全子系统110现在通信地联接到辅助传感器系统114并且可以从系统114(例如,从N-box 116和可选地从基于雷达的传感器118)接收传感器数据,该传感器数据可以用于补强其生成的车辆安全响应控制命令。如前所述,MRCC车辆安全子系统110可以实施为ASIL-D VCU,DBW子系统112可以是专有DBW系统,并且MRCC车辆安全子系统110可以被配置为使用专有通信协议与DBW系统通信。
图2A和图2B描绘了上述车辆安全系统104、110可以响应于车辆系统/部件故障(诸如主车辆计算平台102的故障)而启动的各种示例自动化车辆安全响应措施。图2A和图2B是参考MRCC车辆安全系统104描述的,应当理解,这些场景同样适用于形成集成DBW-MRCC系统108的一部分的MRCC车辆安全子系统110。
例如,图2A描绘了在没有来自辅助传感器系统114的任何传感器数据的情况下由DBW系统106基于从MRCC车辆安全系统104接收的车辆安全响应控制命令而启动的车辆安全响应措施的实施方式。如图2A所示,车辆202(例如,自动驾驶车辆)可以正在穿越包括车道200A和车道200B的路段200。车辆202可以在时间t0开始实施车辆响应安全措施。例如,MRCC车辆安全系统104可以在时间t0之前的某个时间检测到主车辆计算平台102的故障,并且可以利用刚好在其故障之前从主计算平台102接收的未来车辆轨迹数据来确定对应的车辆安全响应控制命令。MRCC车辆安全系统104然后可以将车辆安全响应控制命令发送到DBW系统106,DBW系统106可以被配置为在时间t0解释并开始实施命令以在未来车辆轨迹数据有效的的时间段内使车辆202停止。检测到主计算平台102的故障的时间与DBW系统106接收车辆安全响应控制命令的时间之间的延迟可以最小,以确保车辆202在检测到主计算平台102的故障之后的阈值时间段内安全停止。车辆安全响应控制命令可以包括转向、节流和/或制动控制命令,其规定例如车辆202的自动减速和自动制动的速率以根据车辆202的计划轨迹实现完全停止。
然而,如图2A所示,因为MRCC车辆安全系统104在该示例场景中不具有来自辅助传感器系统114的反馈传感器数据的益处,所以MRCC车辆安全系统104可以仅依赖于未来车辆轨迹数据以生成或以其他方式确定车辆安全响应控制命令,DBW系统106基于该命令实施安全响应措施并使车辆202停下来。因此,在安全响应措施的实施期间,车辆202的实际轨迹可能偏离未来车辆轨迹数据所指示的计划轨迹。例如,在时间t1,当车辆202完成自动化车辆安全响应措施时,车辆202可能处于车辆202的完整轨迹内的中间位置。特别地,在时间t1,车辆202在车道200A内的实际位置可能偏离基于未来车辆轨迹数据的车辆在车道200A内的预期位置。例如,车辆202在时间t1在车道200A内的实际位置相比于车道200A的中心可以更接近与车道200B的车道边界。此外,当车辆202已经完成车辆安全响应措施并在时间t2完全停止时,车辆202的实际位置可能会相当大地偏离其计划/预期位置。例如,在时间t2,车辆202可能已经至少部分地越过车道200A和车道200B之间的车道边界。
在示例实施例中,车辆200在车辆安全响应措施完成期间和之后的实际轨迹可能由于各种原因而偏离与未来车辆轨迹数据对应的计划轨迹。例如,诸如车辆202上的外力(例如,风速、风向、摩擦力等)的环境因素在未来车辆轨迹数据生成后可能改变,在这种情况下,基于未来车辆轨迹数据确定车辆控制命令可能不会考虑此类改变,从而导致车辆202的实际轨迹偏离其计划轨迹。然而,如图2B所示,将传感器数据流从辅助传感器系统114提供到MRCC车辆安全系统104使得MRCC系统104能够定期或连续更新/补强车辆安全响应控制命令,以考虑和补偿车辆的操作环境的改变,否则这些改变可能在车辆安全响应措施的实施期间导致其偏离计划轨迹。特别地,如图2B所示,通过使用来自辅助传感器系统114的传感器数据作为反馈数据来补强安全控制命令,MRCC系统104能够减轻在车辆安全响应措施期间的车辆202的实际轨迹(例如,至少部分地由车辆202在时间t1在车道200A内的实际中间位置及其在时间t2的最终位置定义)及其预期轨迹(例如,沿车道200A的中心)之间的偏差。如果例如车辆202的计划未来轨迹在车辆计算平台102的故障时间包括显着的道路曲率,则使用来自辅助传感器系统114的传感器数据作为反馈数据来补强安全控制命令可能特别有益于确保车辆202在当前车道内自动停止。
现在参考图2C,描绘了另一示例车辆安全响应场景,其中雷达数据用于补强车辆安全响应控制命令,以响应于例如车辆计算单元102的故障来实施车辆安全措施。如前所述,辅助传感器系统114可以包括N-box 116的(一个或多个)传感器之外的(一个或多个)附加传感器。例如,辅助传感器系统114还可以包括一个或多个基于雷达的传感器118。(一个或多个)雷达传感器118可以将可以由MRCC系统104处理的雷达数据供应给MRCC车辆安全系统104(或MRCC车辆安全子系统110,具体取决于所采用的计算架构),以例如检测存在于与未来车辆轨迹数据对应的计划车辆轨迹206的路径中的障碍物204。特别地,响应于基于雷达数据检测到障碍物204,MRCC车辆安全系统104可以修改/补强/更新基于未来车辆轨迹数据生成的车辆安全响应控制命令,以使车辆202执行硬制动操作或以其他方式以更快的速率减速以使车辆202在遇到障碍物204之前停止或遵循偏离计划轨迹204并使车辆202避开障碍物204的修改的轨迹208。如果MRCC车辆安全系统104基于雷达数据生成修改/补强的车辆安全响应控制命令以使车辆202沿修改的轨迹208行驶,MRCC车辆安全系统104也可以利用雷达数据来确定修改的轨迹208为车辆202提供合理安全的行驶路径,并且沿修改的轨迹208不存在障碍物。
现在参考图1E,描述了车辆安全系统的替代实施例,根据该实施例,车辆安全系统驻留在串行-并行车辆计算架构内,该串行-并行车辆计算架构包括主要车辆计算平台(例如,主计算平台102)和次车辆计算平台120。在示例实施例中,主车辆计算平台102和次车辆计算平台120可以各自占据串行化架构中的相同(并行)级别。此外,在示例实施例中,除了主要车辆计算平台102之外,次车辆计算平台120也可以被配置为生成车辆控制命令并将该命令发送到MRCC车辆安全系统104,MRCC车辆安全系统104进而可以将控制命令中继到DBW系统106。在一些示例实施例中,次车辆计算平台120可以执行运算/处理以生成至少部分启用自动驾驶功能的车辆控制命令。然而,凭借其更大的处理能力/较低处理延迟,主车辆计算平台102可以执行比次车辆计算平台120更大数量和/或更计算密集的运算/处理。
在一些实施例中,由次计算平台120执行的处理中的至少一些可以是也由主车辆计算平台102执行的冗余处理。在其他示例实施例中,通常由主车辆计算平台102执行的处理的一些部分可以卸载到次计算平台102。处理可以从主计算平台102卸载到次计算平台120以减少处理延迟和/或增加主计算平台102的可用处理资源。例如,如果主计算平台102的性能变得劣化,但主计算平台102仍在操作并且没有发生故障,那么通常将由主计算平台102执行的处理中的至少一些可以被卸载到次计算平台120。
在一些示例实施例中,次车辆计算平台120可以被配置为在主计算平台102发生故障的情况下执行与启动车辆安全响应措施相关的处理。次车辆计算平台120可以被配置为以处理比MRCC车辆安全系统104更大的处理负载和/或更计算密集的任务。因此,在示例实施例中,次车辆计算平台120可以被配置为响应于主计算平台102的故障而生成与较高级别(例如,更复杂的)车辆安全响应措施对应的一个或多个车辆安全响应控制命令。此类较高级别车辆安全响应措施可以包括复杂车辆控制命令——可能由来自辅助传感器系统114和/或来自一个或多个其他车辆传感器122的传感器数据补强——该复杂车辆控制命令在由DBW系统106实施时使车辆202执行至少一个变道策略(例如,从车道200A到车道200B的变道)以使车辆202在慢车道或路肩停止,例如,如图2D所示。特别地,次计算平台120可以利用来自N-box 116的IMU的IMU数据、来自雷达118的数据、来自LiDAR 122的点云数据等来确保存在无障碍物的安全轨迹用于车辆202从其在时间t0启动车辆安全响应措施时的位置转变到其在时间t3完成响应措施时的位置,其中车辆202停在道路200的最右侧区域。
在一些实施例中,主计算平台102和次计算平台120可能两者都故障,在这种情况下,MRCC车辆安全系统104可以被配置为生成较低级别车辆命令以例如使车辆202沿由在故障之前从主计算平台102和/或次计算平台120接收的未来车辆轨迹数据指示的计划轨迹停止。例如,如果其检测到从主计算平台102接收的控制命令和从次计算平台120接收的控制命令之间的不一致,则MRCC车辆安全系统104还可以被配置为启动车辆安全响应措施并基于其已接收的未来车辆轨迹生成较低级别车辆安全响应控制命令。
在一些实施例中,例如,如果从主计算平台102接收的控制命令与从次计算平台120接收的控制命令冲突;如果主计算平台102处理的传感器数据的结果与次计算平台处理的传感器数据的结果冲突(例如,主计算平台102已经检测到障碍物但次计算平台120尚未检测到障碍物,反之亦然);或类似情况,则MRCC车辆安全系统104可以确定主计算平台102输出和次计算平台120输出不一致。来自主计算平台102的输出和来自次计算平台120的输出之间的不一致可以指示主计算平台102的故障和/或次计算平台120的故障。因此,MRCC车辆安全系统104可以启动使车辆202停止的车辆安全响应措施,以例如对主计算平台102和/或次计算平台120执行诊断以尝试查明哪个平台可能已经发生故障以及故障的原因的性质。
现在参考图1F,示出包括与主车辆计算平台102和次计算平台120两者串行通信的集成DBW-MRCC系统108的替代串行-并行车辆计算架构。如前所述,集成DBW-MRCC系统108包括MRCC车辆安全子系统110和DBW子系统112两者。此外,如前所述,MRCC车辆安全子系统110可以实施为ASIL-D VCU,DBW子系统112可以是专有DBW系统,并且MRCC车辆安全子系统110可以被配置为使用专有通信协议与DBW系统通信。
图3A是示出根据本发明的示例实施例的车辆计算平台、车辆安全系统和车辆致动系统之间的串行化数据流的混合数据流和框图。图3B是示出根据本发明的示例实施例的车辆安全系统响应于车辆计算平台的故障而启动车辆安全措施的混合数据流和框图。图4是根据本发明的示例实施例的用于由串行化车辆计算架构内的车辆安全系统检测车辆计算平台的故障并启动车辆安全响应措施的说明性方法400的流程图。下面将结合图3A和图3B来描述图4。
本文描述的方法400、500或700中的任何一个的每个操作可以由图3A、图3B或图8中描绘的引擎/程序模块中的一个或多个执行,其操作将在下文更详细地描述。这些引擎/程序模块可以在硬件、软件和/或固件的任何组合中实施。在某些示例实施例中,这些引擎/程序模块中的一个或多个可以至少部分地实施为包括计算机可执行指令的软件和/或固件模块,该计算机可执行指令在由处理电路执行时引起执行一个或多个操作。在示例实施例中,这些引擎/程序模块可以是在定制计算机器(诸如定制FPGA或ASIC)内实施的定制计算机可执行逻辑。本文描述为被配置为实施本发明的示例实施例的系统或设备可以包括一个或多个处理电路,每个处理电路可以包括一个或多个处理单元或处理核。计算机可执行指令可以包括计算机可执行程序代码,计算机可执行程序代码在由处理核执行时可以使被包含在计算机可执行程序代码中或由计算机可执行程序代码引用的输入数据被处理核访问和处理以产生输出数据。
首先参考图3A,描绘了主车辆计算平台302。例如,车辆计算平台302可以表示主车辆计算平台102的示例实施方式。图3A中还描绘了MRCC车辆安全系统304和DBW系统306,它们可以分别表示MRCC车辆安全系统104和DBW系统106的示例实施方式。替代地,MRCC车辆安全系统304和DBW系统106可以是集成DBW-MRCC系统108的示例实施方式,在这种情况下,MRCC车辆安全系统304可以是MRCC车辆安全子系统110的示例实施方式并且DWB系统106可以是DWB子系统112的示例实施方式。
在示例实施例中,MRCC车辆安全系统304可以包括被配置为提供系统304的相应功能的各种计算引擎,包括例如车辆计算平台故障检测引擎308、车辆安全响应引擎310和命令中继引擎316。车辆计算平台故障检测引擎308可以包括计算机可读/计算机可执行指令,该指令在由MRCC系统304的一个或多个处理电路执行时引起执行操作以检测车辆计算系统302的潜在故障。故障检测引擎308的车辆计算平台故障检测可以使车辆安全响应引擎310的计算机可读/计算机可执行指令由MRCC系统304的(一个或多个)处理电路执行以引起执行操作以启动车辆安全响应措施,包括确定DBW系统306的车辆安全响应控制命令以使车辆安全停止。命令中继引擎316可以包括计算机可读/计算机可执行指令,该指令在由MRCC系统304的(一个或多个)处理电路执行时引起执行操作以将车辆控制命令从主计算平台302中继到DBW系统306并将车辆安全响应控制命令发送到DBW系统306。
现在结合图3A参考图4,在方法400的框402处,MRCC车辆安全系统304可以从主车辆计算平台302接收车辆控制命令数据312A。车辆控制命令数据312A可以表示由主计算平台302基于平台302执行的车辆控制算法的结果生成的车辆控制命令。如前所述,执行此类算法可以涉及处理来自多种类型的车辆传感器的大量数据。MRCC系统304可以将接收的车辆控制命令数据312B存储在一个或多个数据存储装置312中。(一个或多个)数据存储装置312可以包括任何合适类型的存储介质/设备。
主车辆计算平台302可以被配置为连续生成车辆控制命令并将其发送到MRCC车辆安全系统304,并且命令中继引擎316可以被执行以在方法400的框406处将车辆控制命令中继到DBW系统306。DBW系统306可以被配置为解释和实施车辆控制命令以启动与实时自动驾驶车辆操作相关联的自动化车辆控制(例如,转向控制、节流控制、制动控制等)。
除了用于控制车辆的实时自动化可操作的车辆控制命令数据312A之外,主车辆计算平台302还可以在方法400的框404处将未来车辆轨迹数据312B发送到MRCC车辆安全系统304。MRCC系统304可以将未来车辆轨迹数据312B存储在(一个或多个)数据存储装置312中。未来车辆轨迹数据312B可以指示在接收到轨迹数据312B之后的有限时间段内的车辆的计划未来轨迹。例如,在示例实施例中,未来车辆轨迹数据可以指示在接收到轨迹数据312B之后约5秒至约10秒的时间段内的车辆的计划轨迹。未来车辆轨迹数据312B可以由主车辆计算平台302基于车辆的过去轨迹;车辆的当前轨迹;和/或可能影响车辆的未来轨迹的障碍物、道路曲率等而生成。
在方法400的框408处,可以执行故障检测引擎308的计算机可执行指令以确定主计算平台302是否已经发生故障。现在结合图3B参考图4,在一些示例实施例中,故障检测引擎308可以基于MRCC车辆安全系统304从车辆计算平台302接收的故障信号318检测车辆计算平台302的故障。即,在一些实施例中,主车辆计算平台302可以被配置为自确定其是否已进入故障条件或模式,并且如果是,则生成故障信号318并将故障信号318发送到MRCC车辆安全系统304。故障信号318可以包括向故障检测引擎308指示主车辆计算平台302已经发生故障的标志、代码或其他标识符。
在其他示例实施例中,故障检测引擎308可以基于计算平台302和MRCC系统304之间的连接性的丢失来检测主车辆计算平台302的故障。在一些实施例中,故障检测引擎308可以需要在确定车辆计算平台302已经发生故障之前的至少阈值时间段内检测车辆计算平台302和MRCC车辆安全系统304之间的连接性的连续丢失,以避免将连接性的临时丢失解释为故障。在一些实施例中,如果车辆计算平台302和MRCC系统304之间缺乏连接性的累积时段在某个预定义时间段内超过阈值,则故障检测引擎308可以确定车辆计算平台302已经有效地发生故障,即使如果此类连接性的丢失是不连续的。
在其他示例实施例中,故障检测引擎308可以被配置为监测主车辆计算平台302的操作状态并基于监测的操作状态评估车辆计算平台302的潜在故障。例如,故障检测引擎308可以监测主计算平台302的各种操作度量,这些度量指示计算平台302的操作健康,诸如处理延迟、时钟频率、可用处理资源、当前处理负载、内部操作温度、工作电压等。如果这些操作度量中的一个或多个(或某个阈值数量的度量)具有(可选地,在至少阈值时间段内)不满足阈值(例如,超过最大阈值或低于最小阈值)或落在可接受操作范围之外的对应值,则MRCC车辆安全系统304可以确定主计算平台302已经发生故障。
响应于框408处的否定确定指示主车辆计算平台302没有发生故障,方法400可以返回框402,其中车辆控制命令可以继续由车辆计算平台302发送到MRCC车辆安全系统304用于中继到DBW系统306。另一方面,在主车辆计算平台102的故障的情况下(框408处的肯定确定),MRCC车辆安全系统304可以在方法的框410处利用刚好在其故障之前从主计算平台302接收的最后未来车辆轨迹数据312B来确定一组车辆安全响应控制命令,该组车辆安全响应控制命令在由DBW系统306实施时使车辆减速并且沿计划车辆轨迹安全停止。
车辆安全响应控制命令可以作为数据312D存储在(一个或多个)数据存储装置312中。在一些示例实施例中,在方法400的框410处,MRCC车辆安全系统304可以基于在MRCC系统304处执行的未来车辆轨迹数据312B的处理生成车辆安全响应控制命令数据312D。在其他示例实施例中,主车辆计算平台302可以将车辆安全响应控制命令数据312D连同对应的未来车辆轨迹数据312B发送到MRCC车辆安全系统304,在这种情况下,MRCC系统304可以将安全控制命令中继到DBW系统306而不对未来车辆轨迹数据312B执行任何处理(或仅执行最小的处理)。
在一些示例实施例中,MRCC系统304可以在方法400的框412处从一个或多个传感器314接收传感器数据312C,并且可以将传感器数据312C存储在(一个或多个)数据存储装置312中。MRCC车辆安全系统304然后可以在方法400的框414处使用传感器数据312C来补强车辆安全响应控制命令。用传感器数据312C补强车辆安全响应可以帮助确保在由DBW系统306响应于从MRCC车辆系统304接收到车辆安全响应控制命令而实施的自动停止策略期间车辆保持期望轨迹。传感器314可以包括辅助传感器系统114。因此,如之前关于MRCC系统104和MRCC子系统110所描述的,MRCC系统304可以使用例如从辅助传感器系统114接收的传感器数据312C来补强车辆安全响应控制命令数据312D。如前所述,辅助传感器系统114可以包括N-box 116,并且可选地,可以包括基于雷达的传感器118。
在示例实施例中,传感器数据312C可以包括IMU数据。特别地,MRCC系统304可以在框412处例如从N-box 116接收原始IMU数据,并且可以处理原始IMU数据以运算各种车辆导航度量,包括但不限于相对于全球参考系的线速度和位置、角速率、角取向等。MRCC车辆安全系统304可以进一步被配置为然后在框414处使用这些运算出的度量来补强基于未来车辆轨迹数据生成的车辆安全响应控制命令。例如,MRCC车辆安全系统304可以利用基于原始IMU数据运算的导航度量来补强基于未来车辆轨迹数据生成的一个或多个车辆安全响应控制命令(例如,车辆转向控制命令、车辆节流控制命令和/或车辆制动控制命令),以在采取车辆响应安全措施并使车辆停下来的时间段内校正车辆的实际轨迹与车辆的预期轨迹的任何偏差。
附加地或替代地,传感器数据312C可以包括在框412处MRCC系统304从基于雷达的传感器118接收的雷达数据。MRCC系统304可以对雷达数据执行处理以检测沿计划未来车辆轨迹可能存在的障碍物。如果MRCC系统304基于雷达数据检测到障碍物,它可以补强车辆安全响应控制命令数据312D以生成补强的安全响应控制命令,该补强的安全响应控制命令增加施加到车辆的制动力以使车辆在计划轨迹中的较早点停止并避免与障碍物发生碰撞。替代地,MRCC系统304可以基于雷达数据生成补强的安全响应控制命令,以使车辆遵循偏离计划轨迹并避开障碍物的修改的轨迹。应当理解,MRCC系统304也可以基于从一个或多个其他类型的传感器314(包括但不限于LiDAR、相机等)接收的传感器数据来补强车辆安全响应控制命令数据312D。
最后,在方法400的框416处,MRCC系统304可以将车辆安全响应控制命令数据314D发送到DBW系统306,DBW系统306进而可以被配置为解释和实施在数据314D中指定的车辆控制命令以使车辆沿指定轨迹自动安全停止。指定轨迹可以是由未来车辆轨迹数据312B指示的计划轨迹或与例如基于来自基于雷达的传感器314的雷达数据而补强的车辆安全响应控制命令对应的修改的轨迹。
图5是根据本发明的示例实施例的用于由串行-并行车辆计算架构内的车辆安全系统响应于各种安全响应触发事件启动车辆安全响应措施的说明性方法500的流程图。在示例实施例中,方法500可以由图1E或图1F中描绘的串行-并行车辆计算架构的一个或多个部件来执行。为了便于解释,下文将结合图1E的串行-并行车辆计算架构来描述示例方法500。
在方法500的框502处,MRCC系统104可以从主车辆计算平台102接收第一组车辆控制命令。在方法500的框504处,MRCC系统104可以从次车辆计算平台120接收第二组车辆控制命令。此外,在方法500的框506处,MRCC系统104可以从主车辆计算平台102和/或次车辆计算平台120接收未来车辆轨迹数据。
在示例实施例中,主车辆计算平台102和次车辆计算平台120可以各自占据串行化架构中的相同(并行)级别。在一些示例实施例中,次车辆计算平台120可以执行运算/处理以生成至少部分地启用自动驾驶功能的车辆控制命令。然而,凭借其更大的处理能力/较低处理延迟,主车辆计算平台102可以执行比次车辆计算平台120更大数量和/或更计算密集的运算/处理。在一些实施例中,由次计算平台120执行的处理中的至少一些可以是也由主车辆计算平台102执行的冗余处理。在其他示例实施例中,通常由主车辆计算平台102执行的处理的一些部分可以卸载到次计算平台102。处理可以从主计算平台102卸载到次计算平台120以减少处理延迟和/或增加主计算平台102的可用处理资源。例如,如果主计算平台102的性能变得劣化,但主计算平台102仍在操作并且没有发生故障,那么通常将由主计算平台102执行的处理中的至少一些可以被卸载到次计算平台120。
在方法500的框508处,MRCC系统104可以确定第一组车辆控制命令是否与第二组车辆控制命令一致。响应于框508处的否定确定,MRCC系统104可以被配置为启动车辆安全响应措施并在方法500的框514处基于其已经接收的未来车辆轨迹生成较低级别车辆安全响应控制命令。MRCC系统104然后可以在方法500的框516处将较低级别车辆安全响应控制命令发送到DBW系统106,DBW系统106可以被配置为解释和实施命令以使车辆自动安全停止。在一些实施例中,较低级别车辆安全响应控制命令可以包括相对基本的转向、节流和/或制动控制命令,这些命令使车辆沿由未来车辆轨迹数据指示的计划轨迹安全停止。
在一些实施例中,例如,如果从主计算平台102接收的控制命令与从次计算平台120接收的控制命令冲突;如果主计算平台102处理的传感器数据的结果与次计算平台处理的传感器数据的结果冲突(例如,主计算平台102已经检测到障碍物但次计算平台120未检测到障碍物,反之亦然);或类似情况,则MRCC车辆安全系统104可以确定主计算平台102输出和次计算平台120输出不一致。来自主计算平台102的输出和来自次计算平台120的输出之间的不一致可以指示主计算平台102的故障和/或次计算平台120的故障。因此,响应于来自动驾驶车辆计算平台102和次车辆计算平台120的不一致的输出,MRCC车辆安全系统104可以启动车辆安全响应措施以使车辆停止,以例如对主计算平台102和/或次计算平台120执行诊断以尝试查明哪个平台可能已经发生故障以及故障的原因的性质。
在示例实施例中,确定来自动驾驶车辆计算平台102的输出与来自次计算平台120的输出不一致可以表示触发MRCC系统104启动车辆安全响应措施的车辆安全响应触发事件。在一些示例实施例中,在检测到不一致的输出后,MRCC系统104可以首先执行检查以确定次计算平台120是否已经发生故障,并且可以在次计算平台120已经发生故障的情况下仅生成较低级别车辆安全响应控制命令。替代地,如果次计算平台120保持至少某个阈值级别的操作状态,则次计算平台120可以被任命生成较高级别车辆安全响应控制命令并将它们发送到MRCC系统104以中继到DBW系统106。
再次参考框508,如果MRCC系统104没有识别出从主车辆计算平台102接收的第一组车辆控制命令和从次车辆计算平台120接收的第二组车辆控制命令之间的任何差异/不一致(框508处的肯定确定),则方法500可以进行到框510,其中MRCC系统104可以将接收的车辆控制命令中的一个或多个中继到DBW系统106用于实施。然后,在方法500的框512处,MRCC系统104可以被配置为确定主车辆计算平台102是否已经发生故障。如前所述,MRCC系统104可以利用不同的技术来确定主计算平台102是否已经发生故障。例如,MRCC系统104可以基于从主计算平台102接收到故障信号,基于主计算平台102和MRCC系统104之间的连接性的丢失,或类似情况,确定主车辆计算平台102已经发生故障。
响应于方法500的框512处的肯定确定指示主计算平台已经发生故障,方法500可以进行到框518,其中MRCC系统104可以确定次车辆计算平台120是否已经发生故障。MRCC系统104可以利用与用于确定主计算平台102已经发生故障的类似技术来确定次计算平台120是否已经发生故障。在框518处的肯定确定指示次计算平台120已经发生故障的情况下,方法500可以进行到框514,其中如前所述,MRCC系统104可以进行到通过生成较低级别车辆安全响应控制命令启动车辆安全响应措施。特别地,框518处的肯定确定可以指示主计算平台102和次计算平台120已经同时发生故障,在这种情况下,MRCC车辆安全系统104可以被配置为生成较低级别车辆命令,以例如使车辆沿由在故障之前从主计算平台102和/或次计算平台120接收的未来车辆轨迹数据指示的计划轨迹停止。
另一方面,响应于在框518处的否定确定指示次计算平台120是可操作的并且没有发生故障,方法500可以进行到框520,其中次计算平台120可以生成一个或多个较高级别车辆安全响应控制命令,用于响应于检测到的主计算平台102的故障而启动车辆安全响应措施,并将生成的命令发送到MRCC系统104。然后,在方法500的框522处,MRCC系统104可以将从次计算平台120接收的车辆安全响应控制命令中继到DBW系统106用于实施。
特别地,次计算平台120可以被配置为处理比MRCC车辆安全系统104更大的处理负载和/或更计算密集的任务,并且因此,次车辆计算平台120可以被配置为在框520处响应于主计算平台102的故障而生成与较高级别(例如,更复杂)车辆安全响应措施对应的一个或多个车辆安全响应控制命令。此类较高级别车辆安全响应措施可以包括复杂车辆控制命令——可能由来自辅助传感器系统114和/或来自一个或多个其他车辆传感器122的传感器数据补强——该复杂车辆控制命令在由DBW系统106实施时使车辆执行至少一个变道策略以使车辆在慢车道或路肩停止,例如,如图2D所示。特别地,次计算平台120可以利用来自N-box 116的IMU的IMU数据、来自雷达118的数据、来自LiDAR 122的点云数据等来来确保存在无障碍物的安全轨迹用于车辆从检测到主计算平台102的故障时的其位置转变到响应安全响应措施完成时的其位置。
图6是根据本发明的示例实施例的示例车辆安全响应控制级别层级结构600的示意框图。在示例实施例中,车辆安全系统(例如,MRCC系统104、MRCC子系统110)可以与定义能够由车辆安全系统支持的车辆安全响应控制级别的层级结构的对应的车辆安全响应控制级别层级结构相关联。层级结构中的一个或多个车辆安全响应级别可以与相应的一个或多个车辆部件相关联,该一个或多个车辆部件需要操作以实现该车辆安全响应控制级别对应的车辆安全响应措施。
例如,以MRCC系统104为例,MRCC系统104可以与不同的车辆安全响应控制级别层级结构相关联,具体取决于MRCC系统104是否具有使用从一个或多个传感器(例如,辅助传感器系统114)接收的传感器数据补强其生成的车辆安全响应控制命令的能力。更具体地,假设MRCC系统104从辅助传感器系统114和/或从一个或多个其他传感器接收传感器数据,MRCC系统104可以与图6中所示的车辆安全响应控制级别层级结构600相关联。即,MRCC系统104可实现的最高控制级别将是控制级别602,根据该控制级别,MRCC系统104将被配置为基于用以从一个或多个传感器接收的传感器数据的形式的反馈数据补强/补充的未来车辆轨迹数据来生成车辆安全响应控制命令。
即使MRCC系统104理论上可实现的最高控制级别可以是控制级别602,但层级结构600中的MRCC系统104可实现的实际控制级别可以取决于一个或多个传感器的操作状态,MRCC系统104可以使用这些传感器的传感器数据来供在控制级别602下所需的传感器反馈。在一些实施例中,如果一个或多个传感器不是可操作的(例如,N-box 116的IMU),并且因此不能向MRCC系统104提供传感器数据,则MRCC系统104可以选择层级结构600中的下一个最高控制级别604来启动其车辆安全响应措施(假设在该控制级别下的车辆安全响应措施需要的任何(一个或多个)车辆部件是可操作的)。在图6的示例层级结构600中,层级结构600中的下一个最高控制级别604要求基于未来车辆轨迹数据生成车辆安全响应控制命令并且不需要任何传感器来提供传感器反馈数据。因此,无论任何车辆传感器的操作状态如何,MRCC系统104都可以启动在控制级别604下的车辆安全响应措施。
然而,应当理解,在涉及其他控制级别层级结构的其他示例实施例中,层级结构中的下一个最高控制级别604也可以需要至少一个车辆部件(例如,至少一个传感器)是可操作的,在以在该控制级别下实现车辆安全响应措施。此外,在一些示例实施例中,只要在与层级结构中的特定控制级别对应的一组车辆部件中至少一个车辆部件(或某个阈值数量的车辆部件)是可操作的,MRCC系统104就可以能够在该控制级别下启动车辆安全响应措施。例如,如果N-box 116的IMU发生故障,但基于雷达的传感器118仍在操作并且能够将传感器数据提供到MRCC系统104,反之亦然,则MRCC系统104可以使用可用作反馈数据的任何传感器数据在控制级别602下生成补强的车辆安全响应控制命令。
此外,在一些示例实施例中,同一计算架构内的不同车辆安全系统/子系统可以与不同的控制级别层级结构相关联。例如,参考图1E的示例车辆计算架构,次计算平台120可以与图6中所示的控制级别层级结构600相关联,其中最高控制级别602对应于基于传感器反馈数据生成补强的车辆安全响应控制命令。事实上,在一些实施例中,次计算平台120可以与更加增强的控制级别层级结构相关联,其中最高控制级别允许生成的较高级别补强的车辆安全响应控制命令,该命令使用来自更高级的传感器(例如,LiDAR、相机等)的传感器反馈,并且下一个最高控制级别允许生成的相对较低级别补强的车辆安全响应控制命令,该命令利用来自其他相对不太复杂先进的传感器(例如IMU)的传感器反馈数据。与次计算平台120相反,MRCC系统104可以与其中理论上可实现的最高控制级别代替为例如控制级别604的控制层级结构相关联。
如图6所示,控制级别层级结构600可以包括低于层级结构600中的控制级别604的附加控制级别。虽然4个示例控制级别被示为控制级别层级结构600的一部分,但是应当理解,控制级别层级结构可以包括任意数量的控制级别。层级结构600中的控制级别604之下可以是控制级别606,根据该控制级别606,MRCC系统104将默认车辆安全响应控制命令发送到DBW系统106。默认车辆安全响应控制命令例如可以之前已经由主计算平台102(或次计算平台120)生成,并且该默认车辆安全响应控制命令连同此类命令可以基于的未来车辆轨迹数据一起发送到MRCC系统104。如果MRCC系统104不能根据控制级别606实施车辆安全响应措施,则MRCC系统104可以回退到层级结构600中的最低控制级别,这可以涉及将紧急硬制动控制命令发送到DBW系统106使车辆立即停止。如果例如MRCC系统104没有接收或仅部分接收默认安全响应控制命令,如果未来车辆轨迹数据不完整或以某种方式损坏,或类似情况,则MRCC系统104可能无法在控制级别606下实施车辆安全响应措施。在一些实施例中,如果根据较高控制级别启动的车辆安全响应措施未能在为完成安全响应措施而分配的预定时间内完成(例如,未能使车辆完全停止),则MRCC系统106可以回退到层级结构600中的最低控制级别608。预定分配的时间段可以对应于未来车辆轨迹数据有效的时间段。
图7是根据本发明的示例实施例的用于遍历车辆安全响应控制级别层级结构进行迭代以基于支持控制级别可能需要的(一个或多个)对应的车辆部件的操作状态选择能够由车辆安全系统实施的最高控制级别的说明性方法的流程图。下文将在MRCC系统104的上下文中描述图7,但它同样适用于MRCC子系统110。此外,虽然图7的示例方法700是关于示例控制级别层级结构600进行描述的,但应该理解的是方法700适用于具有任意数量控制级别的各种不同控制级别层级结构中的任何一种。
在方法700的框702处,MRCC系统104可以确定车辆计算平台(例如,主计算平台102)已经发生故障。MRCC系统104可以利用任何先前描述的技术来检测车辆计算平台102的故障。
在方法700的框704处,MRCC系统104可以选择MRCC系统104理论上能够支持的最高车辆安全响应控制级别,假设支持该控制级别所需的任何相关联的(一个和多个)车辆部件是可操作的。在其中MRCC系统104通信地联接到辅助传感器系统114和/或一个或多个其他传感器并且因此能够用从此类传感器接收的传感器数据补强它生成的安全响应控制命令的那些示例实施例中,在框704处选择的控制级别可以是控制级别602。替代地,如果MRCC系统104未通信地联接到任何传感器,并且因此不能利用传感器反馈数据,则MRCC系统104的最高理论上可用的控制级别可以例如是控制级别604。
在方法700的框706处,MRCC系统104可以确定在框704处选择的层级结构600中的最高整体控制级别下实施车辆安全响应措施所需的一个或多个车辆部件是否是可操作的。例如,如果最高整体控制级别是控制级别602,则MRCC系统104可以在框706处确定辅助传感器系统114的所有传感器(或某个阈值数量)是否是可操作的。响应于框706处的肯定确定,方法700可以进行到框708,其中MRCC系统104可以基于选择的控制级别(在方法700的迭代过程中的该级别是层级结构600中的最高整体控制级别602)确定车辆安全响应控制命令。然后,在方法700的框710处,MRCC系统104可以将在框708处生成的控制命令发送到DBW系统106用于实施。
另一方面,响应于框706处的否定确定指示支持在选择的控制级别下的车辆安全响应措施的一个或多个车辆部件(例如,(一个或多个)车辆传感器)不是可操作的,方法700可以进行到框712,其中MRCC系统104可以选择层级结构600中的下一个最高控制级别。然后,在方法700的框714处,MRCC系统104可以确定在框712处选择的下一个最高控制级别是否是层级结构中的最低整体控制级别,诸如紧急硬制动操作。响应于框714处的肯定确定,MRCC系统104可以在方法700的框716处将紧急硬制动控制命令发送到DBW系统106。另一方面,响应于框714处的否定确定——这指示在框712处选择的下一个最高控制级别不是层级结构600中的最低整体控制级别——方法700可以再次从框706进行。应当理解,在一些实施例中,在框706处的肯定确定可以只需要确定当前选择的控制级别不依赖于正在操作以支持该控制级别下的车辆安全响应措施的任何其他车辆部件。在示例实施例中,方法700可以迭代地进行,直到识别出任何相关联的所需车辆部件处于操作状态的控制级别,或者直到选择的控制级别对应于控制级别层级结构600中的最低控制级别。
本发明的实施例克服了在基于计算机的技术领域中(并且更具体地在一些示例实施例中,在自动驾驶车辆技术领域中)具体出现的技术问题。特别地,本发明的示例实施例对如何在关键车辆部件故障(诸如车辆计算单元的故障)的情况下以自动方式使车辆安全停止而无需人工手动输入的帮助的技术问题提供了技术解决方案。更具体地,本发明的示例实施例以能够响应于检测到的车辆计算单元的故障而实施各种车辆安全响应措施的车辆安全系统的形式对该技术问题提供了技术解决方案,其中通过在其中实施车辆安全系统的各种类型的串行化和/或串行-并行计算架构来促进此类安全响应措施。本发明的示例实施例还以能够基于传感器反馈数据生成补强的车辆安全响应控制命令并且能够从控制级别层级结构选择控制级别并启动对应的车辆安全响应的车辆安全系统的形式对上述技术问题提供了技术解决方案。
硬件实施方式
图8是示出被配置为实施本发明的示例实施例的示例联网架构800的示意框图。联网架构800可以包括经由一个或多个网络806通信地联接到各种车辆传感器804、主计算平台830(例如,主计算平台102)、次计算平台834(例如,次计算平台120)和DBW系统832(例如,DBW系统106或DBW子系统112)的一个或多个专用计算设备802。
车辆传感器804可以包括在辅助传感器系统114中可以包括的任何类型的传感器以及一个或多个其他类型的传感器,包括但不限于IMU、基于雷达的传感器、LiDAR、相机、全球定位系统(GPS)接收器、基于声纳的传感器、超声波传感器、FIR传感器等。(一个或多个)专用计算设备802可以形成MRCC系统104或MRCC子系统110的一部分,并且在一些示例实施例中,可以经由一个或多个网络806通信地联接到一个或多个传感器804,在这种情况下,设备802可以能够基于接收的传感器数据生成补强的车辆安全响应控制命令。在一些示例实施例中,一个或多个专用计算设备802可以远离车辆提供并且可以经由一个或多个远程网络从传感器804接收数据。
(一个或多个)专用计算设备802可以硬连线来执行这些技术;可以包括被持久地编程以执行这些技术的电路系统或数字电子设备,诸如一个或多个ASIC或FPGA;和/或可以包括被编程以根据固件、存储器、其他储存器或其组合中的程序指令执行这些技术的一个或多个硬件处理器。(一个或多个)专用计算设备802还可以将定制硬连线逻辑、ASIC或FPGA与定制编程相结合以完成这些技术。(一个或多个)专用计算设备802可以是台式计算机系统、服务器计算机系统、便携式计算机系统、手持设备、网络设备或并入了硬连线和/或编程逻辑以实施这些技术的任何其他设备或设备的组合。
(一个或多个)专用计算设备一般可以由操作系统软件820控制和协调,包括移动操作系统(诸如iOS、Android、Chrome OS等)、台式操作系统、大型机操作系统,或其他兼容的操作系统。在其他实施例中,(一个或多个)计算设备402可以由专有操作系统控制。操作系统软件420可以控制和调度计算机进程以供执行;执行内存管理;提供文件系统、网络和I/O服务;并提供用户界面功能,诸如图形用户界面(“GUI”)。
虽然(一个或多个)计算设备80和/或传感器804在本文中可以以单数形式描述,但是应当理解,可以提供任何此类部件的多个实例并且结合任何特定部件描述的功能可以跨此类部件的多个实例分布。在某些示例实施例中,本文结合架构800的任何给定部件描述的功能可以在架构800的多个部件之间分布。例如,描述为由计算设备802提供的功能的至少一部分可以在多个此类计算设备802之间分布。另外,应当理解,主计算平台830和/或次车辆计算平台834可以包括任意数量的组成计算设备、处理单元等。
(一个或多个)网络806可以包括但不限于任何一个或多个不同类型的通信网络,诸如,例如线缆网络、公共网络(例如,互联网)、私有网络(例如,帧中继网络)、无线网络、蜂窝网络、电话网络(例如公共交换电话网络)或任何其他合适的私有或公共分组交换或电路交换网络。(一个或多个)网络806可以具有与其相关联的任何合适的通信范围并且可以包括例如全球网络(例如,互联网)、城域网(MAN)、广域网(WAN)、局域网(LAN)或个域网(PAN)。此外,(一个或多个)网络806可以包括通信链路和相关联的网络设备(例如,链路层交换机、路由器等),用于通过任何合适类型的介质(包括但不限于同轴线缆、双绞线(例如,双绞铜线)、光纤、混合光纤同轴(HFC)介质、微波介质、射频通信介质、卫星通信介质或其任意组合)传输网络流量。
在说明性配置中,计算设备802可以包括一个或多个处理器((一个或多个)处理器)808、一个或多个存储器设备810(在本文中总体称为存储器810)、一个或多个输入/输出(“I/O”)接口812、一个或多个网络接口814和数据储存器818。计算设备802还可以包括一个或多个总线816,其在功能上联接计算设备802的各种部件。数据储存器可以存储一个或多个引擎、程序模块、部件等,包括但不限于故障检测引擎824、车辆安全响应引擎826和命令中继引擎828。图8中描绘的引擎/部件中的每一个可以包括用于执行与对应命名的引擎/部件相关的早先描述的任何过程或任务的逻辑。在某些示例实施例中,任何描述的引擎/部件可以在被持久地编程以执行对应的技术的数字电子设备内的硬接线电路系统(诸如一个或多个ASIC或FPGA)中实施。
(一个或多个)总线816可以包括系统总线、存储器总线、地址总线或消息总线中的至少一个,并且可以允许计算设备802的各种部件之间的信息(例如,数据(包括计算机可执行代码)、信令等)的交换。(一个或多个)总线816可以包括但不限于存储器总线或存储器控制器、外围总线、加速图形端口等。(一个或多个)总线816可以与任何合适的总线架构相关联,包括但不限于行业标准架构(ISA)、微通道架构(MCA)、增强型ISA(EISA)、视频电子标准协会(VESA)架构、加速图形端口(AGP)架构、外围部件互连(PCI)架构、PCI-Express架构、个人计算机存储器卡国际协会(PCMCIA)架构、通用串行总线(USB)架构等。
存储器810可以包括易失性存储器(在供电时维持其状态的存储器)(诸如随机存取存储器(RAM))和/或非易失性存储器(即使在不供电时也维持其状态的存储器)(诸如,只读存储器(ROM)、闪存、铁电RAM(FRAM)等)。如本文所使用的术语持久数据储存器可以包括非易失性存储器。在某些示例实施例中,易失性存储器可以实现比非易失性存储器更快的读/写访问。然而,在某些其他示例实施例中,某些类型的非易失性存储器(例如,FRAM)可以实现比某些类型的易失性存储器更快的读/写访问。
在各种实施方式中,存储器810可以包括多种不同类型的存储器,诸如各种类型的静态随机存取存储器(SRAM)、各种类型的动态随机存取存储器(DRAM)、各种类型的不可改变的ROM,和/或ROM的可写变体(诸如电可擦除可编程只读存储器(EEPROM))、闪存等。存储器810可以包括主存储器以及各种形式的高速缓存存储器,诸如(一个或多个)指令高速缓存、(一个或多个)数据高速缓存、(一个或多个)转换后备缓冲器(TLB)等等。此外,高速缓存(诸如数据高速缓存)可以是组织为一个或多个高速缓存级别(L1、L2等)的层级结构的多级高速缓存。
数据储存器818可以包括可移除储存器和/或不可移除储存器,包括但不限于磁储存器、光盘储存器和/或带储存器。数据储存器818可以提供计算机可执行指令和其他数据的非易失性存储。可移除和/或不可移除的存储器810和数据储存器818是本文使用的术语的计算机可读存储介质(CRSM)的示例。数据储存器818可以存储可以可加载到存储器810中并且可由(一个或多个)处理器808执行以使(一个和多个)处理器808执行或启动各种操作的计算机可执行代码、指令等。数据储存器818可以另外存储可以在计算机可执行指令的执行期间被复制到存储器810以供(一个或多个)处理器808使用的数据。此外,作为(一个或多个)处理器808执行计算机可执行指令的结果而生成的输出数据可以最初存储在存储器810中并且可以最终被复制到数据储存器818用于非易失性存储。
更具体地,数据储存器818可以存储一个或多个操作系统(O/S)820和一个或多个数据库管理系统(DBMS)822,DBMS 822被配置为潜在地经由一个或多个网络806访问存储器810和/或一个或多个外部数据存储装置(未描绘)。此外,数据储存器818还可存储一个或多个程序模块、应用、引擎、计算机可执行代码、脚本等。例如,图8中描绘的任何引擎/部件可以被实施为软件和/或固件,该软件和/或固件包括可加载到存储器810中以由一个或多个处理器808执行来执行本文描述的任何技术的计算机可执行指令(例如,计算机可执行程序代码)。
虽然图8中没有描绘,但是数据储存器818可以进一步存储由计算设备802的引擎/部件利用的各种类型的数据。此类数据可以包括但不限于说明性地示出为存储在(一个多个)数据存储装置212中的任何类型的数据。存储在数据储存器818中的任何数据可以被加载到存储器810中以供(一个或多个)处理器808用于执行计算机可执行程序代码。此外,存储在数据储存器818中的任何数据都可以潜在地存储在一个或多个外部数据存储装置中,这些外部数据存储装置可经由DBMS 822访问并可加载到存储器810中以供(一个或多个)处理器808用于执行计算机可执行指令/程序代码。数据储存器818可以包括(一个或多个)数据存储装置212或者(一个或多个)数据存储装置212可以在数据储存器818的外部。
(一个或多个)处理器808可以被配置为访问存储器810并执行加载在其中的计算机可执行指令/程序代码。例如,(一个或多个)处理器808可以被配置为执行存储在数据储存器818中的各种引擎/部件的计算机可执行指令/程序代码以引起或有助于根据本发明的的一个或多个实施例执行的各种操作。(一个或多个)处理器808可以包括能够接受数据作为输入、根据存储的计算机可执行指令处理输入数据并生成输出数据的任何合适的处理单元。(一个或多个)处理器808可以包括任何类型的合适的处理单元,包括但不限于中央处理单元、微处理器、精简指令集计算机(RISC)微处理器、复杂指令集计算机(CISC)微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上系统(SoC)、数字信号处理器(DSP)等。此外,(一个或多个)处理器808可以具有任何合适的微架构设计,其包括任何数量的组成部件,诸如,例如寄存器、多路复用器、算术逻辑单元、用于控制对高速缓存存储器的读/写操作的高速缓存控制器、分支预测器等。(一个或多个)处理器808的微架构设计可以制成能够支持各种指令集中的任何一种。
现在参考被描绘为存储在数据储存器818中的其他说明性部件,O/S 820可以从数据储存器818加载到存储器810中并且可以提供在计算设备802上执行的其他应用软件和计算设备802的硬件资源之间的接口。更具体地,O/S 820可以包括用于管理计算设备802的硬件资源和用于将公共服务提供到其他应用程序的一组计算机可执行指令。在某些示例实施例中,O/S 820可以包括或以其他方式控制存储在数据储存器818中的一个或多个引擎/程序模块的执行。O/S 820可以包括现在已知的或可以在未来开发的任何操作系统,包括但不限于任何其他专有或非专有操作系统。
DBMS 822可以被加载到存储器810中并且可以支持用于访问、检索、存储和/或操纵存储在存储器810中的数据、存储在数据储存器818中的数据和/或存储在(一个或多个)外部数据存储装置中的数据的功能。DBMS 822可以使用各种数据库模型(例如,关系模型、对象模型等)中的任何一种并且可以支持各种查询语言中的任何一种。DBMS 822可以访问以一个或多个数据规划表示并且存储在任何合适的数据储存库中的数据。可以由计算设备802经由DBMS 822可访问的(一个或多个)数据存储装置可以包括但不限于数据库(例如,关系、面向对象等)、文件系统、平面文件、分布式数据存储装置(其中数据存储在计算机网络的不止一个节点上)、对等网络数据存储装置等。
现在参考计算设备802的其他说明性部件,(一个或多个)输入/输出(I/O)接口812可以有助于计算设备802从一个或多个I/O设备接收输入信息,以及将信息从计算设备802输出到一个或多个I/O设备。I/O设备可以包括各种部件中的任何一种,诸如具有触摸表面或触摸屏的显示器或显示屏;用于产生声音的音频输出设备(诸如扬声器);音频捕获设备(诸如麦克风);图像和/或视频捕获设备(诸如相机);触觉单元;等等。这些部件中的任何一个都可以集成到计算设备802中或者可以与其分离。I/O设备还可以包括例如任意数量的外围设备,诸如数据存储设备、打印设备等。
(一个或多个)I/O接口812还可以包括用于外部外围设备连接的接口,诸如通用串行总线(USB)、火线、雷电、以太网端口或可以连接到一个或多个网络的其他连接协议。(一个或多个)I/O接口812还可以包括到一个或多个天线的连接以经由无线局域网(WLAN)(诸如Wi-Fi)无线电、蓝牙和/或无线网络无线电(诸如能够与无线通信网络(诸如长期演进(LTE)网络、WiMAX网络、3G网络等)通信的无线电)连接到一个或多个网络。
计算设备802还可以包括一个或多个网络接口814,计算设备802可以经由这些网络接口814与各种其他系统、平台、网络、设备等中的任何一个进行通信。(一个或多个)网络接口814可以经由一个或多个网络806实现例如与传感器804和/或一个或多个其他设备的通信。在示例实施例中,(一个或多个)网络接口814提供联接到一个或多个网络链路的双向数据通信,这些网络链路连接到一个或多个网络806。例如,(一个或多个)网络接口814可以包括集成服务数字网络(ISDN)卡、线缆调制解调器、卫星调制解调器,或用于提供与对应类型的电话线的数据通信连接的调制解调器。作为另一个非限制性示例,(一个或多个)网络接口814可以包括局域网(LAN)卡以提供对兼容LAN(或与WAN通信的广域网(WAN)部件)的数据通信连接。也可以实施无线链路。在任何这样的实施方式中,(一个或多个)网络接口814可以发送和接收运载表示各种类型的信息的数字数据流的电信号、电磁信号或光信号。
网络链路通常可以提供通过一个或多个网络到其他数据设备的数据通信。例如,网络链路可以提供通过本地网络到主机计算机或互联网服务提供商(ISP)操作的数据装备的连接。ISP进而可以通过现在通常称为“互联网”的全球分组数据通信网络提供数据通信服务。本地网络和互联网两者使用运载数字数据流的电信号、电磁信号或光信号。通过各种(一个或多个)网络804的信号和在网络链路上并通过(一个或多个)网络接口814的信号是传输介质的示例形式,这些信号将数字数据运载到计算设备802或运载来自计算设备802的数字数据。在示例实施例中,计算设备802可以通过(一个或多个)网络806、网络链路和(一个或多个)网络接口814发送消息和接收数据(包括程序代码)。例如,在互联网示例中,服务器可以通过互联网、ISP、本地网络和网络接口814传输用于应用程序的请求代码。接收的代码可以在接收到时由处理器808执行,和/或存储在数据储存器818或其他非易失性储存器中供以后执行。
应当理解,图8中描绘的引擎作为计算设备802的一部分仅仅是说明性的而不是详尽的。特别地,功能可以以任何合适的方式模块化,使得被描述为由任何特定引擎支持的处理可以替代地跨多个引擎、程序模块、部件等分布,或者由不同的引擎、程序模块、部件等执行。此外,在某些实施例中可以存在或可以不存在一个或多个描绘的引擎,而在其他实施例中,未描绘的附加引擎可存在并且可以支持所描述的功能和/或附加功能的至少一部分。此外,可以提供各种(一个或多个)引擎、(一个或多个)程序模块、(一个或多个)脚本、(一个或多个)插件、(一个或多个)应用编程接口(API)或在计算设备802上本地托管的和/或在经由一个或多个网络802可访问的其他(一个或多个)计算设备(例如,802)上托管的任何其他合适的计算机可执行代码,以支持由图8中描绘的引擎提供的功能和/或附加或替代功能。此外,支持本文描述的功能的引擎可以至少部分地以硬件和/或固件来实施,并且可以根据任何合适的计算模型(诸如,例如客户端-服务器模型、点对点模型等等)跨任何数量的计算模型802可执行。
还应当理解,在不脱离本发明的范围的情况下,计算设备802可以包括超出所描述或描绘的那些的替代和/或附加硬件、软件和/或固件部件。更具体地,应当理解,被描绘为形成计算设备802的一部分的软件、固件和/或硬件部件仅仅是说明性的,并且一些部件可以存在或可以不存在,或者在各种实施例中可以提供附加部件。还应当理解,在各种实施例中,所描绘和描述的引擎中的每一个都表示所支持的功能的逻辑分区。描述此逻辑分区是为了便于功能的解释,并且可以表示也可以不表示用于实施功能的软件、硬件和/或固件的结构。
一般地,如本文所用,术语引擎、程序模块等是指体现在硬件、固件和/或电路系统中的逻辑,或指可能具有入口和出口点的以编程语言编写(例如Java、C或C++)的软件指令的集合。软件引擎/模块可以被编译并链接成可执行程序,安装在动态链接库中,或者可以用解释性编程语言(诸如,例如BASIC、Perl或Python)编写。应当理解,软件引擎/模块可以从其他引擎/模块或从它们自身调用,和/或可以响应于检测到的事件或中断而被召用。配置用于在计算设备上执行的软件引擎/模块可以被提供在计算机可读介质上,诸如压缩盘、数字视频盘、闪存驱动器、磁盘或任何其他有形介质,或者作为数字下载(并且可以最初以压缩或可安装格式存储,该格式在执行前需要安装、解压缩或解密)。此类软件代码可以部分或全部存储在执行计算设备的存储设备上,以供计算设备执行。“开源”软件是指可以作为源代码和/或以编译形式分布的源代码,具有获取源的广泛宣传和索引方式,并可选择具有允许修改和衍生工作的许可证。软件指令可以嵌入在固件中并存储在例如闪存(诸如可擦除可编程只读存储器(EPROM))上。将进一步理解,硬件模块/引擎可以包括连接的逻辑单元(诸如门和触发器),和/或可以进一步包括可编程单元(诸如可编程门阵列或处理器)。
本文将示例实施例描述为包括引擎或程序模块。此类引擎/程序模块可以构成软件引擎(例如,体现在机器可读介质上的代码)或硬件引擎。“硬件引擎”是能够执行某些操作的有形单元,并且可以以某种物理方式被配置或布置。在各种示例实施例中,可以通过软件(例如,应用或应用部分)将一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件引擎(例如,一个处理器或一组处理器)被配置为被操作为执行本文所述的某些操作的硬件引擎。
在一些实施例中,可以机械地、电子地或其任何合适的组合来实施硬件引擎。例如,硬件引擎可以包括永久性地被配置为执行某些操作的专用电路系统或逻辑。例如,硬件引擎可以是专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件引擎还可以包括可编程逻辑或电路系统,其由软件临时配置为执行某些操作。例如,硬件引擎可以包括由软件配置的通用处理器或其他可编程处理器,在这种情况下,所配置的处理器成为专门定制为执行配置功能的特定机器,并且不再构成通用处理器。将意识到,机械地、在专用且永久配置的电路系统中或在临时配置的电路系统中实施硬件引擎的决定可能受成本和时间考虑的影响。
因此,术语“引擎”或“程序模块”应被理解为包括有形实体,该有形实体是被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)为以某种方式操作或执行本文所述的某些操作的实体。考虑到硬件引擎被临时配置(例如,编程)的实施例,硬件引擎中的每个无需在任何时候都及时被配置或实例化。例如,在硬件引擎包括由软件被配置为专用处理器的通用处理器的情况下,该通用处理器可以在不同时间分别被配置为不同的专用处理器(例如,包括不同的硬件引擎)。软件相应地可以配置一个或多个特定处理器,例如,以在给定时间实例中构成特定硬件引擎,并在不同的时间实例中构成不同的硬件引擎。
硬件引擎可以向其他硬件引擎提供信息并从其他硬件引擎接收信息。因此,所描述的硬件引擎可以被认为是通信联接的。在同时存在多个硬件引擎的情况下,可以通过在硬件引擎中的两个或多个之间的信号传输(例如,通过适当的电路和总线)来实现通信。在以不同时间配置或实例化多个硬件引擎的实施例中,可以例如通过在多个硬件引擎可以访问的存储器结构中存储和检索信息来实现此类硬件引擎之间的通信。例如,一个硬件引擎可以执行操作并将该操作的输出存储在其通信联接的存储设备中。然后,另一硬件引擎可以在以后的时间访问该存储设备以检索和处理所存储的输出。硬件引擎还可以启动与输入或输出设备的通信,并且可以对资源(例如,信息的集合)进行操作。
本文中描述的示例方法的各种操作可以至少部分地由临时配置(例如,通过软件)或永久被配置为执行相关操作的一个或多个处理器执行。无论是临时配置还是永久配置,此类处理器都可以构成硬件引擎的实施方式。类似地,本文中描述的方法可以至少部分地由处理器实施,其中一个或多个特定处理器是硬件的示例。此外,一个或多个处理器还可以操作为在“云计算”环境中或作为“软件即服务”(SaaS)支持相关操作的性能。例如,操作中的至少一些可以由一组计算机(作为包括处理器的机器的示例)执行,其中这些操作经由网络(例如,互联网)和经由一个或多个适当的接口(例如,API)可访问。
本文描述的示例方法的某些操作的性能可以在多个处理器之间分布,不仅驻留在单个机器内,而且可以跨多个计算机部署。在一些示例实施例中,处理器可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器场内)。在其他示例实施例中,处理器可以跨多个地理位置分布。
本发明可以实施为系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质(或多个介质),其上体现有计算机可读程序指令,用于使处理器执行本发明的方面。
计算机可读存储介质是非暂时性介质的形式,如本文所使用的术语,并且可以是可以保留和存储指令以供指令执行设备使用的任何有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质和更一般地非暂时性介质可以包括非易失性介质和/或易失性介质。计算机可读存储介质的更具体示例的非详尽列表包括以下:便携式计算机磁盘(诸如软盘或可折叠盘);硬盘;随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)或任何其他存储器芯片或盒;便携式压缩盘只读存储器(CD-ROM);数字多功能盘(DVD);记忆棒;固态驱动器;磁带或任何其他磁性数据存储介质;机械编码设备(诸如其上记录有指令穿孔卡或凹槽中的凸起结构,或具有孔图案的任何物理介质);这些的任何联网版本;以及上述任何合适的组合。
非暂时性介质不同于传输介质,并且因此,如本文使用的计算机可读存储介质不被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲),或通过导线传输的电信号。然而,非暂时性介质可以与传输介质一起操作。特别地,传输介质可以参与在非暂时性介质之间传递信息。例如,传输介质可以包括同轴线缆、铜线和/或光纤,包括包含至少一些总线802的导线。传输介质还可以采用声波或光波的形式,诸如在无线电波和红外线数据通信期间生成的那些。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应计算/处理设备,或经由网络(例如互联网、局域网(LAN)、广域网(WAN)和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输线缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编器指令、指令集架构(ISA)指令、机器指令、机器相关指令、微码、固件指令、状态设置数据或以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言(诸如Smalltalk、C++等)以及常规过程编程语言(诸如“C”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户的计算机上、部分在用户计算机上、作为独立软件包、部分在用户计算机上并且部分在远程计算机上或完全在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过任何类型的网络(包括LAN或WAN)连接到用户的计算机,或者可以对外部计算机进行连接(例如,使用互联网服务提供商(ISP)通过互联网)。在一些实施例中,包括例如可编程逻辑电路系统、FPGA或可编程逻辑阵列(PLA)的电子电路系统可以通过利用计算机可读程序指令的状态信息来个性化电子电路系统来执行计算机可读程序指令,以执行本发明的方面。
本文参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的方面。应当理解,流程图和/或框图中的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实施。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以生产机器,使得经由计算机的处理器或其他可编程数据处理装置执行的指令创建用于实施在流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令也可以存储在计算机可读存储介质中,该计算机可读存储介质可以引导计算机、可编程数据处理装置和/或其他设备以特定方式运行,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实施流程图和/或框图的一个或多个框中指定的功能/动作的方面的指令。计算机可读程序指令也可以加载到计算机、其他可编程数据处理装置或其他设备上,以引起在计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实施的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实施流程图和/或框图的一个或多个框中指定的功能/动作。
上述各种特征和过程可以彼此独立地使用或者可以以各种方式组合。所有可能的组合和子组合都旨在落入本发明的范围内。此外,在一些实施方式中可以省略某些方法或过程框。本文描述的方法和过程也不限于任何特定的顺序,并且与其相关的框或状态可以以其他合适的顺序执行。例如,所描述的框或状态可以按照与具体公开的顺序不同的顺序执行,或者多个框或状态可以组合在单个框或状态中。示例框或状态可以串行、并行或以某种其他方式执行。框或状态可以被添加到所公开的示例实施例或从所公开的示例实施例中移除。本文描述的示例系统和部件可以与描述的不同地配置。例如,与所公开的示例实施例相比,元件可以被添加、移除或重新布置。
附图中的流程图和框图示出根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。就这一点而言,流程图或框图中的每个框可表示模块、段或指令的一部分,其包括用于实施(一个或多个)指定逻辑功能的一个或多个可执行指令。在一些替代实施方式中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个框实际上可以部分、基本上或完全同时执行,或者有时可以以相反的顺序执行这些框,具体取决于所涉及的功能。
应当强调的是,可以对上述实施例进行许多变化和修改,其元件应被理解为属于本发明的其他示例实施例。本文中所有此类修改和变化都旨在被包括在本发明的范围内。虽然本发明的示例实施例在本文中可以单独地或共同地通过术语“发明”来指代,但这仅仅是为了方便并且不将本发明的范围限制为任何单个公开或构思(如果事实上公开了不止一个公开或构思)。前面的描述详述了本发明的某些实施例。然而,应当理解,无论上述在文本中显得多么详细,本发明可以以多种方式实践。应当注意,在描述本发明的某些特征或方面时使用特定术语不应被视为暗示该术语在本文中被重新定义以限于包括与该术语相关联的本发明的特征或方面的任何特定特性。
充分详细地描述了本文示出的实施例以使本领域技术人员能够实践所公开的教导。其他实施例可以使用并从中导出,从而可以在不脱离本发明的范围的情况下进行结构和逻辑替换和改变。因此,具体实施方式不应被理解为限制性的,并且各种实施例的范围仅由所附权利要求以及此类权利要求所赋予的等效物的全部范围限定。
虽然基于当前被认为是最实用和优选的实施方式,出于说明的目的详细描述了(一个或多个)本发明,但应当理解,此类细节仅用于该目的,并且本发明不限于所公开的实施方式,而是相反,旨在涵盖在所附权利要求的精神和范围内的修改和等效布置。例如,应当理解,本发明预期在可能的程度上,任何实施例的一个或多个特征可以与任何其他实施例的一个或多个特征组合。
如本文所使用的,术语“或”可以被解释为包含性的或排他性的意义。此外,可以为在本文中被描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、程序模块、引擎和数据存储装置之间的边界在某种程度上是任意的,并且在特定说明性配置的上下文中说明了特定操作。可以设想其他的功能分配,并且其可以落入本发明的各种实施例的范围内。一般地,在示例配置中呈现为单独资源的结构和功能可以被实施为组合的结构或资源。类似地,呈现为单个资源的结构和功能可以实施为单独的资源。这些和其他变型、修改、添加和改进落入由所附权利要求表示的本发明的实施例的范围内。因此,说明书和附图应被认为是说明性的而不是限制性的。
条件语言,诸如“能够”、“能”、“可能”或“可以”,除非另外特别说明,或者在所使用的上下文中另外理解,通常旨在传达某些实施例包括而某些实施例不包括某些特征、元件和/或步骤。因此,此类条件语言通常不旨在暗示特征、元件和/或步骤无论如何都是一个或多个实施例所需的,或者暗示一个或多个实施例必须包括用于在具有或没有用户输入或提示的情况下决定这些特征、元件和/或步骤是否包括在任何特定实施例中的逻辑或将在任何特定实施例中执行的逻辑。此外,应当理解,本文描述为基于另一操作、元件、部件、数据等的任何操作、元件、部件、数据等可以另外基于一个或多个其他操作、元件、部件、数据等。因此,短语“基于”或其变体应解释为“至少部分地基于”。
Claims (20)
1.一种车辆安全系统的计算机实施的方法,包括:
由车辆的一个或多个处理器从所述车辆的车辆计算平台接收未来车辆轨迹数据;
由所述一个或多个处理器确定所述车辆计算平台已经发生故障;
由所述一个或多个处理器遍历车辆安全响应控制级别层级结构进行迭代以确定所述层级结构中由所述车辆的当前操作状态支持的最高车辆安全响应控制级别;
由所述一个或多个处理器选择所述层级结构中由所述车辆的所述当前操作状态支持的所述最高车辆安全响应控制级别作为当前车辆安全响应控制级别;
由所述一个或多个处理器确定与所述当前车辆安全响应控制级别对应的一组车辆安全响应控制命令;以及
由所述一个或多个处理器将所述一组车辆安全响应控制命令发送到所述车辆的一个或多个致动器,以响应于所述车辆计算平台的故障启动用于所述车辆的安全响应措施。
2.根据权利要求1所述的计算机实施的方法,其中遍历所述车辆安全响应控制级别层级结构进行迭代包括:
确定第一车辆安全响应控制级别是所述层级结构中能够由所述车辆支持的最高整体车辆安全响应控制级别;
识别所述车辆的与所述第一车辆安全响应控制级别对应的一个或多个部件;
确定所述一个或多个部件是可操作的;以及
确定所述第一车辆安全响应控制级别是所述层级结构中由所述车辆的所述当前操作状态支持的所述最高车辆安全响应控制级别。
3.根据权利要求2所述的计算机实施的方法,其中确定所述一个或多个部件是可操作的包括:确定所述一个或多个部件中的每个部件的一个或多个操作度量的相应一个或多个值满足对应的一个或多个阈值。
4.根据权利要求2所述的计算机实施的方法,其中所述一个或多个部件包括所述车辆的一个或多个传感器,并且其中确定与所述当前车辆安全响应控制级别对应的所述一组车辆安全响应控制命令包含:
至少部分地基于所述未来车辆轨迹数据生成一组初始控制命令;
从所述一个或多个传感器接收传感器数据;以及
使用所述传感器数据补强所述一组初始控制命令以生成所述一组车辆安全响应控制命令。
5.根据权利要求4所述的计算机实施的方法,其中所述传感器数据包括从惯性传感器接收的第一传感器数据,并且其中使用所述传感器数据补强所述一组初始控制命令以生成所述一组车辆安全响应控制命令包括:生成一个或多个车辆转向控制命令,所述一个或多个车辆转向控制命令在被实施时使所述一个或多个致动器调整所述车辆的转向控制以减轻所述车辆的实际轨迹与由所述未来车辆轨迹数据指示的计划轨迹之间的偏差。
6.根据权利要求4所述的计算机实施的方法,其中所述传感器数据包括从基于雷达的传感器接收的第一传感器数据,并且其中使用所述传感器数据补强所述一组初始控制命令以生成所述一组车辆安全响应控制命令包括:
使用所述第一传感器数据,沿由所述未来车辆轨迹数据指示的计划轨迹检测障碍物;以及
生成一个或多个车辆节流控制命令,所述一个或多个车辆节流控制命令在被实施时使所述一个或多个致动器增加所述车辆的减速率以避免与所述障碍物发生碰撞。
7.根据权利要求4所述的计算机实施的方法,其中所述传感器数据包括从基于雷达的传感器接收的第一传感器数据,并且其中使用所述传感器数据补强所述一组初始控制命令以生成所述一组车辆安全响应控制命令包括:
使用所述第一传感器数据,沿由所述未来车辆轨迹数据指示的计划轨迹检测障碍物;以及
生成一个或多个车辆转向控制命令,所述一个或多个车辆转向控制命令在被实施时使所述一个或多个致动器启动对所述计划轨迹的替代车辆轨迹,以避免与所述障碍物发生碰撞。
8.根据权利要求1所述的计算机实施的方法,其中遍历所述车辆安全响应控制级别层级结构进行迭代包括:
确定第一车辆安全响应控制级别是所述层级结构中能够由所述车辆支持的最高整体车辆安全响应控制级别;
识别所述车辆的与所述第一车辆安全响应控制级别对应的一个或多个部件;
确定所述一个或多个部件中的至少一个不是可操作的;
确定第二车辆安全响应控制级别是所述层级结构中能够由所述车辆支持的所述第一车辆安全响应控制级别之后的下一个最高控制级别;以及
确定所述第二车辆安全响应控制级别是所述层级结构中由所述车辆的所述当前操作状态支持的所述最高车辆安全响应控制级别。
9.根据权利要求8所述的计算机实施的方法,还包括:
确定所述第二车辆安全响应控制级别是所述层级结构中的最低控制级别,
其中确定与所述当前车辆安全响应控制级别对应的所述一组车辆安全响应控制命令包括:确定所述第二车辆安全响应控制级别对应于硬制动控制命令,并且
其中将所述一组车辆安全响应控制命令发送到所述一个或多个致动器包括:将所述硬制动控制命令发送到所述一个或多个致动器以使所述一个或多个致动器启动所述车辆的硬制动操作。
10.根据权利要求1所述的计算机实施的方法,其中所述一个或多个处理器包括最小风险条件控制(MRCC)车辆安全系统。
11.根据权利要求10所述的计算机实施的方法,其中所述一个或多个致动器构成线控驱动(DBW)车辆系统的一部分。
12.根据权利要求11所述的计算机实施的方法,其中所述MRCC车辆安全系统和所述DWB车辆系统形成集成系统的一部分,并且其中所述MRCC车辆安全系统使用专有车辆通信协议与所述DWB车辆系统通信。
13.一种用于车辆的自动化控制的系统,包括:
车辆计算平台;
一个或多个致动器;以及
至少一个处理器;以及
至少一个存储器,其存储计算机可执行指令,其中所述至少一个处理器被配置为访问所述至少一个存储器并执行所述计算机可执行指令以进行以下操作:
从所述车辆计算平台接收未来车辆轨迹数据;
确定所述车辆计算平台已经发生故障;
遍历车辆安全响应控制级别层级结构进行迭代以确定所述层级结构中由所述车辆的当前操作状态支持的最高车辆安全响应控制级别;
选择所述层级结构中由所述车辆的所述当前操作状态支持的所述最高车辆安全响应控制级别作为当前车辆安全响应控制级别;
确定与所述当前车辆安全响应控制级别对应的一组车辆安全响应控制命令;以及
将所述一组车辆安全响应控制命令发送到所述车辆的一个或多个致动器,以响应于所述车辆计算平台的故障启动所述车辆的安全响应措施。
14.根据权利要求13所述的系统,其中所述至少一个处理器被配置为通过执行所述计算机可执行指令以进行以下操作来遍历所述车辆安全响应控制级别层级结构进行迭代:
确定第一车辆安全响应控制级别是所述层级结构中能够由所述车辆支持的最高整体车辆安全响应控制级别;
识别所述车辆的与所述第一车辆安全响应控制级别对应的一个或多个部件;
确定所述一个或多个部件是可操作的;以及
确定所述第一车辆安全响应控制级别是所述层级结构中由所述车辆的所述当前操作状态支持的所述最高车辆安全响应控制级别。
15.根据权利要求14所述的系统,其中所述至少一个处理器被配置为通过执行所述计算机可执行指令以进行以下操作来确定所述一个或多个部件是可操作的:确定所述一个或多个部件中的每个部件的一个或多个操作度量的相应一个或多个值满足对应的一个或多个阈值。
16.根据权利要求14所述的系统,其中所述一个或多个部件包括所述车辆的一个或多个传感器,并且其中所述至少一个处理器被配置为通过执行所述计算机可执行指令以进行以下操作来确定与所述当前车辆安全响应控制级别对应的所述一组车辆安全响应控制命令:
至少部分地基于所述未来车辆轨迹数据生成一组初始控制命令;
从所述一个或多个传感器接收传感器数据;以及
使用所述传感器数据补强所述一组初始控制命令以生成所述一组车辆安全响应控制命令。
17.根据权利要求16所述的系统,其中所述传感器数据包括从惯性传感器接收的第一传感器数据,并且其中所述至少一个处理器被配置为通过执行所述计算机可执行指令以进行以下操作来使用所述传感器数据补强所述一组初始控制命令以生成所述一组车辆安全响应控制命令:
生成一个或多个车辆转向控制命令,所述一个或多个车辆转向控制命令在被实施时使所述一个或多个致动器调整所述车辆的转向控制以减轻所述车辆的实际轨迹与由所述未来车辆轨迹数据指示的计划轨迹之间的偏差。
18.根据权利要求16所述的系统,其中所述传感器数据包括从基于雷达的传感器接收的第一传感器数据,并且其中所述至少一个处理器被配置为通过执行所述计算机可执行指令以进行以下操作来使用所述传感器数据补强所述一组初始控制命令以生成所述一组车辆安全响应控制命令:
使用所述第一传感器数据,沿由所述未来车辆轨迹数据指示的计划轨迹检测障碍物;以及
生成一个或多个车辆节流控制命令,所述一个或多个车辆节流控制命令在被实施时使所述一个或多个致动器增加所述车辆的减速率以避免与所述障碍物发生碰撞。
19.根据权利要求16所述的系统,其中所述传感器数据包括从基于雷达的传感器接收的第一传感器数据,并且其中所述至少一个处理器被配置为通过执行所述计算机可执行指令以进行以下操作来使用所述传感器数据补强所述一组初始控制命令以生成所述一组车辆安全响应控制命令:
使用所述第一传感器数据,沿由所述未来车辆轨迹数据指示的计划轨迹检测障碍物;以及
生成一个或多个车辆转向控制命令,所述一个或多个车辆转向控制命令在被实施时使所述一个或多个致动器启动对所述计划轨迹的替代车辆轨迹,以避免与所述障碍物发生碰撞。
20.根据权利要求13所述的系统,其中所述至少一个处理器被配置为通过执行所述计算机可执行指令以进行以下操作来遍历所述车辆安全响应控制级别层级结构进行迭代:
确定第一车辆安全响应控制级别是所述层级结构中能够由所述车辆支持的最高整体车辆安全响应控制级别;
识别所述车辆的与所述第一车辆安全响应控制级别对应的一个或多个部件;
确定所述一个或多个部件中的至少一个不是可操作的;
确定第二车辆安全响应控制级别是所述层级结构中能够由所述车辆支持的所述第一车辆安全响应控制级别之后的下一个最高控制级别;以及
确定所述第二车辆安全响应控制级别是所述层级结构中由所述车辆的所述当前操作状态支持的所述最高车辆安全响应控制级别。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/120,214 | 2020-12-13 | ||
US17/120,214 US20220185325A1 (en) | 2020-12-13 | 2020-12-13 | Vehicle safety response control hierarchies and corresponding methods of automated vehicle safety control |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114684185A true CN114684185A (zh) | 2022-07-01 |
Family
ID=78822000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111506476.9A Pending CN114684185A (zh) | 2020-12-13 | 2021-12-10 | 自动化车辆安全控制的车辆安全响应控制层级结构及对应的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220185325A1 (zh) |
EP (1) | EP4011731A1 (zh) |
CN (1) | CN114684185A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11352023B2 (en) | 2020-07-01 | 2022-06-07 | May Mobility, Inc. | Method and system for dynamically curating autonomous vehicle policies |
WO2022132774A1 (en) * | 2020-12-14 | 2022-06-23 | May Mobility, Inc. | Autonomous vehicle safety platform system and method |
US11814072B2 (en) | 2022-02-14 | 2023-11-14 | May Mobility, Inc. | Method and system for conditional operation of an autonomous agent |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014221682A1 (de) * | 2014-10-24 | 2016-04-28 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Betreiben eines Fahrzeugs |
WO2017192446A1 (en) * | 2016-05-03 | 2017-11-09 | Roush Enterprises, Inc. | Method and apparatus for accessing data traffic in a controller area network |
US11009874B2 (en) * | 2017-09-14 | 2021-05-18 | Uatc, Llc | Fault-tolerant control of an autonomous vehicle with multiple control lanes |
US10611381B2 (en) * | 2017-10-24 | 2020-04-07 | Ford Global Technologies, Llc | Decentralized minimum risk condition vehicle control |
US10747223B1 (en) * | 2018-04-10 | 2020-08-18 | Aurora Innovation, Inc. | Redundant lateral velocity determination and use in secondary vehicle control systems |
US20210316755A1 (en) * | 2020-04-09 | 2021-10-14 | Baidu Usa Llc | Method for real-time monitoring of safety redundancy autonomous driving system (ads) operating within predefined risk tolerable boundary |
WO2022132774A1 (en) * | 2020-12-14 | 2022-06-23 | May Mobility, Inc. | Autonomous vehicle safety platform system and method |
-
2020
- 2020-12-13 US US17/120,214 patent/US20220185325A1/en not_active Abandoned
-
2021
- 2021-12-01 EP EP21211824.4A patent/EP4011731A1/en active Pending
- 2021-12-10 CN CN202111506476.9A patent/CN114684185A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4011731A1 (en) | 2022-06-15 |
US20220185325A1 (en) | 2022-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4011731A1 (en) | Vehicle safety response control hierarchies and corresponding methods of automated vehicle safety control | |
CN109131340B (zh) | 基于驾驶员行为的主动车辆性能调整 | |
US10220857B2 (en) | Vehicle control system | |
JP7121864B2 (ja) | 自動運転システムのアップグレード方法、自動運転システム及び車載機器 | |
US11724708B2 (en) | Fail-safe handling system for autonomous driving vehicle | |
EP3577528B1 (en) | Enabling remote control of a vehicle | |
KR101802858B1 (ko) | 자동차용 통합데이터 처리 제어 시스템 및 방법 | |
KR101531826B1 (ko) | 차량용 acc/lks 통합 제어기의 성능 검증 방법 및 장치, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체 | |
US20230311909A1 (en) | Automated vehicle safety response methods and corresponding vehicle safety systems with serialized computing architectures | |
JP6918873B2 (ja) | 車両運行状態監視方法、装置、及び機器 | |
CN113734193A (zh) | 用于估计接管时间的系统和方法 | |
WO2022245916A1 (en) | Device health code broadcasting on mixed vehicle communication networks | |
US20210086765A1 (en) | Method for driving a motor vehicle safely in at least partially automated fashion | |
CN112550313A (zh) | 通过云计算的容错嵌入式汽车应用程序 | |
US11827243B2 (en) | Automated vehicle safety response methods and corresponding vehicle safety systems with serial-parallel computing architectures | |
CN109144070A (zh) | 移动设备辅助自动驾驶方法、汽车和存储介质 | |
CN117377991A (zh) | 装置级故障检测 | |
JP7200829B2 (ja) | 車両システム | |
EP4074562A1 (en) | Control system and control method for intelligent connected vehicle | |
CN112537310A (zh) | 用于安全求取基础设施数据的方法、设备、基础设施和存储介质 | |
US11753024B1 (en) | Anticipatory vehicle headlight actuation | |
WO2024043011A1 (ja) | 車両予測機能の検証 | |
CN116811878A (zh) | 计算机实现的方法、机器可读介质以及电子设备 | |
JP2022124258A (ja) | 車載型コンピュータシステムおよび自動運転支援システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40076097 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |