首页> 中国专利> 用于确保安全的具有双自主驾驶系统的自主驾驶车辆

用于确保安全的具有双自主驾驶系统的自主驾驶车辆

摘要

本申请公开了一种用于确保安全的具有双自主驾驶系统的自主驾驶车辆,涉及操作自主驾驶车辆。方法包括:使用第一自主驾驶系统规划和控制所述ADV,包括感知所述ADV周围的驾驶环境并规划驾驶所述ADV的轨迹;操作作为冗余驾驶系统的第二自主驾驶系统,以监视所述第一自主驾驶系统的第一操作状态;由所述第一自主驾驶系统监视所述第二自主驾驶系统的第二操作状态;以及基于所述第一自主驾驶系统的所述第一操作状态和所述第二自主驾驶系统的所述第二操作状态,执行安全动作以将所述ADV转换到更安全的状态。

著录项

  • 公开/公告号CN112540592A

    专利类型发明专利

  • 公开/公告日2021-03-23

    原文格式PDF

  • 申请/专利权人 百度(美国)有限责任公司;

    申请/专利号CN202011232075.4

  • 发明设计人 朱帆;

    申请日2020-11-06

  • 分类号G05B23/02(20060101);

  • 代理机构11201 北京清亦华知识产权代理事务所(普通合伙);

  • 代理人张润

  • 地址 美国加利福尼亚州桑尼维尔波尔多道1195

  • 入库时间 2023-06-19 10:22:47

说明书

技术领域

本公开的实施例总体上涉及操作自主驾驶车辆。更具体地,本公开的实施例涉及用于确保安全的具有双驾驶系统的自主驾驶车辆。

背景技术

以自主模式(例如,无人驾驶)操作的车辆可以减轻乘员,特别是驾驶员免于一些与驾驶相关的责任。当以自主模式操作时,车辆可以使用车载传感器导航到各个位置,允许车辆在最少的人机交互的情况下行驶,或者在一些情况下无任何乘客。

安全性是自主驾驶车辆(ADV)的重要关注点。由于ADV由计算机系统驾驶,自主驾驶系统的任何组件的故障都可能导致事故,并且需要将ADV定位于安全位置。缺乏有效的机制来监视自主驾驶系统的操作并将车辆置于安全状态。

发明内容

在一个实施例中,本申请涉及一种用于操作自主驾驶车辆ADV的计算机实现的方法。该方法包括:使用第一自主驾驶系统规划和控制ADV,包括感知ADV周围的驾驶环境并规划驾驶ADV的轨迹;操作作为冗余驾驶系统的第二自主驾驶系统,以监视第一自主驾驶系统的第一操作状态;由第一自主驾驶系统监视第二自主驾驶系统的第二操作状态;以及基于第一自主驾驶系统的第一操作状态和第二自主驾驶系统的第二操作状态,执行安全动作以将ADV转换到更安全的状态。

在另一个实施例中,本申请还涉及一种非暂时性机器可读介质,其中存储有指令。当指令由处理器执行时使得处理器执行上述操作自主驾驶车辆ADV的计算机实现的方法。

在另一个实施例中,本申请还涉及一种用于操作自主驾驶车辆ADV的方法。方法包括:在ADV的电控单元ECU处,接收来自第一自主驾驶系统的第二自主驾驶系统的第二操作状态和第一控制命令;在ECU处,接收来自第二自主驾驶系统的第一自主驾驶系统的第一操作状态和第二控制命令,其中第一自主驾驶系统是自主驾驶所述ADV的主系统,所述第二自主驾驶系统是主系统的备用系统;由ECU基于第一操作状态或第二操作状态中的至少一个,确定第一自主驾驶系统是否正常操作;响应于确定第一自主驾驶系统正常操作,执行第一控制命令或第二控制命令中的至少一个;以及响应于确定第一自主驾驶系统异常操作,执行预定动作以将ADV转换到预定安全状态。

附图说明

在附图的图中通过示例而非限制的方式示出本公开的实施例,其中,相似的附图标记指示相似的元件。

图1是示出根据一个实施例的联网系统的框图。

图2是示出根据一个实施例的自主车辆的示例的框图。

图3A-图3B是示出根据一个实施例的与自主车辆一起使用的感知和规划系统的示例的框图。

图4是示出根据一个实施例的自主驾驶系统的示例的框图。

图5是示出根据一个实施例的监视模块的示例的框图。

