可左右滑动选省市

用于自动驾驶车辆的早期制动灯警告系统发明专利

更新时间:2024-07-06
用于自动驾驶车辆的早期制动灯警告系统发明专利 专利申请类型:发明专利;
源自:美国高价值专利检索信息库;

专利名称:用于自动驾驶车辆的早期制动灯警告系统

专利类型:发明专利

专利申请号:CN202011492157.2

专利申请(专利权)人:百度(美国)有限责任公司
权利人地址:美国加利福尼亚州

专利发明(设计)人:朱帆

专利摘要:在一个实施方式中,本发明描述了一种在ADV到达预期使ADV制动的点之前提供提前制动警告的方法。该方法能够在实际制动发生之前接通制动灯,从而为后车提供更多的响应时间。根据该方法,在起点生成轨迹。轨迹包括ADV要跟随的多个离散点。基于先前的驾驶统计数据和计算的减速度,从ADV预期制动的多个离散点中识别一个或多个离散点。在到达每个所识别的离散点中的之前的预定时间,ADV可以打开其制动灯以警告后车ADV将要制动,使得后车可以更早地开始响应。

主权利要求:
1.一种在自动驾驶车辆中提供提前制动警告的计算机实施的方法,包括:生成用于所述自动驾驶车辆的轨迹,其中所述轨迹包括起点和所述自动驾驶车辆被配置为跟随的多个离散点;
基于先前驾驶统计数据和计算的减速度,从所述多个离散点中识别预期使所述自动驾驶车辆制动所处的一个或多个制动离散点;以及在到达所识别的一个或多个制动离散点中的每一个之前的预定时间,打开所述自动驾驶车辆的制动灯,其中,基于计算的减速度来识别所述一个或多个制动离散点还包括:对于所述轨迹上的所述多个离散点中的每一个,
基于所述自动驾驶车辆在所述起点的当前速度,所述离散点的预期速度以及从所述起点的当前时间到所述离散点的预期时间的持续时间来计算平均减速度;
确定所述平均减速度的绝对值是否超过第一预定阈值;以及当所述平均减速度超过所述第一预定阈值时,标记所述离散点。
2.根据权利要求1所述的方法,其中,所述先前驾驶统计数据被存储在简档表中,所述简档表包括多个条目,每个条目映射当前速度、预期减速度和使以所述当前速度行进的所述自动驾驶车辆减速到所述预期减速度的制动命令。
3.根据权利要求2所述的方法,其中,基于所述先前驾驶统计数据来识别所述一个或多个制动离散点还包括:从所述轨迹确定所述自动驾驶车辆将在预定时间段内行进的段;
对于所述轨迹的所确定的段上的每个离散点,
基于所述自动驾驶车辆在所述起点的当前速度和所述离散点的预期减速度来在所述简档表中定位匹配条目,从所述匹配条目中提取制动命令,
判断所述制动命令的制动范围是否超过第二预定阈值,当所述制动范围超过所述第二预定阈值时,标记所述离散点。
4.根据权利要求1所述的方法,其中,所述多个离散点中的每一个包括多个属性,所述多个属性包括预期所述自动驾驶车辆到达所述离散点的时间,所述自动驾驶车辆在所述时间的预期速度以及所述自动驾驶车辆在所述时间的预期减速度。
5.根据权利要求1所述的方法,还包括:
将具有标记为指示所述自动驾驶车辆是否预期在所述离散点处制动的每个制动离散点的轨迹传送到所述自动驾驶车辆中的控制函数;
在所述自动驾驶车辆到达所识别的一个或多个制动离散点中的每一个之前的预定时间,通过所述控制函数向控制器区域网络总线发送制动信号。
6.根据权利要求1所述的方法,其中,所述轨迹上的至少一个离散点基于所述先前驾驶统计数据和所述计算的减速度被标记为制动点。
7.一种存储有用于在自动驾驶车辆中提供提前制动警告的指令的非暂时性机器可读介质,所述指令在由处理器执行时致使所述处理器执行操作,所述操作包括:生成用于所述自动驾驶车辆的轨迹,其中所述轨迹包括起点和所述自动驾驶车辆被配置为跟随的多个离散点;
基于先前驾驶统计数据和计算的减速度,从所述多个离散点中识别预期使所述自动驾驶车辆制动所处的一个或多个制动离散点;以及在到达所识别的一个或多个制动离散点中的每一个之前的预定时间,打开所述自动驾驶车辆的制动灯,其中,基于计算的减速度来识别所述一个或多个制动离散点还包括:对于所述轨迹上的所述多个离散点中的每一个,
基于所述自动驾驶车辆在所述起点的当前速度,所述离散点的预期速度以及从所述起点的当前时间到所述离散点的预期时间的持续时间来计算平均减速度;
确定所述平均减速度的绝对值是否超过第一预定阈值;以及当所述平均减速度超过所述第一预定阈值时,标记所述离散点。
8.根据权利要求7所述的非暂时性机器可读介质,其中,所述先前驾驶统计数据被存储在简档表中,所述简档表包括多个条目,每个条目映射当前速度、预期减速度和使以所述当前速度行进的所述自动驾驶车辆减速到所述预期减速度的制动命令。
9.根据权利要求8所述的非暂时性机器可读介质,其中,基于所述先前驾驶统计数据来识别所述一个或多个制动离散点还包括:从所述轨迹确定所述自动驾驶车辆将在预定时间段内行进的段;
对于所述轨迹的所确定的段上的每个离散点,
基于所述自动驾驶车辆在所述起点的当前速度和所述离散点的预期减速度来在所述简档表中定位匹配条目,从所述匹配条目中提取制动命令,
判断所述制动命令的制动范围是否超过第二预定阈值,当所述制动范围超过所述第二预定阈值时,标记所述离散点。
10.根据权利要求7所述的非暂时性机器可读介质,其中,所述多个离散点中的每一个包括多个属性,所述多个属性包括预期所述自动驾驶车辆到达所述离散点的时间,所述自动驾驶车辆在所述时间的预期速度以及所述自动驾驶车辆在所述时间的预期减速度。
11.根据权利要求7所述的非暂时性机器可读介质,其中,所述操作还包括:将具有标记为指示所述自动驾驶车辆是否预期在所述离散点处制动的每个制动离散点的轨迹传送到所述自动驾驶车辆中的控制函数;
在所述自动驾驶车辆到达所识别的一个或多个制动离散点中的每一个之前的预定时间,通过所述控制函数向控制器区域网络总线发送制动信号。
12.根据权利要求7所述的非暂时性机器可读介质,其中,所述轨迹上的至少一个离散点基于所述先前驾驶统计数据和所述计算的减速度被标记为制动点。
13.一种数据处理系统,包括:
处理器;以及
存储器,所述存储器联接至所述处理器,以存储用于在自动驾驶车辆中提供提前制动警告的指令,所述指令在由所述处理器执行时致使所述处理器执行操作,所述操作包括:生成用于所述自动驾驶车辆的轨迹,其中所述轨迹包括起点和所述自动驾驶车辆被配置为跟随的多个离散点;
基于先前驾驶统计数据和计算的减速度,从所述多个离散点中识别预期使所述自动驾驶车辆制动所处的一个或多个制动离散点;以及在到达所识别的一个或多个制动离散点中的每一个之前的预定时间,打开所述自动驾驶车辆的制动灯,其中,基于计算的减速度来识别所述一个或多个制动离散点还包括:对于所述轨迹上的所述多个离散点中的每一个,
基于所述自动驾驶车辆在所述起点的当前速度,所述离散点的预期速度以及从所述起点的当前时间到所述离散点的预期时间的持续时间来计算平均减速度;
确定所述平均减速度的绝对值是否超过第一预定阈值;以及当所述平均减速度超过所述第一预定阈值时,标记所述离散点。
14.根据权利要求13所述的系统,其中,所述先前驾驶统计数据被存储在简档表中,所述简档表包括多个条目,每个条目映射当前速度、预期减速度和使以所述当前速度行进的所述自动驾驶车辆减速到所述预期减速度的制动命令。
15.根据权利要求14所述的系统,其中,基于所述先前驾驶统计数据来识别所述一个或多个制动离散点还包括:从所述轨迹确定所述自动驾驶车辆将在预定时间段内行进的段;
对于所述轨迹的所确定的段上的每个离散点,
基于所述自动驾驶车辆在所述起点的当前速度和所述离散点的预期减速度来在所述简档表中定位匹配条目,从所述匹配条目中提取制动命令,
判断所述制动命令的制动范围是否超过第二预定阈值,当所述制动范围超过所述第二预定阈值时,标记所述离散点。
16.根据权利要求13所述的系统,其中,所述多个离散点中的每一个包括多个属性,所述多个属性包括预期所述自动驾驶车辆到达所述离散点的时间,所述自动驾驶车辆在所述时间的预期速度以及所述自动驾驶车辆在所述时间的预期减速度。
17.根据权利要求13所述的系统,其中,所述操作还包括:将具有标记为指示所述自动驾驶车辆是否预期在所述离散点处制动的每个制动离散点的轨迹传送到所述自动驾驶车辆中的控制函数;
在所述自动驾驶车辆到达所识别的一个或多个制动离散点中的每一个之前的预定时间,通过所述控制函数向控制器区域网络总线发送制动信号。
18.一种自动驾驶车辆,包括根据权利要求13‑17中任一项所述的系统。 说明书 : 用于自动驾驶车辆的早期制动灯警告系统技术领域[0001] 本公开的实施方式总体涉及操作自动驾驶车辆。更具体地,本公开的实施方式涉及在实际制动之前打开前车的制动灯以给予后车更多的响应时间。背景技术[0002] 自动驾驶车辆(ADV)是以自动驾驶模式(例如,无人驾驶)运行的车辆。ADV可将乘员、尤其是驾驶员从一些驾驶相关的职责中解放出来。当以自动驾驶模式运行时,车辆可使用车载传感器导航到各个位置,从而允许车辆在最少人机交互的情况下或在没有任何乘客的一些情况下行驶。[0003] 与由人类驾驶员驾驶的车辆一样,ADV可能面临在交通繁重的道路上避免碰撞的同样挑战。在后车和前车之间发生碰撞已经成为交通事故的主要原因之一,这部分地是因为当前车突然制动时,后车没有足够的时间自动地或由人类驾驶员施加其制动。目前,除了训练人类驾驶员或对车辆编程以保持与前车的足够距离之外,还没有已知的对该问题的有效解决方案。发明内容[0004] 在第一方面,本公开提供了一种在自动驾驶车辆(ADV)中提供提前制动警告的计算机实施的方法,包括:[0005] 生成用于所述ADV的轨迹,其中所述轨迹包括起点和所述ADV被配置为跟随的多个离散点;[0006] 基于先前驾驶统计数据和计算的减速度,从所述多个离散点中识别预期使所述ADV制动所处的一个或多个离散点;以及[0007] 在到达所识别的一个或多个离散点中的每一个之前的预定时间,打开所述ADV的制动灯。[0008] 在第二方面,本公开提供了一种存储有用于在自动驾驶车辆(ADV)中提供提前制动警告的指令的非暂时性机器可读介质,所述指令在由处理器执行时致使所述处理器执行操作,所述操作包括:[0009] 生成用于所述ADV的轨迹,其中所述轨迹包括起点和所述ADV被配置为跟随的多个离散点;[0010] 基于先前驾驶统计数据和计算的减速度,从所述多个离散点中识别预期使所述ADV制动所处的一个或多个离散点;以及[0011] 在到达所识别的一个或多个离散点中的每一个之前的预定时间,打开所述ADV的制动灯。[0012] 在第三方面,本公开提供了一种数据处理系统,包括:[0013] 处理器;以及[0014] 存储器,所述存储器联接至所述处理器,以存储用于在自动驾驶车辆(ADV)中提供提前制动警告的指令,所述指令在由所述处理器执行时致使所述处理器执行操作,所述操作包括:[0015] 生成用于所述ADV的轨迹,其中所述轨迹包括起点和所述ADV被配置为跟随的多个离散点;[0016] 基于先前驾驶统计数据和计算的减速度,从所述多个离散点中识别预期使所述ADV制动所处的一个或多个离散点;以及[0017] 在到达所识别的一个或多个离散点中的每一个之前的预定时间,打开所述ADV的制动灯。[0018] 在第四方面,本公开提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现在自动驾驶车辆(ADV)中提供提前制动警告的计算机实施的方法,包括:[0019] 生成用于所述ADV的轨迹,其中所述轨迹包括起点和所述ADV被配置为跟随的多个离散点;[0020] 基于先前驾驶统计数据和计算的减速度,从所述多个离散点中识别预期使所述ADV制动所处的一个或多个离散点;以及[0021] 在到达所识别的一个或多个离散点中的每一个之前的预定时间,打开所述ADV的制动灯。[0022] 在第五方面,本公开提供了一种自动驾驶车辆,其包括数据处理系统,所述数据处理系统包括:[0023] 处理器;以及[0024] 存储器,所述存储器联接至所述处理器,以存储用于在自动驾驶车辆(ADV)中提供提前制动警告的指令,所述指令在由所述处理器执行时致使所述处理器执行操作,所述操作包括:[0025] 生成用于所述ADV的轨迹,其中所述轨迹包括起点和所述ADV被配置为跟随的多个离散点;[0026] 基于先前驾驶统计数据和计算的减速度,从所述多个离散点中识别预期使所述ADV制动所处的一个或多个离散点;以及[0027] 在到达所识别的一个或多个离散点中的每一个之前的预定时间,打开所述ADV的制动灯。附图说明[0028] 本公开的实施方式在附图的各图中以举例而非限制的方式示出,附图中的相同参考标记指示相似元件。[0029] 图1是示出根据一个实施方式的网络化系统的框图。[0030] 图2是示出根据一个实施方式的自动驾驶车辆的示例的框图。[0031] 图3A至图3B是示出根据一个实施方式的与自动驾驶车辆一起使用的感知与规划系统的示例的框图。[0032] 图4示出了根据一个实施方式的用于提供提前制动警告的系统的示例。[0033] 图5示出了根据一个实施方式的简档表的示例。[0034] 图6示出了根据一个实施方式的使用基于命令的方法来定位轨迹上的制动点的过程的示例。[0035] 图7示出了根据一个实施方式的使用基于计算的方法来定位轨迹上的制动点的过程的示例。[0036] 图8示出了根据一个实施方式的提供提前制动警告的过程的示例。具体实施方式[0037] 将参考以下所讨论的细节来描述本公开的各种实施方式和方面,附图将示出所述各种实施方式。下列描述和附图是本公开的说明,而不应当解释为对本公开进行限制。描述了许多特定细节以提供对本公开的各种实施方式的全面理解。然而,在某些情况下,并未描述众所周知的或常规的细节,以提供对本公开的实施方式的简洁讨论。[0038] 本说明书中对“一个实施方式”或“实施方式”的提及意味着结合该实施方式所描述的特定特征、结构或特性可包括在本公开的至少一个实施方式中。短语“在一个实施方式中”在本说明书中各个地方的出现不必全部指同一实施方式。[0039] 根据各种实施方式,在此描述的是用于在ADV到达预期使ADV制动的点之前提供提前制动警告的系统和方法。ADV的制动灯直接与制动踏板连接,并且当力施加于制动踏板时可以打开。在此描述的实施方式使得制动灯能够在实际制动发生之前接通,从而为后车提供更多的响应时间。[0040] 根据一个实施方式,在起点生成轨迹。轨迹包括ADV要跟随的多个离散点。基于先前的驾驶统计数据和计算的减速度,从轨迹上预期使ADV制动所处的多个离散点中识别一个或多个离散点。在到达每个所识别的离散点之前的预定时间(例如,2秒),ADV可以打开其制动灯以警告后车ADV将要制动,使得后车可以更早地开始响应。[0041] 在一个实施方式中,先前的驾驶统计数据被存储在简档表中,该简档表包括条目,每个条目映射当前速度、预期减速度和将ADV从当前速度减速到预期减速度的制动命令。[0042] 在一个实施方式中,为了基于先前的驾驶统计数据来识别一个或多个离散点,ADV首先从轨迹来确定ADV将在预定时间段(例如,前两秒)内行进的段。对于所确定的段内的每个离散点,ADV基于ADV在起点的当前速度和每个离散点的预期减速度来在简档表中定位匹配条目。然后,ADV从匹配条目中识别制动命令,并确定制动命令的制动范围是否超过阈值。然后ADV将轨迹上的离散点标记为制动点。[0043] 在一个实施方式中,为了基于所计算的减速度来识别一个或多个离散点,ADV计算轨迹上每个离散点的平均减速度。该计算基于ADV在起点的当前速度、在离散点的预期速度以及从起点的当前时间到每个离散点的预期时间的持续时间。然后,ADV确定平均减速度的绝对值是否超过预定阈值,并且当平均减速度超过预定阈值时,将离散点标记为制动点。[0044] 自动驾驶车辆[0045] 图1是示出根据本公开的一个实施方式的自动驾驶网络配置的框图。参考图1,网络配置100包括可通过网络102通信地联接到一个或多个服务器103至104的自动驾驶车辆(ADV)101。尽管示出一个ADV,但多个ADV可通过网络102联接到彼此和/或联接到服务器103至104。网络102可以是任何类型的网络,例如,有线或无线的局域网(LAN)、诸如互联网的广域网(WAN)、蜂窝网络、卫星网络或其组合。服务器103至104可以是任何类型的服务器或服务器群集,诸如,网络或云服务器、应用服务器、后端服务器或其组合。服务器103至104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器或位置服务器等。[0046] ADV是指可配置成处于自动驾驶模式下的车辆,在所述自动驾驶模式下车辆在极少或没有来自驾驶员的输入的情况下导航通过环境。这种ADV可包括传感器系统,所述传感器系统具有配置成检测与车辆运行环境有关的信息的一个或多个传感器。所述车辆和其相关联的控制器使用所检测的信息来导航通过所述环境。ADV101可在手动模式下、在全自动驾驶模式下或者在部分自动驾驶模式下运行。[0047] 在一个实施方式中,ADV101包括,但不限于,自动驾驶系统(ADS)110、车辆控制系统111、无线通信系统112、用户接口系统113和传感器系统115。ADV101还可包括普通车辆中包括的某些常用部件,诸如:发动机、车轮、方向盘、变速器等,所述部件可由车辆控制系统111和/或ADS110使用多种通信信号和/或命令进行控制,该多种通信信号和/或命令例如,加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等。[0048] 部件110至115可经由互连件、总线、网络或其组合通信地联接到彼此。例如,部件110至115可经由控制器局域网(CAN)总线通信地联接到彼此。CAN总线是设计成允许微控制器和装置在没有主机的应用中与彼此通信的车辆总线标准。它是最初是为汽车内的复用电气布线设计的基于消息的协议,但也用于许多其它环境。[0049] 现在参考图2,在一个实施方式中,传感器系统115包括但不限于一个或多个摄像机211、全球定位系统(GPS)单元212、惯性测量单元(IMU)213、雷达单元214以及光探测和测距(LIDAR)单元215。GPS单元212可包括收发器,所述收发器可操作以提供关于ADV的位置的信息。IMU单元213可基于惯性加速度来感测ADV的位置和定向变化。雷达单元214可表示利用无线电信号来感测ADV的本地环境内的对象的系统。在一些实施方式中,除感测对象之外,雷达单元214可另外感测对象的速度和/或前进方向。LIDAR单元215可使用激光来感测ADV所处环境中的对象。除其它系统部件之外,LIDAR单元215还可包括一个或多个激光源、激光扫描器以及一个或多个检测器。摄像机211可包括用来采集ADV周围环境的图像的一个或多个装置。摄像机211可以是静物摄像机和/或视频摄像机。摄像机可以是可机械地移动的,例如,通过将摄像机安装在旋转和/或倾斜平台上。[0050] 传感器系统115还可包括其它传感器,诸如:声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器以及音频传感器(例如,麦克风)。音频传感器可配置成从ADV周围的环境中采集声音。转向传感器可配置成感测方向盘、车辆的车轮或其组合的转向角度。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情形下,油门传感器和制动传感器可集成为集成式油门/制动传感器。[0051] 在一个实施方式中,车辆控制系统111包括但不限于转向单元201、油门单元202(也称为加速单元)和制动单元203。转向单元201用来调整车辆的方向或前进方向。油门单元202用来控制电动机或发动机的速度,电动机或发动机的速度进而控制车辆的速度和加速度。制动单元203通过提供摩擦使车辆的车轮或轮胎减速而使车辆减速。应注意,如图2所示的部件可以以硬件、软件或其组合实施。[0052] 返回参考图1,无线通信系统112允许ADV101与诸如装置、传感器、其它车辆等外部系统之间的通信。例如,无线通信系统112可以与一个或多个装置直接无线通信,或者经由通信网络进行无线通信,诸如,通过网络102与服务器103至104通信。无线通信系统112可使用任何蜂窝通信网络或无线局域网(WLAN),例如,使用WiFi,以与另一部件或系统通信。无线通信系统112可例如使用红外链路、蓝牙等与装置(例如,乘客的移动装置、显示装置、车辆101内的扬声器)直接通信。用户接口系统113可以是在车辆101内实施的外围装置的部分,包括例如键盘、触摸屏显示装置、麦克风和扬声器等。[0053] ADV101的功能中的一些或全部可由ADS110控制或管理,尤其当在自动驾驶模式下操作时。ADS110包括必要的硬件(例如,处理器、存储器、存储装置)和软件(例如,操作系统、规划和路线安排程序),以从传感器系统115、控制系统111、无线通信系统112和/或用户接口系统113接收信息,处理所接收的信息,规划从起点到目的地点的路线或路径,随后基于规划和控制信息来驾驶车辆101。可替代地,ADS110可与车辆控制系统111集成在一起。[0054] 例如,作为乘客的用户可例如经由用户接口来指定行程的起始位置和目的地。ADS110获得行程相关数据。例如,ADS110可从MPOI服务器中获得位置和路线信息,所述MPOI服务器可以是服务器103至104的一部分。位置服务器提供位置服务,并且MPOI服务器提供地图服务和某些位置的POI。可替代地,此类位置和MPOI信息可本地高速缓存在ADS110的永久性存储装置中。[0055] 当ADV101沿着路线移动时,ADS110也可从交通信息系统或服务器(TIS)获得实时交通信息。应注意,服务器103至104可由第三方实体进行操作。可替代地,服务器103至104的功能可与ADS110集成在一起。基于实时交通信息、MPOI信息和位置信息以及由传感器系统115检测或感测的实时本地环境数据(例如,障碍物、对象、附近车辆),ADS110可规划最佳路线并且根据所规划的路线例如经由控制系统111来驾驶车辆101,以安全且高效到达指定目的地。[0056] 服务器103可以是数据分析系统,从而为各种客户执行数据分析服务。在一个实施方式中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121从各种车辆(ADV或由人类驾驶员驾驶的常规车辆)收集驾驶统计数据123。驾驶统计数据123包括指示所发出的驾驶指令(例如,油门、制动、转向指令)以及由车辆的传感器在不同的时间点捕捉到的车辆的响应(例如,速度、加速、减速、方向)的信息。驾驶统计数据123还可包括描述不同时间点下的驾驶环境的信息,例如,路线(包括起始位置和目的地位置)、MPOI、道路状况、天气状况等。[0057] 基于驾驶统计数据123,出于各种目的,机器学习引擎122生成或训练一组规则、算法和/或预测模型124。例如,算法124包括用来确定和执行早期制动警告的算法。然后算法124可上传到ADV上以在自动驾驶期间实时使用。[0058] 图3A和图3B是示出根据一个实施方式的与ADV一起使用的自动驾驶系统的示例的框图。系统300可实施为图1的ADV101的一部分,包括但不限于ADS110、控制系统111和传感器系统115。参考图3A至图3B,ADS110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306和路线安排模块307。[0059] 模块301至307中的一些或全部可以以软件、硬件或其组合实施。例如,这些模块可安装在永久性存储装置352中、加载到存储器351中,并且由一个或多个处理器(未示出)执行。应注意,这些模块中的一些或全部可通信地联接到图2的车辆控制系统111的一些或全部模块或者与它们集成在一起。模块301至307中的一些可一起集成为集成模块。[0060] 定位模块301确定ADV300的当前位置(例如,利用GPS单元212)以及管理与用户的行程或路线相关的任何数据。定位模块301(又称作为地图与路线模块)管理与用户的行程或路线相关的任何数据。用户可例如经由用户接口登录并且指定行程的起始位置和目的地。定位模块301与ADV300的诸如地图与路线数据311的其它部件通信,以获得行程相关数据。例如,定位模块301可从位置服务器和地图与POI(MPOI)服务器获得位置和路线信息。位置服务器提供位置服务,并且MPOI服务器提供地图服务和某些位置的POI,从而可作为地图与路线数据311的一部分高速缓存。当ADV300沿着路线移动时,定位模块301也可从交通信息系统或服务器获得实时交通信息。[0061] 基于由传感器系统115提供的传感器数据和由定位模块301获得的定位信息,感知模块302确定对周围环境的感知。感知信息可表示普通驾驶员在驾驶员正驾驶的车辆周围将感知到的东西。感知可包括例如采用对象形式的车道配置、交通灯信号、另一车辆的相对位置、行人、建筑物、人行横道或其它交通相关标志(例如,停止标志、让行标志)等。车道配置包括描述一个或多个车道的信息,诸如,例如车道的形状(例如,直线或弯曲)、车道的宽度、道路中的车道数量、单向或双向车道、合并或分开车道、出口车道等。[0062] 感知模块302可包括计算机视觉系统或计算机视觉系统的功能,以处理并分析由一个或多个摄像机采集的图像,从而识别ADV环境中的对象和/或特征。所述对象可包括交通信号、道路边界、其它车辆、行人和/或障碍物等。计算机视觉系统可使用对象识别算法、视频跟踪以及其它计算机视觉技术。在一些实施方式中,计算机视觉系统可绘制环境地图,跟踪对象,以及估算对象的速度等。感知模块302也可基于由诸如雷达和/或LIDAR的其它传感器提供的其它传感器数据来检测对象。[0063] 针对每个对象,预测模块303预测对象在这种情况下将如何表现。预测是基于感知数据执行的,该感知数据在考虑一组地图/路线数据311和交通规则312的时间点感知驾驶环境。例如,如果对象为相反方向上的车辆且当前驾驶环境包括十字路口,则预测模块303将预测车辆是否可能会笔直向前移动或转弯。如果感知数据表明十字路口没有交通灯,则预测模块303可能会预测车辆在进入十字路口之前可能需要完全停车。如果感知数据表明车辆目前处于左转唯一车道或右转唯一车道,则预测模块303可能预测车辆将更可能分别左转或右转。[0064] 针对每个对象,决策模块304作出关于如何处置对象的决定。例如,针对特定对象(例如,交叉路线中的另一车辆)以及描述对象的元数据(例如,速度、方向、转弯角度),决策模块304决定如何与所述对象相遇(例如,超车、让行、停止、超过)。决策模块304可根据诸如交通规则或驾驶规则312的规则集来作出此类决定,所述规则集可存储在永久性存储装置352中。[0065] 路线安排模块307配置成提供从起点到目的地点的一个或多个路线或路径。对于从起始位置到目的地位置的给定行程,例如从用户接收的给定行程,路线安排模块307获得路线与地图数据311,并确定从起始位置至到达目的地位置的所有可能路线或路径。路线安排模块307可生成地形图形式的参考线,它确定了从起始位置至到达目的地位置的每个路线。参考线是指不受其它诸如其它车辆、障碍物或交通状况的任何干扰的理想路线或路径。即,如果道路上没有其它车辆、行人或障碍物,则ADV应精确地或紧密地跟随参考线。然后,将地形图提供至决策模块304和/或规划模块305。决策模块304和/或规划模块305检查所有可能的路线,以根据由其它模块提供的其它数据选择和更改最佳路线中的一个,其中,其它数据诸如为来自定位模块301的交通状况、由感知模块302感知到的驾驶环境以及由预测模块303预测的交通状况。根据时间点下的特定驾驶环境,用于控制ADV的实际路径或路线可能接近于或不同于由路线安排模块307提供的参考线。[0066] 基于针对所感知到的对象中的每个的决定,规划模块305使用由路线安排模块307提供的参考线作为基础,为ADV规划路径或路线或轨迹以及驾驶参数(例如,距离、速度和/或转弯角度)。换言之,针对给定的对象,决策模块304决定对该对象做什么,而规划模块305确定如何去做。例如,针对给定的对象,决策模块304可决定超过所述对象,而规划模块305可确定在所述对象的左侧还是右侧超过。规划和控制数据由规划模块305生成,包括描述车辆300在下一移动循环(例如,下一路线/路径段)中将如何移动的信息。例如,规划和控制数据可指示车辆300以30英里每小时(mph)的速度移动10米,随后以25mph的速度变到右侧车道。[0067] 基于规划和控制数据,控制模块306根据由规划和控制数据限定的轨迹(也称为路线或路径)通过经由CAN总线模块321将适当的命令或信号发送到车辆控制系统111来控制并驾驶ADV。所述规划和控制数据包括足够的信息,以沿着路径或路线在不同的时间点使用适当的车辆设置或驾驶参数(例如,油门、制动、转向命令)将车辆从路线或路径的第一点驾驶到第二点。[0068] 在一个实施方式中,规划阶段在多个规划周期(也称作为驾驶周期)中执行,例如,在每个时间间隔为100毫秒(ms)的周期中执行。对于规划周期或驾驶周期中的每一个,将基于规划和控制数据发出一个或多个控制命令。即,对于每100ms,规划模块305规划下一个路线段或路径段,例如,包括目标位置和ADV到达目标位置所需要的时间。可替代地,规划模块305还可规定具体的速度、方向和/或转向角等。在一个实施方式中,规划模块305为下一个预定时段(诸如,5秒)规划路线段或路径段。对于每个规划周期,规划模块305基于在前一周期中规划的目标位置规划用于当前周期(例如,下一个5秒)的目标位置。控制模块306然后基于当前周期的规划和控制数据生成一个或多个控制命令(例如,油门、制动、转向控制命令)。[0069] 规划模块305可以包括提前制动警告组件308,用于生成制动信号,以使ADV能够在实际制动发生之前打开制动灯,从而给予后车更多的响应时间。[0070] 应注意,决策模块304和规划模块305可集成为集成模块。决策模块304/规划模块305可包括导航系统或导航系统的功能,以确定ADV的驾驶路径。例如,导航系统可确定用于影响ADV沿着以下路径移动的一系列速度和前进方向:所述路径在使ADV沿着通往最终目的地的基于车行道的路径前进的同时,基本上避免感知到的障碍物。目的地可根据经由用户接口系统113进行的用户输入来设定。导航系统可在ADV正在运行的同时动态地更新驾驶路径。导航系统可将来自GPS系统和一个或多个地图的数据合并,以确定用于ADV的驾驶路径。[0071] 提前制动警告[0072] 图4示出了根据一个实施方式的用于提供提前制动警告的系统的示例。如图所示,提前制动警告组件308可以设置在规划模块305中以识别轨迹401上的制动点。提前制动警告组件可以包括基于命令的制动点定位器403和基于计算的制动点定位器405。两个制动点定位器可以同时用于检测轨迹401上的制动点。[0073] 如上所述,当ADV在路段上行驶时,可以为从路段的起始位置到目的地位置的每个可能的路线生成地形图形式的参考线,以表示没有来自诸如其它车辆、障碍物或交通状况等的其它物体的任何干扰的理想路径。基于参考线,当ADV从起点向目的点移动时,可以基于实时交通状况周期性地调整轨迹。可在每个驾驶周期或每几个驾驶周期期间生成轨迹。[0074] 在一个实施方式中,轨迹401可以包括一系列离散点,这些离散点拼合在一起以形成轨迹。轨迹401上的每个离散点可以与位置、时间和减速度相关联。ADV在生成轨迹时的位置是轨迹401的起点。轨迹401上的每个离散点可以具有由GPS坐标表示的位置。每个离散点还可以与ADV预期到达离散点的时间、此时ADV的预期速度以及此时ADV的预期减速度相关联。[0075] 在一个实施方式中,提前制动警告组件308可以访问简档表313,该简档表313存储从在不同驾驶环境(例如,不同的车辆负载、天气状况和路面状况等)下驾驶的各种车辆收集的先前驾驶统计数据。可以为不同的驾驶环境类别创建简档表。实时地,可以选择简档表中的一个来匹配驾驶条件。例如,在图4所述的实施方式中已经选择了简档表313。[0076] 基于命令的制动点定位器403可以检测轨迹401的一段内的制动点。轨迹段可以是ADV预期在指定时间段内覆盖的轨迹401的部分,例如,在轨迹401生成之后的前两秒。轨迹段内的制动点的检测可以基于简档表313和与轨迹段内的离散点相关联的一个或多个属性。[0077] 在一个实施方式中,对于轨迹段上的每个离散点,基于命令的制动点定位器403可以在简档表313中定位匹配条目,从匹配条目中提取与轨迹的各点的当前速度和预期减速相匹配的制动命令,并将所提取的制动命令的制动范围与阈值进行比较。如果所提取的命令的制动范围超过阈值,例如,高于有效制动范围(即,最大制动范围100%的30%)超过10%,则可以使用制动点标记组件407将对应于所提取的命令的离散点标记为制动点。[0078] 在一个实施方式中,可以以多种方式标记离散点,使得控制模块306可以将离散点识别为制动点。例如,可以使用二进制数字1来标记离散点,而可以在轨迹401上用二进制数字0来标记非制动离散点。[0079] 在一个实施方式中,提前制动警告组件308还将基于计算的制动点定位器405应用到轨迹401以识别附加的制动点。与应用于轨迹的初始段的基于命令的制动点定位器403不同,基于计算的制动点定位器405应用于整个轨迹401。[0080] 在一个实施方式中,基于计算的制动点定位器405将与轨迹401上的每个离散点(除了起点)相关联的预期速度与起点处的ADV的当前速度进行比较,并使用预定算法(例如,基于演算的算法)来计算当到达该离散点时ADV的平均减速度。如果所计算的减速度的2绝对值超过预定阈值,例如1m/s,则基于计算的制动点定位器405可以将离散点标记为制动点。[0081] 在一个实施方式中,标记的轨迹409可以包括在每个离散点上的标记,该标记指示离散点是制动点还是非制动点,并且可以被传送到控制模块306。控制模块305可以向CAN总线模块321发送标记的轨迹的信息(例如,指示ADV是否正在制动),CAN总线模块321可以解释该信息并且向控制系统111发送提前信号413,以在ADV到达每个标记的制动点之前的预定时间打开ADV的制动灯。[0082] 例如,预定时间可以是2秒,这是制动灯的开启与预期制动的实际发生之间的持续时间。由于控制模块还可以向CAN总线321发送常规信号411以在实际制动发生时打开制动灯,因此,对于实际制动的每次发生,后车中的驾驶员可以看到ADV的制动灯被打开两次。[0083] 通常,有经验的驾驶员或编程良好的无驾驶员车辆保持与前车的安全驾驶距离。安全行驶距离提供了缓冲以允许训练车辆减速以避免与前车的碰撞。提前制动警告可以为训练车辆提供额外的距离和时间以采取行动以避免与前车碰撞。[0084] 图5示出了根据一个实施方式的简档表500的示例。如图所示,简档表500可以是图3A和图4中描述的简档表313的示例,并且可以包括多个条目。简档表313中的每个条目根据控制命令501的类型将特定控制命令501和特定速度502映射到加速度503或转向角504。从特定驾驶环境收集简档表500中的条目的数据。[0085] 在一个实施方式中,控制命令501可以是以当前速度502发出的油门或制动命令。来自车辆的响应可以是加速度503,其中正值表示加速度,负值表示减速度。控制命令501可以是转向命令,并且车辆的响应可以是从当前转向角起的转向角504。[0086] 多个简档表,每个用于不同的驾驶环境,可以上载到ADV,用于在自动驾驶期间实时校准控制命令。[0087] 在一个实施方式中,对于轨迹的每个轨迹点,可以识别相应轨迹点的预期速度和加速度(或减速度),这已经由规划模块305确定。基于轨迹点的速度和加速度,在诸如图5所示的控制简档的控制简档中执行查找。定位与速度502和加速度503相匹配的匹配条目。可以从匹配条目中提取油门/制动命令501。基于油门/制动命令501(例如,正装置油门,负装置制动),可以确定ADV是否接近制动,并且可以生成制动警告信号。[0088] 图6示出了根据一个实施方式使用基于命令的方法来定位轨迹上的制动点的过程600的示例。过程600可以由包括软件、硬件或其组合的处理逻辑来执行。例如,过程600可以由图4中描述的基于命令的制动点定位器403执行。[0089] 如图6所示,在操作601中,处理逻辑从轨迹确定ADV将在预定时间段内行进的段。当在开始位置生成轨迹时,ADV可以以一定速度(称为ADV的当前速度)行进。轨迹上的每个剩余离散点可以与ADV预期到达离散点的时间、此时ADV的预期速度以及此时ADV的预期减速度相关联。当ADV运动时,轨迹上的每个离散点和轨迹上每个离散点的相关联属性可以被记录在存储器中。[0090] 处理逻辑可以确定轨迹段中对应于前n个秒的多个点,其中n是预定的。例如,如果n是2,则处理逻辑可以确定在轨迹生成后的前2秒内ADV预期覆盖的段中的多个离散点。[0091] 对于轨迹段内的多个离散点中的每一个,处理逻辑可以执行以下操作:[0092] 在操作603中,处理逻辑基于ADV在起点的当前速度和离散点的预期减速度来在简档表中定位匹配条目。匹配条目可以包括制动命令,该制动命令基于先前的驾驶统计数据将类似情境的车辆减速到预期的减速。类似情境的车辆可以具有与本ADV类似的规格(例如,相同的型号),并且在与ADV当前经历的驾驶条件类似的驾驶条件下以ADV的当前速度行驶。[0093] 在操作605中,处理逻辑从匹配条目中提取制动命令。制动命令的力可以使用表示制动踏板可以被按压的最大制动范围(即,100%)的范围(例如,45%)的百分比来表示。[0094] 在操作607中,处理逻辑确定制动命令的制动范围是否超过预定阈值。例如,预定阈值可以比ADV的有效制动范围(例如,最大制动范围的35%)多10%。有效制动范围表示能够制动车辆停止的制动力。超过有效制动范围10%是为了减少不准确的制动点的数量,因为先前的驾驶统计数据可能未完全反映当前的驾驶状况。[0095] 在操作609中,当制动范围超过预定阈值时,处理逻辑将离散点标记为制动点。轨迹段内的那些离散点也可以被标记为非制动点。[0096] 图7示出了根据一个实施方式使用基于计算的方法来定位轨迹上的制动点的过程700的示例。过程700可由可包括软件、硬件或其组合的处理逻辑来执行。例如,过程700可以由图4中描述的计算基制动点定位器405执行。[0097] 如图7所示,处理逻辑对于轨迹上的每个离散点(包括图7所述的轨迹段内的那些制动点)执行以下操作。[0098] 在操作701中,处理逻辑基于ADV在起点的当前速度、ADV在轨迹上的每个离散点(除了起点)的预期速度、以及从起点的当前时间到每个离散点的预期时间的持续时间来计算平均减速度。[0099] 在操作703中,处理逻辑确定平均减速度的绝对值是否超过预定阈值。[0100] 在操作705中,如果所计算的平均减速度的绝对值超过预定阈值,例如1m/s2,则处理逻辑标记离散点。[0101] 在一个实施方式中,因为在图6和7中描述的方法被同时应用于相同的轨迹,所以所识别的轨迹段内的每个离散点可以被标记两次。此外,一种方法可能将特定的离散点识别为轨迹段内的制动点,而另一种方法可能将相同的离散点识别为非制动点。在这种情况下,该离散点将被视为制动点。[0102] 作为说明基于计算的方法的示例,ADV在轨迹的起点的当前速度是35mph,并且在起点的时间是t0。轨迹可以包括离散点A、离散点B、离散点C和离散点N。每个离散点具有使用GPS坐标表示的位置,预期速度和当ADV到达离散点时的预期时间。处理逻辑可以基于ADV的当前速度、每个离散点处的预期速度以及当ADV到达离散点时的预期时间,迭代地计算起点与离散点A、离散点B、离散点C和离散点N中的每一个之间的平均减速度。如果起点和任何离散点之间的平均减速度的绝对值超过阈值,则该离散点将被标记为制动点。[0103] 图8示出了根据一个实施方式的提供提前制动警告的过程的示例。过程800可由可包括软件、硬件或其组合的处理逻辑来执行。例如,过程800可以由图4中的提前制动警告组件308执行。[0104] 如图8所示,在操作801中,处理逻辑生成用于ADV的轨迹,其中该轨迹包括起点和ADV被配置为跟随的多个离散点。在操作803中,处理逻辑基于先前的驾驶统计数据或计算的减速度从多个离散点识别预期使ADV制动的一个或多个离散点。在操作805中,处理逻辑在到达一个或多个识别的离散点中的每一个之前的预定时间,打开ADV的制动灯。[0105] 应注意,如上文示出和描述的部件中的一些或全部可在软件、硬件或其组合中实施。例如,此类部件可实施为安装并存储在永久性存储装置中的软件,所述软件可通过处理器(未示出)加载在存储器中并在存储器中执行以实施贯穿本申请所述的过程或操作。可替代地,此类部件可实施为编程或嵌入到专用硬件(诸如,集成电路(例如,专用集成电路或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA))中的可执行代码,所述可执行代码可经由来自应用的相应驱动程序和/或操作系统来访问。此外,此类部件可实施为处理器或处理器内核中的特定硬件逻辑,作为可由软件部件通过一个或多个特定指令访问的指令集的一部分。[0106] 这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。[0107] 前述详细描述中的一些部分已经根据在计算机存储器内对数据位的运算的算法和符号表示而呈现。这些算法描述和表示是数据处理领域中的技术人员所使用的方式,以将他们的工作实质最有效地传达给本领域中的其他技术人员。本文中,算法通常被认为是导致所预期结果的自洽操作序列。这些操作是指需要对物理量进行物理操控的操作。[0108] 然而,应当牢记,所有这些和类似的术语均旨在与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非在以上讨论中以其它方式明确地指出,否则应当了解,在整个说明书中,利用术语(诸如所附权利要求书中所阐述的术语)进行的讨论是指计算机系统或类似电子计算装置的动作和处理,所述计算机系统或电子计算装置操控计算机系统的寄存器和存储器内的表示为物理(电子)量的数据,并将所述数据变换成计算机系统存储器或寄存器或者其它此类信息存储装置、传输或显示装置内类似地表示为物理量的其它数据。[0109] 本公开的实施方式还涉及用于执行本文中的操作的设备。这种计算机程序存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机构。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存存储器装置)。[0110] 前述附图中所描绘的过程或方法可由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合。尽管所述过程或方法在上文是依据一些顺序操作来描述的,但是应当了解,所述操作中的一些可按不同的顺序执行。此外,一些操作可并行地执行而不是顺序地执行。[0111] 本公开的实施方式并未参考任何特定的编程语言进行描述。应认识到,可使用多种编程语言来实施如本文描述的本公开的实施方式的教导。[0112] 在以上的说明书中,已经参考本公开的具体示例性实施方式对本公开的实施方式进行了描述。将显而易见的是,在不脱离所附权利要求书中阐述的本公开的更宽泛精神和范围的情况下,可对本发明作出各种修改。因此,应当在说明性意义而不是限制性意义上来理解本说明书和附图。

专利地区:美国

专利申请日期:2020-12-17

专利公开日期:2024-06-18

专利公告号:CN113815526B

电话咨询
读内容
搜本页
回顶部