图6是示出根据一个实施例的操作自主驾驶车辆的过程的示例的流程图。

图7是示出根据另一实施例的操作自主驾驶车辆的过程的示例的流程图。

具体实施方式

将参考下面讨论的细节来描述本公开的各种实施例和方面,并且附图将示出各种实施例。以下描述和附图是本公开的说明,并且不应被解释为限制本公开。描述了许多具体细节以提供对本公开的各种实施例的透彻理解。然而,在某些情况下,为提供对本公开的实施例的简要讨论,没有描述公知的或常规的细节。

在说明书中对“一个实施例”或“实施例”的引用是指结合该实施例描述的特定特征、结构或特性可以包括在本公开的至少一个实施例中。说明书中各个地方出现的短语“在一个实施例中”不一定全部是指相同的实施例。

根据一些实施例,监视和故障处理系统被利用来监视自主驾驶系统,并响应于指示自主驾驶组件中的至少一个不起作用的信号而将ADV置于安全状态。ADV上存在两个自主驾驶系统:主系统和备用系统。主系统用于操作常规系统,常规系统负责处理常规的日常自主驾驶操作,常规的日常自主驾驶操作包括感知、规划和控制操作。备用系统被配置为响应于检测到主系统中的至少一个组件的故障而执行备用操作,并将ADV置于安全状态。主系统和备用系统被配置为监视彼此的操作状态,并且基于主系统和备用系统的操作状态,可以检测主系统的故障,并且作为响应而将ADV转换到更安全的状态。

根据一个方面,第一自主驾驶系统(例如,主系统)被配置为对ADV执行规划和控制操作,包括感知ADV周围的驾驶环境并规划驾驶ADV的轨迹。第二自主驾驶系统(例如,备用系统)作为冗余驾驶系统操作,以监视第一自主驾驶系统的第一操作状态。第一自主驾驶系统还监视第二自主驾驶系统的第二操作状态。基于监视的第一自主驾驶系统和第二自主驾驶系统的操作状态,执行安全动作以将ADV转换到更安全的状态。

在一个实施例中,第一系统对第一系统的操作进行自诊断,且第二系统对第二系统的操作进行自诊断。基于第一自主驾驶系统和第二自主驾驶系统提供的自诊断执行安全动作。另外,第一系统和第二系统已经交换了它们的操作状态和/或自诊断,以允许对应系统确定另一对应系统是否正常操作。在一个实施例中,第一系统和第二系统耦接到诸如本地无线网络的本地网络。第一系统和第二系统中的每个的模块中的至少一些可以广播或多播关于其在网络中的各自操作的消息。出于确定其他系统是否正常操作的目的,其他模块和/或其他系统可以订阅或收听广播以接收信息。

在一个实施例中,第一系统将第二系统的操作状态及其自诊断发送到车辆的电控单元(ECU)。类似地,第二系统例如通过车辆总线将第一系统的操作状态及其自身的自诊断发送到ECU。基于从第一系统和第二系统接收的信息,ECU可以确定第一系统和第二系统中的任一个是否正常操作。操作状态可以包括指示自主驾驶系统的资源使用水平(例如,处理器使用水平)或者系统是否根据预定时间表(例如,10Hz驾驶周期)操作的信息。响应于确定第一系统和/或第二系统中的一个或多个组件不起作用,ECU可以生成对车辆的控制命令以将车辆转换到安全状态。

在一个实施例中,当基于从第一系统和第二系统接收的操作状态和/或自诊断信息,第一系统将第一控制命令(例如,第一制动命令)发送到ECU并且第二系统将第二控制命令(例如,第二制动命令)发送到ECU时,ECU可以基于第一控制命令和第二控制命令(例如,第一控制命令或第二控制命令中的较大者)生成第三控制命令。在一个实施例中,响应于确定第一自主驾驶系统和第二自主驾驶系统的操作状态和/或自诊断指示第一系统和第二系统正常操作,发出第三控制命令。另一方面,如果基于它们各自的操作状态和/或自诊断确定第一系统和第二系统中的任一个没有正常起作用,ECU可以发出预定第四命令(诸如哈希或最大制动命令),以使车辆置于停止或快速的减速状态。

根据另一方面,ADV的电控单元(ECU)从第一自主驾驶系统接收第二自主驾驶系统的第二操作状态和第一控制命令。ECU从第二自主驾驶系统接收第一自主驾驶系统的第一操作状态和第二控制命令。第一自主驾驶系统是自主驾驶ADV的主系统,且第二自主驾驶系统是主系统的备用系统。ECU基于第一操作状态或第二操作状态中的至少一个,确定第一自主驾驶系统是否正常操作。响应于确定第一自主驾驶系统正常操作,ECU执行第一控制命令或第二控制命令中的至少一个。响应于确定第一自主驾驶系统异常操作,执行预定动作以将ADV转换到预定安全状态。

在一个实施例中,响应于确定第一自主驾驶系统正常操作,选择第一控制命令和第二控制命令中的一个用于执行。另一方面,响应于确定第一自主驾驶系统没有正常操作,将执行预定安全动作。例如,向车辆发出最大制动命令(例如100%制动命令)以使车辆停止或迅速减速。

图1是示出根据本公开的一个实施例的自主车辆网络配置的框图。参考图1,网络配置100包括可以通过网络102与一个或多个服务器103-104通信耦接的自主车辆101。尽管示出一个自主车辆,多个自主车辆可以彼此耦接和/或通过网络102耦接到服务器103-104。网络102可以是任何类型的有线或无线网络,诸如局域网(LAN)、广域网(WAN),诸如因特网、蜂窝网络、卫星网络,或其组合。(一个或多个)服务器103-104可以是任何种类的服务器或服务器集群,诸如Web或云服务器、应用服务器、后端服务器或其组合。服务器103-104可以是数据分析服务器、内容服务器、交通信息服务器、地图和感兴趣点(MPOI)服务器或位置服务器等。

自主车辆是指可以被配置为处于自主模式的车辆,在自主模式中,车辆很少或没有来自驾驶员的输入的情况下导航通过环境。这种自主车辆可以包括具有一个或多个传感器的传感器系统,一个或多个传感器被配置为检测关于车辆在其中操作的环境的信息。车辆及其相关的控制器(一个或多个)使用检测的信息以导航通过环境。自主车辆101可以以手动模式、全自主模式或部分自主模式操作。

在一个实施例中,自主车辆101包括但不限于感知和规划系统110、车辆控制系统111、无线通信系统112、用户接口系统113和传感器系统115。自主车辆101还可以包括在普通车辆中包括的某些常见组件,诸如引擎、车轮、转向盘、变速器等,这些组件可以被车辆控制系统111和/或感知和规划系统110使用各种通信信号和/或命令(诸如,例如加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等)控制。

组件110-115可以经由互连、总线、网络或其组合彼此通信地耦接。例如,组件110-115可以经由控制器局域网(CAN)总线彼此通信地耦接。CAN总线是一种车辆总线标准,其被设计为允许微控制器和设备在没有主机的应用中彼此通信。它是基于消息的协议,最初被设计用于汽车内的多路复用电气布线,但是也用于许多其它环境中。

现在参考图2,在一个实施例中,传感器系统115包括但不限于一个或多个相机211、全球定位系统(GPS)单元212、惯性测量单元(IMU)213、雷达单元214以及光检测和射程(LIDAR)单元215。GPS系统212可以包括可操作以提供关于自主车辆的位置的信息的收发器。IMU单元213可以基于惯性加速度感测自主车辆的位置和方位变化。雷达单元214可以表示使用无线电信号感测自主车辆的局部环境内的对象的系统。在一些实施例中,除了感测对象之外,雷达单元214可以额外地感测对象的速度和/或前进方向。LIDAR单元215可以使用激光感测自主车辆所处的环境中的对象。LIDAR单元215可以包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。相机211可以包括一个或多个设备以捕获自主车辆周围的环境的图像。相机211可以是静态相机和/或摄影机。相机可以是可机械移动的,例如通过将相机安装在旋转和/或倾斜的平台上。

传感器系统115还可以包括其它传感器,诸如声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器和音频传感器(例如麦克风)。音频传感器可以被配置为捕获来自自主车辆周围的环境的声音。转向传感器可以被配置为感测车辆的转向盘、车轮或其组合的转向角。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情况下,油门传感器和制动传感器可以集成为集成的油门/制动传感器。

在一个实施例中,车辆控制系统111包括但不限于转向单元201、油门单元202(也称为加速单元)和制动单元203。转向单元201调节车辆的方向或前进方向。油门单元202控制电动机或引擎的速度,电动机或引擎的速度又控制车辆的速度和加速度。制动单元203通过提供摩擦以使车辆的车轮或轮胎变慢来使车辆减速。注意,图2所示的组件可以以硬件、软件或其组合实现。

返回参考图1,无线通信系统112允许在自主车辆101和外部系统(诸如设备、传感器、其他车辆等)之间的通信。例如,无线通信系统112可以直接或经由通信网络与一个或多个设备无线通信,诸如通过网络102与服务器103-104无线通信。无线通信系统112可以使用任何蜂窝通信网络或无线局域网(WLAN),例如使用WiFi与另一组件或系统通信。无线通信系统112可以例如使用红外链路、蓝牙等直接与设备(例如,乘客的移动设备、显示设备、车辆101内的扬声器)通信。用户接口系统113可以是在车辆101内实现的外围设备的部分,包括例如键盘、触摸屏显示设备、麦克风和扬声器等。

自主车辆101的一些或所有功能可以由感知和规划系统110控制或管理,尤其是在自主驾驶模式下操作时。感知和规划系统110包括必要的硬件(例如,(一个或多个)处理器、存储器、存储设备)和软件(例如,操作系统、规划和路线程序),以从传感器系统115、控制系统111、无线通信系统112和/或用户接口系统113接收信息、处理接收的信息、规划从起点到目的地点的路线或路径,然后基于规划和控制信息驾驶车辆101。可替换地,感知和规划系统110可以与车辆控制系统111集成。

例如,作为乘客的用户可以例如经由用户接口指定行程的起始位置和目的地。感知和规划系统110获得与行程有关的数据。例如,感知和规划系统110可以从MPOI服务器获得位置和路线信息,MPOI服务器可以是服务器103-104的一部分。位置服务器提供位置服务,以及MPOI服务器提供地图服务和某些位置的POI。可替换地,这种位置和MPOI信息可以本地缓存在感知和规划系统110的永久存储设备中。在一个实施例中,系统110包括彼此耦接的主自主驾驶系统和备用自主驾驶系统,用于安全监视和动作,这将在下面进一步详细描述。

当自主车辆101沿着路线移动时,感知和规划系统110还可以从交通信息系统或服务器(TIS)获得实时交通信息。注意,服务器103-104可以由第三方实体操作。可替换地,服务器103-104的功能可以与感知和规划系统110集成。基于实时交通信息、MPOI信息和位置信息,以及由传感器系统115检测或感测的实时局部环境数据(例如,障碍物、对象、附近车辆),感知和规划系统110可以规划最佳路线,并且例如经由控制系统111根据规划的路线来驾驶车辆101,以安全且高效地到达指定目的地。

服务器103可以是数据分析系统,以执行用于各种客户端的数据分析服务。在一个实施例中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121从各种车辆(自主车辆或者是由人类驾驶员驾驶的常规车辆)收集驾驶统计123。驾驶统计123包括指示发出的驾驶命令(例如,油门、制动、转向命令)和由车辆的传感器在不同时间点捕获的车辆的响应(例如,速度、加速度、减速度、方向)的信息。驾驶统计123还可以包括描述不同时间点的驾驶环境的信息,诸如,例如路线(包括起始位置和目的地位置)、MPOI、道路状况、天气状况等。

基于驾驶统计123,机器学习引擎122出于各种目的生成或训练一组规则、算法和/或预测模型124。在一个实施例中,算法124可以包括监视、检查和确定自主驾驶系统的操作状态的算法,以及进行自主驾驶系统的自诊断检查的算法。然后,可以将算法124上传到ADV,以在自主驾驶期间被实时使用。

图3A和3B是示出根据一个实施例的与自主车辆一起使用的感知和规划系统的示例的框图。系统300可以被实现为图1的自主车辆101的部分,包括但不限于感知和规划系统110、控制系统111和传感器系统115。参考图3A-3B,感知和规划系统110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306、路线模块307和监视模块308。

模块301-308中的一些或全部可以以软件、硬件或其组合实现。例如,这些模块可以安装在永久存储设备352中、加载到存储器351中,并由一个或多个处理器(未示出)执行。注意,这些模块中的一些或全部可以通信地耦接到图2的车辆控制系统111的一些或全部模块或与图2的车辆控制系统111的一些或全部模块集成。模块301-308中的一些可以被集成在一起作为集成模块。

定位模块301确定自主车辆300的当前位置(例如,使用GPS单元212)并且管理与用户的行程或路线有关的任何数据。定位模块301(也称为地图和路线模块)管理与用户的行程或路线有关的任何数据。用户可以例如经由用户接口登录并指定行程的起始位置和目的地。定位模块301与自主车辆300的其他组件(诸如地图和路线信息311)通信,以获得与行程有关的数据。例如,定位模块301可以从位置服务器和地图与POI(MPOI)服务器获得位置和路线信息。位置服务器提供位置服务,以及MPOI服务器提供地图服务和某些位置的POI,它们可作为地图和路线信息311的部分被缓存。当自主车辆300沿着路线移动时,定位模块301还可以从交通信息系统或服务器获得实时交通信息。

基于由传感器系统115提供的传感器数据和由定位模块301获得的定位信息,由感知模块302确定对周围环境的感知。感知信息可以表示普通驾驶员将感知到的驾驶员正在驾驶的车辆周围的情况。感知可以包括车道配置、交通灯信号、与另一车辆、行人、建筑物、人行横道或其它与交通有关的标志(例如以对象形式)(例如,停止标志、让步标志)等的相对位置。车道配置包括描述一个或多个车道的信息,诸如,例如车道的形状(例如,直的或弯曲的)、车道的宽度、道路中的车道数量、单向或双向车道、合并或分离车道、驶离车道等。

感知模块302可以包括计算机视觉系统或计算机视觉系统的功能,以处理和分析由一个或多个相机捕获的图像,以识别自主车辆的环境中的对象和/或特征。对象可以包括交通信号、车行道边界、其他车辆、行人和/或障碍物等。计算机视觉系统可以使用对象识别算法、视频跟踪和其它计算机视觉技术。在一些实施例中,计算机视觉系统可以映射环境、跟踪对象、并估计对象的速度等。感知模块302还可以基于由诸如雷达和/或LIDAR的其他传感器提供的其他传感器数据检测对象。

对于每个对象,预测模块303预测对象将在该环境下表现什么行为。鉴于一组地图/路线信息311和交通规则312,基于在该时间点的驾驶环境感知的感知数据执行预测。例如,如果对象是在相反方向上的车辆并且当前驾驶环境包括交叉路口,预测模块303将预测车辆将可能直线向前移动还是转弯。如果感知数据指示交叉路口没有交通灯,预测模块303可以预测车辆在进入交叉路口之前可能必须完全停止。如果感知数据指示车辆当前处于仅左转车道或仅右转车道,预测模块303可以预测车辆将更可能分别左转或右转。

对于每个对象,决策模块304做出关于如何处理对象的决策。例如,对于特定对象(例如,在交叉路线中的另一车辆)及其描述对象的元数据(例如,速度、方向、转向角),决策模块304决定如何遇到对象(例如,超车、让行、停止、通过)。决策模块304可以根据一组规则(诸如交通规则或驾驶规则312)做出这些决策,规则可以存储于永久存储设备352中。

路线模块307被配置为提供从起点到目的地点的一条或多条路线或路径。对于例如从用户接收到的从起始位置到目的地位置的给定行程,路线模块307获得路线和地图信息311并且确定从起始位置到达目的地位置的所有可能的路线或路径。路线模块307可以为从起始位置到达目的地位置确定的每条路线生成地形图形式的参考线。参考线是指没有来自其它(诸如其它车辆、障碍物或交通状况)的任何干扰的理想路线或路径。也就是说,如果在道路上没有其它车辆、行人或障碍物,ADV应该精确地或紧密地跟随参考线。然后,地形图被提供给决策模块304和/或规划模块305。决策模块304和/或规划模块305检查所有可能的路线,以考虑由其它模块提供的其它数据(诸如来自定位模块301的交通状况、由感知模块302感知的驾驶环境和由预测模块303预测的交通状况)来选择和修改最佳路线中的一个。取决于在时间点的特定驾驶环境,用于控制ADV的实际路径或路线可以接近或不同于由路线模块307提供的参考线。

基于对于每个感知的对象的决策,规划模块305使用由路线模块307提供的参考线作为基础,为自主车辆规划路径或路线以及驾驶参数(例如,距离、速度和/或转向角)。也就是说,对于给定对象,决策模块304决策对该对象做什么,而规划模块305确定如何做。例如,对于给定对象,决策模块304可以决策经过对象,而规划模块305可以确定是在对象的左侧还是右侧经过。规划和控制数据由规划模块305生成,包括描述车辆300在下一个移动周期(例如,下一个路线/路径段)中将如何移动的信息。例如,规划和控制数据可以指示车辆300以每小时30英里(mph)的速度移动10米,然后以25mph的速度改变到右车道。

基于规划和控制数据,控制模块306根据由规划和控制数据限定的路线或路径,通过向车辆控制系统111发送适当的命令或信号控制和驾驶自主车辆。规划和控制数据包括足够的信息以沿着路径或路线在不同时间点使用适当的车辆设置或驾驶参数(例如,油门、制动、转向命令)将车辆从路线或路径的第一点驾驶到第二点。

在一个实施例中,以多个规划周期(也称为驾驶周期,诸如,例如以每100毫秒(ms)的时间间隔)执行规划阶段。对于每个规划周期或驾驶周期,将基于规划和控制数据发出一个或多个控制命令。也就是说,对于每100ms,规划模块305规划下一路线段或路径段,例如包括目标位置和ADV到达目标位置所需的时间。可替换地,规划模块305还可以指定具体速度、方向和/或转向角等。在一个实施例中,规划模块305为下一预定的时间段(诸如5秒)规划路线段或路径段。对于每个规划周期,规划模块305基于在先前周期中规划的目标位置来规划用于当前周期(例如,下一个5秒)的目标位置。然后控制模块306基于当前周期的规划和控制数据生成一个或多个控制命令(例如,油门命令、制动命令、转向控制命令)。

注意,决策模块304和规划模块305可以集成为集成模块。决策模块304/规划模块305可以包括导航系统或导航系统的功能,以确定用于自主车辆的驾驶路径。例如,导航系统可以确定一系列速度和前进方向,以影响自主车辆沿着基本上避开感知的障碍物的路径的移动,同时大体上使自主车辆沿着通向最终目的地的基于车行道的路径前进。可以根据经由用户接口系统113的用户输入设置目的地。当自主车辆在操作时,导航系统可以动态地更新驾驶路径。导航系统可以合并来自GPS系统的数据和一个或多个地图,以确定用于自主车辆的驾驶路径。

在一个实施例中,监视模块308被配置为监视自主驾驶系统其自身的操作状态,包括收集各个模块301-307的操作数据或状态。另外,监视模块308还与对应自主驾驶系统(例如,主自主驾驶系统或备用自主驾驶系统,反之亦然)的对应模块通信。可以将操作数据作为数据日志313的部分存储在永久存储设备352中,可以随后对其进行分析。监视模块308还可以将操作数据传输到车辆的ECU(未示出),以允许ECU基于操作数据执行必要的动作,诸如,例如发出一个或多个控制命令(例如,制动命令),以将车辆转换到预定安全状态(例如,停止或快速减速)。

图4是示出根据一个实施例的自主驾驶车辆的示例的框图。例如,ADV 400可以呈现图1的ADV101。参考图4,在该示例中,ADV 400包括主自主驾驶系统110A和备用或冗余自主驾驶系统110B。主系统110A包括监视模块308A和自主驾驶模块401A。类似地,备用系统110B包括监视模块308B和自主驾驶模块401B。自主驾驶模块401A和401B包括类似于图3A所示的那些模块的模块。在一个实施例中,主自主驾驶系统110A负责驾驶ADV400,包括如以上关于图3A和图3B所述的自主驾驶操作。

备用自主驾驶系统110B被配置为待用或冗余自主驾驶系统。备用系统401B可以响应于确定主系统110A的模块401A中的至少一个没有根据预定规范起作用,接管ADV 400的控制。在这种情况下,备用系统110B可以将指令或命令发送到ECU 402,请求ECU 402将ADV400转换到安全状态。自主驾驶模块401B可以被配置为在ADV 400的自主驾驶期间执行类似于模块401A的操作,但是不像模块401A那样全面。例如,备用系统110B的感知模块可以仅需要确定车辆前方的驾驶环境。与主系统110A相比,备用系统110B可以执行更少的功能或发出更少类型的控制命令。例如,备用系统110B可以仅发出制动命令,其通常将车辆置于更安全的状态,诸如停止或快速减速状态。

ECU是汽车电子设备中的任何嵌入式系统,其控制车辆中的一个或多个电子系统或子系统。ECU的类型包括引擎控制模块(ECM)、传动系统控制模块(PCM)、传输控制模块(TCM)、制动控制模块(BCM或EBCM)、中央控制模块(CCM)、中央定时模块(CTM)、通用电子模块(GEM)、车身控制模块(BCM)、悬架控制模块(SCM)、控制单元或控制模块。

图5是示出根据一个实施例的监视模块的示例的框图。监视模块500可以表示监视模块308A-308B中的任一个。参考图5,监视模块500包括但不限于数据收集器501、数据分析模块502和自诊断模块503。数据收集器501被配置为订阅或收听以收集由自主驾驶模块401A-401B发送或广播的消息或信息。如上所述,自主驾驶模块401A-401B可以由一台或多台计算机的一个或多个处理器执行并且耦接到网络。当模块生成数据时,模块可以在网络中广播数据。其他模块可以订阅或收听网络流量并接收信息。例如,当感知模块生成感知数据时,它可以在网络中广播消息,使得其他模块(诸如预测模块、规划模块和/或控制模块)可以接收通知并访问感知数据(其可以存储在存储器或永久存储设备中)。类似地,监视模块也可以接收此类消息并访问相同的数据。

一旦已经收集了数据,数据分析模块502被配置为对数据执行数据分析并且生成或编译表示关于对应的自主驾驶系统的操作状态的操作数据。另外,自诊断模块503被配置为对其自身的自主驾驶系统的操作执行自诊断。例如,如上所述,模块中的每个根据诸如10Hz或每100ms的驾驶周期操作。因此,每个模块可以每100ms广播一次消息。基于此,监视模块可以通过监视广播消息的频率确定特定模块是否正常操作。可替换地,基于处理器的使用,监视模块还可以估计自主驾驶系统是否正常操作。背后的基本原理在于,当自主驾驶系统正常操作时,处理器的使用应保持在某个阈值以上。

参考图4和图5,根据一个实施例,主系统110A向ECU 402发送至少一组信息:1)备用系统110B的操作状态,或2)其自身系统110A的自诊断。类似地,备用系统110B向ECU402发送至少一组信息:1)主系统110A的操作状态,或2)其自身系统110B的自诊断。基于从主系统110A和备用系统110B接收的信息,ECU 402被配置为执行正常动作以自主地驾驶车辆,或执行安全动作以将车辆置于安全状态。

在一个实施例中,ECU 402基于主系统110A的操作状态和/或自诊断确定主系统110A的组件中的任一个是否不满足预定条件。类似地,ECU 402基于备用系统110B的操作状态和/或自诊断,确定备用系统110B的组件中的任一个是否不满足预定条件。如果确定系统110A和110B两者均正常工作,ECU 402被配置为执行正常的自主动作。另一方面,如果确定系统110A和110B中的任一个的组件中的任一个没有根据预定规范操作,ECU 402可以激活预定动作以将车辆置于安全状态。

从关于ECU 402的角度看,与自诊断信息相比,系统110A和110B的操作状态是更可靠的信息。当考虑操作状态和自诊断信息时,ECU 402可以通过应用不同的权重来确定主系统110A和备用系统110B的最终操作条件。

如上所述,通常为了控制ADV 400,主系统110A和/或备用系统110B必须向ECU 402发送控制命令,ECU 402反过来解释命令并生成控制ADV 400的控制信号。因此,在自主驾驶期间,主系统401A向ECU 402发送控制命令(诸如油门命令、制动命令或转向命令)。在正常行驶期间,备用系统110B以待用模式操作,并且通常不向ECU 402发送任何控制命令。然而,当备用系统110B基于监视的主系统110A的操作状态检测到主系统110A没有以正常方式操作时,备用系统110B可以向ECU发送命令(诸如例如制动命令),以试图将车辆置于安全状态。

在一个实施例中,当ECU 402分别从主系统110A和备用系统110B接收两个命令时,ECU 402检查主系统110A和备用系统110B的操作状态,和/或主系统110A和备用系统110B两者的自诊断。如果操作状态指示系统110A和110B两者均正常操作,ECU 402可以执行从系统110A和110B两者接收的命令。如果两个命令是相同类型的命令(诸如例如制动命令),ECU402可以选择其中的一个来执行。例如,ECU 402可以选择更大的命令执行。

另一方面,如果检测到主系统110A和备用系统110B中的一个没有正常起作用,ECU可以忽略从任一系统接收的命令。相反,ECU 402可以执行或发出预定命令,诸如最大制动命令以将车辆置于安全状态。

图6是示出根据一个实施例的操作自主驾驶车辆的过程的示例的流程图。过程600可以通过处理逻辑来执行,处理逻辑可以包括软件、硬件或其组合。例如,过程600可以由主系统110A和/或备用系统110B执行。参考图6,在框601处,处理逻辑使用第一自主驾驶系统(例如,主自主驾驶系统)执行规划和控制ADV,包括感知ADV周围的驾驶环境并规划驾驶ADV的轨迹。在框602处,第二自主驾驶系统作为备用或冗余驾驶系统操作以监视第一自主驾驶系统的第一操作状态。在框603处,第一自主驾驶系统监视第二自主驾驶系统的第二操作状态。在框603的可选示例中,第一自主驾驶系统和第二自主驾驶系统分别执行自诊断分析。在框604处,基于第一自主驾驶系统的第一操作状态和第二自主驾驶系统的第二操作状态,执行安全动作以将ADV转换到更安全的状态。在框604的可选示例中,基于第一自主驾驶系统和第二自主驾驶系统的操作状态和/或自诊断,执行安全动作以将ADV转换到安全状态。安全动作可以是向车辆发出最大制动命令以使车辆快速减速或停止。

图7是示出根据另一实施例的操作自主驾驶车辆的过程的流程图。过程700可以由ECU402执行。参考图7,在框701处,ECU从第一自主驾驶系统(例如,主系统)接收关于第二自主驾驶系统(例如,备用或冗余系统)的第二操作数据、第一自主驾驶系统的第一自诊断信息和第一控制命令。在框702处,ECU从第二自主系统接收关于第一自主驾驶系统的第一操作数据、第二自主系统的第二自诊断和第二命令。在框703处,ECU基于第一操作数据和第二操作数据以及第一诊断信息和第二诊断信息,确定第一自主驾驶系统和/或第二自主驾驶系统是否没有正常起作用。如果确定至少第一自主驾驶系统正常操作,在框704处,ECU基于第一命令和第二命令中的至少一个执行动作。例如,如果两个命令均为制动命令,则ECU将基于制动命令中较大的一个执行动作。如果确定至少第一自主驾驶系统没有正常操作,在框705处,ECU执行预定安全动作,诸如发出最大制动命令。

注意,如上所示和所述的一些或所有组件可以以软件、硬件或其组合实现。例如,这些组件可以被实现为安装并存储在永久存储设备中的软件,该软件可以由处理器(未示出)在存储其中加载并执行以执行贯穿本申请所述的过程或操作。可替换地,这些组件可以被实现为编程或嵌入到专用硬件中的可执行代码,该专用硬件诸如集成电路(例如,专用IC或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA),该可执行代码可以经由对应的驱动器和/或来自应用的操作系统访问。此外,这些组件可以被实现为处理器中的特定硬件逻辑或处理器内核,作为经由一个或多个特定指令由软件组件可访问的指令集的部分。

已经在对计算机存储器内的数据位的操作的算法和符号表示方面呈现了前述详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地将其工作的实质传达给本领域的其他技术人员的方式。算法在这里并且通常被认为是导致期望结果的自相容操作序列。这些操作是需要对物理量进行物理操纵的那些操作。

然而应当记住的是,所有这些和类似的术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非另有特别声明,从以上讨论中显而易见的是,应当理解的是,在整个说明书中,使用诸如所附权利要求书中所阐述的术语的讨论指的是计算机系统或类似电子计算设备的动作和处理,该计算机系统或类似电子计算设备将计算机系统的寄存器和存储器内表示为物理(电子)量的数据操纵和变换成计算机系统存储器或寄存器或其它这样的信息存储、传输或显示设备内的类似地表示为物理量的其它数据。

本公开的实施例还涉及用于执行本文的操作的装置。这种计算机程序存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备)。

在前述附图中描述的过程或方法可以由包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合的处理逻辑来执行。尽管以上在一些顺序操作方面描述了过程或方法,应当理解的是,可以以不同的顺序执行所述的一些操作。此外,一些操作可以并行地而不是顺序地执行。

本公开的实施例不是参考任何特定编程语言描述的。将理解的是,可以使用各种编程语言实现如本文所述的本公开的实施例的教导。

在前述说明书中,已经参考本公开的具体示例性实施例描述了本公开的实施例。显然,在不背离如所附权利要求书中所阐述的本公开的更宽的精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图应被认为是说明性的而不是限制性的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号