掌桥专利:专业的专利平台
掌桥专利
首页

用于导航主车辆的系统、方法及计算机可读介质

文献发布时间:2023-06-19 11:17:41


用于导航主车辆的系统、方法及计算机可读介质

本申请是申请日为2019年3月20日、申请号为201980002445.4(国际 申请号为PCT/IB2019/000281)、发明名称为“用于导航车辆的系统和方法”的 发明专利申请的分案申请。

相关申请的交叉引用

本申请要求于2018年3月20日提交的美国临时专利申请第62/645,479 号、于2018年3月22日提交的美国临时专利申请第62/646,579号、于2018 年8月14日提交的美国临时专利申请第62/718,554号、于2018年8月29日 提交的美国临时专利申请第62/724,355号、于2018年11月28日提交的美国 临时专利申请第62/772,366号以及于2018年12月11日提交的美国临时专利 申请第62/777,914号的优先权权益。上述所有申请通过引用整体并入本文。

技术领域

本公开总体涉及自主车辆导航。此外,本公开涉及根据潜在事故责任约 束进行导航的系统和方法。

背景技术

随着技术的不断进步,能够在车行道上导航的完全自主车辆的目标即将 出现。自主车辆可能需要考虑各种各样的因素,并且基于那些因素做出适当 的决定,以安全和准确地到达期望的目的地。例如,自主车辆可能需要处理 和解释可视信息(例如,从相机捕捉的信息)、来自雷达或激光雷达的信息, 并且也可能使用从其它源(例如,从GPS设备、速度传感器、加速度计、悬 架传感器等)获得的信息。同时,为了导航到目的地,自主车辆还可能需要标 识其在特定车行道内(例如,在多车道道路内的特定车道)的地点、沿着其它 车辆旁边导航、避开障碍和行人、观察交通信号和标志、在适当的交叉路口 或交汇处从一条道路行进到另一条道路,并对车辆运行期间发生或进展的任 何其他情况作出响应。此外,导航系统可能需要遵守某些施加的约束。在一 些情况下,这些约束可以涉及主车辆和一个或多个其他对象(诸如其他车辆、 行人等)之间的交互。在其他情况下,约束可能涉及在为主车辆实施一个或 多个导航动作时要遵循的责任规则。

在自主驾驶领域,可行的自主车辆系统有两个重要的考虑。第一是安全 保证(assurance)的标准化,包括每辆自驾驶汽车必须满足以保证安全的要求, 以及如何验证这些要求。第二是可扩展性,因为导致释放成本的工程解决方 案不会扩展到数百万辆汽车,并且可能会阻止自主汽车的广泛采用或甚至不 那么广泛的采用。因此,需要一种用于安全保证的可解释的数学模型、以及 一种遵守安全保证要求同时可扩展到数百万辆汽车的系统设计。

发明内容

与本公开一致的实施例提供了用于自主车辆导航的系统和方法。所公开 的实施例可以使用相机来提供自主车辆导航特征。例如,与所公开的实施例 一致,所公开的系统可以包括一个、两个或更多个监控车辆环境的相机。所 公开的系统可以基于例如对由一个或多个相机捕捉的图像的分析来提供导航 响应。导航响应还可以考虑其他数据,包括例如全球定位系统(global positioning system,GPS)数据、传感器数据(例如,来自加速度计、速度传 感器、悬架传感器等)、和/或其他地图数据。

在一个实施例中,一种用于导航主车辆的系统可以包括至少一个处理设 备,其被编程为接收代表主车辆环境的至少一个图像。可以从图像捕捉设备 接收该至少一个图像。该至少一个处理设备可以被编程为基于至少一个驾驶 策略,确定用于实现主车辆的导航目标的规划导航动作。该至少一个处理设 备可以进一步被编程为分析至少一个图像以识别主车辆环境中的目标车辆, 以及确定如果采取规划导航动作则将导致的主车辆和目标车辆之间的下一状 态距离。该至少一个处理设备可以被编程为确定主车辆的最大制动能力、主 车辆的最大加速能力以及主车辆的当前速度。该至少一个处理设备还可以被 编程为基于主车辆的当前最大制动能力、主车辆的当前最大加速能力以及主 车辆的当前速度,确定主车辆的当前停止距离。该至少一个处理设备可以进 一步被编程为确定目标车辆的当前速度,并基于目标车辆的至少一个辨识的 特性假设目标车辆的最大制动能力。该至少一个处理设备还可以被编程为, 如果所确定的主车辆的当前停止距离小于所确定的下一状态距离与基于目标 车辆的当前速度和所假设的目标车辆的最大制动能力而确定的目标车辆行驶 距离之和,则实施规划导航动作。

在一个实施例中,一种用于导航主车辆的系统可以包括至少一个处理设 备。该至少一个处理设备可以被编程为从图像捕捉设备接收代表主车辆环境 的至少一个图像。该至少一个处理设备还可以被编程确定用于实现主车辆的 导航目标的规划导航动作。该规划导航动作可以基于至少一个驾驶策略。该 至少一个处理设备可以被编程为分析至少一个图像,以识别主车辆环境中的 目标车辆。该至少一个处理设备可以进一步被编程为,确定如果采取规划导 航动作则将导致的主车辆和目标车辆之间的下一状态距离。该至少一个处理 设备可以被编程为确定主车辆的当前速度和目标车辆的当前速度。该至少一 个处理设备可以被编程为基于目标车辆的至少一个辨识的特性假设目标车辆 的最大制动率能力。该至少一个处理设备可以进一步被编程为,如果对于所 确定的主车辆的当前速度以及以小于主车辆的最大制动率能力的预定次最大 制动率,主车辆能够在主车辆停止距离内停止,则实施规划导航动作,所述 主车辆停止距离小于所确定的下一状态距离与基于目标车辆的当前速度和所 假设的目标车辆的最大制动率能力而确定的目标车辆行驶距离之和。

在一个实施例中,一种用于导航主车辆的系统可以包括至少一个处理设 备。该至少一个处理设备可以被编程为从图像捕捉设备接收代表主车辆环境 的至少一个图像。该至少一个处理设备还可以被编程确定用于实现主车辆的 导航目标的规划导航动作。该规划导航动作可以基于至少一个驾驶策略。该 至少一个处理设备可以被编程为分析至少一个图像,以识别主车辆环境中的 目标车辆。该至少一个处理设备可以进一步被编程为,确定如果采取规划导 航动作则将导致的主车辆和目标车辆之间的下一状态距离。该至少一个处理 设备可以被编程为确定主车辆的当前速度。该至少一个处理设备可以进一步 被编程为确定目标车辆的当前速度,并基于目标车辆的至少一个辨识的特性 假设目标车辆的最大制动率能力。该至少一个处理设备可以被编程为,如果 对于所确定的主车辆的当前速度和对于预定制动率曲线,主车辆能够在主车 辆停止距离内停止,则实施规划导航动作,所述主车辆停止距离小于所确定 的下一状态距离与基于目标车辆的当前速度和所假设的目标车辆的最大制动 率能力而确定的目标车辆行驶距离之和,其中所述预定制动率曲线从主车辆 的次最大制动率逐渐增加到最大制动率。

在一个实施例中,一种用于制动主车辆的系统可以包括至少一个处理设 备,其被编程为执行一个或多个操作。该至少一个处理设备可以被编程为从 至少一个传感器接收代表主车辆环境的输出。该至少一个处理设备可以进一 步被编程为基于该输出,检测主车辆环境中的目标车辆。该至少一个处理设 备可以被编程为确定主车辆的当前速度和主车辆与目标车辆之间的当前距离。 至少基于主车辆的当前速度和主车辆与目标车辆之间的当前距离,该至少一 个处理器可以被编程为确定制动条件是否存在。如果确定制动条件存在,则 该至少一个处理器可以被编程为使得根据预定制动曲线应用与主车辆相关联 的制动设备,所述预定制动曲线包括以主车辆的次最大制动率开始并逐渐增 加到主车辆的最大制动率的分段。

在一个实施例中,一种用于选择性地取代人类驾驶员对主车辆的控制的 自主系统可以包括至少一个处理设备。该至少一个处理设备可以被编程为从 图像捕捉设备接收代表主车辆环境的至少一个图像,并且基于对至少一个图 像的分析,检测主车辆环境中的至少一个障碍物。该至少一个处理设备可以 被编程为监视对与主车辆相关联的油门控件、制动控件或转向控件中的至少 一个的驾驶员输入。该至少一个处理设备还可以被编程为确定该驾驶员输入 是否会导致主车辆在相对于至少一个障碍物的接近缓冲区内导航。如果至少 一个处理设备确定该驾驶员输入不会导致主车辆在相对于至少一个障碍物的 接近缓冲区内导航,则该至少一个处理设备可以被编程为允许该驾驶员输入 引起一个或多个主车辆运动控制系统中的对应改变。如果该至少一个处理设 备确定该驾驶员输入会导致主车辆在相对于至少一个障碍物的接近缓冲区内 导航,则该至少一个处理设备可以被编程为阻止该驾驶员输入引起一个或多 个主车辆运动控制系统中的对应改变。

在一个实施例中,一种用于根据自主主车辆的至少一个导航目标来导航 该主车辆的导航系统可以包括至少一个处理器。该至少一个处理器可以被编 程为从一个或多个传感器接收指示主车辆相对于主车辆环境的运动的至少一 个方面的传感器输出。该传感器输出可以在第一时间生成,该第一时间晚于 该传感器输出所基于的测量或数据获取被获取时的数据获取时间,并且早于 该传感器输出被该至少一个处理器接收的第二时间。该至少一个处理器可以 被编程为,对于运动预测时间,至少部分地基于所接收的传感器输出以及对 主车辆运动的至少一个方面在数据获取时间和运动预测时间之间的时间间隔 内如何改变的估计,生成对主车辆运动的至少一个方面的预测。该至少一个 处理器可以被编程为,至少部分地基于主车辆的至少一个导航目标并基于所 生成的对主车辆运动的至少一个方面的预测,确定主车辆的规划导航动作。 该至少一个处理器可以进一步被配置为生成用于实施规划导航动作的至少一 部分的导航命令。该至少一个处理器可以被编程为将导航命令提供给主车辆 的至少一个致动系统。可以提供该导航命令以使得至少一个致动系统在第三 时间接收该导航命令,所述第三时间晚于第二时间并且早于或大体上等于至少一个致动系统的组件对所接收的命令进行响应的致动时间。在一些实施例 中,运动预测时间在数据获取时间之后并且早于或等于致动时间。

在一个实施例中,一种用于导航主车辆的系统包括:至少一个处理设备, 被编程为:从图像捕捉设备接收代表主车辆的环境的至少一个图像;基于至 少一个驾驶策略,确定用于实现主车辆的导航目标的规划导航动作;分析所 述至少一个图像,以识别主车辆的环境中的目标车辆;确定如果采取所述规 划导航动作则将导致的主车辆和目标车辆之间的下一状态距离;确定主车辆 的最大制动能力、主车辆的最大加速能力以及主车辆的当前速度,其中,主 车辆的最大制动能力是基于与主车辆或主车辆的环境相关联的至少一个因素 而确定的;基于主车辆的当前最大制动能力、主车辆的当前最大加速能力以 及主车辆的当前速度,确定主车辆的当前停止距离;确定目标车辆的当前速 度,并基于目标车辆的至少一个辨识的特性假设目标车辆的最大制动能力; 以及如果所确定的主车辆的当前停止距离小于所确定的下一状态距离与基于 目标车辆的当前速度和所假设的目标车辆的最大制动能力而确定的目标车辆 行驶距离之和,则实施所述规划导航动作。

在一个实施例中,一种用于导航主车辆的方法包括:从图像捕捉设备接 收代表主车辆的环境的至少一个图像;基于至少一个驾驶策略,确定用于实 现主车辆的导航目标的规划导航动作;分析所述至少一个图像,以识别主车 辆的环境中的目标车辆;确定如果采取所述规划导航动作则将导致的主车辆 和目标车辆之间的下一状态距离;确定主车辆的最大制动能力、主车辆的最 大加速能力以及主车辆的当前速度,其中,主车辆的最大制动能力是基于与 主车辆或主车辆的环境相关联的至少一个因素而确定的;基于主车辆的当前 最大制动能力、主车辆的当前最大加速能力以及主车辆的当前速度,确定主 车辆的当前停止距离;确定目标车辆的当前速度,并基于目标车辆的至少一 个辨识的特性假设目标车辆的最大制动能力;以及如果所确定的主车辆的当 前停止距离小于所确定的下一状态距离与基于目标车辆的当前速度和所假设 的目标车辆的最大制动能力而确定的目标车辆行驶距离之和,则实施所述规 划导航动作。

在一个实施例中,一种用于主车辆的系统可以包括:至少一个处理器, 被编程为:从图像捕捉设备接收代表主车辆的环境的至少一个图像;基于对 至少一个图像的分析,检测主车辆的环境中的至少一个障碍物;确定主车辆 的速度和主车辆的预测路径;监视对与主车辆相关联的油门控件、制动控件 或转向控件中的至少一个的驾驶员输入;确定所述驾驶员输入是否会导致主 车辆在相对于至少一个障碍物的接近缓冲区内导航,其中,所述接近缓冲区 是基于所确定的速度、主车辆的最大加速能力和主车辆的最大制动能力以及 与主车辆相关联的反应时间来确定的。

在一个实施例中,一种用于导航主车辆的方法可以包括:从图像捕捉设 备接收代表主车辆的环境的至少一个图像;基于对至少一个图像的分析,检 测主车辆的环境中的至少一个障碍物;确定主车辆的速度和主车辆的预测路 径;监视对与主车辆相关联的油门控件、制动控件或转向控件中的至少一个 的驾驶员输入;确定所述驾驶员输入是否会导致主车辆在相对于至少一个障 碍物的接近缓冲区内导航,其中,所述接近缓冲区是基于所确定的速度、主 车辆的最大加速能力和主车辆的最大制动能力以及与主车辆相关联的反应时间来确定的。

在一个实施例中,一种非暂时性计算机可读介质可以存储指令,所述指 令在由处理器执行时使所述处理器执行操作,所述操作包括:从图像捕捉设 备接收代表主车辆的环境的至少一个图像;基于对至少一个图像的分析,检 测主车辆的环境中的至少一个障碍物;确定主车辆的速度和主车辆的预测路 径;监视对与主车辆相关联的油门控件、制动控件或转向控件中的至少一个 的驾驶员输入;确定所述驾驶员输入是否会导致主车辆在相对于至少一个障 碍物的接近缓冲区内导航,其中,所述接近缓冲区是基于所确定的速度、主 车辆的最大加速能力和主车辆的最大制动能力以及与主车辆相关联的反应时 间来确定的。

与其他公开的实施例一致,非暂时性计算机可读存储介质可以存储程序 指令,这些程序指令可由至少一个处理设备执行,并执行本文描述的任何步 骤和/或方法。

前面的一般描述和下面的详细描述仅仅是示例性和解释性的,而不是对 权利要求的限制。

附图说明

并入本公开中并构成本公开的一部分的附图示出所公开的各种实施例。 在附图中:

图1是与所公开的实施例一致的示例系统的图示性表示。

图2A是包括与所公开的实施例一致的系统的示例车辆的图示性侧视图 表示。

图2B是与所公开的实施例一致的图2A中所示的车辆和系统的图示性 顶视图表示。

图2C是包括与所公开的实施例一致的系统的车辆的另一实施例的图示 性顶视图表示。

图2D是包括与所公开的实施例一致的系统的车辆的又一实施例的图示 性顶视图表示。

图2E是包括与所公开的实施例一致的系统的车辆的又一实施例的图示 性顶视图表示。

图2F是与所公开的实施例一致的示例车辆控制系统的图示性表示。

图3A是与所公开的实施例一致的、包括后视镜和用于车辆成像系统的 用户界面的车辆的内部的图示性表示。

图3B是与所公开的实施例一致的、配置为位置在后视镜之后并抵靠车 辆挡风玻璃的相机安装的示例的图示。

图3C是与所公开的实施例一致的图3B中所示的相机安装从不同的视 角的图示。

图3D是与所公开的实施例一致的、配置为位于后视镜之后并抵靠车辆 挡风玻璃的相机安装的示例的图示。

图4是与所公开的实施例一致的、配置为存储用于执行一个或多个操作 的指令的存储器的示例框图。

图5A是示出与所公开的实施例一致的、用于基于单目图像分析引起一 个或多个导航响应的示例处理的流程图。

图5B是示出与所公开的实施例一致的、用于在一组图像中检测一个或 多个车辆和/或行人的示例处理的流程图。

图5C是示出与所公开的实施例一致的、用于在一组图像中检测道路标 记和/或车道几何信息的示例处理的流程图。

图5D是示出与所公开的实施例一致的、用于在一组图像中检测交通灯 的示例处理的流程图。

图5E是示出与所公开的实施例一致的、用于基于车辆路径引起一个或 多个导航响应的示例处理的流程图。

图5F是示出与所公开的实施例一致的、用于确定前方车辆是否正在改 变车道的示例处理的流程图。

图6是示出与所公开的实施例一致的、用于基于立体图像分析引起一个 或多个导航响应的示例处理的流程图。

图7是示出与所公开的实施例一致的、用于基于三组图像的分析引起一 个或多个导航响应的示例处理的流程图。

图8是与所公开的实施例一致的、可由自主车辆的导航系统的一个或多 个专门编程的处理设备来实现的模块的框图表示。

图9是与所公开的实施例一致的导航选项图。

图10是与所公开的实施例一致的导航选项图。

图11A、图11B和图11C提供了与所公开的实施例一致的并道区(merge zone)中的主车辆的导航选项的示意表示。

图11D提供了与所公开的实施例一致的双并道场景的图示性描述。

图11E提供了与所公开的实施例一致的、在双并道场景中潜在有用的选 项图。

图12提供了与所公开的实施例一致的、捕捉了主车辆的环境的表示性图 像以及潜在导航约束的图。

图13提供了与所公开的实施例一致的、用于导航车辆的算法流程图。

图14提供了与所公开的实施例一致的、用于导航车辆的算法流程图。

图15提供了与所公开的实施例一致的、用于导航车辆的算法流程图。

图16提供了与所公开的实施例一致的、用于导航车辆的算法流程图。

图17A和17B提供了与所公开的实施例一致的、导航进入环形道的主车 辆的图示性图示。

图18提供了与所公开的实施例一致的、用于导航车辆的算法流程图。

图19示出了与所公开的实施例一致的、在多车道高速公路上行驶的主车 辆的示例。

图20A和20B示出了与所公开的实施例一致的、正在另一车辆前方切入 的车辆的示例。

图21示出了与所公开的实施例一致的、正在跟随另一车辆的车辆的示例。

图22示出了与所公开的实施例一致的、正在离开停车场并且并入可能繁 忙的道路的车辆的示例。

图23示出了与所公开的实施例一致的、正在在道路上行驶的车辆。

图24A-24D示出了与所公开的实施例一致的四个示例场景。

图25示出了与所公开的实施例一致的示例场景。

图26示出了与所公开的实施例一致的示例场景。

图27示出了与所公开的实施例一致的示例场景。

图28A和28B示出了与所公开的实施例一致的、车辆正在跟随另一车辆 的场景的示例。

图29A和29B示出了与所公开的实施例一致的切入场景中的示例归责 (blame)。

图30A和30B示出了与所公开的实施例一致的切入场景中的示例归责。

图31A-31D示出了与所公开的实施例一致的漂移场景中的示例归责。

图32A和32B示出了与所公开的实施例一致的双向交通场景中的示例归 责。

图33A和33B示出了与所公开的实施例一致的双向交通场景中的示例归 责。

图34A和34B示出了与所公开的实施例一致的路线优先级场景中的示例 归责。

图35A和35B示出了与所公开的实施例一致的路线优先级场景中的示例 归责。

图36A和36B示出了与所公开的实施例一致的路线优先级场景中的示例 归责。

图37A和37B示出了与所公开的实施例一致的路线优先级场景中的示例 归责。

图38A和38B示出了与所公开的实施例一致的路线优先级场景中的示例 归责。

图39A和39B示出了与所公开的实施例一致的路线优先级场景中的示例 归责。

图40A和40B示出了与所公开的实施例一致的交通灯场景中的示例归 责。

图41A和41B示出了与所公开的实施例一致的交通灯场景中的示例归 责。

图42A和42B示出了与所公开的实施例一致的交通灯场景中的示例归 责。

图43A-43C示出了与所公开的实施例一致的示例弱势道路使用者 (vulnerableroad user,VRU)场景。

图44A-44C示出了与所公开的实施例一致的示例弱势道路使用者(VRU) 场景。

图45A-45C示出了与所公开的实施例一致的示例弱势道路使用者(VRU) 场景。

图46A-46D示出了与所公开的实施例一致的示例弱势道路使用者(VRU) 场景。

图47A和47B示出了与所公开的实施例一致的车辆跟随另一车辆的示例 情景。

图48是示出了与所公开的实施例一致的用于导航主车辆的示例性处理。

图49A-49D示出了与所公开的实施例一致的车辆跟随另一车辆的示例情 景。

图50是示出了与所公开的实施例一致的用于制动主车辆的示例性处理 的流程图。

图51是示出了与所公开的实施例一致的用于导航主车辆的示例性处理 的流程图。

图52A-52D示出了与所公开的实施例一致的主车辆的示例接近缓冲区。

图53A和53B示出了包括与所公开的实施例一致的接近缓冲区的示例情 景。

图54A和54B示出了包括与所公开的实施例一致的接近缓冲区的示例情 景。

图55提供了与所公开的实施例一致的用于选择性地取代人类驾驶员对 主车辆的控制的流程图。

图56是示出了与所公开的实施例一致的用于导航主车辆的示例性处理 的流程图。

图57A-57C示出了与所公开的实施例一致的示例情景。

图58是示出了与所公开的实施例一致的用于导航主车辆的示例性处理 的流程图。

具体实施方式

接下来的详细描述参考附图。只要可能,在附图和接下来的描述中使用 相同的附图标记来指代相同或相似的部分。尽管本文描述了若干示例性实施 例,但是修改、调整和其它实施方式是可能的。例如,可以对附图中示出的组 件做出替换、添加或修改,并且可以通过对所公开的方法进行步骤的替换、 重新排序、移除或添加,来对本文描述的示例性方法进行修改。因此,接下来 的详细描述并不限于所公开的实施例和示例。相反,适当的范围由所附权利 要求限定。

如贯穿本公开所使用的,术语“自主车辆”是指在没有驾驶员输入的情况 下能够实现至少一个导航改变的车辆。“导航改变”是指车辆的转向、制动、或 加速/减速中的一个或多个。所谓自主,是指车辆不需要是完全自动的(例如, 在没有驾驶员或没有驾驶员输入的情况下完全可操作的)。相反,自主车辆包 括能够在某些时间段期间在驾驶员的控制下操作,且能够在其他时间段期间 无需驾驶员控制而操作的那些车辆。自主车辆还可以包括仅控制车辆导航的 某些方面(诸如转向(例如,在车辆车道约束之间维持车辆路线)或在某些情 况下(但并非在所有情况下)的某些转向操作),但可以将其它方面交给驾驶 员(例如,制动或在某些情况下的制动)的车辆。在一些情况下,自主车辆可 以处理车辆的制动、速率控制和/或转向的某些或全部方面。

由于人类驾驶员通常依赖于可视线索和观察以便控制车辆,因此而建造 了交通基础设施,其带有被设计为向驾驶员提供可视信息的车道标记、交通 标志和交通灯。鉴于交通基础设施的这些设计特性,自主车辆可以包括相机 以及分析从车辆的环境捕捉的可视信息的处理单元。可视信息可以包括,例 如表示可由驾驶员观察到的交通基础设施的组件(例如,车道标记、交通标 志、交通灯等)以及其它障碍物(例如,其它车辆、行人、碎片等)的图像。 此外,自主车辆还可以使用存储的信息,诸如在导航时提供车辆环境的模型 的信息。例如,车辆可以使用GPS数据、传感器数据(例如,来自加速计、 速度传感器、悬架传感器等)和/或其它地图数据,以在车辆正在行驶的同时 提供与其环境有关的信息,并且该车辆(以及其它车辆)可以使用该信息在 模型上对其自身定位。一些车辆也能够在车辆之间进行通信、共享信息、改 变同伴车辆的危险或车辆周围的变化等。

图1是与所公开的示例实施例一致的系统100的框图表示。取决于特定 实施方式的要求,系统100可以包括各种组件。在一些实施例中,系统100 可以包括处理单元110、图像获取单元120、位置传感器130、一个或多个存 储器单元140、150、地图数据库160、用户界面170和无线收发器172。处理 单元110可以包括一个或多个处理设备。在一些实施例中,处理单元110可 以包括应用处理器180、图像处理器190或任何其它合适的处理设备。类似地,取决于特定应用的要求,图像获取单元120可以包括任意数量的图像获 取设备和组件。在一些实施例中,图像获取单元120可以包括一个或多个图 像捕捉设备(例如,相机、电荷耦合器件(CCD)或任意其他类型的图像传 感器),诸如图像捕捉设备122、图像捕捉设备124和图像捕捉设备126。系 统100还可以包括将处理单元110通信地连接到图像获取单元120的数据接 口128。例如,数据接口128可以包括用于将由图像获取单元120获取的图 像数据传输到处理单元110的任何有线和/或无线的一个或多个链路。

无线收发器172可以包括被配置为通过使用射频、红外频率、磁场、或 电场来交换通过空中接口到一个或多个网络(例如,蜂窝、因特网等)的传输 的一个或多个设备。无线收发器172可以使用任何熟知的标准来发送和/或接 收数据(例如,Wi-Fi、

应用处理器180和图像处理器190两者都可以包括各种类型的基于硬件 的处理设备。例如,应用处理器180和图像处理器190中的任一者或两者可 以包括微处理器、预处理器(诸如图像预处理器)、图形处理器、中央处理单 元(CPU)、辅助电路、数字信号处理器、集成电路、存储器或适用于运行应 用和适用于图像处理和分析的任何其它类型的设备。在一些实施例中,应用 处理器180和/或图像处理器190可以包括任何类型的单核或多核处理器、移 动设备微控制器、中央处理单元等。可以使用各种处理设备,包括例如可从 诸如

在一些实施例中,应用处理器180和/或图像处理器190可以包括可从

任何本文所公开的处理设备可以被配置为执行某些功能。配置处理设备 (诸如任何所描述的EyeQ处理器或其它控制器或微处理器)以执行某些功 能可以包括对计算机可执行指令的编程,并使处理设备在其操作期间可获得 这些指令以用于执行。在一些实施例中,配置处理设备可以包括直接利用架 构指令对处理设备编程。在其它实施例中,配置处理设备可以包括将可执行 指令存储在操作期间处理设备可访问的存储器上。例如,处理设备在操作期 间可以访问该存储器以获得并执行所存储的指令。在任一情况下,被配置为执行本文公开的感测、图像分析和/或导航功能的处理设备表示控制主车辆的 多个基于硬件的组件的专用的基于硬件的系统。

尽管图1描绘了包含在处理单元110中的两个单独的处理设备,但是可 以使用更多或更少的处理设备。例如,在一些实施例中,可以使用单个处理 设备完成应用处理器180和图像处理器190的任务。在其它实施例中,这些 任务可以由两个以上的处理设备执行。另外,在一些实施例中,系统100可 以包括一个或多个处理单元110,而不包括诸如图像获取单元120之类的其 它组件。

处理单元110可以包括各种类型的设备。例如,处理单元110可以包括 各种设备,诸如控制器、图像预处理器、中央处理单元(CPU)、辅助电路、 数字信号处理器、集成电路、存储器或任何其它类型的用于图像处理和分析 的设备。图像预处理器可以包括用于捕捉、数字化和处理来自图像传感器的 影像的视频处理器。CPU可以包括任何数量的微控制器或微处理器。辅助电 路可以是任何数量的本领域公知的电路,包括高速缓存、电力供给、时钟和 输入输出电路。存储器可以存储软件,该软件在由处理器执行时控制系统的 操作。存储器可以包括数据库和图像处理软件。存储器可以包括任何数量的 随机存取存储器、只读存储器、闪速存储器、磁盘驱动器、光存储、磁带存 储、可移动存储和其它类型的存储。在一个实例中,存储器可以与处理单元 110分离。在另一实例中,存储器可以被集成到处理单元110中。

每个存储器140、150可以包括软件指令,该软件指令在由处理器(例如, 应用处理器180和/或图像处理器190)执行时可以控制系统100的各个方面 的操作。例如,这些存储器单元可以包括各种数据库和图像处理软件,以及 经训练的系统,诸如神经网络和深度神经网络。存储器单元可以包括随机存 取存储器、只读存储器、闪速存储器、磁盘驱动器、光存储、磁带存储、可移 动存储和/或任何其它类型的存储。在一些实施例中,存储器单元140、150可 以与应用处理器180和/或图像处理器190分离。在其它实施例中,这些存储 器单元可以被集成到应用处理器180和/或图像处理器190中。

位置传感器130可以包括适用于确定与系统100的至少一个组件相关联 的位置的任何类型的设备。在一些实施例中,位置传感器130可以包括GPS 接收器。这种接收器可以通过处理由全球定位系统卫星广播的信号来确定用 户位置和速度。可以使得来自位置传感器130的位置信息对于应用处理器180 和/或图像处理器190可用。

在一些实施例中,系统100可以包括诸如用于测量车辆200的速率的速 度传感器(例如,速度计)之类的组件。系统100还可以包括用于测量车辆 200沿一个或多个轴的加速度的一个或多个加速度计(单轴或多轴的)。

存储器单元140、150可以包括数据库,或以任何其他形式组织的、指示 已知地标的位置的数据。环境的传感信息(诸如来自激光雷达或两个或更多 个图像的立体处理的图像、雷达信号、深度信息)可以与位置信息(诸如GPS 坐标、车辆的自我运动等)一起处理,以确定车辆相对于已知地标的当前位 置,并且改进车辆位置。这项技术的某些方面包含于被称为REM

用户界面170可以包括适用于向系统100的一个或多个用户提供信息或 从系统100的一个或多个用户接收输入的任何设备。在一些实施例中,用户 界面170可以包括用户输入设备,包括例如触摸屏、麦克风、键盘、指针设 备、跟踪转轮、相机、旋钮、按钮等。利用这样的输入设备,用户能够通过键 入指令或信息、提供语音命令、使用按钮、指针或眼睛跟踪能力在屏幕上选 择菜单选项、或通过任何其它适用于向系统100传送信息的技术来向系统100 提供信息输入或命令。

用户界面170可以配备有一个或多个处理设备,其配置为向用户提供和 从用户接收信息,并处理该信息以由例如应用处理器180使用。在一些实施 例中,这样的处理设备可以执行指令以辨识和跟踪眼睛运动、接收和解释语 音命令、辨识和解释在触摸屏上做出的触摸和/或手势、响应键盘输入或菜单 选择等。在一些实施例中,用户界面170可以包括显示器、扬声器、触觉设 备和/或任何其它用于向用户提供输出信息的设备。

地图数据库160可以包括任何类型的用于存储对系统100有用的地图数 据的数据库。在一些实施例中,地图数据库160可以包括与各种项目在参考 坐标系统中的位置有关的数据,各种项目包括道路、水特征、地理特征、商业 区、感兴趣的点、餐馆、加油站等。地图数据库160不仅可以存储这些项目 的位置,而且可以存储与这些项目有关的描述符,包括例如与任何所存储的 特征相关联的名称。在一些实施例中,地图数据库160可以与系统100的其 它部件在物理上位于一起。替代或附加地,地图数据库160或其一部分可以 相对于系统100的其它组件(例如,处理单元110)位于远处。在这种实施例 中,来自地图数据库160的信息可以通过与网络的有线或无线数据连接(例 如,通过蜂窝网络和/或因特网等)而下载。在一些情况下,地图数据库160 可以存储稀疏数据模型,该稀疏数据模型包括某些道路特征(例如,车道标 记)或主车辆的目标轨迹的多项式表示。地图数据库160还可以包括已存储 的各种辨识出的地标的表示,该地标的表示可用于确定或更新主车辆相对于 目标轨迹的已知位置。地标表示可以包括数据字段,诸如地标类型、地标位 置以及其他潜在标识符。

图像捕捉设备122、124和126均可以包括任何类型的适用于从环境捕 捉至少一个图像的设备。此外,可以使用任何数量的图像捕捉设备来获取用 于输入到图像处理器的图像。一些实施例可以仅包括单个图像捕捉设备,而 其它实施例可以包括两个、三个、或甚至四个、或更多个图像捕捉设备。以下 将参考图2B至图2E进一步描述图像捕捉设备122、124和126。

一个或多个相机(例如,图像捕捉设备122、124和126)可以是包括在 车辆上的感测块的一部分。感测块中可以包括各种其他传感器,并且可以依 靠这些传感器中的任何或全部,以形成车辆的感测的导航状态。除了相机(前 方、侧方、后方等)之外,其他传感器(诸如雷达、激光雷达和声学传感器) 可被包含在感测块中。另外,感测块可以包括一个或多个组件,该组件被配 置为传送和发送/接收与车辆的环境有关的信息。例如,这种组件可以包括无 线收发器(RF等),其可以从相对于主车辆位于远处的源接收基于传感器的 信息或与主车辆的环境有关的任何其他类型的信息。这些信息可以包括从主 车辆以外的车辆系统接收的传感器输出信息或相关信息。在一些实施例中, 这些信息可以包括从远程计算设备、中央服务器等接收的信息。此外,相机 可以采用许多不同的配置:单个相机单元、多个相机、相机群、长FOV、短 FOV、广角、鱼眼等。

系统100或其各种组件可以合并到各种不同的平台中。在一些实施例中, 系统100可以被包括在车辆200上,如图2A所示。例如,车辆200可以配备 有如上关于图1描述的系统100的处理单元110和任何其它组件。在一些实 施例中,车辆200可以仅配备有单个图像捕捉设备(例如,相机),而在其它 实施例中,诸如结合图2B至图2E所讨论的那些实施例,可以使用多个图像 捕捉设备。例如,图2A中所示的车辆200的图像捕捉设备122和124中的 任一个可以是ADAS(Advanced Driver Assistance System,高级驾驶员辅助系 统)成像集的一部分。

作为图像获取单元120的一部分的、被包括在车辆200上的图像捕捉设 备,可以被置于任何合适的位置。在一些实施例中,如图2A至图2E,以及 图3A至图3C中所示,图像捕捉设备122可以位于后视镜的附近。此位置可 以提供与车辆200的驾驶员的视线相似的视线,这可以辅助确定对驾驶员而 言什么是可视和不可视的。图像捕捉设备122可以被置于靠近后视镜的任何 位置,而将图像捕捉设备122放置在镜子的驾驶员侧还可以辅助获得表示驾驶员的视场和/或视线的图像。

还可以使用图像获取单元120的图像捕捉设备的其它位置。例如,图像 捕捉设备124可以位于车辆200的保险杠上或保险杠中。这种位置尤其可以 适用于具有宽视场的图像捕捉设备。位于保险杠的图像捕捉设备的视线可以 与驾驶员的视线不同,并且因此,保险杠图像捕捉设备和驾驶员可能不总是 看到相同的对象。图像捕捉设备(例如,图像捕捉设备122、124和126)还 可以位于其它位置中。例如,图像捕捉设备可以位于车辆200的侧视镜中的 一者或两者之上或之中、车辆200的车顶上、车辆200的引擎盖上、车辆200 的后备箱上、车辆200的侧面上、安装在车辆200的任何车窗上、置于车辆 200的任何车窗的后面、或置于任何车窗的前面、以及安装在车辆200的前部 和/或后部上的照明设备中或附近。

除了图像捕捉设备,车辆200还可以包括系统100的各种其它组件。例 如,处理单元110可以被包括在车辆200上,与车辆的引擎控制单元(engine control unit,ECU)集成或分离。车辆200还可以配备有诸如GPS接收器之 类的位置传感器130,并且还可以包括地图数据库160以及存储器单元140和 150。

如早先讨论的,无线收发器172可以通过一个或多个网络(例如,蜂窝 网络、因特网等)和/或接收数据。例如,无线收发器172可以将系统100收 集的数据上传到一个或多个服务器,并且从一个或多个服务器下载数据。经 由无线收发器172,系统100可以接收,例如对存储在地图数据库160、存储 器140和/或存储器150中存储的数据的周期性更新或按需求更新。类似地, 无线收发器172可以将来自系统100的任何数据(例如,由图像获取单元120 捕捉的图像、由位置传感器130或其它传感器、车辆控制系统接收的数据等) 和/或由处理单元110处理的任何数据上传到一个或多个服务器。

系统100可以基于隐私等级设置将数据上传到服务器(例如,上传到云)。 例如,系统100可以实施隐私等级设置,以规定或限制发送到服务器的、可 以唯一地标识车辆和/或车辆的驾驶员/所有者的数据(包括元数据)的类型。 这些设置可以由用户经由例如无线收发器172来设置、可以由出厂默认设置、 或由无线收发器172接收的数据来初始化。

在一些实施例中,系统100可以根据“高”隐私等级上传数据,并且在设 定了设置的情况下,系统100可以传输数据(例如,与路途有关的位置信息、 捕捉的图像等),而不带有任何关于特定车辆和/或驾驶员/所有者的细节。例 如,当根据“高”隐私设置来上传数据时,系统100可以不包括车辆标识编号 (vehicle identification number,VIN)或车辆的驾驶员或所有者的名字,并且 可以代替地传输数据(诸如,捕捉的图像和/或与路途有关的受限的位置信息)。

也可以考虑其它隐私等级。例如,系统100可以根据“中间”隐私等级向 服务器传输数据,并且可以包括在“高”隐私等级下不包括的额外信息,诸如 车辆的型号和/或模型和/或车辆类型(例如载客车辆、运动型多用途车辆、卡 车等)。在一些实施例中,系统100可以根据“低”隐私等级上传数据。在“低” 隐私等级设置下,系统100可以上传数据,并且包括足以唯一地标识特定车 辆、所有者/驾驶员和/或车辆行驶过的部分路途或整个路途的信息。例如,这 些“低”隐私等级数据可以包括以下中的一个或多个:VIN、驾驶员/所有者姓名、出发之前车辆的源点、车辆的期望目的地、车辆的型号和/或模型、车辆 类型等。

图2A是与所公开的实施例一致的、示例车辆成像系统的图示性侧视图 表示。图2B是图2A中所示的实施例的图示性顶视图例示。如图2B所示, 所公开的实施例可以包括车辆200,该车辆200在其车体中包括系统100,该 系统100带有位于车辆200的后视镜附近和/或靠近驾驶员的第一图像捕捉设 备122、位于车辆200的保险杠区域(例如,保险杠区域210中的一个)之上 或之中的第二图像捕捉设备124、以及处理单元110。

如图2C所示,图像捕捉设备122和124两者可以都位于车辆200的后 视镜附近和/或靠近驾驶员。此外,尽管图2B和图2C示出了两个图像捕捉设 备122和124,应理解的是,其它实施例可以包括两个以上的图像捕捉设备。 例如,在图2D和图2E中所示的实施例中,第一图像捕捉设备122、第二图 像捕捉设备124和第三图像捕捉设备126被包括在车辆200的系统100中。

如图2D所示,图像捕捉设备122可以位于车辆200的后视镜附近和/或 靠近驾驶员,并且图像捕捉设备124和126可以位于车辆200的保险杠区域 (例如,保险杠区域210中的一个)之上或之中。并且如图2E所示,图像捕 捉设备122、124和126可以位于车辆200的后视镜附近和/或靠近驾驶席。 所公开的实施例不限于图像捕捉设备的任何特定数量和配置,并且图像捕捉 设备可以位于车辆200内或车辆200上的任何合适的位置中。

应理解的是,所公开的实施例不限于车辆,并且可以被应用在其它情景 中。还应理解,所公开的实施例不限于车辆200的特定类型,并且可以适用 于所有类型的车辆,包括汽车、卡车、拖车和其它类型的车辆。

第一图像捕捉设备122可以包括任何合适类型的图像捕捉设备。图像捕 捉设备122可以包括光轴。在一个实例中,图像捕捉设备122可以包括带有 全局快门的AptinaM9V024 WVGA传感器。在其它实施例中,图像捕捉设备 122可以提供1280×960像素的分辨率,并且可以包括滚动快门。图像捕捉设 备122可以包括各种光学元件。在一些实施例中,可以包括一个或多个镜头, 例如用于为图像捕捉设备提供期望的焦距和视场。在一些实施例中,图像捕 捉设备122可以与6毫米镜头或12毫米镜头相关联。在一些实施例中,如图 2D所示,图像捕捉设备122可以配置为捕捉具有期望的视场(FOV)202的 图像。例如,图像捕捉设备122可以配置为具有常规FOV,诸如在40度到 56度的范围内,包括46度FOV、50度FOV、52度FOV,或更大的FOV。 可替代地,图像捕捉设备122可以配置为具有在23至40度的范围内的窄 FOV,诸如28度FOV或36度FOV。此外,图像捕捉设备122可以配置为 具有在100至180度的范围内的宽FOV。在一些实施例中,图像捕捉设备122 可以包括广角保险杠相机或者带有高达180度的FOV的相机。在一些实施例 中,图像捕捉设备122可以是带有大约2:1的高宽比(例如,H×V=3800×1900 像素)、带有大约100度水平FOV的7.2M(百万)像素图像捕捉设备。这种 图像捕捉设备可以被用来替代三个图像捕捉设备配置。由于显著的镜头失真, 在图像捕捉设备使用径向对称镜头的实施方式中,这种图像捕捉设备的垂直 FOV可以显著地小于50度。例如,这种镜头可以不是径向对称的,这将允许 在100度水平FOV情况下垂直FOV大于50度。

第一图像捕捉设备122可以获取关于与车辆200相关联的场景的多个第 一图像。多个第一图像中的每一个可以作为一系列的图像扫描线而被获取, 其可使用滚动快门来捕捉。每个扫描线可以包括多个像素。

第一图像捕捉设备122可以具有与第一系列图像扫描线中的每一个的获 取相关联的扫描速率。扫描速率可以指,图像传感器可以以该扫描速率获取 与包含在特定扫描线中的每个像素相关联的图像数据。

图像捕捉设备122、124和126可以包含任何合适的类型和数量的图像 传感器,例如,包括CCD传感器或CMOS传感器等。在一个实施例中,可 以采用CMOS图像传感器以及滚动快门,以使得一行中的每个像素一次被读 取一个,并且各行的扫描在逐行的基础上继续进行,直到已经捕捉了整个图 像帧。在一些实施例中,可以相对于帧从顶部到底部顺序地捕捉各行。

在一些实施例中,本文公开的图像捕捉设备(例如,图像捕捉设备122、 124和126)中的一个或多个可以构成高分辨率成像器,并且可以具有大于5M 像素、7M像素、10M像素或更大像素的分辨率。

滚动快门的使用可能导致不同行中的像素在不同的时间被曝光和捕捉, 这可能引起所捕捉的图像帧中的扭曲和其它图像伪像。另一方面,当图像捕 捉设备122配置为利用全局或同步快门操作时,所有像素可以以相同的时间 量并且在共同的曝光时段期间被曝光。其结果是,在从采用全局快门的系统 收集的帧中的图像数据表示在一特定时间的整个FOV(诸如FOV 202)的快 照。与之相比,在滚动快门应用中,在不同的时间,帧中的每行被曝光并且数 据被捕捉。因此,在具有滚动快门的图像捕捉设备中,移动对象可能出现失真。将在下面更详细地描述这种现象。

第二图像捕捉设备124和第三图像捕捉设备126可以是任何类型的图像 捕捉设备。类似于第一图像捕捉设备122,图像捕捉设备124和126中的每 一个可以包括光轴。在一个实施例中,图像捕捉设备124和126中的每一个 可以包括带有全局快门的Aptina M9V024WVGA传感器。可替代地,图像捕 捉设备124和126中的每一个可以包括滚动快门。类似于图像捕捉设备122, 图像捕捉设备124和126可以配置为包括各种镜头和光学元件。在一些实施 例中,与图像捕捉设备124和126相关联的镜头可以提供FOV(诸如FOV 204和206),其等于或窄于与图像捕捉设备122相关联的FOV(诸如FOV 202)。例如,图像捕捉设备124和126可以具有40度、30度、26度、23度、 20度或更小的FOV。

图像捕捉设备124和126可以获取关于与车辆200相关联的场景的多个 第二图像和第三图像。该多个第二图像和第三图像中的每一个可以作为第二 系列图像扫描线和第三系列图像扫描线而被获取,这可以使用滚动快门进行 捕捉。每个扫描线或行可以具有多个像素。图像捕捉设备124和126可以具 有与被包含在第二系列和第三系列中的每个图像扫描线的获取相关联的第二 扫描速率和第三扫描速率。

每个图像捕捉设备122、124和126可以放置在相对于车辆200的任何 合适的位置和方向处。可以选择图像捕捉设备122、124和126的相对位置以 帮助将从图像捕捉设备获取的信息融合在一起。例如,在一些实施例中,与 图像捕捉设备124相关联的FOV(诸如FOV204)可能部分地或完全地和与 图像捕捉设备122相关联的FOV(诸如FOV 202)以及与图像捕捉设备126 相关联的FOV(诸如FOV 206)重叠。

图像捕捉设备122、124和126可以位于车辆200上的任何合适的相对 高度处。在一个实例中,在图像捕捉设备122、124和126之间可以存在高度 差,其可以提供足够的视差信息以使能立体分析。例如,如图2A所示,两个 图像捕捉设备122和124在不同的高度处。例如,在图像捕捉设备122、124 和126之间还可以存在横向位移差,为处理单元110的立体分析给出了额外 的视差信息。如图2C和图2D所示,横向位移的差异可以通过d

图像捕捉设备122可以具有任何合适的分辨率能力(例如,与图像传感 器相关联的像素的数量),并且与图像捕捉设备122相关联的(一个或多个) 图像传感器的分辨率可以比与图像捕捉设备124和126相关联的(一个或多 个)图像传感器的分辨率更高、更低、或者与之相同。在一些实施例中,与图 像捕捉设备122和/或图像捕捉设备124和126相关联的(一个或多个)图像 传感器可以具有640×480、1024×768、1280×960的分辨率,或任何其它合适 的分辨率。

帧速率(例如,在该速率下,图像捕捉设备获取一个图像帧的一组像素 数据,然后继续捕捉与下一个图像帧相关联的像素数据)可以是可控的。与 图像捕捉设备122相关联的帧速率可以比与图像捕捉设备124和126相关联 的帧速率更高、更低或与之相同。与图像捕捉设备122、124和126相关联的 帧速率可以取决于可能影响帧速率的定时的各种因素。例如,图像捕捉设备 122、124和126中的一个或多个可以包括可选择的像素延迟时段,其在获取 与图像捕捉设备122、124和/或126中的图像传感器的一个或多个像素相关 联的图像数据之前或之后施加。通常,可以根据用于该设备的时钟速率来获 取对应于每个像素的图像数据(例如,每个时钟周期一个像素)。另外,在包 括滚动快门的实施例中,图像捕捉设备122、124和126中的一个或多个可以 包括可选择的水平消隐时段,其在获取与图像捕捉设备122、124和/或126中 的图像传感器的一行像素相关联的图像数据之前或之后施加。此外,图像捕 捉设备122、124和126中的一个或多个可以包括可选择的垂直消隐时段,其 在获取与图像捕捉设备122、124和126的图像帧相关联的图像数据之前或之 后施加。

这些定时控制可以使能与图像捕捉设备122、124和126相关联的帧速 率的同步,即便每个的线扫描速率不同。此外,如将在下面更详细地讨论的, 这些可选择的定时控制以及其它因素(例如,图像传感器分辨率、最大线扫 描速率等)可以使能从图像捕捉设备122的FOV与图像捕捉设备124和126 的一个或多个FOV重叠的区域的图像捕捉的同步,即便图像捕捉设备122的 视场不同于图像捕捉设备124和126的FOV。

图像捕捉设备122、124和126中的帧速率定时可以取决于相关联的图 像传感器的分辨率。例如,假定对于两个设备,线扫描速率类似,如果一个设 备包括具有640×480的分辨率的图像传感器,并且另一设备包括带有 1280×960的分辨率的图像传感器,则需要更多的时间来从具有更高分辨率的 传感器获取一帧图像数据。

可能影响图像捕捉设备122、124和126中的图像数据获取的定时的另 一个因素是最大线扫描速率。例如,从被包含在图像捕捉设备122、124和126 中的图像传感器获取一行图像数据将需要某个最低时间量。假定没有添加像 素延迟时段,则用于获取一行图像数据的此最低时间量将与用于特定设备的 最大线扫描速率有关。提供较高的最大线扫描速率的设备具有提供比带有较 低的最大线扫描速率的设备更高的帧速率的潜力。在一些实施例中,图像捕 捉设备124和126中的一个或多个可以具有高于与图像捕捉设备122相关联的最大线扫描速率的最大线扫描速率。在一些实施例中,图像捕捉设备124和/或126的最大线扫描速率可以是图像捕捉设备122的最大线扫描速率的1.25、 1.5、1.75或2倍或更多倍。

在另一实施例中,图像捕捉设备122、124和126可以具有相同的最大线 扫描速率,但图像捕捉设备122可以以小于或等于其最大扫描速率的扫描速 率而操作。该系统可以配置为使得图像捕捉设备124和126中的一个或多个 以等于图像捕捉设备122的线扫描速率的线扫描速率而操作。在其它实例中, 该系统可以配置为使得图像捕捉设备124和/或图像捕捉设备126的线扫描速 率可以是图像捕捉设备122的线扫描速率的1.25、1.5、1.75、或2倍或更多 倍。

在一些实施例中,图像捕捉设备122、124和126可以是不对称的。也就 是说,它们可包括具有不同视场(FOV)和焦距的相机。例如,图像捕捉设备 122、124和126的视场可以包括关于车辆200的环境的任何期望的区域。在 一些实施例中,图像捕捉设备122、124和126中的一个或多个可以配置为从 在车辆200前面、车辆200后面、车辆200的侧面、或其组合的环境获取图 像数据。

此外,与每个图像捕捉设备122、124和/或126相关联的焦距可以是可 选择的(例如,通过包括适当的镜头等),使得每个设备在相对于车辆200的 期望的距离范围处获取对象的图像。例如,在一些实施例中,图像捕捉设备 122、124和126可以获取离车辆几米之内的接近对象的图像。图像捕捉设备 122、124和126还可以配置为获取离车辆更远的范围处(例如,25米、50米、 100米、150米或更远)的对象的图像。此外,图像捕捉设备122、124和126的焦距可以被选择以使得一个图像捕捉设备(例如,图像捕捉设备122)可以 获取相对靠近车辆的(例如,在10米内或20米内的)对象的图像,而其它 图像捕捉设备(例如,图像捕捉设备124和126)可以获取离车辆200较远的 (例如,大于20米、50米、100米、150米等的)对象的图像。

根据一些实施例,一个或多个图像捕捉设备122、124和126的FOV可 以具有广角。例如,具有140度的FOV可能是有利的,尤其是对于可以被用 于捕捉车辆200附近的区域的图像的图像捕捉设备122、124和126。例如, 图像捕捉设备122可以被用来捕捉车辆200的右侧或左侧的区域的图像,并 且在这些实施例中,可能期望图像捕捉设备122具有宽FOV(例如,至少140 度)。

与图像捕捉设备122、124和126中的每一个相关联的视场可以取决于 各自的焦距。例如,随着焦距增加,对应的视场减小。

图像捕捉设备122、124和126可以配置为具有任何合适的视场。在一个 特定示例中,图像捕捉设备122可以具有46度的水平FOV,图像捕捉设备 124可以具有23度的水平FOV,并且图像捕捉设备126可以具有在23度和 46度之间的水平FOV。在另一实例中,图像捕捉设备122可以具有52度的 水平FOV,图像捕捉设备124可以具有26度的水平FOV,并且图像捕捉设 备126可以具有在26度和52度之间的水平FOV。在一些实施例中,图像捕 捉设备122的FOV与图像捕捉设备124和/或图像捕捉设备126的FOV的比 率可以从1.5到2.0变化。在其它实施例中,该比率可以在1.25与2.25之间 变化。

系统100可以配置为使得图像捕捉设备122的视场至少部分地或完全地 与图像捕捉设备124和/或图像捕捉设备126的视场重叠。在一些实施例中, 系统100可以配置为使得图像捕捉设备124和126的视场例如落入(例如, 窄于)图像捕捉设备122的视场并且与图像捕捉设备122的视场共享共同的 中心。在其它实施例中,图像捕捉设备122、124和126可以捕捉相邻的FOV, 或者可以在它们的FOV中具有部分重叠。在一些实施例中,图像捕捉设备122、124和126的视场可以对齐,以使得较窄FOV图像捕捉设备124和/或 126的中心可以位于较宽FOV设备122的视场的下半部分中。

图2F是与所公开的实施例一致的示例车辆控制系统的图示性表示。如 图2F所指示的,车辆200可以包括油门调节系统220、制动系统230和转向 系统240。系统100可以通过一个或多个数据链路(例如,任何用于传输数据 的有线和/或无线链路)向油门调节系统220、制动系统230和转向系统240 中的一个或多个提供输入(例如,控制信号)。例如,基于对由图像捕捉设备 122、124和/或126获取的图像的分析,系统100可以向油门调节系统220、 制动系统230和转向系统240中的一个或多个提供控制信号以导航车辆200 (例如,通过引起加速、转向、车道变换等)。此外,系统100可以从油门调 节系统220、制动系统230和转向系统240中的一个或多个接收指示车辆200 的运行条件(例如,速率、车辆200是否正在制动和/或转向等)的输入。以 下结合图4至图7提供进一步的细节。

如图3A所示,车辆200还可以包括用于与车辆200的驾驶员或乘客进 行交互的用户界面170。例如,车辆应用中的用户界面170可以包括触摸屏 320、旋钮330、按钮340和麦克风350。车辆200的驾驶员或乘客还可以使 用手柄(例如,位于车辆200的转向杆上或附近,包括例如转向信号手柄)、 按钮(例如,位于车辆200的方向盘上)等与系统100交互。在一些实施例 中,麦克风350可以位于与后视镜310相邻。类似地,在一些实施例中,图 像捕捉设备122可以位于靠近后视镜310。在一些实施例中,用户界面170还 可以包括一个或多个扬声器360(例如,车辆音频系统的扬声器)。例如,系 统100可以经由扬声器360提供各种通知(例如,警报)。

图3B至图3D是与所公开的实施例一致的配置为位于后视镜(例如,后 视镜310)后面并与车辆挡风玻璃相对的示例相机安装370的例示。如图3B 所示,相机安装370可以包括图像捕捉设备122、124和126。图像捕捉设备 124和126可以位于遮光板380的后面,其中遮光板380可以相对于车辆挡 风玻璃齐平(flush)并且包括薄膜和/或防反射材料的合成物。例如,遮光板 380可被放置为使得它相对于具有匹配斜面的车辆的挡风玻璃对齐。在一些实施例中,图像捕捉设备122、124和126中的每个可以位于遮光板380的后 面,例如在图3D中所描绘的。所公开的实施例不限于图像捕捉设备122、124 和126、相机安装370和遮光板380的任何特定配置。图3C是图3B所示的 相机安装370从前面视角的例示。

如受益于本公开的本领域技术人员将理解的,可以对前述所公开的实施 例做出许多变型和/或修改。例如,并非所有组件对于系统100的操作是必要 的。此外,任何组件可以位于系统100的任何适当的部件中并且组件可以被 重新布置成各种配置同时提供所公开的实施例的功能。因此,前述配置是示 例性的,并且不管上述讨论的配置如何,系统100都可以提供广阔范围的功 能以分析车辆200的周围并响应于该分析而导航车辆200。

如在下面更详细讨论的并且根据各种所公开的实施例,系统100可以提 供各种关于自主驾驶和/或驾驶员辅助技术的特征。例如,系统100可以分析 图像数据、位置数据(例如,GPS位置信息)、地图数据、速率数据和/或来自 包含在车辆200中的传感器的数据。系统100可以从例如图像获取单元120、 位置传感器130以及其它传感器收集数据用于分析。此外,系统100可以分 析所收集的数据以确定车辆200是否应该采取某个动作,然后无需人工干预 而自动采取所确定的动作。例如,当车辆200无需人工干预而导航时,系统100可以自动地控制车辆200的制动、加速、和/或转向(例如,通过向油门 调节系统220、制动系统230和转向系统240中的一个或多个发送控制信号)。 此外,系统100可以分析所收集的数据,并基于对所收集的数据的分析向车 辆乘员发出警告和/或警报。下面提供关于系统100提供的各种实施例的额外 的细节。

如上所讨论的,系统100可以提供使用多相机系统的驾驶辅助功能。多 相机系统可以使用面向车辆的前方的一个或多个相机。在其它实施例中,多 相机系统可以包括面向车辆的侧方或面向车辆的后方的一个或多个相机。在 一个实施例中,例如系统100可以使用双相机成像系统,其中,第一相机和 第二相机(例如,图像捕捉设备122和124)可以位于车辆(例如,车辆200) 的前面和/或侧面处。其他相机配置与所公开的实施例一致,并且本文公开的 配置是示例性的。例如,系统100可以包括任何数量的相机的配置(例如, 一个、两个、三个、四个、五个、六个、七个、八个等)。此外,系统100可 以包括相机“群集”。例如,相机群集(包括任何适当数量的相机,例如一个、 四个、八个等)可以相对于车辆是前向的,或者可以面向任何其他方向(例 如,后向、侧向、成角度的等)。因此,系统100可以包括多个相机群集,其 中每个群集以特定方向定向,以从车辆环境的特定区域捕捉图像。

第一相机可以具有大于、小于、或部分重叠于第二相机的视场的视场。 此外,第一相机可以连接到第一图像处理器以执行对由第一相机提供的图像 的单目图像分析,并且第二相机可以连接到第二图像处理器以执行对由第二 相机提供的图像的单目图像分析。第一和第二图像处理器的输出(例如,处 理后的信息)可以被组合。在一些实施例中,第二图像处理器可以从第一相 机和第二相机两者接收图像以执行立体分析。在另一实施例中,系统100可 以使用三相机成像系统,其中每个相机具有不同的视场。因此,这种系统可 以基于从位于车辆的前方和侧方的变化距离处的对象得到的信息做出决定。 对单目图像分析的参考可以参考基于从单个视点(例如,从单个相机)捕捉 的图像执行图像分析的实例。立体图像分析可以参考基于利用图像捕捉参数 的一个或多个变化而捕捉的两个或更多个图像执行图像分析的实例。例如, 捕捉到的适用于执行立体图像分析的图像可以包括以下捕捉的图像:从两个 或更多个不同的位置、从不同的视场、使用不同的焦距、与视差信息一起等 捕捉的图像。

例如,在一个实施例中,系统100可以使用图像捕捉设备122至126实 现三相机配置。在这种配置中,图像捕捉设备122可以提供窄视场(例如, 34度或从大约20度至45度的范围选择的其它值等),图像捕捉设备124可 以提供宽视场(例如,150度或从大约100度至大约180度的范围选择的其 它值),并且图像捕捉设备126可以提供中间视场(例如,46度或从大约35 度至大约60度的范围选择的其它值)。在一些实施例中,图像捕捉设备126 可以作为主相机或基本相机。图像捕捉设备122至126可以位于后视镜310 的后面并且基本上并排(例如,相距6厘米)。此外,在一些实施例中,如以 上所讨论的,图像捕捉设备122至126中的一个或多个可以被安装在与车辆 200的挡风玻璃齐平的遮光板380的后面。这种遮挡可以作用以减少任何来 自车内的反射对图像捕捉设备122至126的影响。

在另一实施例中,如以上结合图3B和3C所讨论的,宽视场相机(例如, 上述示例中的图像捕捉设备124)可以被安装得低于窄视场相机和主视场相 机(例如,上述的示例中的图像捕捉设备122和126)。这种配置可以提供来 自宽视场相机的自由视线。为减少反射,相机可以被安装得靠近车辆200的 挡风玻璃,并且在相机上可以包括偏振器以衰减(damp)反射光。

三相机系统可以提供某些性能特性。例如,一些实施例可以包括通过一 个相机基于来自另一相机的检测结果来验证对象的检测的能力。在上面讨论 的三相机配置中,处理单元110可以包括例如三个处理设备(例如,三个如 以上所讨论的EyeQ系列处理器芯片),其中每个处理设备专用于处理由图像 捕捉设备122至126中的一个或多个捕捉的图像。

在三相机系统中,第一处理设备可以从主相机和窄视场相机两者接收图 像,并且执行对窄FOV相机的视觉处理,以例如检测其它车辆、行人、车道 标记、交通标志、交通灯以及其它道路对象。另外,第一处理设备可以计算来 自主相机和窄相机的图像之间的像素的视差,并且创建车辆200的环境的3D 重建。然后第一处理设备可以组合3D重建与3D地图数据、或组合3D重建 与基于来自另一相机的信息计算出的3D信息。

第二处理设备可以从主相机接收图像,并执行视觉处理以检测其它车辆、 行人、车道标记、交通标志、交通灯和其它道路对象。另外,第二处理设备可 以计算相机位移,并且基于该位移计算连续图像之间的像素的视差,并创建 场景的3D重建(例如,运动恢复结构(structure from motion))。第二处理设 备可以将基于3D重建的运动恢复结构发送到第一处理设备以与立体3D图像 进行组合。

第三处理设备可以从宽FOV相机接收图像,并处理该图像以检测车辆、 行人、车道标记、交通标志、交通灯和其它道路对象。第三处理设备还可以执 行额外的处理指令来分析图像,以识别图像中移动的对象,诸如正改变车道 的车辆、行人等。

在一些实施例中,使得基于图像的信息的流被独立地捕捉和处理可以提 供用于在系统中提供冗余的机会。这种冗余可以包括例如使用第一图像捕捉 设备和从该设备处理的图像来验证和/或补充通过从至少第二图像捕捉设备 捕捉和处理图像信息而获得的信息。

在一些实施例中,系统100将两个图像捕捉设备(例如,图像捕捉设备 122和124)用在为车辆200提供导航辅助中,并使用第三图像捕捉设备(例 如,图像捕捉设备126)来提供冗余并验证对从其它两个图像捕捉设备接收到 的数据的分析。例如,在这种配置中,图像捕捉设备122和124可以提供用 于通过系统100进行立体分析的图像以导航车辆200,而图像捕捉设备126可 以提供用于通过系统100进行单目分析的图像以提供对基于从图像捕捉设备 122和/或图像捕捉设备124捕捉的图像而获得的信息的冗余和验证。即,图 像捕捉设备126(和对应的处理设备)可以被视为提供用于提供对从图像捕捉 设备122和124得到的分析的检查的冗余子系统(例如,以提供自动紧急制 动(AEB)系统)。此外,在一些实施例中,可基于从一个或多个传感器接收 的信息(例如,雷达、激光雷达、声学传感器,从车辆外部的一个或多个收发 器接收的信息等)来补充接收到的数据的冗余和验证。

本领域的技术人员将认识到,上述相机配置、相机放置、相机数量、相 机位置等仅为示例。在不脱离所公开的实施例的范围下,这些组件和关于整 个系统描述的其它组件可以被组装并且在各种不同的配置中使用。关于使用 多相机系统以提供驾驶员辅助和/或自主车辆功能的进一步的细节如下。

图4是可以存储/编程有用于执行与本公开实施例一致的一个或多个操 作的指令的存储器140和/或存储器150的示范性功能性框图。虽然下面指代 存储器140,但是本领域技术人员将认识到指令可以被存储在存储器140和/ 或存储器150中。

如图4所示,存储器140可以存储单目图像分析模块402、立体图像分 析模块404、速度和加速度模块406以及导航响应模块408。所公开的实施例 不限于存储器140的任何特定配置。此外,应用处理器180和/或图像处理器 190可以执行在被包含在存储器140中的任何模块402至408中所存储的指 令。本领域技术人员将理解,在下面的讨论中,对处理单元110的参考可以 单独地或统一地指代应用处理器180和图像处理器190。因此,任何以下处理 的步骤可以由一个或多个处理设备来执行。

在一个实施例中,单目图像分析模块402可以存储指令(诸如计算机视 觉软件),该指令在由处理单元110执行时,执行对由图像捕捉设备122、124 和126中的一个获取的一组图像的单目图像分析。在一些实施例中,处理单 元110可以将来自一组图像的信息与额外的传感信息(例如,来自雷达的信 息)组合以执行单目图像分析。如以下结合图5A至图5D所描述的,单目图 像分析模块402可以包括用于在该组图像内检测一组特征的指令,该特征诸 如车道标记、车辆、行人、道路标志、高速公路出口坡道、交通灯、危险对象 以及任何其它与车辆的环境相关联的特征。基于该分析,系统100(例如,经 由处理单元110)可以引起车辆200中的一个或多个导航响应,诸如转向、车 道变换、加速度的改变等,如以下结合导航响应模块408所讨论的。

在一个实施例中,单目图像分析模块402可以存储指令(诸如计算机视 觉软件),该指令在由处理单元110执行时,执行对由图像捕捉设备122、124 和126中的一个获取的一组图像的单目图像分析。在一些实施例中,处理单 元110可以将来自一组图像的信息与额外的传感信息(例如,来自雷达、激 光雷达等的信息)组合以执行单目图像分析。如以下结合图5A至图5D所描 述的,单目图像分析模块402可以包括用于在该组图像内检测一组特征的指 令,该特征诸如车道标记、车辆、行人、道路标志、高速公路出口坡道、交通 灯、危险对象以及任何其它与车辆的环境相关联的特征。基于该分析,系统 100(例如,经由处理单元110)可以引起车辆200中的一个或多个导航响应, 诸如转向、车道变换、加速度的改变等,如以下结合确定导航响应所讨论的。

在一个实施例中,立体图像分析模块404可以存储指令(诸如,计算机 视觉软件),该指令在由处理单元110执行时,执行对由从任意图像捕捉设备 122、124和126中选择的图像捕捉设备的组合而获取的第一组和第二组图像 的立体图像分析。在一些实施例中,处理单元110可以将来自第一组和第二 组图像的信息与额外的传感信息(例如,来自雷达的信息)组合以执行立体 图像分析。例如,立体图像分析模块404可以包括用于基于由图像捕捉设备 124获取的第一组图像和由图像捕捉设备126获取的第二组图像执行立体图 像分析的指令。如下面结合图6所描述的,立体图像分析模块404可以包括 用于检测第一组和第二组图像内的一组特征的指令,该特征诸如车道标记、 车辆、行人、道路标志、高速公路出口坡道、交通灯、危险对象等。基于该分 析,处理单元110可以引起车辆200中的一个或多个导航响应,诸如转向、 车道变换、加速度的改变等,如以下结合导航响应模块408所讨论的。此外, 在一些实施例中,立体图像分析模块404可实施与经训练的系统(诸如神经 网络或深度神经网络)或未经训练的系统相关联的技术。

在一个实施例中,速度和加速度模块406可以存储被配置为对从车辆200 中配置为引起车辆200的速度和/或加速度的改变的一个或多个计算和机电设 备接收到的数据进行分析的软件。例如,处理单元110可以执行与速度和加 速度模块406相关联的指令,以基于从单目图像分析模块402和/或立体图像 分析模块404的执行而得到的数据来计算车辆200的目标速率。这种数据可 以包括例如目标位置、速度和/或加速度、车辆200相对于附近车辆、行人或 道路对象的位置和/或速率、车辆200相对于道路的车道标记等的位置信息等。 此外,处理单元110可以基于传感输入(例如,来自雷达的信息)和来自车 辆200的其它系统(诸如油门调节系统220、制动系统230和/或转向系统240) 的输入来计算车辆200的目标速率。基于计算的目标速率,处理单元110可 以向车辆200的油门调节系统220、制动系统230和/或转向系统的240传输 电子信号,例如通过物理地压下制动器或松开车辆200的加速器,来触发速 度和/或加速度的变化。

在一个实施例中,导航响应模块408可以存储软件,该软件可由处理单 元110执行以基于从单目图像分析模块402和/或立体图像分析模块404的执 行而得到的数据来确定期望的导航响应。这种数据可以包括与附近的车辆、 行人和道路对象相关联的位置和速率信息、车辆200的目标位置信息等。另 外,在一些实施例中,导航响应可以(部分地或完全地)基于地图数据、车辆 200的预定位置、和/或车辆200与从单目图像分析模块402和/或立体图像分 析模块404的执行检测到的一个或多个对象之间的相对速度或相对加速度。 导航响应模块408还可以基于传感输入(例如,来自雷达的信息)和来自车 辆200的其它系统(诸如车辆200的油门调节系统220、制动系统230和转 向系统240)的输入确定期望的导航响应。基于期望的导航响应,处理单元 110可以向车辆200的油门调节系统220、制动系统230和转向系统240传输 电子信号以触发期望的导航响应,例如通过转动车辆200的方向盘以实现预 定角度的旋转。在一些实施例中,处理单元110可以使用导航响应模块408 的输出(例如,期望的导航响应)作为对速度和加速度模块406的执行的输 入,以用于计算车辆200的速率的改变。

此外,本文公开的任何模块(例如,模块402、404和406)可以实现与 经训练的系统(诸如神经网络或深度神经网络)或未经训练的系统相关联的 技术。

图5A是示出与所公开的实施例一致的、用于基于单目图像分析引起一 个或多个导航响应的示例处理500A的流程图。在步骤510,处理单元110可 以经由在处理单元110和图像获取单元120之间的数据接口128接收多个图 像。例如,包含在图像获取单元120中的相机(诸如具有视场202的图像捕 捉设备122)可以捕捉车辆200的前方(例如,或者车辆的侧方或后方)区域 的多个图像并经过数据连接(例如,数字、有线、USB、无线、蓝牙等)将它们传输到处理单元110。在步骤520,处理单元110可以执行单目图像分析模 块402来分析该多个图像,如以下结合图5B至5D进一步详细描述的。通过 执行该分析,处理单元110可以在该组图像内检测一组特征,诸如车道标记、 车辆、行人、道路标志、高速公路出口坡道、交通灯等。

在步骤520,处理单元110还可以执行单目图像分析模块402来检测各 种道路危险,诸如例如卡车轮胎的部件、倒下的道路标志、松散货物、小动物 等。道路危险可能在结构、形状、大小和颜色上变化,这可能使这些危险的检 测更加困难。在一些实施例中,处理单元110可以执行单目图像分析模块402 来对该多个图像执行多帧分析以检测道路危险。例如,处理单元110可以估 计连续图像帧之间的相机运动,并计算帧之间的像素中的视差来构建道路的 3D地图。然后,处理单元110可以使用该3D地图来检测路面、以及存在于 路面上的危险。

在步骤530,处理单元110可以执行导航响应模块408以基于在步骤520 中执行的分析和如以上结合图4描述的技术引起一个或多个导航响应。导航 响应可以包括例如转向、车道变换、加速度变化等。在一些实施例中,处理单 元110可以使用从速度和加速度模块406的执行得到的数据来引起一个或多 个导航响应。此外,多个导航响应可能同时地、按照顺序地或以其任意组合 而发生。例如,处理单元110可以通过例如按照顺序地向车辆200的转向系 统240和油门调节系统220传输控制信号,使得车辆200变换一个车道然后 加速。可替代地,处理单元110可以通过例如同时向车辆200的制动系统230 和转向系统240传输控制信号,使得车辆200制动同时变换车道。

图5B是示出与所公开的实施例一致的用于在一组图像中检测一个或多 个的车辆和/或行人的示例处理500B的流程图。处理单元110可以执行单目 图像分析模块402来实现处理500B。在步骤540,处理单元110可以确定表 示可能的车辆和/或行人的一组候选对象。例如,处理单元110可以扫描一个 或多个图像,将该图像与一个或多个预定模式比较,并且在每个图像内识别 可能包含感兴趣的对象(例如,车辆、行人或其部分)的可能的位置。预定模 式可以以实现高“伪命中”率和低“漏掉”率的这种方式来设计。例如,处理单元 110可以将低的相似性的阈值用在预定模式以将候选对象识别为可能的车辆 或行人。这样做可以允许处理单元110减少漏掉(例如,未识别出)表示车 辆或行人的候选对象的可能性。

在步骤542,处理单元110可以基于分类标准过滤该组候选对象以排除 某些候选(例如,不相关或较不相关的对象)。这种标准可以从与存储在数据 库(例如,存储在存储器140中的数据库)中的对象类型相关联的各种属性 得到。属性可以包括对象形状、尺寸、纹理、位置(例如,相对于车辆200) 等。因此,处理单元110可以使用一组或多组标准来从该组候选对象中拒绝 伪候选。

在步骤544,处理单元110可以分析多帧图像,以确定在该组候选对象 中的对象是否表示车辆和/或行人。例如,处理单元110可以跨连续帧来跟踪 检测到的候选对象并累积与检测到的对象相关联的逐帧数据(例如,大小、 相对于车辆200的位置等)。此外,处理单元110可以估计检测到的对象的参 数并将该对象的逐帧位置数据与预测的位置比较。

在步骤546,处理单元110可以对于检测到的对象构建一组测量。这种 测量可以包括例如与检测到的对象相关联的(相对于车辆200的)位置、速 度和加速度值。在一些实施例中,处理单元110可以基于使用一系列基于时 间的观察的、诸如卡尔曼滤波器或线性二次估计(LQE)的估计技术和/或基 于对于不同对象类型(例如,汽车、卡车、行人、自行车、道路标志等)可用 的建模数据,来构建该测量。卡尔曼滤波器可以基于对象的比例的测量,其中该比例测量与要碰撞的时间(例如,车辆200到达对象的时间量)成比例。 因此,通过执行步骤540至546,处理单元110可以识别在该组捕捉图像内 出现的车辆和行人,并得到与该车辆和行人相关联的信息(例如,位置、速 率、大小)。基于该识别和所得到的信息,处理单元110可以引起车辆200中 的一个或多个导航响应,如以上结合图5A所描述的。

在步骤548,处理单元110可以执行对一个或多个图像的光流分析,以 减少检测到“伪命中”和漏掉表示车辆或行人的候选对象的可能性。光流分析 可以指,例如在一个或多个图像中分析相对于车辆200的、与其它车辆和行 人相关联的并且区别于路面运动的运动模式。处理单元110可以通过跨越在 不同时间捕捉到的多个图像帧观察对象的不同位置,来计算候选对象的运动。 处理单元110可以使用该位置和时间值作为对用于计算候选对象的运动的数 学模型的输入。因此,光流分析可以提供检测车辆200附近的车辆和行人的 另一种方法。处理单元110可以结合步骤540至546执行光流分析,以提供 检测车辆和行人的冗余,并提高系统100的可靠性。

图5C是示出与所公开的实施例一致的用于在一组图像中检测道路标记 和/或车道几何信息的示例处理500C的流程图。处理单元110可以执行单目 图像分析模块402来实现处理500C。在步骤550,处理单元110可以通过扫 描一个或多个图像来检测一组对象。为了检测车道标记、车道几何信息以及 其它相关的道路标记的分段(segment),处理单元110可以过滤该组对象以 排除那些被确定为不相关的(例如,小坑洼、小石块等)。在步骤552,处理 单元110可以将在步骤550中检测到的属于相同的道路标记或车道标记的分 段分组在一起。基于该分组,处理单元110可以产生表示所检测到的分段的 模型,诸如数学模型。

在步骤554,处理单元110可以构建与所检测的分段相关联的一组测量。 在一些实施例中,处理单元110可以创建所检测的分段从图像平面到现实世 界平面上的投影。该投影可以使用具有与诸如所检测的道路的位置、斜率、 曲率和曲率导数之类的物理属性对应的系数的三次多项式来表征。在产生该 投影中,处理单元110可以考虑路面的变化、以及与车辆200相关联的俯仰 (pitch)率和滚转(roll)率。此外,处理单元110可以通过分析出现在路面 上的位置和运动线索来对道路标高进行建模。此外,处理单元110可以通过 跟踪一个或多个图像中的一组特征点来估计与车辆200相关联的俯仰率和滚 转率。

在步骤556,处理单元110可以通过例如跨连续图像帧跟踪所检测到的 分段并累积与检测到的分段相关联的逐帧数据来执行多帧分析。由于处理单 元110执行多帧分析,在步骤554中构建的该组测量可以变得更可靠并且与 越来越高的置信度水平相关联。因此,通过执行步骤550至556,处理单元 110可以识别在该组捕捉图像中出现的道路标记并得到车道几何信息。基于 该识别和所得到的信息,处理单元110可以引起车辆200中的一个或多个导 航响应,如以上结合图5A所描述的。

在步骤558,处理单元110可以考虑额外的信息源,以进一步产生车辆 200在其周围的环境中的安全模型。处理单元110可以使用该安全模型来定 义系统100可以在其中以安全的方式执行车辆200的自主控制的环境。为产 生该安全模型,在一些实施例中,处理单元110可以考虑其它车辆的位置和 运动、所检测的路缘和护栏、和/或从地图数据(诸如来自地图数据库160的 数据)提取的一般道路形状描述。通过考虑额外的信息源,处理单元110可 以提供用于检测道路标记和车道几何结构的冗余,并增加系统100的可靠性。

图5D是示出了与所公开的实施例一致的用于在一组图像中检测交通灯 的示例处理500D的流程图。处理单元110可以执行单目图像分析模块402来 实现处理500D。在步骤560,处理单元110可以扫描该组图像,并识别出现 在图像中的可能包含交通灯的位置处的对象。例如,处理单元110可以过滤 所识别的对象来构造一组候选对象,排除不可能对应于交通灯的那些对象。 过滤可以基于与交通灯相关联的诸如形状、尺寸、纹理、位置(例如,相对于 车辆200)等之类的各种属性来进行。这种属性可以基于交通灯和交通控制信 号的多个示例并存储在数据库中。在一些实施例中,处理单元110可以对反 映可能的交通灯的该组候选对象执行多帧分析。例如,处理单元110可以跨 连续图像帧跟踪候选对象,估计候选对象的现实世界位置,并过滤掉那些移 动的对象(其不可能是交通灯)。在一些实施例中,处理单元110可以对候选 对象执行颜色分析,并识别出现在可能的交通灯内的所检测到的颜色的相对 位置。

在步骤562,处理单元110可以分析交叉口的几何形状。该分析可以基 于以下的任意组合:(i)在车辆200的任一侧检测到的车道的数量、(ii)在道 路上检测到的标记(如箭头标记)、和(iii)从地图数据(例如,来自地图数 据库160的数据)提取的交叉口的描述。处理单元110可以使用从单目分析 模块402的执行得到的信息来进行分析。此外,处理单元110可以确定在步 骤560中检测到的交通灯和在车辆200附近出现的车道之间的对应性。

在步骤564,随着车辆200接近交叉口,处理单元110可以更新与所分 析的交叉口几何形状和所检测到的交通灯相关联的置信度水平。例如,被估 计为出现在交叉口处的交通灯的数量与实际出现在交叉口处的交通灯的数量 比较可能影响置信度水平。因此,基于该置信度水平,处理单元110可以将 控制委托给车辆200的驾驶员以便改进安全条件。通过执行步骤560至564, 处理单元110可以识别出现在该组捕捉图像内的交通灯,并分析交叉口几何 形状信息。基于该识别和分析,处理单元110可以引起车辆200中一个或多 个导航响应,如以上结合图5A所描述的。

图5E是示出了与所公开的实施例一致的、用于基于车辆路径引起车辆 中的一个或多个导航响应的示例处理500E的流程图。在步骤570,处理单元 110可以构建与车辆200相关联的初始车辆路径。车辆路径可以使用以坐标 (x,z)表达的一组点来表示,并且该组点中两个点之间的距离d

在步骤572,处理单元110可以更新在步骤570构建的车辆路径。处理 单元110可以使用更高的分辨率来重建在步骤570构建的车辆路径,以使得 表示车辆路径的该组点中两个点之间的距离d

在步骤574,处理单元110可以基于在步骤572构建的更新的车辆路径 来确定前视点(look-ahead point)(以坐标表达为(x

在步骤576,处理单元110可以基于在步骤574中确定的前视点来确定 航向误差和横摆角速率命令。处理单元110可以通过计算前视点的反正切, 例如arctan(x

图5F是示出了与所公开的实施例一致的用于确定前方车辆是否正在改 变车道的示例处理500F的流程图。在步骤580,处理单元110可以确定与前 方车辆(例如,在车辆200前方行驶的车辆)相关联的导航信息。例如,处 理单元110可以使用以上结合图5A和图5B所描述的技术来确定前方车辆的 位置、速度(例如,方向和速率)和/或加速度。处理单元110还可以使用以 上结合图5E所描述的技术来确定一个或多个道路多项式、前视点(与车辆200相关联)和/或追踪轨迹(snail trail)(例如,描述前方车辆所采取的路径 的一组点)。

在步骤582,处理单元110可以分析在步骤580中确定的导航信息。在 一个实施例中,处理单元110可以计算追踪轨迹和道路多项式之间的距离(例 如,沿着该轨迹)。如果沿着该轨迹的这个距离的变化(variance)超过预定的 阈值(例如,在直路上0.1至0.2米,在适度弯曲道路上0.3至0.4米,以及 在急转弯道路上0.5至0.6米),则处理单元110可以确定前方车辆很可能正 在改变车道。在检测到多个车辆在车辆200前方行驶的情形中,处理单元110 可以比较与每个车辆相关联的追踪轨迹。基于该比较,处理单元110可以确 定追踪轨迹与其它车辆的追踪轨迹不匹配的车辆很可能正在改变车道。处理 单元110可以额外地将(与前方车辆相关联的)追踪轨迹的曲率与前方车辆 正在其中行驶的道路段的期望曲率相比较。该期望曲率可以从地图数据(例 如,来自地图数据库160的数据)、从道路多项式、从其它车辆的追踪轨迹、 从关于道路现有知识等提取。如果追踪轨迹的曲率和道路段的期望曲率的差 异超过预定的阈值,则处理单元110可以确定前方车辆很可能正在改变车道。

在另一个实施例中,处理单元110可以在特定时间段(例如,0.5至1.5 秒)将前方车辆的瞬时位置与(与车辆200相关联的)前视点相比较。如果 前方车辆的瞬时位置与前视点之间的距离在该特定时间段期间变化,并且变 化的累积总和超过预定阈值(例如,直路上0.3至0.4米,适度弯曲道路上0.7 至0.8米,以及急转弯道路上1.3至1.7米),则处理单元110可以确定前方 车辆很可能正在改变车道。在另一实施例中,处理单元110可以通过将沿着 追踪轨迹行驶的横向距离与该追踪轨迹的期望曲率相比较,来分析该追踪轨 迹的几何形状。期望曲率半径可以根据公式确定:(δ

在步骤584,处理单元110可以基于在步骤582进行的分析确定前方车 辆200是否正在改变车道。例如,处理单元110可以基于在步骤582执行的 各个分析的加权平均来做出该确定。在这种方案下,例如,由处理单元110基 于特定类型的分析做出的前方车辆很可能正在改变通道的决定可以被分配值 “1”(以及“0”用来表示前方车辆不太可能正在改变车道的确定)。在步骤582 中执行的不同分析可以被分配不同的权重,并且所公开的实施例不限于分析 和权重的任何特定组合。此外,在一些实施例中,所述分析可以利用经训练 的系统(例如,机器学习或深度学习系统),其可以例如基于在当前位置处捕 捉的图像来估计在车辆当前位置前方的未来路径。

图6是示出了与所公开的实施例一致的用于基于立体图像分析引起一个 或多个导航响应的示例处理600的流程图。在步骤610,处理单元110可以 经由数据接口128接收第一和第二多个图像。例如,被包含在图像获取单元 120的相机(诸如具有视场202和204的图像捕捉设备122和124)可以捕捉 在车辆200前方的区域的第一和第二多个图像,并经过数字连接(例如,USB、 无线、蓝牙等)将它们传输到处理单元110。在一些实施例中,处理单元110 可以经由两个或更多个数据接口接收该第一和第二多个图像。所公开的实施 例不限于任何特定的数据接口配置或协议。

在步骤620,处理单元110可以执行立体图像分析模块404来执行对第 一和第二多个图像的立体图像分析,以创建在车辆前方的道路的3D地图并 检测图像内的特征,诸如车道标记、车辆、行人、道路标志、高速公路出口坡 道、交通灯、道路危险等。立体图像分析可以以类似于以上结合图5A-图5D 描述的步骤的方式来执行。例如,处理单元110可以执行立体图像分析模块 404以在第一和第二多个图像内检测候选对象(例如,车辆、行人、道路标记、 交通灯、道路危险等),基于各种标准过滤掉候选对象的子集,并对剩余的候 选对象执行多帧分析、构建测量、并确定置信度水平。在执行上述步骤中,处 理单元110可以考虑来自第一和第二多个图像二者的信息,而不是来自单独 一组图像的信息。例如,处理单元110可以分析出现在第一和第二多个图像 二者中的候选对象的像素级数据(或来自捕捉图像的两个流中的其它数据子 集)的差异。作为另一示例,处理单元110可以通过观察候选对象在多个图 像的一个中出现而未在另一个中出现,或相对于可能相对于出现在两个图像 流中的对象而存在的其它差异,来估计候选对象(例如,相对于车辆200)的 位置和/或速度。例如,可以基于与出现在图像流中的一个或两者中的对象相 关联的轨迹、位置、移动特性等特征,来确定相对于车辆200的位置、速度 和/或加速度。

在步骤630中,处理单元110可以执行导航响应模块408,以基于在步 骤620中执行的分析和如以上结合图4所描述的技术而引起车辆200中的一 个或多个导航响应。导航响应可以包括例如转向、车道变换、加速度的改变、 速度的改变、制动等。在一些实施例中,处理单元110可以使用从速度和加 速度模块406的执行得到的数据来引起该一个或多个导航响应。此外,多个 导航响应可以同时地、按照顺序地、或以其任意组合而发生。

图7是示出了与所公开的实施例一致的用于基于对三组图像的分析来引 起一个或多个导航响应的示例处理700的流程图。在步骤710中,处理单元 110可以经由数据接口128接收第一、第二和第三多个图像。例如,被包含在 图像获取单元120的相机(诸如具有视场202、204和206的图像捕捉设备 122、124和126)可以捕捉在车辆200前方和/或侧方的区域的第一、第二和 第三多个图像,并且经过数字连接(例如,USB、无线、蓝牙等)将它们传输到处理单元110。在一些实施例中,处理单元110可以经由三个或更多个数据 接口接收第一、第二和第三多个图像。例如,图像捕捉设备122、124、126的 每个可以具有用于向处理单元110传送数据的相关联的数据接口。所公开的 实施例不限于任何特定的数据接口配置或协议。

在步骤720,处理单元110可以分析该第一、第二和第三多个图像以检 测图像内的特征,诸如车道标记、车辆、行人、道路标志、高速公路出口坡 道、交通灯、道路危险等。该分析可以以类似于以上结合图5A-图5D和图6 所描述的步骤的方式来执行。例如,处理单元110可以对第一、第二和第三 多个图像的每个执行单目图像分析(例如,经由单目图像分析模块402的执 行以及基于以上结合图5A-图5D所描述的步骤)。可替代地,处理单元110 可对第一和第二多个图像、第二和第三多个图像、和/或第一和第三多个图像 执行立体图像分析(例如,经由立体图像分析模块404的执行以及基于以上 结合图6所描述的步骤)。与对第一、第二和/或第三多个图像的分析相对应 的处理后的信息可以进行组合。在一些实施例中,处理单元110可以执行单 目和立体图像分析的组合。例如,处理单元110可以对第一多个图像执行单 目图像分析(例如,经由单目图像分析模块402的执行)并且对第二和第三多个图像执行立体图像分析(例如,经由立体图像分析模块404的执行)。图 像捕捉设备122、124和126的配置—包括它们各自的位置和视场202、204 和206—可以影响对第一、第二和第三多个图像进行的分析的类型。所公开的 实施例不限于图像捕捉设备122、124和126的特定配置或对第一、第二和第 三多个图像进行的分析的类型。

在一些实施例中,处理单元110可以基于在步骤710和720所获取和分 析的图像对系统100执行测试。这种测试可以提供对于图像获取设备122、 124和126的某些配置的系统100的整体性能的指示符。例如,处理单元110 可以确定“伪命中”(例如,系统100不正确地确定车辆或行人的存在的情况) 和“漏掉”的比例。

在步骤730,处理单元110可以基于从第一、第二和第三多个图像中的 两个得到的信息引起车辆200中的一个或多个导航响应。对第一、第二和第 三多个图像中的两个的选择可以取决于各种因素,诸如例如在多个图像的每 个中检测到的对象的数量、类型和大小。处理单元110还可以基于图像质量 和分辨率、图像中反映的有效视场、捕捉的帧的数量、一个或多个感兴趣的 对象实际出现在帧中的程度(例如,其中出现有对象的帧的百分比、出现在 每个这种帧中的对象的比例)等进行选择。

在一些实施例中,处理单元110可以通过确定从一个图像源得到的信息 与从其它图像源得到的信息的相一致的程度,对从第一、第二和第三多个图 像中的两个得到的信息进行选择。例如,处理单元110可以将从图像捕捉设 备122、124和126的每个得到的处理后的信息组合(无论通过单目分析、立 体分析、还是两者的任意组合),并确定在从图像捕捉设备122、124和126 的每个捕捉到的图像之间相一致的视觉指示符(例如,车道标记、检测到的 车辆及其位置和/或路径、检测到的交通灯等)。处理单元110还可以排除在捕 捉到的图像之间不一致的信息(例如,正改变车道的车辆、指示车辆太靠近 车辆200的车道模型等)。因此,处理单元110可以基于对相一致和不一致的 信息的确定,来选择从第一、第二和第三多个图像的两个得到的信息。

导航响应可以包括例如转向、车道变换、加速度的改变等。处理单元110 可以基于在步骤720所执行的分析和如以上结合图4所描述的技术引起一个 或多个导航响应。处理单元110还可以使用从速度和加速度模块406的执行 得到的数据引起一个或多个导航响应。在一些实施例中,处理单元110可以 基于在车辆200与在第一、第二和第三多个图像的任一者内检测到的对象之 间的相对位置、相对速度和/或相对加速度来引起一个或多个导航响应。多个 导航响应可以同时地、按顺序地或以其任意组合而发生。

下面的部分讨论自主驾驶以及用于完成车辆的自主控制的系统和方法, 无论该控制是完全自主的(自驾驶车辆)还是部分自主的(例如,一个或多个 驾驶员辅助系统或功能)。如图8所示,自主驾驶任务可以被划分为三个主要 模块,包括感测模块801、驾驶策略模块803和控制模块805。在一些实施例 中,模块801、803和805可以被存储在系统100的存储器单元140和/或存 储器单元150中,或者模块801、803和805(或其中的部分)可以远离系统 100而被存储(例如,存储在系统100经由例如无线收发器172可访问的服 务器中)。此外,本文公开的任何模块(例如,模块801、803和805)可以实 施与经训练的系统(诸如神经网络或深度神经网络)或未经训练的系统相关 联的技术。

可以使用处理单元110实施的感测模块801可以处理与感测主车辆的环 境中的导航状态有关的各种任务。这些任务可以依赖于来自与主车辆相关联 的各种传感器和感测系统的输入。这些输入可以包括来自一个或多个车载相 机的图像或图像流、GPS位置信息、加速度计输出、用户反馈或对一个或多 个用户接口设备的用户输入、雷达、激光雷达等。可以包括来自相机和/或任 何其他可用的传感器的数据以及地图信息的感测可以被收集、分析并且制定 成“感测到的状态”,该感测到的状态描述从主车辆的环境中的场景提取的信息。该感测到的状态可以包括与目标车辆、车道标记、行人、交通灯、道路几 何形状、车道形状、障碍物、到其他对象/车辆的距离、相对速度、相对加速 度有关的感测到的信息,以及任何其他潜在的感测到的信息。可以实施监督 式机器学习,以便基于提供给感测模块801的感测到的数据产生感测状态输 出。感测模块的输出可以表示主车辆的感测到的导航“状态”,其可以被传递 至驾驶策略模块803。

尽管可以基于从与主车辆相关联的一个或多个相机或图像传感器接收的 图像数据产生感测到的状态,但是还可以使用任何合适的传感器或传感器组 合来产生在导航中使用的感测到的状态。在一些实施例中,可以在不依赖捕 捉的图像数据的情况下产生感测到的状态。实际上,本文描述的任何导航原 理可应用于基于捕捉的图像数据产生的感测到的状态以及使用其他基于非图 像的传感器产生的感测到的状态。感测到的状态还可以经由主车辆外部的源 来确定。例如,可以全部或部分地基于从远离主车辆的源接收的信息(例如, 基于从其他车辆共享的、从中央服务器共享的、或来自与主车辆的导航状态 有关的任何其他信息源的传感器信息、经处理的状态信息等),来产生感测到 的状态。

驾驶策略模块803(在下文作更详细地讨论并且可以使用处理单元110来 实施)可以实施期望的驾驶策略,以便响应于感测到的导航状态决定主车辆 要采取的一个或多个导航动作。如果在主车辆的环境中不存在其他作用者(agent)(例如,目标车辆或行人),则可以以相对直接的方式处理输入到驾 驶策略模块803的感测到的状态。当感测到的状态需要与一个或多个其他作 用者进行协商时,任务变得更加复杂。用于生成驾驶策略模块803的输出的 技术可以包括强化学习(下文更详细地讨论)。驾驶策略模块803的输出可以 包括主车辆的至少一个导航动作,并且可以包括期望的加速度(其可以转化 为主车辆的更新的速度)、主车辆的期望横摆率、期望的轨迹、以及其他潜在 的期望导航动作。

基于来自驾驶策略模块803的输出,同样可以使用处理单元110实施的 控制模块805可以产生用于与主车辆相关联的一个或多个致动器或受控设备 的控制指令。这种致动器和设备可以包括加速器、一个或多个转向控制器、 制动器、信号传输器、显示器或可以作为与主车辆相关联的导航操作的一部 分而被控制的任何其它致动器或设备。控制理论的方面可以被用来生成控制 模块805的输出。控制模块805可以负责产生并且输出指令至主车辆的可控 组件,以便实施驾驶策略模块803的期望的导航目标或要求。

回到驾驶策略模块803,在一些实施例中,可以使用通过强化学习训练的 经训练的系统来实施驾驶策略模块803。在其他实施例中,驾驶策略模块803 可以在不用机器学习方法的情况下、通过使用指定的算法来“手动”解决自主 导航期间可能出现的各种情景来实施。然而,这种方法虽然可行,但可能导 致驾驶策略过于简单化,并且可能缺乏基于机器学习的经训练的系统的灵活 性。例如,经训练的系统可能会更好地配备来处理复杂的导航状态,并且可 以更好地确定出租车是在停车还是停下车来接/送乘客;确定行人是否意图穿 过主车辆前的街道;防御性地平衡其他驾驶员的意外行为;在牵涉目标车辆 和/或行人的密集交通中协商;决定何时暂停(suspend)某些导航规则或增强 (augment)其他规则;预期未感测到但预期到的状况(例如,行人是否会从 汽车或障碍物后面冒出);等等。基于强化学习的经训练的系统还可以更好地 配备来解决连续且高维度的状态空间以及连续的动作空间。

使用强化学习对系统进行训练可以涉及学习驾驶策略,以便从感测到的 状态映射到导航动作。驾驶策略是函数π:S→A,其中S是一组状态,而

可以通过暴露于各种导航状态,使该系统应用该策略,提供奖励(基于 被设计为奖励期望导航行为的奖励函数),来训练该系统。基于奖励反馈,该 系统可以“学习”该策略,并且变得在产生期望导航动作方面是经训练的。例 如,学习系统可以观察当前状态s

强化学习(RL)的目标是找到策略π。通常假设:在时间t处,存在奖 励函数r

代替将时间范围限定为T,可以对未来奖励打折扣(discount),以对于一 些固定的γ∈(0,1),定义:

在任何情况下,最佳策略是下式的解:

其中,期望(expectation)在初始状态s之上。

有若干种可能用于训练驾驶策略系统的方法。例如,可以使用模仿 (imitation)方法(例如,行为克隆),在该方法中,系统从状态/动作对中学 习,其中动作是好的作用者(例如,人类)响应于特定的观察到的状态而会选 择的那些动作。假设观察人类驾驶员。通过这个观察,许多形式为(s

可以采用的另一种技术是基于策略的学习。此处,可以以参数形式来表 达策略,并且使用合适的优化技术(例如,随机梯度下降)直接对策略进行优 化。该方法是直接对以

系统还可以通过基于值的学习(学习Q或V函数)来训练。假设,良好 近似能够学习到最佳值函数V*。可以构建最佳策略(例如,依靠贝尔曼方程 (Bellman equation))。有些版本的基于值的学习可以离线实施(称为“离线策 略”训练)。基于值的方法的一些缺点可能是由于其强烈依赖于马尔可夫假设 (Markovian assumptions)以及需要对复杂函数的近似(相比直接对策略近似, 对值函数的近似可能更难)。

另一种技术可以包括基于模型的学习和规划(学习状态转换的概率并对 寻找最优V的优化问题求解)。这些技术的组合也可以用来训练学习系统。在 这种方法中,可以学习过程的动态性,即,采取(s

用于训练驾驶策略模块803的另一种方法可以包括将驾驶策略函数分解 为语义上有意义的分量。这允许手动实施该策略的某些部分,这可以确保策 略的安全性;并且可以使用强化学习技术来实施策略的其他部分,这可以适 应性地实现于许多情景、防御性/侵略性行为之间的类似于人的平衡、以及与 其他驾驶员的类似于人的协商。从技术角度而言,强化学习方法可以结合几 种方法,并提供易于操作的训练程序,其中大部分训练可以使用记录的数据 或自行构建的模拟器来执行。

在一些实施例中,驾驶策略模块803的训练可以依赖于“选项”机制。为 了说明,考虑双车道高速公路的驾驶策略的简单情景。在直接RL方法中,策 略π将状态映射到

自动巡航控制(ACC)策略,o

ACC+左策略,o

ACC+右策略,o

这些策略可以被称为“选项”。依靠这些“选项”,可以学习选择了选项的 策略π

实践中,策略函数可以被分解为选项图901,如图9所示。图10中示出 了另一个示例选项图1000。选项图可以表示被组织为有向非循环图(DAG) 的分层决策集。存在一个称为图的根(root)节点903的特殊节点。该节点不 具有进入(incoming)节点。决策过程从根节点开始遍历整个图,直到其到达 “叶”节点,该叶节点是指没有外出(outgoing)决策线的节点。如图9所示, 叶节点可以包括例如节点905、907和909。在遇到叶节点时,驾驶策略模块 803可以输出与期望导航动作相关联的加速和转向命令,该期望导航动作与 叶节点相关联。

内部节点(诸如节点911、913和915)例如可引起一策略的实施,该策 略在其可用选项中选择子代(child)。内部节点的可用子代的集合包括经由决 策线与特定内部节点相关联的所有节点。例如,图9中被指定为“并道(merge)” 的内部节点913包括各自通过决策线与节点913相连的三个子代节点909、915和917(分别为“保持”、“右超车”和“左超车”)。

可以通过使节点能够调节其在选项图的层级中的位置而获得决策制定系 统的灵活性。例如,可以允许任何节点声明自己为“关键(critical)”。每个节 点可以实施“是关键的(is critical)”的函数,如果节点处于其策略实施的关键 部分,则该函数输出“真”。例如,负责超车的节点可以在操纵中途声明自己为 关键。这可对节点u的可用子代的集合施加约束,该节点u的可用子代可以 包括作为节点u的子代的所有节点v,并且存在从v到叶节点的经过所有被 指定为关键的节点的路径。一方面,这种方法可以允许在每个时间步长在图 上声明期望路径,同时另一方面,可以保留策略的稳定性,特别是在策略的 关键部分正在被实施之时。

通过定义选项图,学习驾驶策略π:S→A的问题可以被分解成为图中的 每个节点定义策略的问题,其中内部节点处的策略应当从可用的子代节点之 中进行选择。对于一些节点,相应的策略可以手动实现(例如,通过如果-则 (if-then)类型算法来指定响应于观察到的状态的一组动作),而对于其他策 略可以使用通过强化学习构建的经训练的系统来实施。手动或经训练/学习的 方法之间的选择可以取决于与任务相关联的安全方面以及取决于其相对简单 性。可以以使得一些节点直接实施、而其他节点可以依赖于经训练的模型的 方式,来构建选项图。这种方法可以确保系统的安全运行。

以下讨论提供了关于在驾驶策略模块803内的如图9中的选项图的作用 的进一步细节。如上所述,对驾驶策略模块的输入是“感测到的状态”,其概括 了环境图,例如,从可用的传感器获得的。驾驶策略模块803的输出是一组 期望(可选地连同一组硬性约束),该组期望将轨迹定义为对优化问题的解。

如上所述,选项图表示被组织为DAG的分层决策集。存在称为图的“根” 的特殊节点。根节点是没有进入边(例如,决策线)的唯一节点。决策过程从 根节点开始遍历该图,直到其到达“叶”节点,所述叶节点即没有外出边的节 点。每个内部节点应当实施在其可用的子代之中挑选一个子代的策略。每个 叶节点应实施基于从根到叶的整个路径定义了一组期望(例如,主车辆的一 组导航目标)的策略。基于感测到的状态而被直接定义的该组期望连同一组 硬性约束一起建立了优化问题,该优化问题的解是车辆的轨迹。可以采用硬 性约束来进一步提高系统的安全性,并且该期望可以用于提供系统的驾驶舒 适性和类似于人的驾驶行为。作为优化问题的解而提供的轨迹进而定义了应 该提供给转向、制动和/或引擎致动器的命令,以便完成该轨迹。

返回图9,选项图901表示双车道高速公路的选项图,包括并入车道(意 味着在某些点,第三车道并入到高速公路的右侧车道或左侧车道中)。根节点 903首先决定主车辆是处于普通道路情景还是接近并道情景。这是可以基于 感测状态而实施的决策的示例。普通道路节点911包括三个子节点:保持节 点909、左超车节点917和右超车节点915。保持是指主车辆想要继续在相同 车道中行驶的情况。保持节点是叶节点(没有外出边/线)。因此,保持节点定 义了一组期望。其定义的第一个期望可以包括期望的横向位置——例如,尽 可能靠近当前行驶车道的中心。还可以期望平稳地导航(例如,在预定的或 允许的加速度最大值内)。保持节点还可以定义主车辆如何对其他车辆作出反 应。例如,保持节点可以查看感测到的目标车辆并且为每个车辆分配语义含 义,该语义含义可以被转换成轨迹的分量。

各种语义含义可以被分配给主车辆的环境中的目标车辆。例如,在一些 实施例中,语义含义可以包括以下指定中的任何指定:1)不相关:指示场景 中感测到的车辆当前不相关;2)下一车道:指示感测到的车辆在相邻车道中 并且相对于该车辆应当保持适当的偏移(精确的偏移可以在优化问题中计算, 该优化问题在给定期望和硬性约束下构建轨迹,并且该精确的偏移可以潜在 地是取决于车辆的——选项图的保持叶设定目标车辆的语义类型,其定义相 对于目标车辆的期望);3)让路:主车辆将尝试通过例如降低速度(特别是在 主车辆确定目标车辆可能切入主车辆的车道的情况下)让路给感测到的目标 车辆;4)占道(take way):主车辆将尝试通过例如增加速度占用路权;5) 跟随:主车辆期望跟随在该目标车辆后保持平稳驾驶;6)左/右超车:这意味 着主车辆想要发起到左或右车道的变道。左超车节点917和左超车节点915 是尚未定义期望的内部节点。

选项图901中的下一个节点是选择间隙节点919。该节点可以负责选择 主车辆期望进入的特定目标车道中的两个目标车辆之间的间隙。通过选择形 式IDj的节点,对于j的某个值,主车辆到达为轨迹优化问题指定了期望的叶 ——例如,主车辆希望进行操纵以便到达所选择的间隙。这种操纵可能涉及 首先在当前车道加速/制动,然后在适当的时间前往目标车道以进入所选择的 间隙。如果选择间隙节点919不能找到适当的间隙,则其移动到中止节点921, 所述中止节点921定义了回到当前车道的中心并取消超车的期望。

返回到并道节点913,当主车辆接近并道时,其具有可取决于特定情况 的若干选项。例如,如图11A所示,主车辆1105沿着双车道道路行驶,其中 在双车道道路的主车道或并入车道1111中没有检测到其他目标车辆。在这种 情况下,驾驶策略模块803在到达并道节点913时可以选择保持节点909。 也就是说,在没有目标车辆被感测为并道到道路上的情况下,可以期望保持 在其当前车道内。

在图11B中,情况稍有不同。此处,主车辆1105感测从并入车道1111 进入主要道路1112的一个或多个目标车辆1107。在这种情况下,一旦驾驶策 略模块803遇到并道节点913,它可以选择发起左超车操纵,以避免并道情 况。

在图11C中,主车辆1105遇到从并入车道1111进入主要道路1112的一 个或多个目标车辆1107。主车辆1105还检测在与主车辆的车道相邻的车道 中行驶的目标车辆1109。主车辆还检测到在与主车辆1105相同的车道上行 驶的一个或多个目标车辆1110。在这种情况下,驾驶策略模块803可以决定 调节主车辆1105的速率,以为目标车辆1107让路并且行进在目标车辆1115 前面。这可以例如通过以下方式来实现:进行到选择间隙节点919,该间隙节 点919进而将选择ID0(车辆1107)和ID1(车辆1115)之间的间隙作为适 当的并道间隙。在这种情况下,并道情况的适当间隙定义了轨迹规划器优化 问题的目标。

如上所述,选项图的节点可以将其自己声明为“关键”,这可以确保所选 择的选项通过关键节点。形式上,每个节点可以实施IsCritical函数。在选项 图上从根到叶执行正向传递,并且对轨迹规划器的优化问题求解之后,可以 从叶返回到根执行反向传递。沿着这个反向传递,可以调用传递中所有节点 的IsCritical函数,并且可以保存所有关键节点的列表。在对应于下一时间帧 的正向路径中,可能需要驾驶策略模块803选择从根节点到叶的经过所有关 键节点的路径。

图11A至图11C可用于显示该方法的潜在益处。例如,在发起超车动作 并且驾驶策略模块803到达对应于IDk的叶的情况下,例如当主车辆处于超 车操纵的中途时,选择保持节点909将会是不期望的。为了避免这种跳动, IDj节点可以将其自己指定为关键。在操纵期间,可以监视轨迹规划器的成功, 并且如果超车操纵按预期进行,则函数IsCritical将返回“真”值。此方法可以 确保在下一时间帧内,超车操纵将继续(而不是在完成最初选择的操纵之前 跳到另一个潜在不一致的操纵)。另一方面,如果对操纵的监视指示所选择的操纵没有按预期进行,或者如果操纵变得不必要或不可能,则IsCritical函数 可以返回“假”值。这可以允许选择间隙节点在下一时间帧中选择不同的间隙, 或完全中止超车操纵。此方法一方面可以允许在每个时间步长在选项图上声 明期望的路径,同时在另一方面,可以在执行的关键部分时帮助提高策略的 稳定性。

硬性约束可以与导航期望不同,这将在下面更详细地讨论。例如,硬性 约束可以通过对规划的导航动作应用附加的过滤层来确保安全驾驶。可以根 据感测到的状态来确定所涉及的硬性约束,所述硬性约束可以被手动地编程 和定义,而不是通过使用基于强化学习建立的经训练的系统。然而,在一些 实施例中,经训练的系统可以学习要应用和遵循的可适用的硬性约束。这种 方法可以促使驾驶策略模块803到达已经符合可适用的硬性约束的所选动作, 这可以减少或消除可能需要之后修改以符合可适用的硬性约束的所选动作。 尽管如此,作为冗余安全措施,即使在驾驶策略模块803已经被训练以应对 预定硬性约束的情况下,也可以对驾驶策略模块803的输出应用硬性约束。

存在许多潜在的硬性约束的示例。例如,可以结合道路边缘上的护栏来 定义硬性约束。在任何情况下,均不允许主车辆通过护栏。这种规则对主车 辆的轨迹产生了硬性横向约束。硬性约束的另一个示例可以包括道路颠簸(例 如,速率控制颠簸),其可以在颠簸之前以及正穿过颠簸时引起对驾驶速度的 硬性约束。硬性约束可以被认为是安全关键的,因此可以手动定义,而不是 仅仅依靠在训练期间学习约束的经训练的系统。

与硬性约束相比,期望的目标可以是实现或达到舒适的驾驶。如以上所 讨论的,期望的示例可以包括将主车辆置于车道内的与主车辆车道的中心对 应的横向位置处的目标。另一个期望可能包括适合进入的间隙的ID。注意, 主车辆不需要精确地处于车道中心,而是,尽可能靠近它的期望可以确保, 即使在偏离车道中心的情况下,主车辆也倾向于迁移到车道的中心。期望可 以不是安全关键的。在一些实施例中,期望可能需要与其他驾驶员和行人协 商。构建期望的一种方法可以依赖于选项图,并且在图的至少一些节点中实现的策略可以基于强化学习。

对于实现为基于学习训练的节点的选项图901或1000的节点,训练过 程可以包括将问题分解成监督式学习阶段和强化学习阶段。在监督式学习阶 段,可以学习从(s

在某些情景下可以提供的重要元素是从未来损失/奖励回到对动作的决 策的可微路径。通过选项图结构,涉及安全约束的选项的实现通常是不可微 的。为了克服这个问题,对学习的策略节点中的子代的选择可以是随机的。 也就是说,节点可以输出概率向量p,其分配用于选择特定节点的每个子代的 概率。假设节点有k个子代,并令a

对于给定s

此外,在一些实施例中,系统可以实施多作用者的方法。例如,该系统 可以考虑来自各种源的数据和/或从多个角度捕捉的图像。此外,一些公开的 实施例可以提供能量的经济性,因为可以考虑不直接涉及主车辆但对主车辆 可能产生影响的事件的预期,或者甚至对可能导致涉及其他车辆的不可预测 情况的事件的预期可以是考虑因素(例如,雷达可能会“看穿(see through)” 前方车辆以及不可避免的预期、或者甚至将影响主车辆的事件的高可能性)。

在自主驾驶的情况下,重要关注的是如何确保经训练的导航网络的经学 习的策略是安全的。在一些实施例中,可以使用约束来训练驾驶策略系统, 使得由经训练的系统选择的动作已经可以应对(account for)可适用的安全约 束。另外,在一些实施例中,可以通过将经训练的系统的所选动作传递经过 主车辆的环境中的特定的感测到的场景所涉及的一个或多个硬性约束,来提 供额外的安全层。这种方法可以确保主车辆采取的动作仅限于被确认为满足 可适用的安全约束的那些动作。

在其核心,导航系统可以包括基于将观察到的状态映射到一个或多个期 望动作的策略函数的学习算法。在一些实施方式中,学习算法是深度学习算 法。期望动作可以包括预期使车辆的预期奖励最大化的至少一个动作。虽然 在一些情况下,车辆采取的实际动作可以对应于期望动作中的一个,但是在 其他情况下,可以基于观察到的状态、一个或多个期望动作和对学习导航引 擎施加的非学习的硬性约束(例如,安全约束)来确定采取的实际动作。这些 约束可以包括围绕各种类型的检测到的对象(例如,目标车辆、行人、道路侧 或道路上的静止对象、道路侧或道路上的移动对象、护栏等等)的禁止驾驶 区。在一些情况下,该区的大小可以基于检测到的对象的检测到的运动(例 如,速率和/或方向)而变化。其他约束可以包括在行人的影响区内穿行时的 最大行驶速度、最大减速率(来应对主车辆后方的目标车辆间距)、在感测到 的人行横道或铁路道口处的强制停止等。

与通过机器学习训练的系统结合使用的硬性约束可以在自主驾驶中提供 一定程度的安全性,其可以超过仅基于经训练的系统的输出可达到的安全性 程度。例如,可以使用期望的一组约束作为训练指导来训练机器学习系统, 并且因此,经训练的系统可以响应于感测到的导航状态而选择动作,该动作 应对并遵守可适用的导航约束的限制。然而,经训练的系统在选择导航动作 方面仍具有一定的灵活性,并且因此,至少在某些情况下,由经训练的系统 选择的动作可以不严格遵守相关的导航约束。因此,为了要求所选动作严格遵守相关的导航约束,可以使用在学习/经训练的框架之外的、保证严格适用 相关的导航约束的非机器学习组件对经训练的系统的输出进行组合、比较、 过滤、调节、修改等。

以下讨论提供了关于经训练的系统以及从将经训练的系统与经训练的/ 学习框架外的算法组件组合收集的潜在益处(特别是从安全角度而言)的附 加细节。如前所述,可以通过随机梯度上升来优化策略的强化学习目标。目 标(例如,预期奖励)可以被定义为

涉及期望的目标可以用于机器学习情景中。然而,这样的目标,在不受 限于导航约束的情况下,可能不会返回严格受限于这些约束的动作。例如, 考虑一奖励函数,其中,

观察到,事故对

引理:令π

其中,最终近似适用于r≥1/p的情况。

该讨论表明,形式为

如图11D所示,双并道导航情况提供了进一步示出这些概念的示例。在 双并道中,车辆从左侧和右侧两侧接近并道区域1130。并且,来自各侧的车 辆(诸如车辆1133或车辆1135)可以决定是否并道至并道区域1130的另一 侧的车道中。在繁忙交通中成功执行双并道可能需要显著的协商技巧和经验, 并且可能难以通过枚举场景中所有作用者可能采取的所有可能的轨迹而以启 发式或蛮力方法来执行。在该双并道的示例中,可以定义适合于双并道操纵 的一组期望

下面描述了一组期望

给定期望的速率υ∈[0,υ

给定期望的横向位置l∈L,与期望的横向位置相关联的代价为

其中dist(x,y,1)是从点(x,y)到车道位置l的距离。关于由于其他车辆导 致的代价,对于任何其他车辆,(x′

同样,如果另一汽车被分类为“占道”,可以期望τj>τi+0.5,其可以 转化为代价[τ(i-j)+0.5]

为这些代价中的每一个分配权重可以为轨迹规划器提供单个目标函数 π

总而言之,策略π

以下讨论描述从不可知状态到该组期望的映射。如上所述,为了符合功 能性安全,仅依靠强化学习的系统可能遭受关于奖励

出于各种原因,决策制定可以被进一步分解为语义上有意义的分量。例 如,

回到选项图的概念,图11E中示出了可以表示图11D中描绘的双并道情 景的选项图。如前所述,选项图可以表示组织为有向非循环图(DAG)的分 层决策集。在该图中可能存在被称为“根”节点1140的特殊节点,该节点可以 是没有进入边(例如,决策线)的唯一节点。决策过程可以从根节点开始遍历 该图,直到其到达“叶”节点,即,没有外出边的节点。每个内部节点可以实施 从其可用子代中选择一子代的策略函数。可以存在从选项图上的一组遍历到 一组期望

在图11E中的双并道选项图1139中,根节点1140可首先判定主车辆是 否在并道区域内(例如,图11D中的区域1130),或者主车辆是否正在接近 并道区域并且需要为可能的并道做准备。在这两种情况下,主车辆可能需要 决定是否改变车道(例如,向左或向右)或是否保持在当前车道中。如果主车 辆已决定改变车道,则主车辆可能需要决定条件是否适合继续并执行车道改 变操纵(例如,在“继续”节点1142处)。如果不可能改变车道,则主车辆可以 试图通过以处于车道标记上为目标,而朝着期望的车道“推进”(例如,在节点 1144处,作为与期望车道中的车辆的协商的一部分)。替代地,主车辆可以选 择“保持”在同一车道中(例如,在节点1146处)。这种过程可以以自然的方式 确定主车辆的横向位置。例如,

这可以实现以自然的方式确定期望的横向位置。例如,如果主车辆将车 道从车道2改变为车道3,则“继续”节点可以将期望的横向位置设置为3,“保 持”节点可以将期望的横向位置设置为2,而“推进”节点可以将期望的横向位 置设置为2.5。接下来,主车辆可以决定是维持“相同”速率(节点1148)、“加 速”(节点1150)或是“减速”(节点1152)。接下来,主车辆可以进入超越其 他车辆并且将它们的语义含义设置为集合{g,t,o}中的值的“链状”结构1154。 这个过程可以设置相对于其他车辆的期望。该链中所有节点的参数可以共享 (类似于循环神经网络)。

选项的潜在益处是结果的可解释性。另一个潜在益处在于可以依赖集合

如上所述,双并道场景中片段的长度可以大致为T=250个步长。这样 的值(或取决于特定的导航情景的任何其他合适的值)可以提供足够的时间 来看到主车辆动作的后果(例如,如果主车辆决定改变车道作为并道的准备, 主车辆仅在成功完成并道后才能看到益处)。另一方面,由于驾驶的动态性, 主车辆必须以足够快的频率(例如,在上述情况下为10Hz)做出决策。

选项图可以以至少两种方式实现降低T的有效值。首先,给定更高等级 的决策,可以为较低等级的决策定义奖励,同时考虑较短的片段。例如,当主 车辆已经选择了“车道改变”和“继续”节点时,通过观看2至3秒的片段(意 味着T变为20-30,而不是250),可以学习用于为车辆分配语义含义的策略。 其次,对于高等级决策(诸如是否改变车道或保持在同一车道),主车辆可能 不需要每0.1秒做出决策。替代地,主车辆能够以较低频率(例如,每秒)作 出决策,或者实现“选项终止”功能,然后可以仅在每次选项终止之后计算梯 度。在这两种情况下,T的有效值可能比其原始值小一个数量级。总而言之, 每个节点的估计器可以取决于T的值,其比原来的250个步长小一个数量级, 这可能会立即转到一个较小的方差。

如上所述,硬性约束可以促进更安全的驾驶,并且可以存在几种不同类 型的约束。例如,可以直接根据感测状态定义静态硬性约束。这些硬性约束 可包括在主车辆的环境内的减速带、速率限制、道路弯曲、交叉口等,其可能 涉及对车辆速率、航向、加速、制动(减速)等的一个或多个约束。静态硬性 约束可能还包括语义上的自由空间,其中,例如,主车辆被禁止驶出自由空 间之外,以及被禁止太靠近物理障碍行驶。静态硬性约束还可以限制(例如, 禁止)不符合车辆的运动学运动的各个方面的操纵,例如,可以使用静态硬 性约束来禁止可能导致主车辆翻转、滑动或者其他失去控制的操纵。

硬性约束还可以与车辆相关联。例如,可以采用一约束,该约束要求车 辆保持到其他车辆的至少一米的纵向距离和到其他车辆的至少0.5米的横向 距离。还可以应用约束,使得主车辆将避免保持与一个或多个其他车辆的碰 撞路线。例如,时间τ可以是基于特定场景的时间度量。可以从当前时间到 时间τ考虑主车辆和一个或多个其他车辆的预测轨迹。在两条轨迹相交的情 况下,

主车辆和一个或多个其他车辆的轨迹被追踪的时间量τ可以变化。然而, 在交叉口情景中,速率可能更低,τ可能更长,并且τ可以被定义为使得主车 辆将在小于τ秒内进入和离开交叉口。

当然,对车辆轨迹应用硬性约束要求预测那些车辆的轨迹。对于主车辆 而言,轨迹预测可能相对直接,因为主车辆通常已经理解并且事实上正在在 任何给定时间对预期轨迹进行规划。相对于其他车辆,预测它们的轨迹可能 不那么直接。对于其他车辆而言,用于确定预测轨迹的基线计算可能依赖于 其他车辆的当前速率和航向,例如,如基于对由主车辆上的一个或多个相机 和/或其他传感器(雷达、激光雷达、声学等)捕捉的图像流的分析所确定的。

然而,可能存在一些例外,其可以简化问题或者至少提供在针对另一车 辆预测的轨迹中的增加的置信度。例如,对于存在车道指示的结构化道路以 及可能存在让路规则的情况,其他车辆的轨迹可以至少部分地基于其他车辆 相对于车道的位置以及基于可适用的让路规则。因此,在一些情况下,当观 察到车道结构时,可以假设下一车道的车辆将遵守车道边界。也就是说,主 车辆可以假设下一车道的车辆将保持在其车道中,除非观察到指示下一车道 的车辆将切入主车辆的车道中的证据(例如,信号灯、强的横向运动、跨车道边界的移动)。

其他情况也可以提供关于其他车辆的预期轨迹的线索。例如,在主车辆 可以有路权的停车标志、交通灯、环形道等处,可以假设其他车辆将遵守该 路权。因此,除非观察到违反规则的证据,否则可以假设其他车辆沿着遵守 主车辆拥有的路权的轨迹继续前进。

还可以相对于主车辆环境中的行人应用硬性约束。例如,可以相对于行 人建立缓冲距离,使得禁止主车辆相对于任何观察到的行人比规定的缓冲距 离更近地行驶。行人缓冲距离可以是任何合适的距离。在一些实施例中,缓 冲距离可以是相对于观察到的行人至少一米。

类似于带有车辆的情况,还可以相对于行人与主车辆之间的相对运动来 应用硬性约束。例如,可以相对于主车辆的预计轨迹来监视行人的轨迹(基 于航向和速率)。给定特定的行人轨迹,其中对于轨迹上的每个点p,t(p)可以 表示行人到达点p所需的时间。为了保持距行人至少1米的所需的缓冲距离, t(p)必须大于主车辆将到达点p的时间(具有足够的时间差,使得主车辆在行 人的前方以至少一米的距离通过),或者t(p)必须小于主车辆将到达点p的时 间(例如,如果主车辆制动来为行人让路)。尽管如此,在后一示例中,硬性 约束可能要求主车辆在晚于行人足够的时间到达点p,使得主车辆可以在行 人后方通过,并且维持至少一米的所需的缓冲距离。当然,对行人的硬性约 束可能有例外。例如,在主车辆具有路权或速度非常缓慢的情况下,并且没 有观察到行人将拒绝为主车辆让路或将以其他方式导航向主车辆的证据,可 以松弛(relax)行人硬性约束(例如,到至少0.75米或0.50米的较小缓冲)。

在一些示例中,在确定不是全部约束都可以被满足的情况下,可以松弛 约束。例如,在道路太窄而不能留出两个路缘或路缘与停放车辆的所需间距 (例如0.5米)的情况下,如果存在减轻情况,则可以松弛一个或多个约束。 例如,如果人行道上没有行人(或其他对象),可以在离路缘0.1米处缓慢行 驶。在一些实施例中,如果松弛约束会改善用户体验,则可以松弛约束。例 如,为了避免坑洼,可以松弛约束以允许车辆比通常可能允许的更靠近车道 边缘、路缘或行人。此外,在确定哪些约束要松弛时,在一些实施例中,选择 要松弛的一个或多个约束是被认为对安全具有最小可用负面影响的那些约束。 例如,在松弛涉及与其他车辆的接近度的一个约束之前,可以松弛关于车辆 可以有多接近行驶到路缘或混凝土障碍的约束。在一些实施例中,行人约束 可以是最后被松弛的,或者在某些情况下可能永远不被松弛。

图12示出可在主车辆的导航期间捕捉和分析的场景的示例。例如,主车 辆可以包括如上所述的导航系统(例如,系统100),其可以从与主车辆相关 联的相机(例如,图像捕捉设备122、图像捕捉设备124和图像捕捉设备126 中的至少一个)接收表示主车辆的环境的多个图像。图12中所示的场景是可 以在时间t从沿着预测轨迹1212在车道1210中行驶的主车辆的环境捕捉的 图像之一的示例。导航系统可以包括至少一个处理设备(例如,包括上述的 任何EyeQ处理器或其他设备),所述处理设备被专门编程为接收多个图像并 分析图像以确定响应于场景的动作。具体而言,如图8所示,至少一个处理 设备可以实现感测模块801、驾驶策略模块803和控制模块805。感测模块 801可以负责收集并输出从相机收集的图像信息,并且将该信息以所识别的 导航状态的形式提供至驾驶策略模块803,其可以构成已经通过机器学习技 术(诸如监督式学习、强化学习等)训练的经训练的导航系统。基于由感测模 块801提供至驾驶策略模块803的导航状态信息,驾驶策略模块803(例如, 通过实施上述的选项图方法)可以生成用于由主车辆响应于所识别的导航状 态而执行的期望导航动作。

在一些实施例中,至少一个处理设备可以使用例如控制模块805,将期 望导航动作直接转换成导航命令。然而,在其他实施例中,可以应用硬性约 束,使得针对场景和所述期望导航动作可能涉及的各种预定导航约束,对由 驾驶策略模块803提供的期望导航动作进行测试。例如,在驾驶策略模块803 输出将引起主车辆跟随轨迹1212的期望导航动作的情况下,可以相对于与主 车辆的环境的各个方面相关联的一个或多个硬性约束来测试该导航动作。例 如,捕捉图像1201可以显示路缘1213、行人1215、目标车辆1217以及存在 于场景中的静止对象(例如,翻倒的箱子)。这些中的每个都可以与一个或多 个硬性约束相关联。例如,路缘1213可以与禁止主车辆导航进路缘或经过路 缘并且到人行道1214上的静态约束相关联。路缘1213还可以与路障包络 (envelope)相关联,该路障包络限定了远离路缘(例如,0.1米、0.25米、 0.5米、1米等)并且沿着路缘延伸的距离(例如,缓冲区),该距离限定了主 车辆的禁止导航区。当然,静态约束还可以与其他类型的路侧边界(例如,护 栏、混凝土柱、交通锥标、桥塔或任何其他类型的路侧障碍)相关联。

应注意,距离和范围可以通过任何合适的方法来确定。例如,在一些实 施例中,距离信息可以由车载雷达和/或激光雷达系统提供。替代地或另外地, 距离信息可以从对从主车辆的环境捕捉的一个或多个图像的分析中导出。例 如,可以确定图像中表示的已辨识的对象的多个像素,并将其与图像捕捉设 备的已知视场和焦距几何形状进行比较,以确定比例和距离。例如,可以通 过观察在已知时间间隔内从图像到图像的对象之间的比例变化,来确定速度 和加速度。该分析可以指示对象朝着主车辆或者远离主车辆的运动方向、以 及对象正在以多快速度远离主车辆或朝主车辆过来。可以通过分析在已知时 间段内从一个图像到另一个图像的对象X坐标位置的变化,来确定穿越速度。

行人1215可以与限定了缓冲区1216的行人包络相关联。在一些情况下, 施加的硬性约束可以禁止主车辆在离行人1215一米的距离内(在相对于行 人1215的任何方向)导航。行人1215还可以限定行人影响区1220的位置。 这种影响区可以与限制主车辆在影响区内的速度的约束相关联。影响区可以 从行人1215延伸5米、10米、20米等。影响区的每个分级(graduation)可 以与不同的速率限制相关联。例如,在离行人1215一米至五米的区域内,主 车辆可以被限制为第一速率(例如,10mph(每小时英里数),20mph等),所 述第一速率可以小于从5米延伸至10米的行人影响区中的速率限制。可以对 于影响区的各级使用任何分级。在一些实施例中,第一级可以比从一米到五 米更窄,并且可以仅从一米延伸到两米。在其他实施例中,影响区的第一级 可从一米(围绕行人的禁止导航区的边界)延伸至至少10米的距离。第二级 又可以从十米延伸到至少约二十米。第二级可以与主车辆的最大行驶速度相 关联,其大于与行人影响区的第一级相关联的最大行驶速度。

一个或多个静止对象约束也可以与主车辆的环境中检测到的场景有关。 例如,在图像1201中,至少一个处理设备可以检测静止对象,诸如存在于道 路中的箱子1219。检测到的静止对象可以包括各种对象,诸如树、杆、道路 标志或道路中的对象中的至少一个。一个或多个预定导航约束可以与检测到 的静止对象相关联。例如,这种约束可以包括静止对象包络,其中所述静止 对象包络限定了关于对象的缓冲区,可以禁止主车辆导航到该缓冲区内。缓 冲区的至少一部分可以从检测到的静止对象的边缘延伸预定距离。例如,在 由图像1201表示的场景中,至少0.1米、0.25米、0.5米或更多的缓冲区可以 与箱子1219相关联,使得主车辆将以至少一段距离(例如,缓冲区距离)通 过箱子的右侧或左侧,以避免与检测到的静止对象发生碰撞。

预定的硬性约束还可以包括一个或多个目标车辆约束。例如,可以在图 像1201中检测到目标车辆1217。为了确保主车辆不与目标车辆1217碰撞, 可以采用一个或多个硬性约束。在一些情况下,目标车辆包络可以与单个缓 冲区距离相关联。例如,可以通过在所有方向上围绕目标车辆1米的距离来 限定缓冲区。缓冲区可以限定从目标车辆延伸至少一米的区域,禁止主车辆 导航到该区域中。

然而,围绕目标车辆1217的包络不需要由固定的缓冲距离限定。在一些 情况下,与目标车辆(或在主车辆的环境中检测到的任何其他可移动对象) 相关联的预定硬性约束可取决于主车辆相对于检测到的目标车辆的定向。例 如,在一些情况下,纵向缓冲区距离(例如,从目标车辆向主车辆的前方或后 方延伸的距离——诸如在主车辆正朝着目标车辆行驶的情况下)可以为至少 一米。横向缓冲区距离(例如,从目标车辆向主车辆的任一侧延伸的距离— —诸如当主车辆以与目标车辆相同或相反的方向行驶时,使得主车辆的一侧将邻近目标车辆的一侧通过)可以为至少0.5米。

如上所述,通过对主车辆的环境中的目标车辆或行人的检测,还可能涉 及其他约束。例如,可以考虑主车辆和目标车辆1217的预测轨迹,并且在两 个轨迹相交(例如,在相交点1230处)的情况下,硬性约束可以需要

还可以采用其他硬性约束。例如,至少在一些情况下,可以采用主车辆 的最大减速率。这种最大减速率可以基于检测到的距跟随主车辆的目标车辆 的距离(例如,使用从后向相机收集的图像)而被确定。硬性约束可以包括在 感测到的人行横道或铁路道口处的强制停止、或其他可适用的约束。

在对主车辆的环境中的场景的分析指示可能涉及一个或多个预定导航约 束的情况下,可以相对于主车辆的一个或多个规划的导航动作来施加这些约 束。例如,在对场景的分析导致驾驶策略模块803返回期望导航动作的情况 下,可以针对一个或多个涉及的约束来测试该期望导航动作。如果期望导航 动作被确定为违反所涉及的约束的任何方面(例如,如果期望导航动作将驱 使主车辆在行人1215的0.7米的距离内,其中预定硬性约束要求主车辆保持 距离行人1215至少1.0米),则可以基于一个或多个预定导航约束对期望导航动作做出至少一个修改。以这种方式调节期望导航动作可以遵循在主车辆 的环境中检测到的特定场景所涉及的约束,为主车辆提供实际导航动作。

在确定主车辆的实际导航动作之后,可以通过响应于所确定的主车辆的 实际导航动作而引起对主车辆的导航致动器的至少一个调节,来实现该导航 动作。这种导航致动器可以包括主车辆的转向机构、制动器或加速器中的至 少一个。

如上所述,导航系统可采用各种硬性约束来确保主车辆的安全操作。约 束可以包括相对于行人、目标车辆、路障或检测到的对象的最小安全驾驶距 离、当在检测到的行人的影响区内通过时的最大行驶速率、或者主车辆的最 大减速率等等。这些约束可以对基于机器学习(监督式、强化或组合)训练的 经训练的系统来施加,但是它们也可以对非经训练的系统(例如,采用算法 来直接处理在来自主车辆环境的场景中发生的预期情况的那些系统)有用。

在任何一种情况下,都可能存在约束的层级。换言之,一些导航约束优 先于其他约束。因此,如果出现了不可获得会导致所有相关约束均被满足的 导航动作的情况,则导航系统可首先确定实现最高优先级约束的可用导航动 作。例如,系统也可以使车辆首先避开该行人,即使避开该行人的导航会导 致与道路中检测到的另一车辆或对象碰撞。在另一个示例中,系统可以使车 辆骑上路缘来避开行人。

图13提供了示出用于实现基于对主车辆的环境中场景的分析而确定的 相关约束的层级的算法的流程图。例如,在步骤1301,与导航系统相关联的 至少一个处理设备(例如,EyeQ处理器等)可以从安装在主车辆上的相机接 收表示主车辆的环境的多个图像。通过在步骤1303对表示主车辆环境的场景 的图像的分析,可以识别与主车辆相关联的导航状态。例如,导航状态可以 指示主车辆正沿着双车道道路1210行驶,如图12所示,其中目标车辆1217 正在移动通过主车辆前方的交叉口,行人1215正在等待穿过主车辆行驶的道路,对象1219存在于主车辆车道的前方,以及场景的各种其他属性。

在步骤1305,可以确定主车辆的导航状态涉及的一个或多个导航约束。 例如,在分析由一个或多个捕捉图像表示的主车辆的环境中的场景之后,至 少一个处理设备可以确定通过对捕捉图像的图像分析所辨识的对象、车辆、 行人等涉及的一个或多个导航约束。在一些实施例中,至少一个处理设备可 以确定导航状态涉及的至少第一预定导航约束和第二预定导航约束,并且第 一预定导航约束可以不同于第二预定导航约束。例如,第一导航约束可以涉 及在主车辆的环境中检测到的一个或多个目标车辆,而第二导航约束可以涉 及在主车辆的环境中检测到的行人。

在步骤1307,至少一个处理设备可以确定与在步骤1305中识别的约束 相关联的优先级。在所描述的示例中,涉及行人的第二预定导航约束可以具 有比涉及目标车辆的第一预定导航约束更高的优先级。虽然可以基于各种因 素来确定或分配与导航约束相关联的优先级,但是在一些实施例中,导航约 束的优先级可能与其从安全角度而言的相对重要性有关。例如,虽然在尽可 能多的情况下遵守或满足所有实施的导航约束可能是重要的,但是一些约束 可能与其他约束相比与具有更高的安全风险相关联,因此,这些约束可被分配更高的优先级。例如,要求主车辆保持与行人间距至少1米的导航约束可 具有比要求主车辆保持与目标车辆间距至少1米的约束更高的优先级。这可 能是因为与行人相撞会比与另一车辆相撞造成更严重的后果。类似地,保持 主车辆与目标车辆之间的间距可以具有比以下约束更高的优先级:要求主车 辆避开道路上的箱子、在减速带上低于特定速度驾驶、或者使主车辆占有者 暴露于不超过最大加速度等级。

虽然驾驶策略模块803被设计为通过满足特定场景或导航状态涉及的导 航约束以使安全性最大化,但是在一些情况下,实际上不可能满足每个所涉 及的约束。在这种情况下,如步骤1309所示,可以使用每个涉及的约束的优 先级来确定应该首先满足哪个涉及的约束。继续上面的示例,在不可能同时 满足行人间隙约束和目标车辆间隙两者约束,而只能满足其中一个约束的情 况下,则更高优先级的行人间隙约束可导致该约束在尝试保持到目标车辆的 间隙之前被满足。因此,在正常情况下,如步骤1311所示,在第一预定导航约束和第二预定导航约束两者都可以被满足的情况下,至少一个处理设备可 以基于所识别的主车辆的导航状态来确定满足第一预定导航约束和第二预定 导航约束两者的主车辆的第一导航动作。然而,在其他情况下,在不是所有 涉及的约束都可以被满足的情况下,如步骤1313所示,第一预定导航约束和 第二预定导航约束不能同时被满足的情况下,至少一个处理设备可以基于所 识别的导航状态,确定满足第二预定导航约束(即,较高优先级约束)但不满 足第一预定导航约束(具有低于第二导航约束的优先级)的主车辆的第二导 航动作。

接下来,在步骤1315,为了实施所确定的主车辆的导航动作,至少一个 处理设备可以响应于所确定的主车辆的第一导航动作或所确定的主车辆的第 二导航动作,引起对主车辆的导航致动器的至少一个调节。如在前面的示例 中所述,导航致动器可以包括转向机构、制动器或加速器中的至少一个。

如上所述,出于安全目的可以施加导航约束。约束可以包括相对于行人、 目标车辆、路障或检测到的对象的最小安全驾驶距离、当在检测到的行人的 影响区内通过时的最大行驶速度、或者主车辆的最大减速率等等。这些约束 可以被施加在学习或非学习的导航系统中。在某些情况下,这些约束可以被 松弛。例如,在主车辆在行人附近减速或停靠,然后缓慢前进以传达要驶过 行人的意图的情况下,可以从所获取的图像中检测行人的响应。如果行人的 响应是保持静止或停止移动(和/或如果感测到与行人的眼神接触),则可以理解该行人认识到导航系统要驶过行人的意图。在这种情况下,系统可松弛一 个或多个预定约束并实施较不那么严格的约束(例如,允许车辆在行人0.5米 内导航,而不是在更严格的1米边界内)。

图14提供了用于基于一个或多个导航约束的松弛来实施主车辆的控制 的流程图。在步骤1401,至少一个处理设备可以从与主车辆相关联的相机接 收表示主车辆的环境的多个图像。在步骤1403对图像的分析可以使得能够识 别与主车辆相关联的导航状态。在步骤1405,至少一个处理器可以确定与主 车辆的导航状态相关联的导航约束。导航约束可以包括导航状态的至少一个 方面所涉及的第一预定导航约束。在步骤1407,多个图像的分析可以揭示至 少一个导航约束松弛因素(relaxation factor)的存在。

导航约束松弛因素可以包括一个或多个导航约束在至少一个方面可以被 暂停、改变或以其他方式松弛的任何合适的指示符。在一些实施例中,至少 一个导航约束松弛因素可以包括(基于图像分析)行人的眼睛正看向主车辆 的方向的确定。在这种情况下,可以更安全地假定行人意识到主车辆。因此, 行人不会参与导致行人移动到主车辆路径中的意外动作的置信度可能更高。 还可以使用其他约束松弛因素。例如,至少一个导航约束松弛因素可以包括: 被确定为没有在移动的行人(例如,假定不太可能进入主车辆路径的行人); 或者其运动被确定为正在减慢的行人。导航约束松弛因素还可以包括更复杂 的动作,诸如被确定为在主车辆停住然后恢复移动后没有在移动的行人。在 这种情况下,可以假设行人知道主车辆具有路权,并且行人停住可以表明行 人让路给主车辆的意图。其他可能导致一个或多个约束被松弛的情况包括路 缘石的类型(例如,低路缘石或具有渐变坡度的路缘石可能允许松弛的距离 约束)、在人行道上缺少行人或其他对象、处于其引擎未运转的车辆可以具有 松弛的距离、或者行人正背向和/或远离于主车辆驶向的区域移动的情况。

在识别存在导航约束松弛因素(例如,在步骤1407)的情况下,可以响 应于约束松弛因素的检测来确定或产生第二导航约束。该第二导航约束可以 不同于第一导航约束,并且所述第二导航约束可以包括相对于第一导航约束 被松弛的至少一个特性。第二导航约束可以包括基于第一约束的新生成的约 束,其中所述新生成的约束包括在至少一个方面松弛第一约束的至少一个修 改。可替代地,第二约束可以构成在至少一个方面比第一导航约束不那么严 格的预定约束。在一些实施例中,可以保留这种第二约束,以仅用于在主车辆的环境中识别约束松弛因素的情况。无论第二约束是新生成的还是从一组 完全或部分可用的预定约束中选择的,应用第二导航约束代替更严格的第一 导航约束(其可以应用在没有检测到相关导航约束松弛因素的情况)可以被 称为约束松弛并且可以在步骤1409中完成。

在步骤1407检测到至少一个约束松弛因素,并且在步骤1409中已经松 弛了至少一个约束的情况下,可以在步骤1411中确定主车辆的导航动作。主 车辆的导航动作可以基于所识别的导航状态并且可以满足第二导航约束。可 以在步骤1413通过响应于所确定的导航动作而引起对主车辆的导航致动器 的至少一个调节来实施导航动作。

如上所述,导航约束和松弛导航约束的使用可以对经训练(例如,通过 机器学习)或未经训练(例如,被编程为响应于特定导航状态以预定动作来 响应的导航系统)的导航系统采用。在使用经训练的导航系统的情况下,用 于某些导航情况的松弛导航约束的可用性可以表示从经训练的系统响应到未 经训练的系统响应的模式切换。例如,经训练的导航网络可以基于第一导航 约束来确定主车辆的原始导航动作。然而,车辆采取的动作可以是与满足第 一导航约束的导航动作不同的动作。相反,所采取的动作可以满足更松弛的 第二导航约束,并且可以是由未经训练的系统产生的动作(例如,作为在主 车辆的环境中检测到特定状况的响应,诸如导航约束松弛因素的存在)。

有许多可以响应于在主车辆的环境中检测到约束松弛因素而被松弛的导 航约束的示例。例如,在预定导航约束包括与检测到的行人相关联的缓冲区, 并且缓冲区的至少一部分从检测到的行人延伸一定距离的情况下,被松弛的 导航约束(新产生的、从预定集合中从存储器中调用的,或作为先前存在的 约束的松弛版本生成的)可以包括不同的或修改的缓冲区。例如,不同的或 修改的缓冲区可以具有比相对于检测到的行人的原始的或未修改的缓冲区更 小的相对于行人的距离。因此,在主车辆的环境中检测到适当的约束松弛因 素的情况下,鉴于经松弛的约束,可以允许主车辆更靠近检测到的行人而导 航。

如上所述,导航约束的被松弛的特性可以包括与至少一个行人相关联的 缓冲区的宽度减少。然而,被松弛的特性还可以包括对与目标车辆、检测到 的对象、路侧障碍或在主车辆的环境中检测到的任何其他对象相关联的缓冲 区的宽度减少。

至少一个被松弛的特性还可以包括导航约束特性的其他类型的修改。例 如,被松弛的特性可以包括与至少一个预定导航约束相关联的速率的增加。 被松弛的特性还可以包括与至少一个预定导航约束相关联的最大可允许减速 度/加速度的增加。

尽管如上所述在某些情况下约束可以被松弛,而在其他情况下,导航约 束可以被增强(augment)。例如,在一些情况下,导航系统可以确定授权 (warrant)对一组正常导航约束的增强的条件。这种增强可以包括将新的约 束添加到一组预定的约束或者调节预定约束的一个或多个方面。添加或调节 可导致相对于在正常驾驶条件下可适用的该组预定约束而言更为保守的导航。 可以授权约束增强的条件可以包括传感器故障、不利的环境条件(雨、雪、雾 或与可见性降低或车辆牵引力降低相关联的其他情形)等。

图15提供用于基于对一个或多个导航约束的增强来实施主车辆的控制 的流程图。在步骤1501,至少一个处理设备可以从与主车辆相关联的相机接 收表示主车辆的环境的多个图像。在步骤1503对图像的分析可以使得能够识 别与主车辆相关联的导航状态。在步骤1505,至少一个处理器可以确定与主 车辆的导航状态相关联的导航约束。导航约束可以包括导航状态的至少一个 方面所涉及的第一预定导航约束。在步骤1507,对多个图像的分析可以揭示 至少一个导航约束增强因素的存在。

涉及的导航约束可以包括上述的(例如,关于图12)任何导航约束或任 何其他合适的导航约束。导航约束增强因素可以包括一个或多个导航约束可 以在至少一个方面被补充/增强的任何指示符。可以在每个组的基础上(例如, 通过将新的导航约束添加到一组预定的约束)或者可以在每个约束的基础上 (例如,修改特定的约束,使得经修改约束比原始约束更具限制性,或者添加 对应于预定约束的新约束,其中该新约束在至少一个方面比对应约束更具限 制性),来执行导航约束的补充或增强。另外或可替代地,导航约束的补充或 增强可以是指基于层级从一组预定约束中进行选择。例如,一组被增强的约 束可用于基于是否在主车辆的环境中或相对于主车辆检测到导航增强因素来 进行选择。在没有检测到增强因素的正常情况下,则可以从适用于正常情况 的约束中抽取所涉及的导航约束。另一方面,在检测到一个或多个约束增强 因素的情况下,所涉及的约束可以从被增强的约束中抽取,该被增强的约束 是相对于一个或多个增强因素而生成或预定的。被增强的约束在至少一个方 面与正常情况下适用的对应约束相比可能更具限制性。

在一些实施例中,至少一个导航约束增强因素可以包括在主车辆的环境 中检测到(例如,基于图像分析)道路表面上存在冰、雪或水。例如,这种确 定可以基于对以下的检测:反射率高于干燥道路所预期的区域(例如,指示 道路上的冰或水);道路上的指示雪的存在的白色区域;道路上的与道路上存 在纵向沟(例如,雪中的轮胎痕迹)一致的阴影;主车辆挡风玻璃上的水滴或 冰/雪颗粒;或者道路表面上存在水或冰/雪的任何其他合适的指示符。

至少一个导航约束增强因素还可以包括在主车辆的挡风玻璃的外表面上 检测到的颗粒。这种颗粒可能会损害与主车辆相关联的一个或多个图像捕捉 设备的图像质量。虽然关于主车辆的挡风玻璃进行了描述,其与安装在主车 辆的挡风玻璃后面的相机相关,但对在其他表面(例如,相机的镜头或镜头 盖、前灯透镜、后挡风玻璃、尾灯透镜或对于与主车辆相关联的图像捕捉设 备可见(或由传感器检测到)的主车辆的任何其他表面)上的颗粒的检测,也 可指示导航约束增强因素的存在。

导航约束增强因素也可以被检测为一个或多个图像获取设备的属性。例 如,检测到的由与主车辆相关联的图像捕捉设备(例如,相机)捕捉的一个或 多个图像的图像质量方面的降低,也可以构成导航约束增强因素。图像质量 的下降可能与硬件故障或部分硬件故障相关联,该故障与图像捕捉设备或与 图像捕捉设备相关联的组件相关联。这种图像质量的下降也可能是由环境条 件引起的。例如,在主车辆周围的空气中存在烟、雾、雨、雪等也可能导致降 低相对于可能存在于主车辆的环境中的道路、行人、目标车辆等的图像质量。

导航约束增强因素还可以涉及主车辆的其它方面。例如,在一些情况下, 导航约束增强因素可以包括检测到的与主车辆关联的系统或传感器的故障或 部分故障。这种增强因素可以包括,例如检测到速度传感器、GPS接收器、 加速度计、相机、雷达、激光雷达、制动器、轮胎或与主车辆相关联的任何其 他系统的故障或部分故障,该故障可影响主车辆相对于与主车辆的导航状态 相关联的导航约束进行导航的能力。

在识别导航约束增强因素的存在(例如,在步骤1507)的情况下,可以 响应于检测到约束增强因素来确定或产生第二导航约束。该第二导航约束可 以不同于第一导航约束,并且所述第二导航约束可以包括相对于第一导航约 束被增强的至少一个特性。第二导航约束可以比第一导航约束更具限制性, 因为检测到在主车辆的环境中的或者与主车辆相关联的约束增强因素可以表 明主车辆可以具有至少一个相对于正常操作条件降低的导航能力。这种降低 的能力可以包括较低的道路牵引力(例如,道路上的冰、雪、或水;降低的轮胎压力等);受损的视觉(例如,降低捕捉图像质量的雨、雪、沙尘、烟、雾 等);受损的检测能力(例如,传感器故障或部分故障、传感器性能降低等), 或主车辆响应于检测到的导航状态而导航的能力方面的任何其他降低。

在步骤1507中检测到至少一个约束增强因素,并且在步骤1509中增强 了至少一个约束的情况下,可以在步骤1511中确定主车辆的导航动作。主车 辆的导航动作可以基于所识别的导航状态并且可以满足第二导航(即,被增 强的)约束。可以在步骤1513通过响应于所确定的导航动作而引起对主车辆 的导航致动器进行至少一个调节来实施导航动作。

如所讨论的,导航约束和被增强的导航约束的使用可以对经训练(例如, 通过机器学习)或未经训练(例如,被编程为响应于特定导航状态以预定动 作来响应的系统)的导航系统采用。在使用经训练的导航系统的情况下,针 对某些导航情况的被增强的导航约束的可用性可表示从经训练的系统响应到 未经训练的系统响应的模式切换。例如,经训练的导航网络可以基于第一导 航约束来确定主车辆的原始导航动作。然而,车辆采取的动作可以是与满足 第一导航约束的导航动作不同的动作。相反,所采取的动作可以满足被增强的第二导航约束,并且可以是由未经训练的系统产生的动作(例如,作为对 在主车辆的环境中检测到特定条件的响应,诸如存在导航约束增强因素)。

有许多可以响应于在主车辆的环境中检测到约束增强因素而生成、补充 或增强的导航约束的示例。例如,在预定导航约束包括与检测到的行人、对 象、车辆等相关联的缓冲区,并且缓冲区的至少一部分从检测到的行人/对象 /车辆延伸一定距离的情况下,被增强的导航约束(新产生的、从预定集合中 从存储器调用的,或作为先前存在的约束的增强版本而生成的)可以包括不 同的或修改的缓冲区。例如,不同的或修改的缓冲区可以具有比相对于检测 到的行人/对象/车辆的原始的或未修改的缓冲区而言更大的相对于行人/对象/ 车辆的距离。因此,在主车辆的环境中或相对于主车辆检测到适当的约束增 强因素的情况下,鉴于该被增强的约束,可以强制主车辆更远离检测到的行 人/对象/车辆而导航。

至少一个被增强的特性还可以包括导航约束特性的其他类型的修改。例 如,被增强的特性可以包括与至少一个预定导航约束相关联的速度的降低。 被增强的特性还可以包括与至少一个预定导航约束相关联的最大可允许减速 度/加速度的减小。

在一些实施例中,所公开的导航系统不仅可以对主车辆的环境中检测到 的导航状态进行响应,而且还可以基于长远规划(long range planning)来确 定一个或多个导航动作。例如,系统可以考虑可用作相对于检测到的导航状 态进行导航的选项的一个或多个的导航动作对未来导航状态的潜在影响。考 虑可用的动作对未来状态的影响可以使得导航系统不仅基于当前检测到的导 航状态、而且还基于长远规划来确定导航动作。在导航系统采用一种或多种 奖励函数作为从可用选项中选择导航动作的技术的情况下,使用长远规划技 术的导航可能尤其适用。可以相对于可以响应于检测到的主车辆的当前导航 状态而采取的可用导航动作,来分析潜在奖励。然而,进一步地,还可以相对 于可以响应于未来导航状态而采取的动作,来分析潜在奖励,所述未来导航 状态预计是由于对当前导航状态的可用动作而造成的。因此,所公开的导航 系统在某些情况下可以响应于检测到的导航状态而从可以响应于当前导航状 态而采取的可用动作之中选择导航动作,即使在所选择的导航动作可能不会 产生最高的奖励的情况之下。这在系统确定以下情况时尤其正确:所选择的 动作可能导致未来导航状态,该未来导航状态引起一个或多个潜在的导航动 作,其中该潜在的导航动作提供比所选择的动作或者在某些情况下比相对于 当前导航状态可用的任何动作更高的奖励。该原理可以更简单地表达为:为 了在未来产生更高的奖励选项,而在现在采取不那么有利的动作。因此,所 公开的能够进行长远规划的导航系统可以选择短期非最理想的动作,其中长 期预测指示奖励的短期损失会导致长期奖励增加。

通常,自主驾驶应用可涉及一系列规划问题,其中导航系统可以决定即 时动作以便优化更长期目标。例如,当车辆在环形道处遇到并道情况时,导 航系统可以决定即时加速或制动命令,以便发起到环形道的导航。虽然在环 形道处对检测到的导航状态的即时动作可能涉及响应于所检测到的状态的加 速或制动命令,但长期目标是成功并道,并且所选命令的长期影响是并道的 成功/失败。可以通过将问题分解为两个阶段来解决规划问题。首先,监督式 学习可以应用于基于现在来预测近未来(假设预测符(predictor)相对于现在 的表示将是可微的)。其次,可以使用循环神经网络对作用者的完整轨迹进行 建模,其中未解释的因素被建模为(加性)输入节点。这可以允许使用监督式 学习技术和对循环神经网络直接优化来确定长期规划问题的解。这种方法还 可以使得能够通过将对抗性要素纳入环境来学习鲁棒的策略。

自主驾驶系统的两个最基本的要素是感测和规划。感测处理的是寻找环 境的现在状态的紧凑表示,而规划处理的是决定采取何种动作以优化未来目 标。监督式机器学习技术对求解感测问题是有用的。机器学习算法框架也可 以用于规划部分,尤其是强化学习(RL)框架,诸如上述那些。

RL可以按照连续几轮(round)的顺序而执行。在第t轮,规划器(亦称 作用者或驾驶策略模块803)可以观察状态s

监督式学习(SL)可以被看作是RL的特例,其中s

在一些SL情况下,学习器采取的动作(或预测)可能对环境没有影响。 换言之,s

在SL中,“正确”答案的知识y

许多RL算法至少部分地依赖于马尔可夫决策过程(MDP,Markov DecisionProcess)的数学优化模型。马尔可夫假设是:给定s

MDP模型的一个潜在优点在于其允许使用Q函数将未来耦合到现在。 例如,假设主车辆现在处于状态s,Q

许多RL算法以某种方式近似V函数或Q函数。值迭代算法(例如Q学 习算法)可以依赖于以下事实:最优策略的V和Q函数可以是从贝尔曼方程 导出的一些运算符的固定点。行动者-评价器(Actor-critic)策略迭代算法旨在 以迭代的方式学习策略,其中在迭代t处,“评价器”估计

尽管MDP的数学优势和切换到Q函数表示的方便性,但该方法可能具 有若干限制。例如,马尔可夫行为状态的近似概念可能是在某些情况下所能 找到的全部。此外,状态的转变不仅取决于作用者的行为,还取决于环境中 其他参与者的行为。例如,在上面提到的ACC示例中,尽管自主车辆的动态 可以是马尔可夫的,但下一个状态可取决于另一车辆的驾驶员的行为,而该 行为不一定是马尔可夫的。对这个问题的一个可能的解决方案是使用部分观 察到的MDP,其中假设:存在马尔可夫状态,但是可以看到的是根据隐藏状 态而分布的观察。

更直接的方法可以考虑MDP的博弈理论概括(例如,随机博弈框架)。 事实上,用于MDP的算法可以被推广到多作用者博弈(例如,最小最大-Q学 习或纳什-Q学习)。其他方法可包括其他参与者的显式建模以及消除遗憾 (vanishingregret)学习算法。在多作用者场景中的学习可能比在单作用者场 景中更复杂。

Q函数表示的第二限制可以通过偏离表格场景(tabular setting)而产生。 表格场景就是当状态和动作的数量很小之时,因此Q可以表示为|S|个行和|A| 个列的表格。然而,如果S和A的自然表示包含欧几里得空间,并且状态和 动作空间是离散的,则状态/动作的数量可能在维度上是指数的。在这种情况 下,采用表格场景可能并不实际。相反,Q函数可以由来自参数假设类别(例 如,某个架构的神经网络)的某个函数来近似。例如,可以使用深Q网络(DQN,deep-Q-network)学习算法。在DQN中,状态空间可以是连续的,而动作空间可以仍然是小的离散集合。可以存在处理连续动作空间的方法,但它们可 能依赖于对Q函数近似。在任何情况下,Q函数都可能是复杂的且对噪声敏 感,因此可能会对学习带来挑战。

不同的方法可以是使用循环神经网络(RNN,recurrent neural network) 来解决RL问题。在某些情况下,RNN可以与多作用者博弈的概念和来自博 弈论的对抗环境的稳健性相结合。此外,这种方法可以并不明确依赖任何马 尔可夫假设。

以下更详细地描述通过基于预测进行规划来导航的方法。在这种方法中, 可以假定状态空间S是

作为该方法的第一步,可以观察到存在有趣的问题,其中奖励的强盗本 质并不是问题。例如,ACC应用的奖励值(如下面将更详细讨论的)可能相 对于当前状态和动作是可微的。事实上,即使奖励是以“强盗”方式给出的,学 习可微函数

为了解决过去与未来之间的联系,可以使用类似的想法。例如,假设可 以学习一个可微函数

如上所述,学习系统可受益于相对于对抗环境(诸如主车辆的环境)的 鲁棒性,所述环境可包括可能以预料外的方式动作的多个其他驾驶员。在不 对v

针对对抗环境的鲁棒性可能在自主驾驶应用中有用。以对抗的方式选择 μ

这种方法可以应用于实际上可能出现的任何导航情况。以下描述适用于 一个示例的方法:自适应巡航控制(ACC)。在ACC问题中,主车辆可能试 图与前方的目标车辆保持适当的距离(例如,到目标车辆1.5秒)。另一个目 标可能是尽可能平稳地驾驶,同时保持期望的间隙。代表这种情况的模型可 以如下定义。状态空间为

系统的完整动态可以通过以下描述来描述:

这可以被描述为两个向量的总和:

第一向量是可预测的部分,而第二向量是不可预测的部分。第t轮的奖 励定义如下:

第一项可导致对非零加速度的惩罚,因此鼓励平稳驾驶。第二项取决于 到目标汽车的距离x

实施以上概述的方法,主车辆的导航系统(例如,通过在导航系统的处 理单元110内的驾驶策略模块803的操作)可以响应于观察到的状态来选择 动作。所选动作可以基于不仅对与相对于感测到的导航状态可用的响应动作 相关联的奖励的分析,而且还可以基于对未来状态、响应于未来状态的潜在 动作和与潜在的动作相关联的奖励的考虑和分析。

图16示出了基于检测和长远规划的导航的算法方法。例如,在步骤1601, 主车辆的导航系统的至少一个处理设备110可以接收多个图像。这些图像可 以捕捉表示主车辆的环境的场景,并且可以由上述任何图像捕捉设备(例如, 相机、传感器等)提供。在步骤1603分析这些图像中的一个或多个可以使至 少一个处理设备110能够识别与主车辆相关联的当前导航状态(如上所述)。

在步骤1605、1607和1609,可以确定响应于感测到的导航状态的各种 潜在的导航动作。这些潜在的导航动作(例如,第一导航动作至第N可用导 航动作)可以基于感测到的状态和导航系统的长远目标(例如,完成合并、平 稳地跟随前车、超过目标车辆、避开道路中的对象、针对检测到的停车标志 而减速、避开切入的目标车辆、或可以推进系统的导航目标的任何其他导航 动作)来确定。

对于所确定的潜在导航动作中的每个,系统可以确定预期奖励。预期奖 励可以根据上述技术中的任一种来确定,并且可以包括关于一个或多个奖励 函数对特定潜在动作的分析。对于在步骤1605、1607和1609中确定的每个 潜在导航动作(例如,第一,第二和第N),可以分别确定预期奖励1606、 1608和1610。

在一些情况下,主车辆的导航系统可基于与预期奖励1606、1608和1610 (或预期奖励的任何其他类型的指示符)相关联的值,从可用潜在动作中选 择。例如,在某些情况下,可以选择产生最高预期奖励的动作。

在其他情况下,尤其是在导航系统进行长远规划以确定主车辆的导航动 作的情况下,系统可以不选择产生最高预期奖励的潜在动作。相反,系统可 以展望未来以分析,如果响应于当前导航状态选择了较低的奖励动作,是否 有机会在之后实现较高奖励。例如,对于在步骤1605、1607和1609处确定 的任何或全部潜在动作,可以确定未来状态。在步骤1613、1615和1617确 定的每个未来状态可以表示预期基于当前导航状态、由相应潜在动作(例如, 在步骤1605、1607和1609确定的潜在动作)修改而得到的未来导航状态。

对于在步骤1613、1615和1617预测的未来状态中的每个,可以确定和 评估一个或多个未来动作(作为响应于确定的未来状态而可用的导航选项)。 在步骤1619、1621和1623处,例如,可以(例如,基于一个或多个奖励函 数)产生与一个或多个未来动作相关联的预期奖励的值或任何其他类型的指 示符。可以通过比较与每个未来动作相关联的奖励函数的值或通过比较与预 期奖励相关联的任何其他指示符,来评估与一个或多个未来动作相关的预期 奖励。

在步骤1625,主车辆的导航系统可基于预期奖励的比较,不仅基于相对 于当前导航状态识别的潜在动作(例如,步骤1605、1607和1609中的),并 且还基于作为响应于预测的未来状态可用的潜在未来动作的结果而确定的预 期奖励(例如,在步骤1613、1615和1617处确定的),来选择主车辆的导航 动作。在步骤1625处的选择可以基于在步骤1619、1621和1623处执行的选 项和奖励分析。

在步骤1625处对导航动作的选择可以仅基于与未来动作选项相关联的 预期奖励的比较。在这种情况下,导航系统可以仅基于对从对潜在的未来导 航状态的动作得到的预期奖励的比较,来选择对当前状态的动作。例如,系 统可以选择在步骤1650、1610和1609处识别的、与通过在步骤1619、1621 和1623处的分析确定的最高未来奖励值相关联的潜在动作。

在步骤1625对导航动作的选择还可以仅基于当前动作选项的比较(如上 所述)。在这种情况下,导航系统可以选择在步骤1605、1607或1609识别的、 与最高预期奖励1606、1608或1610相关联的潜在动作。这种选择可以在很 少或不考虑未来导航状态或对响应于预期未来导航状态的可用导航动作的未 来预期奖励的情况下执行。

另一方面,在一些情况下,在步骤1625对导航动作的选择可以基于与未 来动作选项和当前动作选项两者相关联的预期奖励的比较。事实上,这可能 是基于长远规划的导航原理之一。例如,可以分析对未来动作的预期奖励, 以确定是否有任何预期奖励可以授权响应于当前导航状态对较低的奖励动作 进行的选择,以便响应于后续导航动作实现潜在的较高奖励,该后续导航动 作是预期响应于未来导航状态而可用的。作为示例,预期奖励1606的值或其 他指示符可以指示在奖励1606、1608和1610当中的最高预期奖励。另一方面,预期奖励1608可以指示在奖励1606、1608和1610当中的最低预期奖 励。并非简单地选择在步骤1605确定的潜在动作(即,引起最高预期奖励 1606的动作),可以将未来状态、潜在的未来动作、以及未来奖励的分析用于 在步骤1625进行导航动作选择。在一个示例中,可以确定在步骤1621识别 的奖励(响应于对步骤1615确定的未来状态的至少一个未来动作,而步骤 1615确定的未来状态是基于步骤1607中确定的第二潜在动作的)可以高于 预期奖励1606。基于该比较,可以选择在步骤1607确定的第二潜在动作,而 不是在步骤1605确定的第一潜在动作,尽管预期奖励1606高于预期奖励1608。在一个示例中,在步骤1605确定的潜在导航动作可以包括在检测到的 目标车辆前面的并道,而在步骤1607确定的潜在导航动作可以包括在目标车 辆后面的并道。尽管在目标车辆前面并道的预期奖励1606可能高于与在目标 车辆后面并道相关联的预期奖励1608,但可以确定在目标车辆后面并道可能 导致一未来状态,对于该未来状态可能存在产生比预期奖励1606、1608或基 于响应于当前的、感测到的导航状态的可用动作的其他奖励甚至更高的潜在 奖励的动作选项。

在步骤1625处从潜在动作之中进行选择可以基于预期奖励的任何合适 的比较(或将与一个潜在动作相关联的益处的任何其他度量或指示符彼此比 较)。在一些情况下,如上所述,如果预计第二潜在动作要提供与高于与第一 潜在动作相关联的奖励的预期奖励相关联的至少一个未来动作,则可以越过 第一潜在动作而选择第二潜在动作。在其他情况下,可以采用更复杂的比较。 例如,与响应于预计的未来状态的动作选项相关联的奖励可以与与确定的潜 在动作相关联的多于一个预期奖励相比较。

在一些情况下,如果至少一个未来动作被预期产生高于预期作为对当前 状态的潜在动作的结果的任何奖励(例如,预期奖励1606、1608、1610等) 的奖励时,则基于预计的未来状态的动作和预期奖励可以影响对当前状态的 潜在动作的选择。在某些情况下,产生最高的预期奖励(例如,从与对感测到 的当前状态的潜在动作相关联的预期奖励、以及从与相对于潜在未来导航状 态的潜在未来动作选项相关联的预期奖励当中)的未来动作选项可以用作选 择对当前导航状态的潜在动作的指导。也就是说,在识别产生最高预期奖励(或者高于预定阈值的奖励等)的未来动作选项之后,在步骤1625可以选择 将导致与识别的、产生最高的预期奖励的未来动作相关联的未来状态的潜在 动作。

在其他情况下,可以基于预期奖励之间确定的差,来进行可用动作的选 择。例如,如果与在步骤1621确定的未来动作相关联的预期奖励与预期奖励 1606之间的差大于预期奖励1608与预期奖励1606之间的差(假设正符号的 差),则可以选择在步骤1607确定的第二潜在动作。在另一个示例中,如果 与在步骤1621确定的未来动作相关联的预期奖励和与在步骤1619确定的未 来动作相关联的预期奖励之间的差大于预期奖励1608与预期奖励1606之间 的差,则可以选择在步骤1607确定的第二潜在动作。

已经描述了用于从对当前导航状态的潜在动作当中进行选择的若干示例。 然而,可以使用任何其他合适的比较技术或标准,用于通过基于延伸到预计 的未来状态的动作和奖励分析的长远规划来选择可用动作。此外,虽然图16 表示长远规划分析中的两个层(例如,第一层考虑对当前状态的潜在动作产 生的奖励,而第二层考虑响应于预计的未来状态的未来动作选项产生的奖励), 然而,基于更多层的分析可以是能够的。例如,不是将长远规划分析基于一 个或两个层,而是可以使用三层、四层或更多层分析来从响应于当前的导航 状态的可用潜在动作当中选择。

在从响应于感测到的导航状态的潜在动作当中进行选择之后,在步骤 1627,至少一个处理器可以响应于所选择的潜在导航而引起对主车辆的导航 致动器的至少一个调节动作。导航致动器可以包括用于控制主车辆的至少一 个方面的任何合适的装置。例如,导航致动器可以包括转向机构、制动器或 加速器中的至少一个。

可以通过分析获取的图像流来监视目标车辆,以确定驾驶侵略的指示符。 本文将侵略描述为定性或定量参数,但可以使用其他特性:注意力的感知等 级(驾驶员的潜在损伤、手机造成分心、睡着等)。在一些情况下,目标车辆 可以被认为具有防御性姿势,并且在一些情况下,可以确定目标车辆具有更 具侵略性姿势。基于侵略指示符可以选择或产生导航动作。例如,在一些情 况下,可以跟踪相对于主车辆的相对速度、相对加速度、相对加速度的增加、 跟随距离等,以确定目标车辆是侵略性的还是防御性的。例如,如果目标车 辆被确定为具有超过阈值的侵略等级,则主车辆可能倾向于让路给目标车辆。 还可以基于确定的目标车辆相对于目标车辆的路径中或其附近的一个或多个 障碍物(例如,前方车辆、道路上的障碍物、交通灯等)的行为,来辨别目标 车辆的侵略等级。

作为对这个概念的介绍,将相对于主车辆并道至环形道来描述示例性实 验,其中导航目标是穿过环形道并从环形道出去。该情况可以以主车辆接近 环形道的入口开始,并且可以以主车辆到达环形道的出口(例如,第二出口) 结束。可以基于主车辆是否始终与所有其他车辆保持安全距离、主车辆是否 尽快完成路线、以及主车辆是否遵循平稳的加速策略来衡量成功。在这个示 例中,N

导航状态可以表示为主车辆(作用者)的速度和位置、以及目标车辆的 位置、速度和加速度。保持目标加速度观察可能很重要,以便基于当前状态 区分侵略性和防御性的驾驶员。所有目标车辆都可能沿着环形路径为轮廓的 一维曲线移动。主车辆可以在其自身的一维曲线移动,该曲线在并道点处与 目标车辆的曲线相交,并且该点是两条曲线的起点。为了对合理驾驶进行建 模,所有车辆的加速度的绝对值可以以常数为界限。因为不允许倒退驾驶, 速度也可以通过ReLU传递。注意,通过不允许倒退驾驶,因此长远规划可 以成为必要的,因为作用者不会对其过去的行为后悔。

如上所述,下一状态s

图18提供了表示用于基于预测的其他车辆的侵略来导航主车辆的示例 性算法的流程图。在图18的示例中,可以基于相对于目标车辆的环境中的对 象所观察到目标车辆的行为,来推断与至少一个目标车辆相关联的侵略等级。 例如,在步骤1801,主车辆导航系统的至少一个处理设备(例如,处理设备 110)可以从与主车辆相关联的相机接收表示主车辆的环境的多个图像。在步 骤1803,对一个或多个所接收的图像的分析可以使至少一个处理器能够识别 主车辆1701的环境中的目标车辆(例如,车辆1703)。在步骤1805,对一个 或多个所接收的图像的分析可以使至少一个处理设备能够在主车辆的环境中 识别目标车辆的至少一个障碍物。所述对象可以包括道路中的碎片、停车灯/ 交通灯、行人、另一车辆(例如,在目标车辆前方行驶的车辆、停放的车辆 等)、道路中的箱子、路障、路缘或可能在主车辆的环境中遇到的任何其他类 型的对象。在步骤1807,对一个或多个接收的图像的分析可以使至少一个处 理设备能够确定目标车辆相对于目标车辆的至少一个识别的障碍物的至少一 个导航特性。

可以使用各种导航特性来推断检测到的目标车辆的侵略等级,以便产生 对目标车辆的适当的导航响应。例如,这种导航特性可以包括目标车辆与至 少一个识别的障碍物之间的相对加速度、目标车辆距障碍物的距离(例如, 目标车辆在另一车辆后面的跟随距离)、和/或目标车辆与障碍物之间的相对 速度等。

在一些实施例中,可以基于来自与主车辆相关联的传感器(例如雷达、 速度传感器、GPS等)的输出来确定目标车辆的导航特性。然而,在一些情 况下,可以部分地或完全地基于对主车辆的环境的图像的分析来确定目标车 辆的导航特性。例如,上文所述和在例如通过引用合并如此处的美国专利号 9,168,868中描述的图像分析技术可以用于识别主车辆的环境内的目标车辆。 并且,随着时间的推移监视目标车辆在捕捉图像中的位置和/或监视与目标车 辆相关联的一个或多个特征(例如,尾灯、头灯、保险杠、车轮等)在捕捉图像中的位置,可以使得能够确定目标车辆与主车辆之间或者目标车辆与主车 辆的环境中的一个或多个其它对象之间的相对距离、速度和/或加速度。

可以从目标车辆的任何合适的观察到的导航特性或观察到的导航特性的 任何组合中推断所识别的目标车辆的侵略等级。例如,可以基于任何观察到 的特性和一个或多个预定阈值等级或任何其他合适的定性或定量分析,作出 对侵略性的确定。在一些实施例中,如果目标车辆被观察到以小于预定侵略 性距离阈值的距离跟随主车辆或另一车辆,则目标车辆可被认为是侵略性的。 另一方面,被观察到以大于预定防御性距离阈值的距离跟随主车辆或另一车 辆的目标车辆可被认为是防御性的。预定侵略性距离阈值不需要与预定防御 性距离阈值相同。另外,预定侵略性距离阈值和预定防御性距离阈值中的任 一个或两者可以包括值的范围,而不是分界值(bright line value)。此外,预 定侵略性距离阈值和预定防御性距离阈值都不必被固定。相反,这些值或值 的范围可以随时间而改变,并且可以基于观察到的目标车辆的特性来应用不 同的阈值/阈值的范围。例如,所应用的阈值可以取决于目标车辆的一个或多 个其他特性。较高的所观察到的相对速度和/或加速度可以授权应用较大的阈 值/范围。相反,较低的相对速度和/或加速度(包括零相对速度和/或加速度) 可以授权在进行侵略性/防御性推断时应用较小的距离阈值/范围。

侵略性/防御性推断也可以基于相对速度和/或相对加速度阈值。如果观察 到的目标车辆相对于另一车辆的相对速度和/或相对加速度超过预定等级或 范围,则该目标车辆可被认为是侵略性的。如果观察到的目标车辆相对于另 一车辆的相对速度和/或相对加速度低于预定水平或范围,则该目标车辆可被 认为是防御性的。

尽管可以仅基于任何观察到的导航特性来进行侵略性/防御性确定,但该 确定还可以取决于观察到的特性的任何组合。例如,如上所述,在一些情况 下,目标车辆可以仅基于观察到其正在以某个阈值或范围以下的距离跟随另 一车辆而被认为是侵略性的。然而,在其他情况下,如果目标车辆以小于预 定量(其可以与仅基于距离进行确定时应用的阈值相同或不同)并且具有大 于预定量或范围的相对速度和/或相对加速度跟随另一车辆,则该目标车辆可 以被认为是侵略性的。类似地,目标车辆可以仅基于观察到其正在以大于某个阈值或范围的距离跟随另一车辆而被认为是防御性的。然而,在其他情况 下,如果目标车辆以大于预定量(其可以与仅基于距离进行确定时应用的阈 值相同或不同)并且具有小于预定量或范围的相对速度和/或相对加速度跟随 另一车辆,则该目标车辆可以被认为是防御性的。如果例如车辆超过0.5G加 速度或减速度(例如,加速度变化率(jerk)为5米每三次方秒(m/s3))、车 辆在车道变换或曲线上具有0.5G的横向加速度、一车辆导致另一车辆进行上 述任何一项、车辆改变车道并导致另一车辆以0.3G减速度或3m/s3的加速度 变化率以上进行让路、和/或车辆在不停的情况下改变两条车道,则系统100 可以得出侵略性/防御性。

应该理解的是,对超过一范围的量的引用可以指示该量超过与该范围相 关联的所有值或落入该范围内。类似地,对低于一范围的量的引用可以指示 该量低于与该范围相关的所有值或落入该范围内。另外,尽管相对于距离、 相对加速度和相对速度描述了用于进行侵略性/防御性推断的示例,但是可以 使用任何其他合适的量。例如,可以使用对要发生碰撞的时间的计算、或者 目标车辆的距离、加速度和/或速度的任何间接指示符。还应该注意的是,尽 管上述示例关注于相对于其他车辆的目标车辆,但是可以通过观察目标车辆相对于任何其他类型的障碍物(例如,行人、路障、交通灯、碎片等)的导航 特性来进行侵略性/防御性推断。

回到图17A和17B所示的示例,当主车辆1701接近环形道时,导航系 统(包括它的至少一个处理设备)可以接收来自与主车辆相关联的相机的图 像流。基于对一个或多个接收的图像的分析,可以识别目标车辆1703、1705、 1706、1708和1710中的任何一个。此外,导航系统可以分析一个或多个识别 的目标车辆的导航特性。导航系统可以辨识到目标车辆1703与1705之间的 间隙表示潜在并道至环形道的第一机会。导航系统可以分析目标车辆1703以 确定与目标车辆1703相关联的侵略指示符。如果目标车辆1703被认为是侵 略性的,则主车辆导航系统可以选择为车辆1703让路而不是在车辆1703前 方并道。另一方面,如果目标车辆1703被认为是防御性的,则主车辆导航系 统可以尝试在车辆1703前完成并道动作。

当主车辆1701接近环形道时,导航系统的至少一个处理设备可以分析所 捕捉的图像以确定与目标车辆1703相关联的导航特性。例如,基于图像,其 可以确定车辆1703以一距离跟随车辆1705,该距离为主车辆1701安全进入 提供足够的间隙。事实上,可以确定车辆1703以超过侵略性距离阈值的距离 跟随车辆1705,并且因此基于该信息,主车辆导航系统可以倾向于将目标车 辆1703识别为防御性的。然而,在一些情况下,如上所述,可以在进行侵略 性/防御性确定时,分析目标车辆的多于一个的导航特性。进一步分析,主车 辆导航系统可以确定,当目标车辆1703以非侵略距离在目标车辆1705后面 跟随时,车辆1703相对于车辆1705具有超过与侵略性行为相关联的一个或 多个阈值的相对速度和/或相对加速度。实际上,主车辆1701可以确定目标车 辆1703相对于车辆1705正在加速,并且靠近存在于车辆1703与1705之间 的间隙。基于对相对速度、加速度和距离(以及甚至是车辆1703与1705之 间的间隙正在靠近的速率)的进一步分析,主车辆1701可以确定目标车辆1703正在侵略性地表现行为。因此,虽然可能存在主车辆可以安全地导航进 入的足够间隙,但主车辆1701可以预期在目标车辆1703前方的并道将导致 在主车辆紧后面的侵略性地导航的车辆。此外,基于通过图像分析或其他传 感器输出观察到的行为,目标车辆1703可以被预期为:如果主车辆1701要 在车辆1703的前方并道,则目标车辆1703将继续加速朝向主车辆1701或者 以非零相对速度继续朝向主车辆1701行驶。从安全角度来看,这种情况可能 是不希望的,并且也可能导致主车辆的乘客不适。出于这种原因,如图17B 所示,主车辆1701可以选择为车辆1703让路,并且在车辆1703后面并且在 车辆1710的前方并道至环形路,该车辆1710基于对其一个或多个导航特性 的分析而被视为是防御性的。

回到图18,在步骤1809,主车辆的导航系统的至少一个处理设备可以基 于识别的目标车辆相对于识别的障碍物的至少一个导航特性,来确定主车辆 的导航动作(例如,在车辆1710的前方和车辆1703的后方并道)。为了实施 该导航动作(在步骤1811),至少一个处理设备可以响应于所确定的导航动作 引起对主车辆的导航致动器的至少一个调节。例如,可以施加制动以便让路 给图17A中的车辆1703,并且加速器可以与主车辆的车轮的转向一起应用以 便使主车辆在车辆1703后面进入环形交叉口,如图17B所示。

如以上示例中所述,主车辆的导航可以基于目标车辆相对于另一车辆或 对象的导航特性。另外,主车辆的导航可以仅基于目标车辆的导航特性而不 特别参考另一车辆或对象。例如,在图18的步骤1807处,对从主车辆的环 境捕捉的多个图像的分析可以使得能够确定识别的目标车辆的至少一个导航 特性,该导航特性指示与目标车辆相关联的侵略等级。导航特性可以包括速 度、加速度等,其不需要相对于另一对象或目标车辆进行参考,以便进行侵 略性/防御性的确定。例如,观察到的与目标车辆相关联的超过预定阈值或落入或超过数值范围的加速度和/或速度可以指示侵略性行为。相反,观察到的 与目标车辆相关联的低于预定阈值或落入或超过数值范围的加速度和/或速 度可以指示防御性行为。

当然,在一些情况下,为了进行侵略性/防御性的确定,可以相对于主车 辆来参考所观察到的导航特性(例如,位置、距离、加速度等)。例如,观察 到的目标车辆的指示与目标车辆相关联的侵略等级的导航特性可以包括目标 车辆与主车辆之间的相对加速度的增加、主车辆后方目标车辆的跟随距离、 目标车辆与主车辆之间的相对速度等。

如以上各节所述,可以针对预定的约束来测试规划导航动作,以确保符 合某些规则。在一些实施例中,这个概念可以扩展到潜在事故责任的考虑。 如下所述,自主导航的主要目标是安全。由于绝对安全可能是不可能的(例 如,至少因为处于自主控制下的特定主车辆不能控制其周围的其他车辆—— 它只能控制其自身的动作),在自主导航中使用潜在事故责任作为考虑因素, 并且实际上作为对规划动作的约束,可有助于确保特定的自主车辆不采取任 何被认为不安全的动作——例如,潜在事故责任可能附给主车辆上的那些动作。如果主车辆仅采取安全的并且被确定不会导致主车辆自身过错(fault)或 责任的事故的动作,那么可以实现期望的事故避免等级(例如,每小时驾驶 少于10

大多数当前的自主驾驶方法带来的挑战包括缺乏安全保证(或至少无法 提供期望的安全等级),以及也缺乏可扩展性。考虑保证多作用者(multi-agent) 安全驾驶的问题。由于社会不太可能容忍机器造成的道路事故死亡,因此可 接受的安全等级对于接受自主车辆至关重要。虽然目标可能是提供零事故, 但这可能是不可能的,因为事故中通常涉及多个作用者,并且可以设想事故 完全是由于其他作用者的责任而发生的情况。例如,如图19所示,主车辆 1901在多车道高速公路上驾驶,虽然主车辆1901可以控制其自身相对于目 标车辆1903、1905、1907和1909的动作,但是它不能控制其周围的目标车 辆的动作。结果,如果车辆1905例如在与主车辆的碰撞路线上突然切入主车 辆的车道,主车辆1901可能无法避免与至少一个目标车辆发生事故。为了解 决这一难题,自主车辆从业者的典型响应是采用统计数据驱动的方法,在这 种方法中,随着更多里程上的数据被收集,安全验证变得更加严格。

然而,为理解针对安全的数据驱动方法的问题本质,首先要考虑的是, 已知每小时(人类)驾驶的事故引起的死亡的概率为10

为自主车辆开发安全驾驶模型的第二主要挑战是对可扩展性的需求。AV 的前提不仅仅是“建设更美好的世界”,而是基于这样一个前提,即没有驾驶 员的移动性可以以比有驾驶员的移动性更低的成本得以维持。这一前提总是 与可扩展性的概念相结合——即,支持AV的大规模生产(以百万计),并且 更重要的是支持可以忽略不计的增量成本,以便能够在新的城市驾驶。因此, 计算和感测的成本确实很重要,如果要大规模制造AV,验证的成本和在“每 个地方”驾驶而不是在选择的少数几个城市驾驶的能力也是维持业务的必要要求。

大多数当前方法的问题在于沿着三个轴的“蛮力”心态:(i)所需的“计算 密度”,(ii)高清地图被定义和创建的方式,以及(iii)传感器的所需规格。 蛮力方法与可扩展性背道而驰,并将重心转移到不受限的车载计算无处不在 的未来,在未来,构建和维护HD地图的成本变得可忽略不计且可扩展,奇 异的超高级传感器将被开发、生产到汽车级并且成本可以忽略不计。实现上 述任何一种情况的未来确实是可能的,但使上述所有情况成立很可能是低概 率事件。因此,有必要提供一种形式(formal)模型,将安全和可扩展性结合 成社会可以接受的、并且在支持数百万辆汽车在发达国家的任何地方驾驶的 意义上是可扩展的AV程序。

所公开的实施例表示了一种解决方案,该解决方案可以提供目标安全等 级(或者甚至可以超过安全目标),并且还可以扩展到包括数百万辆(或更多) 自主车辆的系统。在安全方面,引入被称为“责任敏感安全性(Responsibility Sensitive Safety,RSS)”的模型,该模型将“事故归责”的概念形式化,是可解 译和可解释的,并将“责任”观念合并到机器人作用者的动作中。RSS的定义 对实施它的方式是不可知的——这是促进创建令人信服的全局安全模型的目 标的关键特征。RSS的动机是,观察到(如图19所示)作用者在事故中起着 不对称的作用,在该事故中通常只有其中一个作用者对事故有责任并且因此 要对该事故负责。RSS模型还包括在有限的感测条件下对“谨慎驾驶”的形式 处理,在这种条件下,并非所有的作用者都总是可见的(例如,由于遮挡)。 RSS模型的一个主要目标是保证作用者永远不会发生“归责”给它或它要负责 的事故。只有当模型带有符合RSS的有效策略(例如,将“感测状态”映射到 动作的功能)时,它才可能有用。例如,当前时刻看似无辜的动作可能会在遥 远的将来导致灾难性事件(“蝴蝶效应”)。RSS可有助于在短期的将来构建一组局部约束,这些约束可以保证(或至少实际上保证)未来不会因主车辆的 动作而发生事故。

另一贡献围绕“语义(semantic)”语言的引入而进展,该“语义”语言包括 单位、测量和动作空间,以及如何将它们合并到AV的规划、感测和致动中的 规范。为了获得语义观念,在此上下文中,考虑参加驾驶课程的人是如何被 指导去思考“驾驶策略”的。这些指令不是几何的——它们不采取“以当前速度 行驶13.7米,然后以0.8m/s

例如,在强化学习设置中,可以在语义空间上定义Q函数(例如,对当 作用者处于状态s∈S时,执行动作a∈A的长期质量进行评估的函数;给定 这样的Q函数,动作的自然选择可以是挑选具有最高质量的动作π(s)= argmax

总而言之,所公开的实施例可以包括涵盖AV的以下重要成分的形式模 型:感测、规划和行动。该模型可能有助于确保从规划的角度来看,不会发生 AV自身责任的事故。并且通过PAC感测模型,即使存在感测误差,所描述 的融合方法也可能只需要非常合理量级的离线数据收集以符合所描述的安全 模型。此外,该模型可以通过语义语言将安全和可扩展性配合在一起,从而 为安全和可扩展的AV提供完整的方法。最后,值得注意的是,制定将会被业 界和监管机构采用的被接受的安全模型可能是AV成功的必要条件。

RSS模型通常遵循经典的感测-规划-行动机器人控制方法。感测系统可 以负责理解主车辆环境的当前状态。规划部分可以被称为“驾驶策略”,并且 可以由一组硬编码指令、通过经训练的系统(例如,神经网络)或组合来实 施,该规划部分可以负责根据用于实现驾驶目标(例如,如何从左车道移动 到右车道以便离开高速公路)的可用选项来确定最佳的下一步移动是什么。 行动部分负责实施规划(例如,用于对车辆进行转向、加速和/或制动等以便 实施所选择的导航动作的致动器和一个或多个控制器的系统)。下面描述的实施例主要集中在感测和规划部分。

事故可能源于感测误差或规划误差。规划是多作用者的努力,因为还有 其他道路使用者(人和机器)对AV的动作做出反应。所描述的RSS模型被 设计为解决规划部分的安全等问题。这可以被称为多作用者安全。在统计方 法中,对规划误差的概率的估计可以“在线”完成。也就是说,软件每次更新 后,必须用新版本驾驶数十亿英里,以提供对规划误差的频率的可接受等级 的估计。这显然是不可行的。作为一种替代,RSS模型可以对规划模块不会 犯归责给AV的错误(形式上定义了“归责”的概念)提供100%的保证(或几 乎100%的保证)。RSS模型还可以提供一种不依赖于在线测试的用于其验证 的有效方法。

感测系统中的误差可能更容易验证,因为感测可以独立于车辆动作,且 因此我们可以使用“离线”数据来验证严重感测误差的概率。但是,即使收集 超过10

所描述的RSS系统也可以扩展到数百万辆汽车。例如,所描述的语义驾 驶策略和所应用的安全约束可以与即使在当今的技术中也能扩展到数百万辆 汽车的感测和映射(mapping)要求相一致。

这样的系统的基础构造块是彻底的安全定义,即AV系统可能需要遵守 的最低标准。在下面的技术引理中,用来验证AV系统的统计方法被证明是 不可行的,即使是用于验证简单的声明:诸如“系统每小时发生N起事故”。 这意味着,基于模型的安全定义是用于验证AV系统的唯一可行工具。

引理1令X为概率空间,并且A为Pr(A)=p

Pr(Z=0)≥e

证明我们使用不等式1-x≥e

推论1假设AV系统AV

为了获得对这些概率的典型值的透视,假设我们希望事故概率为每小时 10

最后,请注意,该困难在于使单一、特定、危险的AV系统无效。完整的 解决方案(solution)不能被看作是单一的系统,因为需要新的版本、错误修 正和更新。从验证器的角度来看,每一次改变,甚至是单行代码的改变,都会 生成新的系统。因此,一个经过统计验证的解决方案,必须在每次小的修正 或改变后通过新的样本在线验证,以应对新系统观察到和得出的状态分布的 偏移。重复且系统地获得如此大量的样本(并且即使如此,也有恒定的概率 无法验证系统)是不可行的。

此外,任何统计性的声明都必须被形式化来进行衡量。声明一系统发生 的事故的数量的统计属性比声明“它以安全的方式驾驶”要弱得多。为了说明 这一点,必须从形式上定义什么是安全。

绝对安全是不可能的

如果在未来某个时间没有事故跟随动作a发生,则汽车c采取的动作a 可以被认为是绝对安全的。通过观察例如如图19所描绘的简单的驾驶场景, 可以看出,是不可能实现绝对安全的。从车辆1901的角度来看,没有任何动 作可以确保周围的车辆不会撞上它。通过禁止自主汽车处于这种情况来解决 这个问题也是不可能的。由于每条有两条以上车道的高速公路都会在某一点 导致这种场景,禁止这种场景相当于要求留在车库里。乍一看,这种暗示可 能看起来令人失望。没有什么是绝对安全的。然而,如上所述,对绝对安全的这种要求可能过于苛刻,事实证明人类驾驶员并不遵守绝对安全的要求。相 反,人类根据依赖于责任的安全理念行事。

绝对安全概念中缺少的重要方面是大多数事故的不对称——通常是其中 一个驾驶员对撞车负责,并且要被归责。在图19的示例中,如果例如左侧汽 车1909突然驶入中央汽车1901,则中央汽车1901不应被归责。为了将考虑 到其缺乏责任的事实形式化,AV 1901待在自己车道上的行为可以被认为是 安全的。为此,描述了“事故归责(accident blame)”或事故责任的形式概念, 其可以作为安全驾驶方法的前提。

作为示例,考虑两辆汽车c

接下来,考虑一系列更广泛的场景:行驶在多车道道路上,其中汽车可 以自由改变车道,切入其他汽车的路径,以不同的速度行驶,等等。为了简化 以下讨论,假设在平面上有一条直道,其中横向轴和纵向轴分别是x轴和y 轴。在温和条件下,这可以通过定义实际弯道和直道之间的同态 (homomorphism)来实现。另外,考虑离散的时间空间。定义可能有助于区 分两组直观上不同的情况:不执行显著的横向操纵(lateral maneuver)的简单的情况、和涉及横向运动的更复杂的情况。

定义1(汽车廊道(Corridor))汽车c的廊道是一个范围[c

定义2(切入(cut-in))若汽车c

可以在廊道的前/后部分之间作进一步区分。术语“切入方向”可以描述在 相关廊道边界方向上的运动。这些定义可以定义有横向运动的情况。对于不 存在这种发生的简单情况,诸如汽车跟随另一辆汽车的简单情况,定义了安 全纵向距离:

定义3(安全纵向距离(Safe longitudinal distance))若对于由c

下面的引理2计算d作为c

引理2令c

证明令d

注意,T

要求d

最后,定义了一个比较运算符,它允许带有一些“余量”的概念进行比较: 当比较长度、速度等时,有必要接受非常相似的量为“相等”。

定义4(μ-比较(μ-comparison))两个数字a、b的μ-比较为:若a> b+μ则a>

下面的比较(argmin、argmax等)是针对一些合适的μ的μ-比较。假设 汽车c

定义5(归责时间(Blame Time))事故的归责时间是事故发生前满足 如下条件的最早时间:

·其中一辆汽车和另一辆汽车的廊道之间有相交(intersection),并且

·纵向距离不安全。

显然存在这样的时间,因为在事故发生的时刻,两个条件都成立。归责 时间可以分为两个不同的类别:

·一类是其中也发生了切入,即,它们是一辆汽车和另一辆汽车的 廊道相交的第一时刻,并且在不安全的距离内。

·一类是其中不发生切入,即,已经与廊道相交了,处于安全的纵 向距离,并且该距离在归责时间时已变为不安全。

定义6(μ-横向速度失败(μ-Losing by Lateral Velocity))假设汽车c

应当注意的是速度的方向很重要:例如,速度-1、1(两辆车撞向彼此) 是平局(tie),然而如果速度是1、1+μ/2,则正向朝着另一辆汽车的那辆汽 车应该被归责。直觉上,这个定义允许我们归责给一辆在横向上向另一辆汽 车开得很快的汽车。

定义7((μ

直觉上,如果一辆汽车非常靠近车道中心(μ

定义8(归责(Blame))汽车c

·如果归责时间不是切入时间,则归责给后面的汽车。

·如果归责时间也是切入时间,则归责给两辆汽车,除非对于其中一辆汽 车c

·它没有横向速度失败,

·它横向位置获胜。

在这种情况下,c

处理有限感测

在考虑了高速公路的示例之后,接下来的第二示例解决了有限感测的问 题。当被归责了事故时,非常常见的人类响应落入“但我没能看到他”类别。很 多时候,这是真的。人类的感测能力是有限的,有时是因为把注意力集中在 道路的不同部分的无意识的决定,有时是因为粗心大意,有时是因为物理限 制——不可能看到藏在停着的汽车后面的行人。在这些人类限制中,先进的 自动感测系统可能只受后者的制约:360°的道路视野以及计算机从不粗心大 意的事实,使它们凌驾于人类的感测能力之上。回到“但我没能看到他”的示例,恰当的回答是“好吧,你应该更小心一点的”。为了使关于有限感测要小心 的事物形式化,考虑如图22所示的场景。汽车2201(c

定义9(暴露时间(Exposure Time))对象的暴露时间是我们看到它的 第一时间。

定义10(由于不合理的速度的归责)假设在暴露时间或暴露时间之后, 汽车c

这个扩展允许c

将事故责任定义扩展到有限感测这一基本情况后,一系列扩展可以解决 类似的情况。关于什么可以被遮挡(一辆潜在的快速汽车不会在两辆停得很 近的汽车之间被遮挡,但是行人能被遮挡)、以及它能执行的何种最坏情况操 纵(行人的υ

定义11(行人事故归责(Accident-with-Pedestrian Blame))行人事故 归责总是在汽车上,除非以下三种情况之一成立:

·汽车以汽车的侧面撞击行人,并且汽车关于撞击方向的横向速度小于 μ。

·行人在暴露时间或之后的速度大于υ

·汽车处于完全停止。

非形式上地,只有当行人撞向汽车的侧面,而汽车没有以比μ快的速度 驶向行人,或者如果汽车是处于停止的,或者如果行人在某个方向(不一定 是撞击方向)超出常人地快速跑,汽车才不被归责。

尽管所描述的系统可能无法确保绝对安全,但它可能会导致在自主车辆 当中很少(如果有的话)事故发生的情况。例如,在所有的汽车(和其他道路 使用者)能够成功地验证他们不会因为所采取的动作导致的事故而被归责的 情况下,事故就可以被消除。根据定义,每起事故至少有一辆负责任的汽车。 因此,如果没有汽车采取可能为导致的事故负责的动作(根据上述RSS模型), 就决不应该有任何事故,从而产生不实用和不切实际的统计方法所寻求的绝 对安全或接近绝对安全的类型。

不是所有的路都是简单的结构。有些路,像交叉口和环形道,包含更复 杂的情况以及各种路权规则。并非所有被遮挡对象都是汽车或行人,自行车 和摩托车都是要被考虑的合法的道路使用者。本部分介绍的原理可以扩展到 这些额外的情况。

责任敏感安全性的有效验证条件

本部分讨论RSS的实施方面。首先,应该注意的是,现在执行的动作可 能具有蝴蝶效应,其例如在驾驶10分钟后会导致一连串有事故的事件。检查 未来所有可能结果的“蛮力”方法不仅不切实际,而且很可能是不可能的。为 了克服这一挑战,现在与计算上有效的方法一起描述如上面描述的责任敏感 安全性定义来验证它们。

计算上可行的安全验证。

用于计算上可行的验证的主要数学工具是“归纳法”。要通过归纳法来证 明一个声明,首先要针对简单情况来证明声明,然后,每个归纳法步骤都将 证明扩展到越来越多的相关情况。为了说明这种归纳工具如何有助于安全验 证,请再次考虑汽车c

引理3在定义3中给出的假设下,如果c

证明通过归纳法来证明。基于归纳法,从两辆汽车之间的距离是安全的 (根据引理2)的初始状态开始。归纳步骤如下。考虑在某个时间t,c

上面的示例证实了更一般的想法:在极端情况下,c

为了概括这些对RSS足够的局部属性的想法,我们首先定义了默认紧急 策略(Default Emergency Policy,DEP),并将其用作定义我们称之为“谨慎 (cautious)”的动作采取的局部属性的构造块。结果表明,对于RSS来说, 只采用谨慎的命令就足够了。

定义12(默认紧急策略)默认紧急策略(DEP)是应用最大制动力、 以及朝着相对于车道的0航向的最大航向改变。最大制动力和航向改变是从 汽车的物理参数(也可能从天气和路况)推导出。定义13(安全状态)如 果从某个状态s开始执行DEP不会导致归责给我们的事故,则这个状态s是 安全的。就像在一辆汽车跟随另一辆汽车的简单情况中一样,如果某个命令 导致安全状态,则我们将其定义为是谨慎的。定义14(谨慎命令(cautiouscommand))假设我们当前处于状态s

下面的定理再次通过归纳法证明,如果我们只发出谨慎命令,那么就不 会有归责给我们的事故。定理1假设在时间0,c处于安全状态,并且对于每 个时间步长,c只发出谨慎命令,如果在某个时间步长处不存在谨慎命令,c 应用DEP。那么,c决不会发生归责给它的事故。证明通过归纳法。归纳法 的基础来自安全状态的定义,并且基于谨慎命令的定义。

这种方法的一个好处是,可能没有必要检查无限的未来,因为我们可以 迅速回到安全状态,并从那里安全地继续。此外,考虑到我们将在t+1时再 次规划的事实,因此如果必要的话能够在那时执行DEP,我们应该只检查我 们在时间t给出的命令,而不是我们可能想到的更长的规划——我们可以在t +1时改变该规划。现在,当在运行时用这个透明模型来验证学习组件时,将 学习组件合并到系统中成为可能。最后,这种局部验证意味着完整的未来RSS, 这是我们期望的目标。一个实现障碍是,谨慎性(cautiousness)定义涉及到另一作用者直到t

有效谨慎性验证

第一个观察(observation)是,当且仅当存在特定的车辆

当考虑单个目标汽车时,当且仅当存在一系列导致了归责给c的事故的

引理4假设在时间T=0,

证明假设a不是谨慎的,即,存在导致归责给c的事故的

最后,如果T<0,根据引理的假设,在切入的时刻,

根据引理4,检查是否可能存在归责给c的不安全切入的问题仍然存在。 下面给出了一种有效的算法,用于检查在时间t不安全切入的可能性。为了 验证整个轨迹,我们将时间间隔[0,t

以下定理证明了上述算法的正确性。

定理2如果算法1返回“不可行”,那么在时间t,不会有归责给自我(ego) 车辆的不安全切入。为了证明这个定理,我们依赖下面的关键引理,它证明 了算法1的两个构造块的正确性。从纵向可行性开始:

引理5在算法1的注释下,如果检查纵向可行性程序是通过返回“不可 行”来结束的,则在时间t不会有归责给自我车辆的非安全切入。

证明忽略切入操纵的横向方面,我们仅仅检验c和

接下来,横向可行性。

引理6在算法1的注释下,如果检查横向可行性程序是通过返回“不可 行”来结束的,则在时间t不会有归责给自我车辆的不安全切入。

证明首先,很明显,通过坐标的简单改变和相对速度的考虑,x[t]=0,

请注意,在我们的示例中,切入中所涉及的汽车的位置是(x[t],x[t]–W), 这意味着一些(μ1,μ2)-横向位置获胜属性影响了归责。通过我们对υ

从算法中回想

考虑t

第一,可以看出u

观察到,由于算法中定义的x

假设某个速度分布u满足边界约束

假设对所有τ满足

这意味着u的不可行性,因为它使用的加速度(即u',速度的导数)超 过a

现在,假设

安全验证-遮挡

以与处理观察到的对象相似的方式,我们可以用与定理1相似的定理来 定义关于被遮挡对象的谨慎性的扩展,证明谨慎性意味着决没有归责给我们 的事故。

定义15(关于被遮挡对象的谨慎性)如果在对象的暴露时间为t+1并 且我们在t+1发出默认紧急策略(DEP)命令的情况下,将不会发生归责给 我们的事故,则在时间t给出的命令关于被遮挡对象是谨慎的。

引理7如果我们只给出关于被遮挡对象和未被遮挡对象的谨慎命令,就 决不会有归责给我们的事故。

证明假设归责给我们的事故发生在时间t,暴露时间t'≤t。通过谨慎性 假设,在t'–1给出的命令允许我们在t'发出DEP命令,而不会因为事故被归 责。由于发生了归责给我们的事故,我们显然没有在时间t'发出DEP命令。 但从t'起,我们关于未被遮挡对象是安全的,因此我们给出的命令是安全的, 并且没有归责给我们的事故。

在这里,我们也提供了有效的方法来检查关于被遮挡对象的最坏情况假 设的谨慎性,从而允许可行的、可扩展的RSS。

驾驶策略

驾驶策略是从感测状态(对我们周围世界的描述)到驾驶命令(例如,该 命令是下一秒的横向和纵向加速度,其决定了从现在起的下一秒汽车应该在 哪里以及以什么速度行驶)的映射。驾驶命令被传递给控制器,其目标是将 汽车实际移动到期望的位置/速度。

在前面的部分中,描述了形式化的安全模型以及所提出的对由驾驶策略 所发布的命令而言的、保证安全的约束。对安全的约束是针对极端情况设计 的。通常,我们甚至不希望需要这些约束,而是希望构建能够带来舒适驾驶 的驾驶策略。本部分的重点是如何建立一个有效的驾驶策略,特别是需要可 扩展到数百万辆汽车的计算资源的策略。目前,这种讨论没有解决如何获得 感测状态以及假设忠实地表示我们周围的世界而没有任何限制的乌托邦 (utopic)感测状态的问题。后面的部分将讨论感测状态的不准确对驾驶策略 的影响。

如上面部分所讨论的,定义驾驶策略的问题是用强化学习(ReinforcementLearning,RL)的语言来表达的。在RL的每次迭代中,作用者观察描述世界 的状态,表示为s

为了用上面的RL语言来表达驾驶策略问题,令s

在决定策略在时间t应该采取什么动作时,一个挑战来自这样一个事实, 即人们需要估计这一动作对奖励的长期影响。例如,在驾驶策略的上下文中, 在时间t采取的动作可能看起来是目前的好动作(即,奖励值ρ(s

即刻的问题是如何定义Q和如何有效地评估Q。让我们首先做出(完全 不现实的)简化假设,即s

在这个简化假设下,给定st,对于T个步长的每个决策序列(a

也就是说,如果我们现在处于状态s并且立即执行动作a,那么Q(s,a)是 我们所能期待的最好的未来。

让我们讨论一下如何计算Q。第一个想法是将一组可能的动作的集合A 离散化为一个有限集合

参数T通常被称为“规划的时间范围”,并且它控制着计算时间和评估质 量之间的自然权衡——T越大,我们对当前动作的评估就越好(因为我们明确 更深入地检查其对未来的影响),但另一方面,更大的T会指数地增加计算时 间。为了理解为什么我们可能需要大的T值,考虑一个场景:其中我们在高 速公路出口前200米并且我们应走这个出口。当时间范围足够长时,累积奖 励将指示在t和t+T之间的某个时间τ我们是否已经到达出口车道。另一方 面,对于短的时间范围,即使我们执行了正确的即刻动作,我们也不知道它 是否会最终将把我们引向出口车道。

另一种不同的方法试图执行离线计算,以构造Q的近似,表示为

处理这种维数灾难的一种方法是将Q限制为来自受限的函数类(通常称 为假设类(hypothesis class)),诸如手动确定特征的线性函数或深度神经网络。 例如,考虑深度神经网络,在玩雅达利(Atari)游戏的上下文中,它对Q进 行近似。这导致了资源有效的解决方案,前提是可以有效地评估对Q进行近 似的函数类。然而,这种方法有几个缺点。首先,不知道所选的函数类是否包 含对期望的Q函数的良好近似。其次,即使存在这样的函数,也不知道现有 算法是否能设法有效地学习它。到目前为止,学习复杂的多作用者问题(诸 如我们在驾驶中遇到的问题)的Q函数的成功案例还不多。这项任务之所以 困难,有几个理论上的原因。正如关于马尔可夫假设所提到的,根本的现有 方法是有问题的。但是,更严重的问题是由于作出决策的时间分辨率而导致 的信噪比非常小,如下所述。

考虑一个简单的场景,在这个场景中,车辆需要改变车道以便从200米 内的高速公路出口出去,并且道路当前是空旷的。最好的决策是开始进行车 道改变。可以每0.1秒做出一次决策,因此在当前时间t,Q(s

总之,可用的方法大致可以分为两个阵营。第一种是蛮力方法,包括搜 索许多动作序列或将感测状态域离散化、并在存储器中维护一个巨大的表。 这种方法可以得到对Q的非常准确的近似,但是无论是在计算时间还是在存 储器方面都需要无限的资源。第二种是资源有效的方法,在这种方法中,我 们要么搜索短的动作序列,要么对Q应用函数近似。在这两种情况下,我们 的代价都是对Q不太准确的近似,这可能会导致糟糕的决策。

本文描述的方法包括构造一个既资源有效又准确的Q函数,以偏离几何 动作并适应语义动作空间,如下一部分所述。

语义方法

作为所公开的语义方法的基础,考虑一个刚刚拿到驾照的青少年。他的 父亲坐在他旁边,并给他“驾驶策略”指示。这些指令不是几何的——它们不 采用“以当前速度行驶13.7米,然后以0.8m/s

现在定义语义动作空间。主要思想是定义横向和纵向目标,以及实现这 些目标的侵略性(aggressiveness)等级。横向目标是车道坐标系统中期望的位 置(例如,“我的目标是在2号车道的中心”)。纵向目标有三种类型。第一种 类型是相对于其他车辆的相对位置和速度(例如,“我的目标是以与3号汽车 相同的速度落后于3号汽车,处于距它2秒钟的距离”)。第二种类型是速度 目标(例如,“以该道路的允许速度的110%行驶”)。第三种类型是某个位置 的速度约束(例如,当接近交叉口时,“在停车线处速度为0”,或者当通过急 转弯时,“在弯道上某个位置处速度最多为60kmh”)。对于第三种选项,我们 可以改为应用“速度分布”(路线上的几个离散点以及每个点处的期望速度)。 横向目标的合理数量以16=4x4(最多4个相关车道上的4个位置)为界。 第一种类型的纵向目标的合理数量以8×2×3=48为界(8辆相关汽车,无论 是在它们前面还是后面,以及3个相关距离)。绝对速度目标的合理数量是10, 速度约束数量的合理上限是2。为了实施给定的横向或纵向目标,我们需要应用加速,然后减速(或者反过来)。实现目标的侵略性是用以实现该目标的最 大(绝对值)加速度/减速度。随着定义了目标和侵略性,我们有封闭形式的 公式来使用运动学计算来实施该目标。唯一剩下的部分是确定横向目标和纵 向目标之间的组合(例如,“从横向目标开始,并且正好在横向目标的中间, 也开始应用纵向目标”)。5次混合和3个侵略性等级的集合似乎就足够了。总 之,我们得到了大小为≈10

值得一提的是,履行这些语义动作所需的可变时间不同于决策做出过程 的频率。为了对动态世界做出反应,我们应该以高频率做出决策——在我们 的实施方式中,每100毫秒做出决策。相反,每一次这样的决策都是基于构 建履行某种语义动作的轨迹,该轨迹将具有更长的时间范围(比如,10秒)。 我们使用更长的时间范围,因为它有助于我们更好地评估轨迹的短期前缀 (prefix)。下一部分讨论了语义动作的评估,但在此之前,我们论证语义动作 归纳了足够的搜索空间。

如上所述,语义动作空间归纳了所有可能的几何弯道(curve)的子集, 其大小指数地(以T)小于枚举所有可能的几何弯道。第一个直接的问题是, 这个更小的搜索空间的短期前缀的集合是否包含我们将想要使用的所有几何 命令。从以下意义上说,这确实足够了。如果道路没有其他作用者,则除了设 置横向目标和/或绝对加速度命令和/或在某些位置的速度约束之外,没有理由 进行改变。如果道路包含其他作用者,我们可能需要与其他作用者协商路权。 在这种情况下,相对于其他作用者设置纵向目标就足够了。长期来看,这些 目标的具体实施方式可能会有所不同,但短期前缀不会有太大改变。因此, 我们可以很好地涵盖相关的短期几何命令。

构建语义动作的评价函数

我们已经定义了语义动作集合,用A

这种方法可以产生强大的驾驶策略。然而,在某些情况下,可能需要更 复杂的质量函数。例如,假设我们在出口车道前跟着一辆慢的卡车,在那里 我们需要走出口车道。一个语义选项是继续在卡车后面慢慢行驶。另一个语 义选项是超越卡车,希望稍后我们能回到出口车道并且准时从出口出去。前 面描述的质量测量没有考虑我们超越卡车后会发生什么,因此即使有足够的 时间超车并返回出口车道,我们也不会选择第二个语义动作。机器学习可以 帮助我们构造对语义动作更好的评估,它将考虑的不仅仅是即刻的语义动作。如前所述,由于信噪比低(缺乏优势),在即刻几何动作上学习Q函数是有问 题的。当考虑语义动作时,这是没有问题的,都是因为执行不同的语义动作 之间有很大的差异,并且因为语义时间范围(我们考虑了多少语义动作)非 常小(在大多数情况下可能少于三个)。

应用机器学习的另一个潜在优势是为了一般化:我们可以通过手动检查 道路的属性,为每条道路设置适当的评估函数,这可能涉及一些尝试和误差。 但是,我们能自动一般化到任何道路吗?这里,如上所述,机器学习方法可 以在多种道路类型上进行训练,以便也一般化到未见的道路。根据所公开的 实施例的语义动作空间可以考虑潜在的好处:语义动作包含长时间范围内的 信息,因此我们可以在资源有效的同时获得对它们质量的非常准确的评估。

其他作用者的动态

迄今为止,我们一直依赖于s

感测

本部分描述感测状态,即对场景相关信息的描述,并形成对驾驶策略模 块的输入。总的来说,感测状态包含静态和动态对象。静态对象是车道、物理 道路定界符、速度约束、路权约束以及关于遮挡物(例如,遮挡了并入道路的 相关部分的围栏)的信息。动态对象是车辆(例如,边界框、速度、加速度)、 行人(边界框、速度、加速度)、交通灯、动态道路定界符(例如,建筑区域 的锥形物)、临时交通标志和警察活动以及道路上的其他障碍物(例如,动物、 从卡车上掉下来的床垫等)。

在任何合理的传感器设置中,我们都不能期望获得精确的感测状态s。相 反,我们查看原始传感器和地图数据,我们用x 0X表示,并且存在取得x并 产生近似感测状态的感测系统。

定义16(感测系统)令S表示感测状态的域,并且令X为原始传感器 和地图数据的域。感测系统为函数

理解何时我们应该接受

·漏警(false negative):感测系统漏掉了对象

·虚警(false positive):感测系统指示“幻影(ghost)”对象

·不准确测量:感测系统正确检测到对象,但不正确地估计其位置或速 度

·不准确语义:感测系统正确地检测到对象,但误解了它的语义含义, 例如交通灯的颜色

舒适

回想一下,对于语义动作a,给定当前感测状态为s,我们使用Q(s,a)来 表示我们对a的评估。我们的策略挑选动作π(s)=argmax

我们可以使用几个(∈,δ)对来评估系统的不同方面。例如,我们可以选择 三个阈值∈

定义17(PAC感测系统)令((∈

这里,定义取决于X×S上的分布D。重要的是要强调,我们通过记录许 多人类驾驶员的数据而不是遵循我们的自主车辆的特定策略来构造这种分布。 虽然后者似乎更合适,但它需要在线验证,这使得感测系统的开发不切实际。 由于任何合理的策略对D的影响都很小,通过应用简单的数据增强技术,我 们可以构造适当的分布,然后在感测系统的每次重大更新后执行离线验证。 该定义为使用

接下来,我们推导出遵循以上PAC定义的设计原则。回想一下,我们已 经描述了几种类型的感测错误。对于漏警、虚警和不准确语义类型的错误, 错误要么将在不相关的对象上(例如,当我们直行时左转的交通灯),要么将 被该定义的δ部分捕捉。因此,我们关注经常发生的“不准确测量”类型的误 差。

有些令人惊讶的是,我们将论证,经由自我准确度(即通过测量每个对 象相对于主车辆的位置的准确度)来测量感测系统准确度的流行方法不足以 确保PAC感测系统。然后,我们将提出一种不同的方法来确保PAC感测系 统,并将论证如何有效地获得它。我们从一些附加的定义开始。

对于场景中的每个对象o,令p(o)、

要求远处对象的加性误差很小是不现实的。事实上,假设o是一辆距离 主车辆150米的车辆,并且令∈为适中大小,比如∈=0.1。对于加性准确度, 这意味着我们应该以高达10厘米的准确度知道车辆的位置。这对于价格合理 的传感器来说是不现实的。另一方面,对于相对准确度,我们需要估计高达 10%的位置,这相当于15米的准确度。这是可行的(如下所述)。

如果对于每一个o∈O,p(o)和

也就是说,对于相当小的∈值(小于3.5%的误差),感测系统可以是∈-自 我准确的,然而,对于任何合理的Q函数,Q的值是完全不同的,因为我们 混淆了需要强烈制动的情况和不需要强烈制动的情况。

上面的示例论证了,∈-自我准确度不能保证我们的感测系统是PAC的。 是否存在对于PAC感测系统是充分的另一个属性取决于Q。我们将描述一系 列的Q函数,其中存在一个简单的定位属性来保证PAC感测系统。∈-自我准 确度的问题是它可能会导致语义错误——在前面提到的示例中,即使

定义18(语义单位(semantic units))车道中心是一条简单的自然曲 线,也就是说,它是一条可微分的内射映射

类似于几何单位,对于语义纵向距离,我们使用相对误差:如果

定义19(语义单位的误差(error in semantic units))令

横向和纵向速度的距离定义类似。有了上面的定义,我们就可以定义Q 的属性以及相应的PAC感测系统的充分条件。

定义20(语义-李普希茨Q(Semantically-LipschitzQ))如果对于每一 个a、s、

作为一个直接的推论,我们得到:

引理8如果Q是L-语义-李普希茨的,并且感测系统

安全

本部分讨论了导致不想要的行为的感测误差的潜在性。如前所述,策略 是可证明地安全的,因为它不会导致归责给主AV的事故。这种事故仍可能 由于硬件故障(例如,所有传感器故障或高速公路上的轮胎爆炸)、软件故障 (某些模块中的重大缺陷)或感测错误而发生。我们的最终目标是这种事件 的概率将是非常小——每小时发生这种事故的概率为10

我们首先定义什么是安全相关的感测误差。回想一下,在每一步长,我 们的策略都会挑选使Q(s,a)最大化的a的值,即π(s)=argmax

通常,安全评价器遗漏是由漏警引起的,而安全评价器幻影是由虚警引 起的。这种错误也可能是由明显不正确的测量引起的,但是在大多数情况下, 我们的舒适目标确保我们远离安全定义的边界,因此合理的测量误差不太可 能导致安全评价器错误。我们如何才能确保安全评价器错误的概率非常小, 比如说,小于每小时10

假设我们构建了三个子系统,表示为s

定义21(单侧c-近似独立(One side c-approximate independent))两 个伯努利随机变量r

则被称为单侧c-近似独立。

对于i0{1,2,3},由

因此,如果所有子系统都有

推论2假设对于任意一对i≠j,随机变量

这个推论允许我们使用小得多的数据集来验证感测系统。例如,如果我 们想要获得10

可能存在产生不相关误差的传感器对。例如,雷达在恶劣天气条件下工 作良好,但可能会因不相关的金属对象而失效,这与受恶劣天气影响但不太 可能受金属对象影响的相机相反。看起来,相机和激光雷达有共同的误差来 源——例如,两者都受雾天、大雨或雪的影响。然而,相机和激光雷达的误差 类型会有所不同——相机可能会由于恶劣天气而遗漏对象,而激光雷达可能 会由于来自空气中粒子的反射而检测到幻影。由于我们已经区分了这两种类 型的误差,近似独立性仍然可能成立。

我们对安全重要的(safety-important)幻影的定义要求:根据至少两个传 感器,所有的动作是不安全的。即使在困难的条件下(例如,大雾),这也不 太可能发生。原因是,在这种情况下,受困难条件影响的系统(例如,激光雷 达)将决定非常防御性的驾驶,因为它们可以宣称高速和横向操纵是不安全 的动作。因此,主AV将缓慢驾驶,并且然后即使需要紧急停车,因为行驶速 度低,也不会有危险。因此,我们的定义使驾驶风格适应道路条件。

构建可扩展的感测系统

已经在舒适性和安全两方面描述了来自感测系统的要求。接下来,描述 了一种用于构建满足这些要求同时是可扩展的感测系统的方法。感测系统有 三个主要组件。第一个是基于相机的场景的远距离、360度覆盖。相机的三个 主要优点是:(1)高分辨率,(2)纹理,(3)价格。低价格支持可扩展系统。 纹理能够理解场景的语义,包括车道标记、交通灯、行人的意图等等。高分辨 率支持远距离检测。此外,在同一域中检测车道标记和对象能够实现出色的 语义横向准确度。相机的两个主要缺点是:(1)信息是2D的并且估计纵向距 离很困难,(2)对光照条件(低日照、恶劣天气)敏感。我们使用我们系统的 接下来两个组件来克服这些困难。

我们系统的第二组件是语义高清晰度制图(mapping)技术,称为道路体 验管理(Road Experience Management,REM)(它涉及基于为路段预先确定 和存储的目标轨迹进行的导航、以及基于在主车辆环境中识别的已辨识地标 的位置(例如,在图像中)确定沿目标轨迹的精确位置的能力)。地图创建的 常见几何方法是在地图创建过程中记录3D点云(由激光雷达获得),然后通 过将现有激光雷达点与地图中的点进行匹配来获得地图上的定位。这种方法 有几个缺点。首先,每公里的地图数据需要很大的存储器,因为我们需要保存很多点。这需要昂贵的通信基础设施。其次,并不是所有的汽车都装备有 激光雷达传感器,因此地图更新非常不频繁。这是有问题的,因为道路中可 能发生改变(施工区域、危险),并且基于激光雷达的制图解决方案的“反射现 实时间(time-to-reflect-reality)”很大。与此相反,REM遵循基于语义的方法。 这个想法是利用大量的装备有相机和检测场景中的语义上有意义的对象(车 道标记、路缘、电线杆、交通灯等)的软件的车辆。如今,许多新车都装备了 可用于众包(crowd-sourced)地图创建的ADAS系统。由于该处理是在车辆端完成的,因此只有少量语义数据应当被传输到云。这允许以可扩展的方式 非常频繁地更新地图。此外,自主车辆可以通过现有的通信平台(蜂窝网络) 接收小尺寸化的地图数据。最后,可以基于相机获得地图上的高精度定位, 而不需要昂贵的激光雷达。

REM可用于多种目的。第一,它让我们对道路的静态结构有所预见(我 们可以提前对高速公路出口路进行规划)。第二,它为我们提供了所有静态信 息的准确信息的另一来源,它与相机检测一起产生了对世界的静态部分的鲁 棒视图(robust view)。第三,它解决了将2D信息从图像平面提升到3D世界 的问题,如下所述。该地图将所有车道描述为3D世界中的曲线。自我车辆在 地图上的定位能够将道路上的每个对象从图像平面轻松提升到其3D位置。 这就产生了遵守语义单位的准确度的定位系统。该系统的第三组件可以是互 补的雷达(radar)和激光雷达(lidar)系统。这些系统可以有两个目的。首先, 它们可以提供极高的准确度等级来增强安全。其次,他们可以给出对速度和 距离的直接测量,这进一步提高了乘坐的舒适性。

以下部分包括RSS系统的技术引理和几个实际考虑。

引理9对于所有x 0[0,0.1],满足1–x>e

证明令f(x)=1–x–e

有效谨慎性验证——被遮挡对象

与未被遮挡对象一样,我们可以检查给出当前命令,之后DEP是否为 RSS。为此,当假设暴露时间为1并在那时我们发出DEP命令(根据定义, 这足以满足谨慎性)时,我们展开(unroll)我们的未来直到t

接下来,考虑更复杂的情况,即被遮挡行人。考虑停着的汽车后面的被 遮挡区域。被遮挡区域和我们的汽车c的前面/侧面的最近点可以例如通过它 们的几何属性(三角形、矩形)来找到。形式上,我们可以把被遮挡区域看作 是少数简单形状的凸区域的结合,并分别处理它们中的每一个。此外,可以 看到行人可以从被遮挡区域跑到汽车(在v

关于验证模拟器的问题

如前所述,多作用者安全可能难以统计地验证,因为它应该以“在线”方 式进行。有人可能会主张,通过建立驾驶环境模拟器,我们可以在“实验室”验 证驾驶策略。然而,验证模拟器忠实地表示现实与验证策略本身一样困难。 要了解为什么这是真的,假设模拟器在以下意义上已经过验证:在模拟器中 应用驾驶策略π会导致发生事故的概率为

基于车道的坐标系统

RSS定义中可以做的一个简化假设是道路由相邻的、恒定宽度的直车道 组成。横轴和纵轴之间的区别、以及纵向位置的排序可能在RSS中起着重要 作用。此外,这些方向的定义显然是基于车道形状。从平面上的(全局)位置 到基于车道的坐标系统的变换将问题简化为原始的“恒定宽度的直车道”情况。

假设车道的中心是平面上的平滑有向曲线r,其中其所有片段(表示为 r

R={r(Y)+αw(Y)r┴(Y)|Y0[Y

非形式地,我们的目标将R的变换φ构造为,使得对于车道上的两辆汽 车,它们的“逻辑排序”将被保留:如果在曲线上c

为了定义φ,我们依赖于这样的假设:对于所有i,如果r

这个定义抓住了车道的坐标系统中“横向操纵”的概念。例如,考虑一条 加宽的车道,汽车恰好在该车道的边界中的一个边界上行驶(见图23)。车道 2301的加宽意味着汽车2303正在远离车道的中心移动,因此具有相对于车 道的横向速度。然而,这并不意味着它执行横向操纵。φ(x',y')

将RSS扩展到一般道路结构

本部分描述了适用于所有道路结构的RSS的完整定义。本部分涉及RSS 的定义,而不是如何有效地确保策略遵守RSS。接下来引入路线优先级(route priority)的概念,以捕捉不止单车道几何形状存在的任何情况,例如交叉口。

第二个一般化涉及双向道路,其中可能有两辆汽车朝相反的方向驾驶。 在这种情况下,已经建立的RSS定义仍然有效,只是对到迎面而来的交通的 “安全距离”进行了微小的一般化。(使用交通灯控制交通流量的)受控交叉口 可以完全由路线优先级和双向道路的概念来处理。没有明确路线定义的非结 构化道路(例如停车场)也可以使用RSS进行处理。RSS在这种情况下仍然 有效,在这种情况下,唯一需要的修改是采用定义虚拟路线并将每辆汽车分 配到(可能是几条)路线的方式。

路线优先级

现在引入路线优先级的概念来处理在一个场景中有多个在特定区域重叠 的不同道路几何形状的情景。如图24A-D所示,示例包括环形道、交叉口和 并入高速公路。已经描述了一种将一般车道几何形状变换成对于纵轴和横轴 具有一致的含义的、基于车道的几何形状的方法。现在解决存在不同道路几 何形状的多条路线的情景。其遵循,当两辆车接近重叠区域时,两者都会执 行到另一辆车的前方廊道的切入。当两条路线具有相同的几何形状时(如两 条相邻高速公路车道的情况),这种现象不会发生。大致来说,路线优先级原则规定,如果路线r

为形式地解释这个概念,回想一下,事故的归责取决于从车道的坐标系 统中导出的几何特性并且取决于也依赖于它的最坏情况假设。令r

定义22(具有路线优先级的事故责任)假设r

·若r

·否则,归责根据b

为了说明该定义,请再次考虑并入高速公路的示例。图25中表示为“b” 和“e”的线表示r

双向交通

为了处理双向交通,对归责定义的修改是通过锐化(sharpening)依赖于 后方/前方关系的部分来实现的,因为在这种情况下,这些部分具有略有不同 的含义。考虑两辆汽车c

在平行车道的RSS定义中,相关车道被定义为其中心最靠近切入位置的 车道。我们现在可以简化到只考虑这条车道(或者,在对称的情况下,分开处 理两条车道,如定义22所示)。在下面的定义中,术语“航向(heading)”表 示横向速度除以纵向速度的反正切(弧度)。

定义23((μ

·|h

·|h

·|x

该事件的指示符由W

换句话说,如果c

定义24(合理制动力(Reasonable Braking Power))令α

对于正确驾驶方向获胜/未获胜的情况,a

接下来定义以相反的方向行驶的汽车之间的安全距离,并立即导出其精 确值。

定义25(安全纵向距离-双向交通(Safe Longitudinal Distance-Two- WayTraffic))以相反的方向行驶并且都处于彼此的前方廊道的一辆汽车c

引理10令c

可以看出,总和(sum)中的项是每辆车在执行定义25中的操纵时直到 达到完全停止之前行驶的最大距离。因此,为了使完全停止处于大于L的距 离,初始距离必须大于这个总和与附加项L。

将具有如定义25中定义的非安全纵向距离的RSS的相同归责时间定义 用于定义双向交通情景的归责/事故责任。

定义26(双向交通中的归责)以相反的方向行驶的汽车c

·如果归责时间也是切入时间,则归责被定义为和常规RSS定义中的一 样。

·否则,对于每一个i,如果在归责时间之后发生的某个时刻t,c

例如,假设在归责时间之前发生了安全切入。例如,c

交通灯

在包括有交通灯的十字路口的情景中,人们可能会认为交通灯情景的简 单规则是“如果一辆汽车的路线有绿灯,而另一辆汽车的路线有红灯,那么归 责给路线有红灯的那一辆”。然而,这不是正确的规则,尤其是在所有情况下。 考虑例如图27中描绘的情景。即使汽车2701在具有绿灯的路线上,我们也 不期望它忽略已经在十字路口的汽车2703。正确的规则是具有绿灯的路线优 先于具有红灯的路线。因此,我们获得了从交通灯到我们之前已经描述的路 线优先级概念的清晰简化。

非结构化道路

转到无法定义清晰路线几何形状的道路,首先考虑根本没有车道结构的 情景(例如停车场)。确保不会发生事故的一个方法是要求每辆汽车都直线行 驶,而如果发生航向改变,必须在我周围没有附近汽车时进行该航向改变。 这背后的基本原理是,一辆汽车可以预测其他汽车将做什么,并相应地行动。 如果其他汽车偏离了这一预测(通过改变航向),这是在足够长的距离内完成 的,因此可能有足够的时间来修正预测。当有车道结构时,它可以更智能地 预测其他汽车将做什么。如果根本没有车道结构,汽车将根据其当前航向继 续行驶。从技术上来说,这相当于根据每辆汽车的航向将每辆汽车分配到一 条虚拟的直的路线上。接下来,考虑一个大型非结构化环形道的情景(例如, 巴黎凯旋门周围)。这里,合理的预测是假设汽车将根据环形道的几何形状继 续行驶,同时保持其偏移。从技术上来说,这相当于根据每辆汽车与环形道 中心的当前偏移,将每辆汽车分配到一条虚拟的弧形路线。

上述驾驶策略系统(例如,RL系统)可以与一个或多个所述的事故责任 规则一起实施,以提供导航系统,该导航系统在决定要实施的特定导航指令 时考虑潜在事故责任。这些规则可以在规划阶段期间应用;例如,在一组编 程的指令内或在经训练的模型内应用,使得由已经符合规则的系统产生所建 议的导航动作。例如,驾驶策略模块可以考虑例如RSS所基于的一个或多个 导航规则,或用RSS所基于的一个或多个导航规则来训练。附加地或可替代 地,RSS安全约束可以被应用为过滤层,通过该过滤层,针对相关事故责任 规则对由规划阶段所建议的所有建议的导航动作进行测试,以确保所建议的 导航动作是相符合的。如果特定动作符合RSS安全约束,则可以实施该动作。 否则,如果所建议的导航动作不符合RSS安全约束(例如,如果基于一个或 多个上述规则,所建议的动作可能导致主车辆的事故责任),则不采取该动作。

实际上,特定的实施方式可以包括用于主车辆的导航系统。主车辆可以 配备有图像捕捉设备(例如,一个或多个相机,诸如上述那些相机中的任何 一个),其在操作期间捕捉表示主车辆环境的图像。使用图像信息,驾驶策略 可以接收多个输入并输出用于实现主车辆的导航目标的规划导航动作。驾驶 策略可以包括一组编程的指令、经训练的网络等,其可以接收各种输入(例 如,来自一个或多个相机的、示出了主车辆的周围环境的图像,所述主车辆 的周围环境包括目标车辆、道路、对象、行人等;来自激光雷达或雷达系统的 输出;来自速度传感器、悬架传感器等的输出;表示主车辆的一个或多个目 标的信息--例如用于将乘客运送到特定位置的导航规划等)。基于该输入,处 理器可以例如通过分析相机图像、激光雷达输出、雷达输出等,来识别主车 辆环境中的目标车辆。在一些实施例中,处理器可以通过分析一个或多个输 入,诸如一个或多个相机图像、激光雷达输出和/或雷达输出,来识别主车辆 环境中的目标车辆。此外,在一些实施例中,处理器可以基于传感器输入的 多数同意或组合(例如,通过分析一个或多个相机图像、激光雷达输出和/或 雷达输出,并且基于输入的多数同意或组合来接收识别目标车辆的检测结果), 来识别主车辆环境中的目标车辆。

基于驾驶策略模块可用的信息,可以以用于实现主车辆的导航目标的一 个或多个规划导航动作的形式来提供输出。在一些实施例中,RSS安全约束 可以被应用为规划导航动作的过滤器。也就是说,规划导航动作一旦产生, 就可以针对至少一个事故责任规则(例如,上面讨论的事故责任规则中的任 何一个)对其进行测试,以确定主车辆相对于所识别的目标车辆的潜在事故 责任。并且,如所指出的,如果针对至少一个事故责任规则对规划导航动作 的测试指示:如果采取了规划导航动作,可能存在主车辆的潜在事故责任, 则处理器可以使得主车辆不实施规划导航动作。另一方面,如果针对至少一 个事故责任规则对规划导航动作的测试指示:如果采取了规划导航动作,不 会产生主车辆的事故责任,则处理器可以使得主车辆实施规划导航动作。

在一些实施例中,系统可以针对至少一个事故责任规则来测试多个潜在 导航动作。基于测试结果,系统可以将潜在导航动作过滤为多个潜在导航动 作的子集。例如,在一些实施例中,子集可以仅包括以下的潜在导航动作:针 对这些潜在导航动作,针对至少一个事故责任规则的测试指示,如果采取了 潜在导航动作,则不会产生主车辆的事故责任。然后,系统可以对没有事故 责任的潜在导航动作进行评分和/或优先级排序,并且基于例如最佳评分或最 高优先级来选择导航动作之一来实施。评分和/或优先级可以基于例如一个或 多个因素,诸如被视为最安全、最有效、乘客最舒适的潜在导航动作等。

在一些情况下,是否实施特定的规划导航动作的确定还可以取决于默认 紧急程序在规划动作之后的下一状态下是否可用。如果DEP可用,RSS过滤 器可以批准规划动作。另一方面,如果DEP将不可用,下一状态可以被视为 不安全的状态,并且规划导航动作可以被拒绝。在一些实施例中,规划导航 动作可以包括至少一个默认紧急程序。

所述系统的一个好处是,为了确保车辆的安全动作,只需要考虑主车辆 相对于特定目标车辆的动作。因此,在存在一个以上目标车辆的情况下,可 以关于主车辆附近的影响区中的目标车辆(例如,在25米、50米、100米、 200米等内),针对事故责任规则来顺序地测试主车辆的规划动作。实际上, 至少一个处理器可以进一步被编程为:基于对表示主车辆环境的至少一个图 像的分析(或者基于激光雷达或雷达信息等)来识别主车辆环境中的多个其 他目标车辆,并重复针对至少一个事故责任规则对规划导航动作的测试,以 确定主车辆相对于多个其他目标车辆中的每一个的潜在事故责任。如果所重 复的针对至少一个事故责任规则对规划导航动作的测试指示:如果采取了规 划导航动作,可能存在主车辆的潜在事故责任,则处理器可以使得主车辆不 实施规划导航动作。如果所重复的针对至少一个事故责任规则对规划导航动 作的测试指示:如果采取了规划导航动作,不会产生主车辆的事故责任,则 处理器可以使得主车辆实施规划导航动作。

如上所述,上述任何规则都可以用作RSS安全测试的基础。在一些实施 例中,至少一个事故责任规则包括跟随规则(following rule),该规则定义了 所识别的目标车辆后方的距离,主车辆不能在不具有事故责任的可能性的情 况下在该距离内行进。在其他情况下,至少一个事故责任规则包括前导规则 (leading rule),该规则定义了所识别的目标车辆前方的距离,主车辆不能在 不具有事故责任的可能性的情况下在该距离内行进。

虽然上述系统可以将RSS安全测试应用于单个规划导航动作,以测试与 主车辆不应该采取任何可能要对导致的事故负责的动作的规则的符合性,但 是该测试可以应用于多于一个规划导航动作。例如,在一些实施例中,至少 一个处理器可以基于至少一个驾驶策略的应用,确定用于实现主车辆的导航 目标的两个或更多个规划导航动作。在这些情况下,处理器可以针对至少一 个事故责任规则来测试两个或更多个规划导航动作中的每一个,以确定潜在 事故责任。并且,对于两个或更多个规划导航动作中的每一个,如果测试指示:如果采取了两个或更多个规划导航动作中的特定一个,可能存在主车辆 的潜在事故责任,则处理器可以使得主车辆不实施规划导航动作中的该特定 一个。另一方面,对于两个或更多个规划导航动作中的每一个,如果测试指 示:如果采取两个或更多个规划导航动作中的特定一个,不会产生主车辆的 事故责任,则处理器可以将两个或更多个规划导航动作中的该特定一个识别 为供实施的可行候选。接下来,处理器可以基于至少一个成本函数从供实施 的可行候选当中选择要采取的导航动作,并使得主车辆实施所选择的导航动 作。

因为RSS的实现涉及确定主车辆和一个或多个目标车辆之间的事故的相 对潜在责任、以及测试规划导航动作的安全符合性,所以系统可以跟踪对于 遇到的车辆的事故责任潜在性。例如,系统不仅能够避免采取导致的事故将 造成主车辆的责任的动作,而且主车辆系统还能够跟踪一个或多个目标车辆, 并且识别和跟踪那些目标车辆已经违反了哪些事故责任规则。在一些实施例 中,用于主车辆的事故责任跟踪系统可以包括至少一个处理设备,该处理设 备被编程为:从图像捕捉设备接收表示主车辆的环境的至少一个图像,并且 分析至少一个图像以识别主车辆环境中的目标车辆。基于对至少一个图像的 分析,处理器可以包括编程以确定所识别的目标车辆的导航状态的一个或多 个特性。导航状态可以包括目标车辆的各种操作特性,诸如车辆速度、到车 道中心的接近度、横向速度、行驶方向、距主车辆的距离、航向或者可以用于 基于上述规则中的任何一个确定潜在事故责任的任何其他参数。处理器可以 将所确定的所识别的目标车辆的导航状态的一个或多个特性与至少一个事故 责任规则(例如,上述规则中的任何一个,诸如横向速度获胜、方向优先级、 车道中心接近度获胜、跟随或前导距离和切入等)进行比较。基于状态与一 个或多个规则的比较,处理器可以存储指示所识别的目标车辆方的潜在事故 责任的至少一个值。并且在发生事故的情况下,处理器可以提供所存储的至 少一个值的输出(例如,经由有线或无线的任何合适的数据接口)。例如,可 以在主车辆和至少一个目标车辆之间发生事故之后提供这样的输出,并且该 输出可以用于或者可以以其他方式提供事故责任的指示。

可以在任何合适的时间和任何合适的条件下存储指示潜在事故责任的至 少一个值。在一些实施例中,如果确定主车辆不能避免与所识别的目标车辆 碰撞,则至少一个处理设备可以为所识别的目标车辆分配和存储碰撞责任值。

事故责任跟踪能力不限于单个目标车辆,而是可以用于跟踪多个遇到的 目标车辆的潜在事故责任。例如,至少一个处理设备可以被编程为检测主车 辆的环境中的多个目标车辆,确定多个目标车辆中的每一个的导航状态特性, 并且基于目标车辆中的每一个的相应导航状态特性与至少一个事故责任规则 的比较,确定和存储指示多个目标车辆中的相应目标车辆方的潜在事故责任 的值。如上所述,用作责任跟踪的基础的事故责任规则可以包括上述规则中 的任何一个或任何其他合适的规则。例如,至少一个事故责任规则可以包括 横向速度规则、横向位置规则、驾驶方向优先级规则、基于交通灯的规则、基 于交通标志的规则、路线优先级规则等。事故责任跟踪功能还可以与基于RSS 考虑的安全导航相结合(例如,主车辆的任何动作是否会造成对导致的事故 的潜在责任)。

除了基于根据RSS的事故责任考虑进行导航之外,还可以从车辆导航状 态以及对特定的未来导航状态是否被认为是安全的确定(例如,如上文详细 描述的,是否存在DEP使得事故可以被避免或者任何导致的事故不会被认为 是主车辆的过错)的方面来考虑导航。可以控制主车辆从安全状态导航到安 全状态。例如,在任何特定状态下,驾驶策略可用于生成一个或多个规划导 航动作,并且可通过确定对应于每个规划动作的所预测的未来状态是否将提 供DEP来测试这些动作。如果是这样,提供DEP的一个或多个规划导航动 作可以被视为安全的,并可以有资格供实施。

在一些实施例中,用于主车辆的导航系统可以包括至少一个处理设备, 该处理设备被编程为:从图像捕捉设备接收表示主车辆的环境的至少一个图 像;基于至少一个驾驶策略,确定用于实现主车辆的导航目标的规划导航动 作;分析至少一个图像以识别主车辆的环境中的目标车辆;针对至少一个事 故责任规则测试规划导航动作,以确定主车辆相对于所识别的目标车辆的潜 在事故责任;如果针对至少一个事故责任规则对规划导航动作的测试指示: 如果采取规划导航动作,可能存在主车辆的潜在事故责任,则使得主车辆不实施规划导航动作;并且如果针对至少一个事故责任规则对规划导航动作的 测试指示:如果采取规划导航动作,不会产生主车辆的事故责任,则使得主 车辆实施规划导航动作。

在一些实施例中,用于主车辆的导航系统可以包括至少一个处理设备, 该处理设备被编程为:从图像捕捉设备接收表示主车辆的环境的至少一个图 像;基于至少一个驾驶策略,确定主车辆的多个潜在导航动作;分析至少一 个图像以识别主车辆的环境中的目标车辆;针对至少一个事故责任规则测试 多个潜在导航动作,以确定主车辆相对于所识别的目标车辆的潜在事故责任; 选择潜在导航动作中的、对其的测试指示如果采取所选择的潜在导航动作不 会产生主车辆的事故责任的一个潜在导航动作;并使得主车辆实施所选择的 潜在导航动作。在一些情况下,所选择的潜在导航动作可以从多个潜在导航 动作的子集中选择,对多个潜在导航动作的子集的测试指示:如果采取多个 潜在导航动作的子集中的任何一个,不会产生主车辆的事故责任。此外,在 一些情况下,可以根据评分参数来选择所选择的潜在导航动作。

在一些实施例中,用于导航主车辆的系统可以包括至少一个处理设备, 该处理设备被编程为:从图像捕捉设备接收表示主车辆的环境的至少一个图 像,并且基于至少一个驾驶策略确定用于实现主车辆导航目标的规划导航动 作。处理器还可以分析至少一个图像以识别主车辆的环境中的目标车辆;确 定如果采取了规划导航动作将会产生的主车辆和目标车辆之间的下一状态距 离;确定主车辆的当前最大制动能力和主车辆的当前速度;确定目标车辆的 当前速度,并基于目标车辆的至少一个辨识的特性假设目标车辆的最大制动 能力;并且,如果给定主车辆的最大制动能力和主车辆的当前速度,主车辆 可以在停止距离内停止,则实施规划导航动作,该停止距离小于所确定的下 一状态距离与基于目标车辆的当前速度和所假设的目标车辆的最大制动能力 而确定的目标车辆行驶距离之和。停止距离还可以包括主车辆在没有制动的 反应时间期间行驶的距离。

确定目标车辆的最大制动能力所基于的目标车辆的所辨识的特性可以包 括任何合适的特性。在一些实施例中,特性可以包括车辆类型(例如,摩托 车、汽车、公共汽车、卡车,其中每一个都可以与不同的制动曲线(braking profile)相关联)、车辆尺寸、预测的或已知的车辆重量、车辆型号(vehicle model)(例如,可以用于查找已知的制动能力)等。

在一些情况下,可以相对于一个以上的目标车辆做出安全状态确定。例 如,在一些情况下,安全状态确定(基于距离和制动能力)可以基于领先主车 辆的两个或更多个所识别的目标车辆。这种确定可能是有用的,尤其是在关 于最前面的目标车辆的前方的信息不可用的情况下。在这种情况下,为了确 定安全状态、安全距离和/或可用的DEP,可以假设最前面的可检测到车辆将 经历与不可移动或几乎不可移动的障碍物的即将发生的碰撞,使得跟随的目 标车辆可以比其自身的制动曲线所允许的更快地达到停止(例如,第二目标车辆可能与最前面的第一车辆碰撞,因此比预期的最大制动条件更快地达到 停止)。在这种情况下,基于所识别的最前面目标车辆相对于主车辆的位置来 确定安全状态、安全跟随距离、DEP可能是重要的。

在一些实施例中,这种安全状态到安全状态导航系统可以包括至少一个 处理设备,该处理设备被编程为:从图像捕捉设备接收表示主车辆的环境的 至少一个图像。这里,与其他实施例一样,由图像捕捉设备(例如,相机)捕 捉的图像信息可以用从一个或多个其他传感器(诸如,激光雷达或雷达系统) 获得的信息来补充。在一些实施例中,用于导航的图像信息甚至可以源自激 光雷达或雷达系统,而不是源自光学相机。至少一个处理器可以基于至少一 个驾驶策略来确定用于实现主车辆导航目标的规划导航动作。处理器可以分析至少一个图像(例如,从相机、雷达、激光雷达或可以从中获得主车辆的环 境的图像的任何其他设备中的任何一个获得的图像,无论是基于光学的、基 于距离图的等等)以识别主车辆前方的第一目标车辆和第一目标车辆前方的 第二目标车辆。处理器然后可以确定如果采取了规划导航动作将会产生的主 车辆和第二目标车辆之间的下一状态距离。接下来,处理器可以确定主车辆 的当前最大制动能力和主车辆的当前速度。如果给定主车辆的最大制动能力 和主车辆的当前速度,主车辆可以在小于所确定的主车辆和第二目标车辆之间的下一状态距离的停止距离内停止,则处理器可以实施规划导航动作。

也就是说,如果主车辆处理器确定在前方可见目标车辆和主车辆之间的 下一状态距离中有足够的距离来停止而不发生碰撞或不发生责任将归给主车 辆的碰撞,并且假设前方可见目标车辆将在任何时刻突然完全停止,则主车 辆的处理器可以采取规划导航动作。另一方面,如果没有足够的空间使主车 辆停止而不发生碰撞,则可以不采取规划导航动作。

另外,虽然在一些实施例中下一状态距离可以用作基准,但是在其他情 况下,可以使用不同的距离值来确定是否采取规划导航动作。在一些情况下, 如在上述情况下,主车辆可能需要在其中停止以避免碰撞的实际距离可能小 于所预测的下一状态距离。例如,在前方可见目标车辆被一个或多个其他车 辆(例如,上述示例中的第一目标车辆)跟随的情况下,实际预测的所需停止 距离将是所预测的下一状态距离减去跟随前方可见目标车辆的(一个或多个) 目标车辆的长度。如果前方可见目标车辆立即停止,可以假设正在跟随的目 标车辆将与前方可见目标车辆碰撞,因此,它们也需要被主车辆避开以避免 碰撞。因此,主车辆处理器可以评估下一状态距离减去主车辆和前方可见/检 测到的目标车辆之间的任何中间目标车辆的总长度,以确定是否有足够的空 间在最大制动条件下使主车辆停下来而没有碰撞。

在其他实施例中,用于评估主车辆和一个或多个前方目标车辆之间碰撞 的基准距离可以大于所预测的下一状态距离。例如,在一些情况下,前方可 见/检测到的目标车辆可能会快速但不是立即停止,使得前方可见/检测到的目 标车辆在假设的碰撞之后行驶较短的距离。例如,如果该车辆撞到停放的汽 车,碰撞的车辆在完全停止之前仍可能行驶一段距离。在假设的碰撞后行驶 的距离可能小于相关目标车辆的假设的或确定的最小停止距离。因此,在一 些情况下,主车辆的处理器可以在其对是否采取规划导航动作的评估中延长 下一状态距离。例如,在该确定中,下一状态距离可以增加5%、10%、20% 等,或者可以用预定的固定距离(10米、20米、50米等)来补充,以考虑在 假设的即将发生的碰撞后前方/可见目标车辆可能行驶的合理距离。

除了在该评估将下一状态距离延长一假设的距离值之外,可以通过考虑 前方可见/检测到的目标车辆在碰撞后行驶的距离和跟随前方可见/检测到的 目标车辆的任何目标车辆的长度(其可以假设在前方可见/检测到的车辆突然 停止后与前方可见/检测到的车辆堆积在一起)两者,来修改下一状态距离。

除了基于主车辆和前方可见/检测到的目标车辆之间的下一状态距离(通 过考虑前方可见/检测到的目标车辆的碰撞后运动和/或跟随前方可见/检测到 的目标车辆的车辆长度对其修改)确定是否采取规划导航动作之外,主车辆 可以在其确定中继续考虑一个或多个前方车辆的制动能力。例如,主车辆处 理器可以继续确定如果采取了规划导航动作将会产生的主车辆和第一目标车 辆(例如,跟随前方可见/检测到的目标车辆的目标车辆)之间的下一状态距 离;确定第一目标车辆的当前速度,并基于第一目标车辆的至少一个所辨识 的特性假设第一目标车辆的最大制动能力;并且如果给定主车辆的最大制动 能力和主车辆的当前速度,主车辆不能在停止距离内停止,则不实施规划导 航动作,该停止距离小于所确定的主车辆和第一目标车辆之间的下一状态距 离与基于第一目标车辆的当前速度和所假设的第一目标车辆的最大制动能力 而确定的第一目标车辆行驶距离之和。这里,如在上述示例中,第一目标车 辆的所辨识的特性可以包括车辆类型、车辆尺寸、车辆型号等。

在一些情况下(例如,通过其他车辆的动作),主车辆可以确定碰撞即将 发生并且不可避免。在这种情况下,主车辆的处理器可以被配置为选择导致 的碰撞将不会产生主车辆的责任的导航动作(如果可用)。附加地或可替代地, 主车辆的处理器可以被配置为选择将比当前轨迹或相对于一个或多个其他导 航选项而言对主车辆提供更少的潜在损害或对目标对象提供更少的潜在损害 的导航动作。此外,在一些情况下,主车辆处理器可以基于预期碰撞的一个 或多个对象的类型的考虑来选择导航动作。例如,当面对由于第一导航动作 而与停放的汽车发生碰撞或由于第二导航动作而与不可移动的对象发生碰撞 时,可以选择对主车辆提供更低潜在损害的动作(例如,导致与停放的汽车 发生碰撞的动作)。当面对由于第一导航动作而与以与主车辆相似的方向移动 的车辆发生碰撞或由于第二导航动作而与停放的车辆发生碰撞时,可以选择 对主车辆提供更低潜在损害的动作(例如,导致与移动的汽车发生碰撞的动 作)。当面临由于第一导航动作而与行人发生碰撞或者由于第二导航动作而与 任何其他对象发生碰撞时,可以选择提供对于行人碰撞的任何替代的动作。

实际上,用于导航主车辆的系统可以包括至少一个处理设备,该处理设 备被编程为:从图像捕捉设备接收表示主车辆的环境的至少一个图像(例如, 可见图像、激光雷达图像、雷达图像等);从至少一个传感器接收主车辆的当 前导航状态的指示符;并且基于对至少一个图像的分析以及基于主车辆的当 前导航状态的指示符,确定主车辆和一个或多个对象之间的碰撞是不可避免 的。处理器可以评估可用的替代。例如,处理器可以基于至少一个驾驶策略 来确定涉及与第一对象的预期碰撞的主车辆的第一规划导航动作以及涉及与 第二对象的预期碰撞的主车辆的第二规划导航动作。可以针对至少一个事故 责任规则来测试第一和第二规划导航动作,以确定潜在事故责任。如果针对 至少一个事故责任规则对第一规划导航动作的测试指示:如果采取第一规划 导航动作,可能存在主车辆的潜在事故责任,则处理器可以使得主车辆不实 施第一规划导航动作。如果针对至少一个事故责任规则对第二规划导航动作 的测试指示:如果采取第二规划导航动作,不会产生主车辆的事故责任,则 处理器可以使得主车辆实施第二规划导航动作。对象可以包括其他车辆或非车辆对象(例如,道路碎片、树木、电线杆、标志、行人等)。

以下附图和讨论提供了在进行导航和实施所公开的系统和方法时可能发 生的各种场景的示例。在这些示例中,主车辆可以避免采取如果采取了的话 将会产生对于导致的事故归因于主车辆的责任的动作。

图28A和28B示出了以下情景和规则的示例。如图28A所示,车辆2804 (例如,目标车辆)周围的区域表示车辆2802(例如,主车辆)的最小安全 距离廊道,车辆2802在车道上行驶在车辆2804后面一段距离。根据与所公 开的实施例一致的一条规则,为了避免责任归属于车辆2802的事故,车辆 2802必须通过留在车辆2802周围的区域来保持最小安全距离。相反,如图 28B所示,如果车辆2804制动,那么如果发生事故,则车辆2802将有过错。

图29A和29B示出了切入场景中的示例归责。在这些场景下,车辆2902 周围的安全廊道确定切入操纵中的过错。如图29A所示,车辆2902在车辆 2904的前方切入,违反了安全距离(由车辆2904周围的区域描绘),并因此 有过错。如图29B所示,车辆2902在车辆2904的前方切入,但是在车辆2904 的前方保持了安全距离。

图30A和30B示出了切入情景中的示例归责。在这些情景中,车辆3004 周围的安全廊道确定车辆3002是否有过错。在图30A中,车辆3002在车辆 3006后面行驶,并且改变到目标车辆3004正在行驶的车道。在这种情景下, 车辆3002违反了安全距离,并且因此如果发生事故,就有过错。在图30B中, 车辆3002切入车辆3004后面并保持安全距离。

图31A-31D示出了漂移情景中的示例归责。在图31A中,该情景以车辆 3104的轻微横向操纵、切入到车辆3102的宽阔廊道开始。在图31B中,车 辆3104继续切入车辆3102的正常廊道,违反了安全距离区域。如果发生事 故,应归责给车辆3104。在图31C中,车辆3104保持其初始位置,而车辆 3102横向移动,“迫使”违反正常安全距离廊道。如果发生事故,应归责给车 辆3102。在图31B中,车辆3102和3104朝向彼此横向移动。如果发生事故, 责任由两辆车分担。

图32A和32B示出了双向交通情景中的示例归责。在图32A中,车辆 3202对车辆3206进行超车,并且车辆3202已经执行了切入操纵,保持着距 车辆3204的安全距离。如果发生事故,车辆3204应该因没有以合理的力制 动而被归责。在图32B中,车辆3202切入,而没有与车辆3204保持安全的 纵向距离。如果发生事故,要归责给车辆3202。

图33A和33B示出了双向交通情景中的示例归责。在图33A中,车辆 3302漂移到迎面而来的车辆3204的路径中,保持着安全距离。如果发生事 故,车辆3204因没有以合理的力制动而被归责。在图33B中,车辆3202漂 移到迎面而来的车辆3204的路径中,违反了安全的纵向距离。如果发生事故, 要归责给车辆3204。

图34A和34B示出了路线优先级情景中的示例归责。在图34A中,车辆 3402运行到停止标志。由于不尊重交通灯分配给车辆3404的优先权,责任归 属于车辆3402。在图34B中,尽管车辆3402没有优先权,但是当车辆3404 的灯变绿时,车辆3402已经在十字路口。如果车辆3404撞到3402,将归责 给车辆3404。

图35A和35B示出了路线优先级情景中的示例归责。在图35A中,车辆 3502倒车进入迎面而来的车辆3504的路径。车辆3502执行保持着安全距离 的切入操纵。如果发生事故,车辆3504应该为没有以合理的力制动而被归责。 在图35B中,车辆3502在没有保持安全纵向距离的情况下切入。如果发生事 故,要归责给车辆3502。

图36A和36B示出了路线优先级情景中的示例归责。在图36A中,车辆 3602和车辆3604在相同的方向上行驶,而车辆3602跨过车辆3604的路径 左转。车辆3602执行保持着安全距离的切入操纵。如果发生事故,车辆3604 应该为没有以合理的力制动而被归责。在图36B中,车辆3602在没有保持安 全纵向距离的情况下切入。如果发生事故,要归责给车辆3602。

图37A和37B示出了路线优先级情景中的示例归责。在图37A中,车辆3702想要左转,但是必须给迎面而来的车辆3704让路。车辆3702左转,违 反了相对于车辆3704的安全距离。责任在于车辆3702。在图37B中,车辆 3702左转,相对于车辆3704保持着安全距离。如果发生事故,车辆3704应 该为没有以合理的力制动而被归责。

图38A和38B示出了路线优先级情景中的示例归责。在图38A中,车辆 3802和车辆3804直行,并且车辆3802具有停止标志。车辆3802进入十字 路口,违反了相对于车辆3804的安全距离。责任在于车辆3802。在图38B 中,车辆3802进入十字路口,同时相对于车辆3804保持着安全距离。如果 发生事故,车辆3804应该为没有以合理的力制动而被归责。

图39A和39B示出了路线优先级情景中的示例归责。在图39A中,车辆 3902想要左转,但是必须给来自其右侧的车辆3904让路。车辆3902进入十 字路口,违反了路权和相对于车辆3904的安全距离。责任在于车辆3902。在 图39B中,车辆3902进入十字路口,同时保持着路权和相对于车辆3904的 安全距离。如果发生事故,车辆3904应该为没有以合理的力制动而被归责。

图40A和40B示出了交通灯情景中的示例归责。在图40A中,车辆4002 正在闯红灯。由于不尊重交通灯分配给车辆4004的优先权,责任归属于车辆 4002。在图40B中,尽管车辆4002没有优先权,但是当车辆4004的灯变绿 时,车辆4002已经在十字路口。如果车辆4004撞到车辆4002,将归责给车 辆4004。

图41A和41B示出了交通灯情景中的示例归责。车辆4102正在跨过迎 面而来的车辆4104的路径左转。车辆4104具有优先权。在图41中,车辆 4102左转,违反了相对于车辆4104的安全距离。责任归属于车辆4102。在 图41B中,车辆4102左转,相对于车辆4104保持着安全距离。如果发生事 故,车辆4104应该为没有以合理的力制动而被归责。

图42A和42B示出了交通灯情景中的示例归责。在图42A中,车辆4202 正在右转,切入正在直行的车辆4204的路径。红灯时右转(Right-on-red)被 假设为合法的操纵,但是车辆4204具有路权,因为车辆4202违反了相对于 车辆4204的安全距离。责任归属于车辆4202。在图42B中,车辆4202右转, 相对于车辆4204保持着安全距离。如果发生事故,车辆4204应该为没有以 合理的力制动而被归责。

图43A-43C示出了示例弱势道路使用者(VRU)情景。车辆执行操纵时 与动物或VRU发生的事故被视为切入的变型,其中默认归责给汽车,但有一 些例外。在图43A中,车辆4302切入动物(或VRU)的路径,同时保持着 安全距离并确保可以避免事故。在图43B中,车辆4302切入动物(或VRU) 的路径,违反了安全距离。责任归属于车辆4302。在图43C中,车辆4302注 意到动物并停止,给动物足够的时间来停止。如果动物撞到了汽车,那要归 责给动物。

图44A-44C示出了示例弱势道路使用者(VRU)情景。在图44A中,车 辆4402正在设置有信号灯的十字路口左转,并在人行横道上遇到行人。车辆 4402有红灯,并且VRU有绿灯。车辆4402有过错。在图44B中,车辆4402 有绿灯,并且VRU有红灯。如果VRU进入人行横道,则VRU有过错。在 图44C中,车辆4402有绿灯,并且VRU有红灯。如果VRU已经在人行横 道上,则车辆4402有过错。

图45A-45C示出了示例弱势道路使用者(VRU)情景。在图45A中,车 辆4502正在右转并遇到骑车人。骑车人有绿灯。车辆4502有过错。在图45B 中,骑车人有红灯。如果骑车人进入十字路口,则骑车人有过错。在图45C 中,骑车人有红灯,但已经在十字路口了。车辆4502有过错。

图46A-46D示出了示例弱势道路使用者(VRU)情景。车辆不执行操纵 时与VRU发生的事故默认归责给车辆,但有一些例外。在图46A中,车辆 4602必须始终确保保持安全距离,并确保能够避免与VRU发生事故。在图 46B中,如果车辆4602没有保持安全距离,则要归责给车辆4602。在图46C 中,如果车辆4602没有保持足够低的速度以便避免与可能被车辆5604遮挡 的VRU相撞,或者驾驶超过法定限速,则要归责给车辆4602。在图46D中, 在VRU可能被车辆4604遮挡的另一情景下,如果车辆4602保持足够低的速 度,但VRU速度高于合理的阈值,则要归责给VRU。

如本文所公开的,RSS定义了多作用者情景的框架。带有静态对象、道 路偏离、失控或车辆故障的事故都归责给主车辆(host)。RSS定义了谨慎操 纵,谨慎操纵不允许与其他对象发生事故,除非其他对象危险地操纵到主车 辆的路径上(在这种情况下,要归责给它们)。在责任在于目标(target)的肯 定碰撞的情况下,主车辆将应用它的制动。只有在操纵是“谨慎的”(感知到不 会引起另一事故)的情况下,系统才可以考虑规避转向。

非碰撞事故包括由车辆火灾、坑洼、坠落对象等引发的事故。在这些情 况下,可能默认归责给主车辆,但主车辆可以避免的情景除外,诸如可以被 分类为“静态对象”情景的坑洼和坠落对象,假设它们在安全距离处可见或存 在谨慎的规避操纵。在主车辆是静止的多作用者情景中,不应归责给主车辆。 在这种情况下,目标实质上执行了不安全切入。例如,如果骑车人骑进一辆 静止的汽车,则不应归责给主车辆。

RSS还包括在道路结构不清晰的地方(诸如停车场或没有车道标记的宽 阔环形道)分配责任的指南。在这些非结构化道路情景中,通过检查每辆车 与其路径的偏离来确定它们是否允许了足够的距离以允许该区域中的其他对 象进行调整,从而分配责任。

如上所述,RSS提供了一组数学公式,该数学公式可用于确保实施RSS 的车辆不会卷入由其引起的事故中。结果,在一些实施方式中,RSS可以设 置极端的包络(例如,最小安全纵向距离),这将保证实施RSS的车辆不会卷 入应归责于该车辆的事故中。在一些实施例中,系统可以实施修改的RSS, 其可以涉及预定的操作包络,该包络可以大于上述的RSS协议。至少在某些 情况下,这种改进的RSS可以提供更高的安全等级,并减少可能归因于采用RSS的车辆的错误的概率。这样的修改的RSS系统将在下面例如与所描述的 舒适RSS系统相关地更详细进行描述。

如上所述,RSS可以假设主车辆将以其最大制动能力进行制动以避免与 目标车辆、VRU或另一对象的碰撞。RSS可以基于主车辆和目标车辆的速度、 主车辆和目标车辆的最大制动能力以及在主车辆反应时间内的主车辆的最大 加速能力,确定与主车辆之间的安全纵向距离,实际上是确定缓冲区,该缓 冲区的大小如上所述。如果主车辆进入小于安全距离(例如,该RSS距离) 的距离内,则主车辆即使以其最大制动能力进行制动,也可能无法在不接触 目标车辆的情况下停止(至少在某些情况下),如图28A-46D的示例中所示。 施加最大制动,尤其是在突然进行这样的施加时,可能被认为是一种极端反 应,并且这种极端反应应保留在无法避免的情况下。在某些情况下,最大制 动可能会让乘客感到不舒服,可能涉及到拖拽车辆,可能严重磨损车辆的硬 件(轮胎、制动片等)等。因此,为了避免出现最大制动情景以及可能与目标 车辆发生接触,至少在某些情况下或在某些实施方式中,可以采用基于RSS 安全距离的驾驶策略来维持相对于目标车辆的安全纵向距离。

如上所述,RSS距离可以包括取决于主车辆在感测到的事件与主车辆对 该感测到的事件的反应之间的时间段期间(即,与主车辆相关联的反应时间) 可能经历的最大可能加速能力的分量。例如,RSS可以应对在主车辆感测到 目标车辆、VRU或其他对象的时间段与主车辆开始施加制动或进行另一导航 操纵的时间之间的延迟。例如,在主车辆检测到目标车辆正在制动的时间与 主车辆开始制动或开始另一回避操纵的时间之间,可能存在若干毫秒(或更 多或更少)。上面描述了与RSS和RSS安全距离有关的更多细节。

定义27(RSS安全距离)若对于由c

下面的引理11计算根据主车辆跟随目标车辆的此实施例的RSS安全距 离的示例。RSS安全距离可以包括对最大制动能力的假设和所确定的目标车 辆的当前速度。

引理11令c

证明RSS安全距离可以包括如果以最大制动能力a

d

在安全距离确定中使用的主车辆的速度可以对应于主车辆在其响应时间 段ρ内加速之后的最大可能速度。例如,令v

v

在一些实施例中,RSS安全距离还可以包括一分量,该分量确保即使主 车辆和目标车辆均从它们的当前速度(以及在主车辆在其反应时间内的最大 加速之后)以最大制动能力停止。这样的分量可以包括最小靠近距离分量。 最小靠近距离可以与RSS安全距离计算中的最小距离分量相对应,使得即使 主车辆和目标车辆在停止时(并且在以最大加速度的主车辆反应时间之后) 应用最大制动,主车辆将至少在距感测到的目标车辆、VRU或其他对象的最 小距离处停止。例如,如果主车辆在目标车辆后面行驶并且目标车辆开始以 其最大制动能力制动,则配备有RSS的主车辆可以通过以其最大制动能力进 行制动来响应。如果RSS安全距离包括最小靠近距离分量,则主车辆可以至 少在距目标车辆的最小距离处停止。最小距离可以是预定的(例如,最小距 离为0.5m、1m、2m等),或者可以基于与本公开一致的任何一组因素(例如, 与主车辆和/或目标车辆相关联的速度、感测到的天气条件、用户的偏好等) 来确定。RSS安全距离的以下表达式包括最小距离d

图47A和47B进一步示出了当主车辆在目标车辆后面行驶时的RSS安 全距离的概念。例如,图47A示出了主车辆4704和目标车辆4706之间的 RSS安全距离4702。即使在最坏情况的情景下(其中目标车辆4706在RSS 安全距离4702处以其最大制动能力进行制动),主车辆4704也将能够通过以 其最大制动能力进行制动而停止从而不与目标车辆4706发生碰撞,即使在主 车辆以其最大加速能力进行加速的响应时间之后才开始该最大制动。在大多数情况下,目标车辆4706可能不需要以其最大制动能力制动到完全停止。在 这样的情况下,主车辆4704可以以其最大制动能力进行制动,直到其变为距 目标车辆4706至少RSS安全距离4702为止。

图47B示出了主车辆4724与目标车辆4726之间的RSS安全距离4722。 在该实施例中,RSS安全距离4722包括RSS安全距离4702和最小靠近距离 4710。如上所述,最小靠近距离4710可以是如果主车辆4724和目标车辆4726 均以其最大制动能力进行制动并达到停止(即使在主车辆在其反应时间内以 其最大加速能力进行加速之后),在主车辆4724和目标车辆4726之间将存在 的最小分隔距离。

与本公开一致,公开了一种用于导航主车辆的系统。该系统可以包括至 少一个处理设备,其被编程为执行与本公开一致的一个或多个方法、处理、 功能或操作。在一些实施例中,该系统可以是ADAS系统或本文公开的另一 导航系统。类似地,处理设备可以是处理设备110,或主车辆中的或与主车辆 通信的另一处理器或处理设备。

图48是描述了可以由至少一个处理设备执行的示例处理4800的流程图。 处理4800仅是示例性的。受益于本公开的本领域普通技术人员可以理解,处 理4800可以包括附加步骤、排除某些步骤,或者可以以与本公开一致的方式 进行其他修改。

处理4800可以包括用于接收代表主车辆环境的至少一个图像的步骤 4802。与本公开一致,至少一个处理设备可以被编程为接收代表主车辆环境 的至少一个图像。如上所述,可以从图像捕捉设备接收至少一个图像。图像 捕捉设备可以是与本公开一致的任何设备,包括图像捕捉设备122。在一些实 施例中,至少一个图像可以是从相机、雷达、激光雷达或可以从中获得图像 的任何其他设备(无论是光学的或是以其他方式的)中的任何一个获得的图 像。在捕捉图像的时间与处理设备接收图像的时间之间可能存在某个延迟时 间段。此外,在事件发生的时间与成像设备捕捉该事件的图像之间可能存在 一段延迟时间段。例如,如果目标车辆进入主车辆前方的车道,则在目标车 辆驶入车道时与成像设备捕捉该目标车辆的图像之间可能存在较短的时间段 (例如,1毫秒、2毫秒、5毫秒等)。

处理4800可以包括用于确定主车辆的规划导航动作的步骤4804。与本 公开一致,至少一个处理设备可以被编程确定用于实现主车辆的导航目标的 规划导航动作。可以基于至少一个驾驶策略来确定导航动作。规划导航动作 和/或至少一个驾驶策略可以是与本公开一致的任何内容,包括以上讨论的内 容。例如,规划导航动作可以包括车道改变操纵、并道操纵、超车操纵、跟随 距离减小操纵或维持油门动作中的至少一个。处理设备可以被编程为分析至 少一个图像,以识别主车辆环境中的目标车辆。至少一个图像可以是从诸如图像捕捉设备122之类的图像捕捉设备接收的图像。至少一个图像可以是作 为处理4800的步骤4802的一部分接收的一个或多个图像。

处理4800可以包括用于确定与规划导航动作相关联的下一状态距离的 步骤4806。与本公开一致,处理设备可以被编程为确定如果采取规划导航动 作则将导致的主车辆和目标车辆之间的下一状态距离。可以通过本文公开的 任何手段来计算下一状态距离,包括上面的RSS安全距离公式。例如,如果 规划导航动作是主车辆的加速,则下一状态距离可以是主车辆与主车辆前方 的车辆之间的距离。在一些示例中,可以确定一个以上的下一状态距离。例 如,如果规划导航动作是并入相邻车道中,则可以关于主车辆与在并道之后将在主车辆前方的第一目标车辆来确定第一下一状态距离,以及可以关于在 并道之后将在主车辆后方的第二目标车辆来确定第二下一状态距离。

处理4800可以包括用于确定主车辆的最大制动能力、最大加速能力和当 前速度的步骤4808。与本公开一致,处理设备可以被编程为确定主车辆的最 大制动能力、主车辆的最大加速能力和/或主车辆的速度。可以通过与本公开 一致的任何手段来确定各个因素(即,主车辆的最大制动能力、最大加速能 力和速度)。在一些实施例中,可以基于例如车辆的当前速度、道路特性(例 如,道路的坡度、道路的材料等)、天气条件(例如,下雪、潮湿等)、车辆条 件(例如,车辆的轮胎压力、制动片条件、当前负载等)等等,来确定主车辆 的最大制动能力和/或最大加速度能力。在一些实施例中,可以基于一个或多 个传感器的输出来确定一个或多个因素。例如,主车辆可以包含可以向处理 设备提供输出的加速度计,并且该输出可以包括主车辆的当前速度和/或主车 辆的加速能力。在一些实施例中,处理设备可以确定主车辆的当前速度,并 使用当前速度来确定当前最大制动能力和/或当前加速能力。例如,以第一速 度(例如15km/hr)行驶的车辆的最大制动能力可能与以第二速度(例如 30km/hr)行驶的相同车辆的最大制动能力明显不同。在一些实施例中,可以 使用预定值来假设主车辆的最大制动能力、最大加速能力和/或速度中的一个 或多个。例如,处理设备可以被配置为假设主车辆具有与预定值相对应的最 大制动能力,该预定值对应于与主车辆相关联的车辆类型的平均(或最差) 最大制动能力。在一些实施例中,可以基于道路的外部条件或车辆的临时特 性来确定每个因素。例如,可以基于感测到的路面条件来确定主车辆的最大 制动能力。在该示例中,感测到的道路条件可以包括道路的粗糙度、道路的倾斜或坡度、道路上是否存在物质或对象、道路是否为沥青、水泥、碎石或其 他材料,或与本公开一致的任何其他条件。作为另一示例,可以基于感测到 的天气条件来确定主车辆的最大制动能力。在该示例中,天气条件可包括检 测到任何降水(例如,雨、雨夹雪、雪、冰等)、影响可见度的天气条件(例 如,雾、烟雾、烟等)、可能影响车辆操作的天气条件(例如强风、高温等), 或者可能影响主车辆导航响应的任何其他天气条件。在另一示例中,处理设 备可以基于主车辆是否包含例如一位乘客或多位乘客、重量很大的货物、拖 车等来确定最大制动能力。

在一些实施例中,可以基于一个或多个预定义的因素来确定最大制动能 力和/或最大加速能力。例如,政府或行业实体可以提供一个或多个规章,该 规章规定一个车辆或一类车辆可以具有的最大制动能力和/或最大加速能力, 并且至少一个处理器可以假设主车辆具有由规章允许的最大制动能力和/或 最大加速能力。

处理4800可以包括用于确定主车辆的当前停止距离的步骤4810。与本 公开一致,处理设备可以被配置为基于主车辆的当前最大制动能力、主车辆 的当前最大加速能力和/或主车辆的当前速度,来确定主车辆的当前停止距离。 可以通过与本公开一致的任何手段来确定主车辆的当前停止距离。例如,处 理设备可以使用上面关于RSS讨论的一个或多个公式。

在一些实施例中,当前停止距离可以是这样的距离:给定主车辆的当前 速度,如果主车辆在以其最大制动能力进行制动之前还要在一段时间内以其 最大加速能力进行加速,则主车辆达到停止所需的距离。例如,主车辆的当 前停止距离包括加速距离,该加速距离对应于从所确定的主车辆的当前速度 开始,主车辆以主车辆的当前最大加速能力在预定时间段内能够行驶的距离。 预定时间段可以是由处理设备假设的时间段。例如,约束可以指示处理设备 假设主车辆将在特定时间段内(例如,0.5毫秒、1毫秒、2毫秒、3毫秒、10毫秒等)加速。预定时间段可以是与主车辆相关联的反应时间。例如,预定时 间段可以是当主车辆的传感器(例如,成像设备)感测到需要来自主车辆的 制动响应的条件(例如,目标车辆进入主车辆的路径)的时间与主车辆开始 以其最大制动能力进行制动的时间之间的延迟。在该示例中,可以假设,在 最坏情况的情景下,主车辆在整个延迟时间段内以其最大加速能力进行加速。 在一些实施例中,可以由处理设备确定或近似与反应时间相关联的时间段。 例如,处理设备可以监视从接收到图像到确定需要制动响应之间的时间。作 为另一示例,处理设备可以确定与多个导航响应相关联的平均、中值或模式 (mode)反应时间,并在计算当前停止距离时使用该平均、中值或模式反应 时间。例如,在数十、数百或数千个导航响应之后,处理设备可以确定感测到 的事件与导航响应之间的平均时间是具体的值(例如,任何实际的毫秒数), 并将该值用作与主车辆相关联的反应时间。

与本公开一致,确定的当前停止距离可以包括在达到完全停止之后主车 辆与另一对象(例如,目标车辆或VRU)之间的最小距离。所确定或预定的 最小距离可以对应于要在主车辆与其他车辆之间维持的预定分隔距离。例如, 处理设备可以被编程为在停止距离的计算中包括确定或预定的最小距离。例 如,预定分隔距离可以是至少1米(m)。在该示例中,如上所述,所确定或 预定的最小距离可以是d

处理4800可以包括用于确定目标车辆的当前速度并假设目标车辆的最 大制动能力的步骤4812。与本公开一致,至少一个处理设备可以被编程为确 定目标车辆的当前速度。在一些实施例中,可以基于主车辆的速度来确定目 标车辆的速度。例如,主车辆上的一个或多个传感器可以提供与主车辆的速 度以及目标车辆相对于主车辆的加速或方向改变的指示有关的信息。在一些 实施例中,可以基于对至少一个图像的分析来确定目标车辆速度。该至少一 个图像可以是例如在步骤4802由处理设备接收并在步骤4806用于识别目标车辆的相同图像。在一些实施例中,可以分析多个图像以确定目标车辆的速 度。例如,第一图像可以描绘目标车辆距主车辆的第一距离,并且第二图像 可以描绘目标车辆距主车辆的第二距离,处理设备可以使用距离改变和第一 图像与第二图像之间的时间来确定与目标车辆相关联的速度。在一些实施例 中,可以基于对来自与主车辆相关联的激光雷达系统或雷达系统中的至少一 个系统的输出的分析来确定目标车辆速度。例如,处理设备可以使用主车辆 的速度以及主车辆与目标车辆之间的距离(例如,由激光雷达系统感测)来 确定主车辆的速度。

在一些实施例中,为了应对最坏情况的情景,处理设备可以被编程为假 设目标车辆的当前速度小于或大于感测到的目标车辆的速度。例如,如果目 标车辆在主车辆的前方行驶,则处理设备可以被编程为使用预定的值、百分 比、公式等来降低感测到的速度。例如,如果处理设备基于来自一个或多个 传感器的信息确定目标车辆以100km/hr的速度行驶,则处理设备可以将感测 到的速度调整10%,以假设车辆以90km/hr的速度行驶。目标车辆的速度可 能与目标车辆的制动能力相关联,因此,假设降低的目标车辆的速度类似于假设目标车辆可能比在其他情况下更快地停止(例如,相比于如果以100km/hr 的速度行驶,如果目标车辆以90km/hr的速度行驶,则可能在更短的距离内 停止)。

与本公开一致,至少一个处理设备可以被编程为基于目标车辆的至少一 个辨识的特性来假设目标车辆的最大制动能力。可以假设最大制动能力作为 处理4800的步骤4812的一部分。处理设备可以被编程为从来自一个或多个 传感器(例如,激光雷达、雷达、成像设备等)的信息中辨识至少一个特性。 在一些实施例中,可以基于对至少一个图像的分析来确定所辨识的目标车辆 的特性。例如,目标车辆的图像可包括目标车辆外部上的文本,该文本可用 于确定车辆类型、车辆型号、车辆尺寸或其他特性。作为另一示例,目标车辆 的图像可以包括其他对象,该其他对象可以被用于基于与该其他对象的比较 来近似车辆尺寸或其他特性。作为具体示例,大型车辆可能看起来比限速标 志高,而小型车辆可能看起来比限速标志矮。在一些实施例中,可以基于激 光雷达输出或雷达输出中的至少一个来确定目标车辆的至少一个特性。例如, 激光雷达输出可以包括与到目标车辆的后保险杠的距离相关联的第一距离和 与到目标车辆的前保险杠(或其他区域)的距离相关联的第二距离,这两个 距离之间的差可以用于估计目标车辆的尺寸。

至少一个特性可以是已知与制动能力相关或可能与制动能力相关的任何 特性。在一些实施例中,所辨识的目标车辆的特性可以包括车辆类型。车辆 类型可以是例如目标车辆所属的一般类别(例如,全尺寸轿车、紧凑型汽车、 SUV、跨界SUV、摩托车等),或与目标车辆相关联的更具体的类别或子类别。 处理设备可以被编程为假设目标车辆具有与该车辆类型或一类车辆的已知制 动能力的最大制动能力相对应的最大制动能力。例如,如果确定目标车辆是 全尺寸轿车,则处理设备可以假设目标车辆具有与具有最佳的最大制动能力 的全尺寸轿车(例如,相比于其他全尺寸轿车,该全尺寸轿车可以在最短距 离内停止)的最大制动能力匹配的最大制动能力。在一些实施例中,所辨识 的目标车辆的特性可以包括车辆型号、品牌名称或目标车辆的其他分类符(例 如,

目标车辆的当前速度和所假设的目标车辆的最大制动能力可以用于确定 目标车辆行驶距离,该目标车辆行驶距离包括目标车辆通过以其最大制动能 力进行制动从其当前速度达到完全停止所需的距离。可以通过与本公开一致 的任何方式来确定该距离。

处理4800可以包括用于如果规划导航动作是安全的,则实施该规划导航 动作的步骤4814。出于步骤4814的目的,何时规划导航动作可以被认为是安 全的一个示例是,当所确定的主车辆的当前停止距离小于所确定的下一状态 距离与目标车辆行驶距离之和。在一些实施例中,至少一个处理设备可以被 编程为,如果所确定的主车辆的当前停止距离小于所确定的下一状态距离与 目标车辆行驶距离之和,则执行规划导航动作。目标车辆行驶距离可以通过 与本公开一致的任何手段来确定。例如,可以基于目标车辆的当前速度和所 假设的目标车辆的最大制动能力来确定目标车辆行驶距离。该目标车辆行驶 距离可以对应于目标车辆在达到完全停止之前将行驶的总距离。由于主车辆 的当前停止距离(包括在反应时间段期间内假设最大加速度所行驶的潜在距 离)将允许其即使在目标车辆以其最大制动能力进行制动时也能在撞上目标 车辆之前达到完全停止,故主车辆与目标车辆之间不会发生碰撞,因此在这 种情况下可以实施该导航操作。由于在执行导航动作之后,主车辆将至少与 目标车辆保持RSS安全距离,因此处理设备将实施该导航动作。换句话说,下一状态距离等于或大于RSS安全距离。相反,如果下一状态距离小于RSS 安全距离(例如,主车辆的当前停止距离并不小于所确定的下一状态距离与 目标车辆行驶距离之和),则处理设备可以被编程为拒绝或中止该导航动作, 或实施不同的导航动作。

出于步骤4814的目的,何时规划导航动作可以被认为是安全的一个示例 是,当所确定的主车辆的当前停止距离比所确定的下一状态距离与目标车辆 行驶距离之和少了至少预定最小距离,其中目标车辆行驶距离基于目标车辆 的当前速度和所假设的目标车辆的最大制动能力而确定。在一些实施例中, 至少一个处理设备可以被配置为,如果所确定的主车辆的当前停止距离比所 确定的下一状态距离与目标车辆行驶距离之和少了至少预定最小距离,则实 施规划导航动作,其中所述目标车辆行驶距离基于目标车辆的当前速度和所 假设的目标车辆的最大制动能力而确定。在该实施例中,预定最小距离可以 是d

与本公开一致,RSS模型可以用于导航完全自主车辆、可以用于导航部 分自主车辆(例如,具有人类可操作模式和选择性自主模式的车辆),或者可 以用作人类可操作车辆中的基本安全特征(例如,安全系统可以阻止或禁止 在RSS模型下可能是不安全的、在人类可操作车辆中的人类输入)。

RSS对于确定主车辆与另一对象(例如,一个或多个目标车辆或VRU) 之间的安全距离是有效的。RSS中的某些基础计算可以假设一种最坏情况的 情景,并要求主车辆以其最大能力做出响应。例如,RSS的某些实施例可以 定义一个安全区域,如果目标车辆和主车辆均以其最大制动能力进行制动, 并且主车辆在以其最大能力进行加速的反应时间之后开始制动,则在该安全 区域中不会发生碰撞。

尽管RSS可以预防或避免事故发生,但是自主汽车的某些用户可能会发 现RSS所需的反应在某些情况下可能无法创造出最舒适或最放松的乘坐体验。 例如,如果确实出现最坏情况的情景,则至少在某些情景下,以RSS模式运 行的车辆可能会以其最大制动能力进行制动。另外,RSS可以定义主车辆与 另一对象之间的安全距离。如果目标车辆、VRU或其他对象距一个车辆的距 离超过安全距离,则该车辆无需做出任何导航响应。但是,当对象进入的距 离等于或小于RSS安全距离时,该车辆可能会通过以最大制动能力进行制动 来响应,直到该车辆达到停止或在对象或目标车辆之间已建立RSS距离为止。 这样的操作可能使主车辆的乘客经受不舒适的加速率(例如,在主车辆制动 以最大水平施加时的时间段期间)。因此,可能需要一种允许更舒适的乘客体 验的自主车辆安全模型。

为了提供更舒适的、类似于人类的驾驶体验,自主车辆可以配备有导航 系统,该导航系统被配置为使用非最大导航响应进行操作。例如,如果自主 车辆需要减速或停止以避免碰撞,则导航系统可以允许至少在部分制动时间 段期间内以小于车辆的最大制动能力的力进行制动。类似地,如果车辆需要 转弯、转向或急转弯以避免碰撞,则导航系统可以允许小于车辆最大转弯能 力的转弯。对于加速响应来说也是如此,至少在部分加速时间段期间内可以 以小于车辆的最大加速能力来执行加速响应。通过限制制动或加速的量,主车辆的制动响应可能不那么突然、更平稳,并且感觉更类似于有计划的 (scheduled)制动,而不是紧急制动或延迟制动。例如,有计划的制动可以包 括不会导致安全带锁死的逐渐的速度下降。在另一个示例中,有计划的制动 可以包括逐渐的制动功率增加,可能直到达到车辆的最大制动功率为止,到 那时可以以最大制动功率继续制动。

与公开的实施例一致,可以确定舒适责任敏感安全性(CRSS)安全距离。 CRSS安全距离可以是主车辆可以舒适地达到停止而不会与另一对象(例如, 目标车辆或VRU)碰撞的主车辆与该对象之间的距离。与本公开一致,CRSS 可以假设从初始制动力(其小于车辆的最大制动能力)到车辆的最大制动能 力的逐渐的制动施加,而不是立即施加最大制动能力。至少在CRSS的情况 下,术语最小制动能力有时与术语初始制动力可互换使用。初始制动力可以 是车辆的最小制动力或车辆的最大制动能力的一部分。可以基于计算出的主 车辆的瞬时速度、目标车辆的瞬时速度、舒适性或次最大制动加速度、以及 响应时间,来确定CRSS安全距离。

定义28(CRSS安全距离)若对于由汽车c

在一些实施例中,可以通过以经约束的制动曲线(proiile)降低主车辆的 速率或速度,来实现舒适的导航响应,这可以显著地减少车辆和/或其乘客的 加速度变化率。下面的引理12根据一个实施例来计算CRSS安全距离,其中 车辆的制动经受逐渐的制动曲线,而不是立即施加最大制动能力。

引理12令c

证明CRSS假设主车辆的加速度变化率有限制动能力,该能力与以下有 关:线性地(以斜率j

a(t)=a

基于这些方程式,可以定义制动距离。令a

T=min{T

通过以j

在任何给定时间,主车辆的速率(速度)也可以被确定为j

利用针对达到最大制动能力的时间、以及在根据j

与本公开一致,次最大制动率j

与本公开一致,次最大制动率j

与本公开一致,CRSS安全距离可以被用于以上关于RSS讨论的任何实 施例中。实际上,CRSS要求自主车辆比以RSS模式操作的车辆更早开始制 动。使用CRSS时,车辆最多以j

与本公开一致,CRSS模型可以是RSS假设,即,在以与j

在一些实施例中,可以对CRSS进行修改,使得车辆可以在第一时段内 以次最大制动能力进行制动,并且可以在第二时段内以其最大制动能力进行 制动。例如,在目标车辆后面行驶的主车辆可以感测到目标车辆即将停止, 然后主车辆可以在第一持续时间内(或直到行驶了第一距离)以次最大制动 能力进行制动(例如,以j

在一些实施例中,主车辆的乘客或用户可以选择确定次最大制动率的一 个或多个导航模式。例如,乘客可能能够选择主车辆是否以与恒定的次最大 制动率、逐渐增加的次最大制动率、指数增加的次最大制动率相关联的制动 曲线来进行制动。可以采用任何其他制动率曲线。例如,一种可选模式可以 指示主车辆恒定地施加预定次最大制动率,直到主车辆停止或者直到确定制 动条件不再存在为止。作为另一示例,一种可选模式可以指示主车辆在确定 制动条件存在的时间段的至少一部分内以预定次最大制动率恒定地施加主车 辆制动,然后以其最大制动率能力来施加主车辆制动。作为另一示例,一种 可选模式可以指示主车辆以预定次最大制动率开始施加制动,并逐渐增加制 动率直到主车辆的最大制动率能力。可以选择制动率的任何其他组合。

与本公开一致,CRSS可以与RSS模式一起使用,或者可以代替RSS模 式使用。在一些实施例中,在某些情况下可以选择性地使用CRSS,而在其他 情况下可以使用RSS。例如,CRSS可以用于高速公路(例如,在主车辆高速 行驶并且以最大制动能力进行制动可能非常不舒服的情况下),而RSS可以 用于城市环境(例如,在主车辆低速行驶并在交通灯、停车标志等处频繁停 止的情况下)。在一些实施例中,主车辆可以能够在CRSS和RSS模式之间自动切换。例如,系统可以在感测到主车辆已经进入高速公路环境时切换到 CRSS,可以在感测到城市环境时切换到RSS,和/或可以在某些感测到的天气 条件(例如,雪、雨等)下切换到CRSS。

在一些实施例中,CRSS可用于确保主车辆始终与目标车辆(或VRU或 其他对象)保持至少CRSS安全距离。例如,如果目标车辆改变车道并且在 车道改变之后在主车辆前方的距离小于CRSS距离,则主车辆可以以次最大 制动率(例如,j

在一些实施例中,当使用CRSS时,可以实施RSS作为紧急措施。例如, 当目标车辆在主车辆前方切入并且到主车辆前方的目标车辆的距离(不是主 车辆的过错)小于CRSS安全距离时,则主车辆可能会根据RSS模式进行制 动(例如,立即以其最大制动能力进行制动)。特别是,如果该切入创建的距 离等于或小于RSS安全距离(比CRSS安全距离更短),则可以使用RSS制 动。如果该距离大于RSS安全距离但小于CRSS安全距离,则在一个示例中,系统可以根据当前距离(介于CRSS安全距离和RSS安全距离之间的某个距 离)确定可用于使主车辆安全地停止的j

图49A-49D示出了当主车辆在目标车辆后方行驶时,在CRSS模型下的 安全距离的概念。图49A示出了在主车辆4904和目标车辆4906之间的CRSS 安全距离4902。如上所述,CRSS安全距离4902是在主车辆4904以小于其 最大制动能力的舒适制动率j

图49B示出了主车辆4914与目标车辆4916之间的CRSS安全距离4912。 CRSS安全距离4902与CRSS安全距离4912之间的差可能是由于CRSS安 全距离4912与比CRSS安全距离4902更低的制动率相关联。即,与主车辆 4914相关联的j

图49C示出了主车辆4924与目标车辆4926之间的CRSS安全距离4922。 在该示例中,CRSS安全距离4922包括最小距离4910,该最小距离4910可 以是在主车辆通过以j

图49D示出了主车辆4934与目标车辆4936之间的CRSS安全距离4932。 在该示例中,CRSS安全距离4932包括最小距离4910和加速距离4908。加 速距离4908可以是如果主车辆4934在初始反应时段内以最大加速能力进行 加速,则其将行驶的距离。

CRSS安全距离的概念可以扩展到横向方向。受益于本公开的本领域技 术人员将认识到,CRSS安全距离可以包括主车辆与另一对象(例如目标车辆 或VRU)之间的横向距离,在该横向距离内主车辆可以调节主车辆的转向以 避免与对象碰撞,同时避免不舒适的转向调节。

与本公开一致,公开了一种用于制动主车辆的系统。该系统可以是例如 制动系统230,或者可以被包括在导航系统(例如ADAS系统)中。制动系 统可以包括至少一个处理设备。该处理设备可以被编程为执行与本公开一致 的一个或多个方法、处理、操作或功能。

图50是描绘了可以由制动系统的至少一个处理设备执行的示例性处理 5000的流程图。处理5000用于说明性目的,而并非限制性的。受益于本公开 的本领域普通技术人员可以理解,处理5000可以包括附加步骤、可以排除某 些步骤,或者可以以与本公开一致的方式进行其他修改。

处理5000可以包括用于接收代表主车辆环境的输出的步骤5002。与本 公开一致,至少一个处理设备可以被编程为接收代表主车辆环境的输出。例 如,可以从包括在制动系统中或与制动系统通信的至少一个传感器接收输出。 至少一个传感器可以是本文公开的任何传感器,包括例如图像捕捉设备、雷 达系统、激光雷达系统、加速度计等。在一些实施例中,处理设备可以被编程 为从一个或多个传感器接收多个输出。例如,处理设备可以从图像捕捉设备 接收第一输出、从激光雷达系统接收第二输出,等等。作为另一个示例,处理设备可以被编程为从图像捕捉设备接收第一输出、从该图像捕捉设备接收第 二输出,等等。在一些实施例中,一个或多个传感器可以被配置为捕捉与主 车辆环境的不同区域有关的信息。例如,第一图像捕捉设备可以被配置为捕 捉主车辆前方环境的图像,第二图像捕捉设备可以被配置为捕捉主车辆后方 环境的图像,等等。作为另一示例,图像捕捉设备可以被配置为捕捉主车辆 前方环境的图像,并且一个或多个激光雷达系统可以被配置为捕捉与主车辆 的任一侧上的环境有关的信息。

处理5000可以包括用于检测主车辆环境中的目标车辆的步骤5004。在 一些实施例中,可以基于在步骤5002处接收到的输出来检测目标车辆。与本 公开一致,制动系统的至少一个处理设备可以被编程为基于该输出来检测主 车辆环境中的目标车辆。可以通过与本公开一致的任何手段来检测目标车辆。 例如,如果输出是一个或多个图像,则处理设备可以分析图像(例如,将图像 与已知包含车辆的图像进行比较)以检测目标车辆。作为另一示例,来自一 个或多个激光雷达系统或雷达系统的一个或多个输出可用于检测目标车辆的 轮廓和位置。在一些实施例中,处理设备可以检测多个目标车辆。例如,处理 设备可以检测在主车辆之前、主车辆之后和/或目标车辆附近,或其组合的目 标车辆。尽管这些示例公开了检测目标车辆,但是应当理解,可以通过相同 的手段来检测任何其他对象(例如,VRU、道路特性等)。

处理5000可以包括用于确定主车辆的速度和主车辆与目标车辆之间的 距离的步骤5006。与本公开一致,制动系统的至少一个处理设备可以被编程 为确定主车辆的当前速度和主车辆与目标车辆之间的当前距离。可以基于来 自一个或多个传感器的一个或多个输出来确定当前速度和/或当前距离。在一 些实施例中,可以基于在步骤5004用于检测目标车辆的输出来确定当前速度 和/或当前距离。例如,来自激光雷达系统的输出可以输出目标车辆和主车辆 上的各个点之间的一个或多个距离,其可以用于确定主车辆和目标车辆之间 的当前距离。在一些实施例中,可以通过与主车辆相关联的加速度计和/或速 度计来提供主车辆的当前速度。

处理5000可以包括用于确定制动条件是否存在的步骤5008。与本公开 一致,制动系统的至少一个处理设备可以确定制动条件是否存在。制动条件 可以是主车辆需要制动以避免不安全情况、避免碰撞或达到停止的任何条件。 例如,制动条件可以是对以下的确定:主车辆距目标车辆或其他对象的距离 小于CRSS安全距离。可以至少基于主车辆的当前速度以及主车辆与目标车 辆之间的当前距离来确定制动条件是否存在。如上所述,例如,处理设备可 以基于主车辆和目标车辆的当前速度、主车辆的制动能力、所假设的目标车辆的制动能力,以及可选地,主车辆的最大加速率,从而确定目标车辆与主 车辆之间的CRSS安全距离(或RSS安全距离)。处理设备可以将CRSS安全 距离与主车辆与目标车辆之间的当前距离进行比较。如果基于该比较,主车 辆与目标车辆之间的当前距离小于CRSS安全距离,则处理设备可以确定制 动条件存在。本文公开的主车辆将通过制动来做出响应的任何其他不安全条 件均可以是制动条件。如果主车辆检测到在当前速度和/或加速度下主车辆将 比CRSS距离更近地靠近目标车辆,则制动条件也会存在。在这种情况下, 主车辆将通过制动或采取另一操纵(车道改变等)来采取行动,以使得在主 车辆和目标车辆之间至少维持CRSS距离。

处理5000可以包括用于如果制动条件存在,则使得根据预定制动曲线来 应用制动设备的步骤5010。制动条件可以是在步骤5008确定的任何制动条 件。与本公开一致,制动系统的至少一个处理设备可以被编程为,如果确定 制动条件存在,则使得根据预定制动曲线应用与主车辆相关联的制动设备。 例如,如果处理设备确定主车辆相对于目标车辆小于或靠近CRSS安全距离, 则制动系统可以以预定次最大制动率开始制动主车辆。预定制动曲线可以包 括以主车辆的次最大制动率开始的分段,并且可以逐渐地增加直到主车辆的最大制动率。根据本文公开的任何实施例,次最大制动率可以逐渐地增加。 例如,该逐渐增加可以是非线性增加。在另一个示例中,该逐渐增加可以是 线性增加。

例如,制动系统可以仅在制动条件的持续时间内施加制动。在一些实施 例中,一旦达到主车辆的最大制动率,则至少一个处理器可以被配置为以主 车辆的最大制动率持续应用主车辆的制动设备,直到制动条件终止存在(例 如,主车辆停止,或者在主车辆与目标车辆之间重新建立CRSS距离)。在某 些情况下,即使在以最大制动率应用制动机构时,制动条件也可能在主车辆 达到完全停止之前终止,并且处理设备可以响应于制动条件的结束而终止制 动。在一些实施例中,可能不会达到主车辆的最大制动率。例如,如果制动条件在制动系统达到最大制动率之前终止存在,则至少一个处理器可以被编程 为终止制动,并且可能永远不会达到主车辆的最大制动率。

在一些实施例中,用于计算制动距离的最大制动能力可以是在本文使用 和描述的公式中使用的特定数值(或任何其他数学表达)。在一些实施例中, 最大制动力可以相对于在公式中使用的制动力而变化,并且可以是车辆在每 个瞬间能够产生的实际制动力,并且例如可能受到动态因素的影响,该动态 因素包括路面特性、天气条件以及车辆及其各种系统和部件的条件。

与本公开一致,公开了一种用于导航主车辆的系统。在一些实施例中, 该系统可以是ADAS系统或本文公开的其他导航系统。该导航系统可以包括 被编程为执行与本公开一致的一个或多个方法、处理、功能或操作的至少一 个处理器或处理设备。该处理器或处理设备可以是处理设备110,或主车辆中 的或与主车辆通信的另一处理器或处理设备(例如,制动系统的至少一个处 理设备)。

图51是描述可以由导航系统的至少一个处理设备执行的示例性处理 5100的流程图。处理5100是用于说明性目的,而并非限制性的。受益于本公 开的本领域普通技术人员可以理解,处理5100可以包括附加步骤、排除某些 步骤,或者可以以与本公开一致的方式进行其他修改。

处理5100可以包括用于接收代表主车辆环境的至少一个图像的步骤 5102。与本公开一致,至少一个处理设备可以被编程为接收代表主车辆环境 的至少一个图像。可以从图像捕捉设备接收至少一个图像。图像捕捉设备可 以是与本公开一致的任何设备,包括图像捕捉设备122。在一些实施例中,至 少一个图像可以是从相机、雷达、激光雷达或可以从中获得图像的任何其他 设备(无论是光学的或是以其他方式的)中的任何一个获得的图像。

处理5100可以包括用于确定规划导航动作的步骤5104。与本公开一致, 至少一个处理设备可以被编程确定用于实现主车辆的导航目标的规划导航动 作。可以基于至少一个驾驶策略来确定导航动作。规划导航动作和/或至少一 个驾驶策略可以是与本公开一致的任何内容,包括以上讨论的内容。例如, 规划导航动作可以包括车道改变操纵、并道操纵、超车操纵、跟随距离减小 操纵或维持油门动作中的至少一个。可以以关于处理4800的步骤4804所讨 论的基本相同的方式来确定导航动作。处理设备可以被编程为分析至少一个 图像,以识别主车辆环境中的目标车辆。至少一个图像可以是从诸如图像捕 捉设备122之类的图像捕捉设备接收的图像。目标车辆可以是在主车辆的当 前附近或主车辆的将来附近的任何地方的车辆。例如,目标车辆可以是在主 车辆前面、旁边或后面的车辆,和/或如果其执行规划导航动作则将在主车辆 的前面、旁边或后面的车辆。

处理5100可以包括用于确定与规划导航动作相关联的下一状态距离的 步骤5106。与本公开一致,至少一个处理设备可以被编程为确定如果采取规 划导航动作则将导致的主车辆和目标车辆之间的下一状态距离。可以通过本 文公开的任何手段来计算下一状态距离,包括上面的CRSS安全距离公式。 例如,如果规划导航动作是主车辆的加速(或车道改变,或甚至是在不施加 制动的情况下以当前速度持续等),则下一状态距离可以是主车辆与主车辆前 方的目标车辆之间的距离。在一些示例中,可以确定一个以上的下一状态距 离。例如,如果规划导航动作是并入相邻车道中,则可以关于主车辆与在并 道之后将在主车辆前方的第一目标车辆,确定第一下一状态距离,以及可以 关于在并道之后将在主车辆后方的第二目标车辆,确定第二下一状态距离。

处理5100可以包括用于确定主车辆的当前速度的步骤5108。与本公开 一致,至少一个处理设备可以被编程为确定主车辆的当前速度。可以通过与 本公开相一致的任何手段来确定当前速度,包括如关于处理4800的步骤4808 所讨论的手段。在一些实施例中,可以基于一个或多个传感器的输出来确定 主车辆的当前速度。例如,可以从加速器、激光雷达系统、雷达系统、GPS单 元等的输出来确定当前速度。作为另一示例,可以通过分析一个或多个图像 来确定主车辆的当前速度(例如,基于在两个或更多个图像中检测到的固定对象的缩放率变化)。

处理5100可以包括用于确定目标车辆的当前速度并假设目标车辆的最 大制动能力的步骤5110。与本公开一致,至少一个处理设备可以被编程为确 定目标车辆的当前速度并假设目标车辆的最大制动率能力。可以基于目标车 辆的至少一个特性来假设最大制动率能力。可以通过与本公开相一致的任何 手段来确定目标车辆的最大制动能力,包括关于RSS所讨论的手段(例如, 作为处理4800的步骤4812的一部分)。

在一些实施例中,可以基于主车辆的当前速度来确定目标车辆的当前速 度。例如,主车辆的一个或多个传感器可以提供与主车辆的速度有关的信息, 并且一个或多个传感器可以提供目标车辆相对于主车辆的位置和/或目标车 辆的位置、加速度或速度的改变,其可用于确定目标车辆的当前速度。在一 些实施例中,可以基于对至少一个图像的分析来确定目标车辆速度。该至少 一个图像可以是与首先检测到目标车辆的图像相同的图像,或者可以是不同 的图像。在一些实施例中,可以分析多个图像以确定目标车辆的当前速度。 例如,在第一时间捕捉的图像可以描绘目标车辆与主车辆的第一距离,而在 第二时间捕捉的图像可以描绘目标车辆与主车辆的第二距离,处理设备可以 基于两个图像之间的距离改变来确定当前速度。在一些实施例中,可以基于 对来自与主车辆相关联的激光雷达系统或雷达系统中的至少一个的输出的分 析,来确定目标车辆速度。例如,处理设备可以使用主车辆的速度以及主车 辆与目标车辆之间的距离(例如,由激光雷达系统感测),来确定主车辆的速 度。

可以通过与本公开一致的任何手段来确定目标车辆的至少一个特性。在 一些实施例中,处理设备可基于来自与主车辆相关联的一个或多个传感器的 一个或多个输出来确定至少一个特性。例如,可以基于激光雷达输出或雷达 输出中的至少之一来确定至少一个特性。例如,激光雷达输出可以包括与例 如主车辆与目标车辆的顶部边缘和目标车辆的底部边缘之间的距离相关联的 一个或多个距离,它们之间的差可以用于确定目标车辆的尺寸。在一些实施 例中,可以基于对至少一个图像的分析来确定至少一个特征。该至少一个图 像可以是首先检测到目标车辆的图像,或不同的图像。例如,目标车辆的图 像可以包括文本、徽标或可用于确定车辆类型、型号、内饰级别或其他特性 的其他信息。作为另一示例,目标车辆的图像可以包括可用于与目标车辆进 行比较以确定目标车辆的尺寸的其他车辆或对象。

所辨识的目标车辆的特性可以是可用于确定目标车辆的最大制动能力的 任何特性。在某些实施例中,所辨识的目标车辆的特性可以包括车辆类型。 车辆类型可以是例如目标车辆所属的一般类别(例如,全尺寸轿车、紧凑型 汽车、SUV、跨界SUV、摩托车等),或与目标车辆相关联的更具体的类别或 子类别。处理设备可以被编程为假设目标车辆具有与该车辆类型或一类车辆 的已知制动能力的最大制动能力相对应的最大制动能力。例如,如果确定目 标车辆是摩托车,则处理设备可以假设目标车辆具有与具有最佳的最大制动 能力的摩托车(例如,可以最快地或在最短差距内达到停止的摩托车)的最 大制动能力相匹配的最大制动能力。在一些实施例中,所辨识的目标车辆的 特性可以包括车辆型号。车辆型号可以包括例如车辆的品牌名称和/或型号名 称。可以通过与本公开相一致的任何手段来确定目标车辆的车辆型号,包括 例如检测文本、徽标或车辆型号的其他标识符,或者检测车辆型号的特征特 性。例如,处理设备可以分析目标车辆的图像,并辨识与车辆型号相关联的 文本(例如,可以在目标车辆的后部检测到文本“Honda Accord(本田雅阁)”)。 作为另一示例,处理设备可以分析图像并辨识目标车辆的一个或多个独特特 征(例如,尾灯的形状、扰流板的存在或不存在、目标车辆的总体形状等), 并且可以通过例如将辨识出的特征与已知车辆类型的一个或多个图像进行比 较来确定车辆类型。处理设备可以使用车辆类型来确定目标车辆的制动能力。 例如,如果车辆类型是Ford

可以基于附加因素来确定目标车辆的最大制动能力。例如,可以基于感 测到的路面条件来确定目标车辆的当前最大制动能力。在该示例中,所感测 的道路条件可以包括道路的粗糙度、道路的倾斜或坡度、道路上是否存在物 质或对象、道路是否为沥青、水泥、碎石或其他材料,或与本公开一致的任何 其他条件。作为另一示例,可以基于感测到的天气条件来确定目标车辆的当 前最大制动能力。在该示例中,天气条件可包括检测到任何降水(例如,雨、 雨夹雪、雪、冰等)、影响可见度的天气条件(例如,雾、烟雾、烟等)、可能 影响车辆操作的天气条件(例如强风、高温等),或者可能影响主车辆导航响 应的任何其他天气条件。在另一示例中,处理设备可以基于主车辆是否包含 例如新的或旧的轮胎、一位乘客或多位乘客、重量很大的货物、拖车等来确 定最大制动能力。在一些实施例中,可以基于预定因素确定目标车辆的最大 制动能力,该预定因素诸如规定车辆或车辆类型允许的最大制动能力的规章。

所假设的最大制动能力可用于确定目标车辆行驶距离,该目标车辆行驶 距离是若目标车辆要以其最大制动能力进行制动则从其当前速度达到停止所 需的距离。可以通过与本公开一致的任何手段来计算该距离,包括关于RSS 和/或CRSS所讨论的手段。

处理5100可以包括用于如果规划导航动作是安全的,则实施该导航动作 的步骤5112。出于步骤5112的目的,何时规划导航动作可以被认为是安全的 一个示例是,当可以使用次最大制动率使主车辆在主车辆停止距离内停止, 该主车辆停止距离小于所确定的下一状态距离与基于目标车辆的当前速度和 所假设的目标车辆的最大制动率能力而确定的目标车辆行驶停止距离之和。 在一些实施例中,至少一个处理设备可以被编程为,如果对于所确定的主车 辆的当前速度和以预定的次最大制动率,主车辆能够在主车辆停止距离内停 止,则实施规划导航动作,该主车辆停止距离小于所确定的下一状态距离与 目标车辆行驶距离之和。预定次最大制动率可以小于主车辆的最大制动率能 力。目标车辆行驶距离可以是基于目标车辆的当前速度和所假设的目标车辆 的最大制动率能力而确定的距离。如上所述,次最大制动率可以是在CRSS公 式中由j

在一些实施例中,如上所述,预定次最大制动率可以是由用户选择的次 最大制动率。例如,可以基于用户可选的制动模式来确定预定次最大制动率, 该用户可选的制动模式包括:以预定次最大制动率恒定地施加主车辆制动, 直到主车辆停止或确定制动条件不再存在的模式;在确定制动条件存在的时 间段的至少一部分内,以预定次最大制动率恒定地施加主车辆制动,然后以 主车辆的最大制动率施加主车辆制动的模式;和/或以预定次最大制动率开始 施加主车辆制动并且逐渐增加到主车辆的最大制动率的模式。

与本公开一致,可以使用以上讨论的一个或多个CRSS公式来确定主车 辆停止距离。例如,可以基于主车辆的当前速度和主车辆的预定次最大制动 率来确定主车辆停止距离。作为另一示例,可以基于主车辆的当前速度、主 车辆在响应时段内能够达到的最大加速度、以及主车辆的预定次最大制动率, 来确定主车辆停止距离。在一些实施例中,主车辆停止距离可以大于加速距 离及最大制动率距离的总和,该加速距离对应于主车辆在预定时间段内以主 车辆的最大加速能力能够行驶的距离,该最大制动率距离对应于主车辆在以 主车辆的最大制动率能力从主车辆的当前速度减速到零速度时可以行驶的距 离。在一些实施例中,主车辆停止距离可以大于加速距离及次最大制动率距 离的总和,该加速距离对应于主车辆在预定时间段内以主车辆的最大加速能 力能够行驶的距离,该次最大制动率距离对应于主车辆在以主车辆的次最大 制动率能力从主车辆的当前速度减速到零速度时可以行驶的距离。在任何实 施例中,预定时间段可以是与车辆相关联的反应时间。例如,预定时间段可 以是在处理设备首先检测到目标车辆的时间与主车辆开始制动的时间之间的 时间段,如上面关于RSS所讨论的。

在一些实施例中,主车辆停止距离可以包括第一距离和第二距离,在第 一距离内以预定次最大制动率制动主车辆,在第二距离内以主车辆的最大制 动率能力制动主车辆。例如,如上所述,主车辆可以在第一距离内根据CRSS 以次最大制动率进行制动,然后在第二距离内以最大制动率进行制动。在另 一示例中,主车辆可以以次最大制动率进行制动,并且逐渐增加次最大制动 率直到达到最大制动率,然后以最大制动率继续制动。处理设备可以被配置 为,在第二持续时间内以主车辆的最大制动率能力制动主车辆之前,使主车辆在第一距离内以预定次最大制动率进行制动。例如,主车辆可以在第一持 续时间内根据CRSS以次最大制动率进行制动,然后在第二持续时间内以最 大制动率进行制动。

在步骤5112何时规划导航动作可以被认为是安全的另一个示例是,当可 以使用预定次最大制动率使主车辆在主车辆停止距离内停止,该主车辆停止 距离小于所确定的下一状态距离与基于目标车辆的当前速度和所假设的目标 车辆的最大制动率能力而确定的目标车辆行驶距离之和,其中预定制动率曲 线从主车辆的次最大制动率逐渐增加到最大制动率。在一些实施例中,至少 一个处理设备可以被编程为,如果对于所确定的主车辆的当前速度和对于预 定制动率曲线,主车辆能够在主车辆停止距离内停止,则实施规划导航动作, 该主车辆停止距离小于所确定的下一状态距离与基于目标车辆的当前速度和 所假设的目标车辆的最大制动率能力而确定的目标车辆行驶距离之和,其中 该预定制动率曲线从主车辆的次最大制动率逐渐增加到最大制动率。该目标 车辆停止距离可以如关于以上实施例中所讨论的那样而确定。该实施例与先 前实施例之间的区别在于,该实施例中的制动曲线可以逐渐增加直到主车辆 的最大制动率。CRSS安全距离可以包括(在主车辆和目标车辆的当前速度下) 当主车辆在至少一部分制动时段内以次最大率施加其制动并且目标车辆以其 最大率进行制动时,主车辆能够在其内停止并且不与目标车辆发生碰撞的距 离。

在该实施例中,可以通过与本公开一致的任何手段来增加制动率曲线。 例如,预定制动率曲线可以从主车辆的次最大制动率线性地增加到最大制动 率。作为另一示例,预定制动率曲线可以从主车辆的次最大制动率非线性地 增加到最大制动率。在该示例中,预定制动率曲线可以指数地、对数地或者 根据任何其他函数增加或者可以零星地增加。在任何示例中,仍然有可能制 动曲线永远不会达到最大制动能力。例如,在车辆达到其最大制动率能力之 前,制动条件(车辆可能已经响应于该制动条件而开始以预定制动率曲线进行制动)可能终止存在,并且车辆可以终止制动作为响应。

与本公开一致,至少一个处理设备可以被配置为,如果所确定的主车辆 停止距离比所确定的下一状态距离与基于目标车辆的当前速度和所假设的目 标车辆的最大制动率能力而确定的目标车辆行驶距离之和少了至少预定最小 距离,则实施规划导航动作。在一些实施例中,最小距离可以是如上文关于 CRSS和RSS所讨论的d

关于CRSS讨论的实施例仅是示例性的。受益于本公开的本领域普通技 术人员可以理解,在本公开所讨论的任何实施例中,可以使用CRSS代替RSS 或与RSS关联使用。在一些实施例中,主车辆可以能够在CRSS或RSS模式 下导航。例如,可以将完全自主车辆配置为在CRSS模型的规则下导航,但 是车辆中的乘客可以解除CRSS模型并选择在RSS模式下导航。例如,这样 的模式选择可以使主车辆更靠近目标车辆,同时仍维持安全距离。然而,需要权衡的是,RSS模式可能相比CRSS模式关联于更高的减速率,并且可能 使主车辆的乘客感到不那么舒适。在一些实施例中,自主车辆可以能够在 CRSS和RSS模式的每个模式下导航。例如,车辆可以被配置为当在第一条 件下(例如,以高速、在农村公路上等)行驶时采用CRSS模型,而在第二条 件下(例如,以低速、在城市公路上等)行驶时采用RSS模式。

与本公开一致,CRSS模型可以用于导航完全自主车辆、可以用于导航部 分自主车辆(例如,具有人类可操作模式和选择性自主模式的车辆),或者可 以用作人类可操作车辆中的基本安全特征(例如,人类可操作车辆可以阻止 或禁止在CRSS模型下可能是不安全的情况)。

在一些实施例中,可以在具有自主或部分自主能力但是允许人类驾驶员 以驾驶员控制模式进行操作的主车辆中,采用安全系统(例如,零视觉)。在 这种情况下,安全系统可以在后台运行。可以允许驾驶员采取他或她希望的 任何导航动作,只要该导航动作不会导致相对于检测到的目标车辆小于CRSS 或RSS距离即可。如果驾驶员从未采取会导致相对于目标车辆小于CRSS或 RSS距离(例如,取决于所选择的操作模式)的靠近的导航动作,那么驾驶 员可能不会意识到该安全系统的操作。另一方面,如果驾驶员发起了会导致 相对于目标车辆小于CRSS或RSS距离的靠近的导航动作,则安全系统将采 取一个或多个动作来阻止发起的导航动作被完成。换句话说,车辆可以从驾 驶员那里取得对车辆的控制,以避免导航到涉及小于CRSS或RSS的靠近距 离的不安全情况。一旦驾驶员中止尝试导航到被车辆感测为不安全的条件, 或者当驾驶员发起了主车辆认为是安全的不同导航动作,则他或她便会重新 取得控制。

所公开的安全系统可以取得对车辆的控制以阻止导航动作、可以阻止与 潜在的不安全导航动作相关联的驾驶员输入(例如,被检测为具有会违反 CRSS或RSS包络的结果)、禁止某些导航输入、警告驾驶员和/或其组合。例 如,如果车辆的横向运动会导致不安全切入(例如,如果车辆会在目标车辆 前方切入,从而使该车辆与目标车辆之间的距离小于RSS安全距离),则安 全系统可以阻止该横向运动。在图30A中描绘了可以由安全系统阻止的不安 全切入的示例。作为另一示例,安全系统可以阻止会导致一纵向运动、该纵 向运动进而会导致在主车辆与目标车辆(例如,前方的目标车辆)之间小于 RSS或CRSS距离的导航动作。在图28B中示出了可以由安全系统阻止的不 安全纵向运动的示例。作为另一示例,安全系统可以阻止会导致在主车辆与 行人之间小于预定距离或安全距离的主车辆横向或纵向运动(响应于驾驶员 输入)。在图44A和44C中描绘了可以由安全系统阻止的与行人有关的不安 全运动的示例。

与本公开一致,安全系统可以在人类驾驶员尝试进行不安全的导航操纵 时阻止该导航操纵。如本文所使用的,“阻止”可以包括用于使驾驶员无法执 行该导航操纵的任何手段。例如,如果不安全的航行操纵是并道,则安全系 统可通过锁定方向盘或其他转向机构(例如,使方向盘无法朝并道的方向旋 转)、通过施加相等但相反的转向输入来抵消驾驶员的转向输入、通过拦截或 中断与驾驶员的转向输入相关联的电信号,或者以其他方式使驾驶员的转向 输入没有导航响应或小于预期的导航响应,来停止并道。作为另一个示例,如果不安全的导航操纵是加速,则安全系统可以通过使加速输入无效(例如, 拦截电信号、锁定油门踏板、施加制动等),来停止加速。该阻止可能足以避 免或停止否则会是不安全的导航操纵(例如,确定为导致距目标车辆小于 CRSS或RSS的靠近等)。

与本公开一致,安全系统可以接管车辆以避免由人类驾驶员尝试进行的 不安全导航操纵。在接管时段期间,安全系统可以以自主模式操作并完全控 制主车辆,直到例如确定驾驶员输入将不再导致不安全的导航动作为止。如 本文所使用的,“接管”可以包括一个或多个的自主控制致动器的任何操作, 安全系统通过所述操作可以操纵或控制转向、制动、加速或其他车辆控制系 统中的一个或多个。例如,如果确定驾驶员输入与不安全的并道相关联,则 安全系统可以临时取得对车辆转向机构的控制,从而使得驾驶员不能提供额外的转向输入以引起并道,或者使得驾驶员的输入无效,并且安全系统可以 使车辆朝着避免不安全操纵的方向来转向(例如,与所发起的对方向盘的驾 驶员输入相反的反向转向)。作为另一示例,如果不安全操纵是加速,则安全 系统可以取得对加速机构的控制,从而使得驾驶员例如不能向油门提供额外 的输入,或者使得驾驶员的输入无效,并且安全系统可以使车辆减速、维持 当前速度或使车辆滑行以避免不安全条件。安全系统接管的设计避免了被系 统确定为不安全的导航操作,并避免了碰撞,尤其是可能是主车辆过错的碰 撞。

如本文中所使用的,当术语“取代”用于指代安全系统取代人类驾驶员时, 其可以指代禁止人类驾驶员控制、阻止人类驾驶员控制或从人类驾驶员取得 控制中的任何一个。

如所指出的,自主安全系统可以在后台运行,直到检测到不安全条件或 被确定为与不安全操纵相关联的驾驶员输入。在这种情况下,安全系统可以 取代人类驾驶员控制(至少暂时地取代)。不安全条件可以包括例如确定驾驶 员输入与会将主车辆置于距目标车辆小于CRSS或RSS安全距离的距离的导 航操纵相关联。作为示例,安全系统的处理设备可以使用在RSS模型和/或 CRSS模型下开发的纵向和/或横向安全距离,来构造相对于主车辆(或检测 到的目标车辆)的接近缓冲区(proximity buffer)。在该示例中,安全条件可以包括在接近缓冲区内不存在对象(例如,目标车辆或VRU)的任何条件。 相反,不安全条件可以包括在接近缓冲区内存在或将存在对象的任何条件。 接近缓冲区可以包括主车辆周围的二维或三维区域。可以使用上述的RSS和 /或CRSS安全距离计算,来确定接近缓冲区的维度。例如,接近缓冲区可以 包括:在主车辆前方的、例如对应于CRSS安全纵向距离或RSS距离的距离; 在主车辆任一侧上的、例如对应于预定安全横向距离的距离;和/或在主车辆后方的、例如对应于RSS安全距离的距离。

图52A-52D是与本公开一致的示例性接近缓冲区的视觉表示。图52A示 出了主车辆5201周围的接近缓冲区5202。在该示例中,可以从所确定的主车 辆5201前方的安全距离5204并且从所确定的主车辆5201后方的安全距离 5206得出该接近缓冲区5202。作为图52A至52D的示例中的最短安全距离 的所确定的安全距离5204可以是RSS纵向安全距离。因此,所确定的安全 距离5204可以如上所述被确定。类似地,所确定的安全距离5206可以是RSS纵向安全距离。包括接近缓冲区5202侧面的横向安全距离未被标出,但是应 当理解,它们可以通过与本公开一致的任何手段来确定。可以预先确定这样 的横向安全距离,以便在主车辆和其他车辆或对象之间维持最小横向间隔。 这样的横向安全距离可以是例如0.25m、0.5m、1.0m或更长。在一些实施例 中,接近缓冲区的侧面可以对应于预定的横向距离阈值,该阈值可以定义主 车辆与对象之间的最小安全横向距离。

图52B描绘了主车辆5211周围的接近缓冲区5212。在该示例中,主车 辆5211前方的所确定的安全距离5214比主车辆5201前方的所确定的安全距 离5204更长。在一些实施例中,所确定的安全距离5214可以比5204长,因 为例如所确定的安全距离5214可以对应于CRSS安全距离。如上所述,所确 定的安全距离5214也可以与RSS安全距离以及最小靠近距离相对应。如上 所述,所确定的安全距离5214可以对应于CRSS安全距离,该距离包括与次最大制动率相关联的制动距离。在一些实施例中,所确定的安全距离5214可 以比所确定的安全距离5204更长,因为与主车辆5201相比,主车辆5211可 能具有不同的制动特性或特征等。例如,所确定的安全距离5204和所确定的 安全距离5214可以是RSS安全距离,并且所确定的安全距离5214可以更长, 因为与主车辆5211相比,主车辆5211可能与更高的当前速度和/或更低的最 大制动能力相关联。

图52C示出了主车辆5221周围的接近缓冲区5222。在该示例中,所确 定的安全距离5224比所确定的安全距离5204长,并且比所确定的安全距离 5214短。在一些实施例中,出于关于图52B所描述的任何原因,所确定的安 全距离5224可以比所确定的安全距离5214短,并且比所确定的安全距离 5204长。例如,如关于RSS模型所描述的,所确定的安全距离5224可以是 包括最小靠近距离的RSS安全距离,但是主车辆5221的最大加速能力可能 小于主车辆5211的最大加速能力和/或主车辆5221的预定靠近距离可能小于 主车辆5211的预定靠近距离。作为另一示例,主车辆5221的乘客或驾驶员 可能已经选择了第一次最大制动率,并且主车辆5211的乘客或驾驶员可能已 经选择了小于第一次最大制动率的第二次最大制动率,因此,主车辆5211可 能需要更大的距离(例如,所确定的安全距离5214)才能安全地达到停止。 在该示例中,主车辆5221具有车辆后方的更长的所确定的安全距离5226。正 如主车辆5221前方的所确定的安全距离5224一样,由于用于确定距离的模 型(例如,RSS和/或CRSS)、主车辆5221的条件或特性(例如,最大加速 能力、最大制动能力、当前速度、当前制动能力、次最大制动率等)和/或道 路条件(例如,天气条件、道路材料等等),所确定的安全距离5226的长度 可以比所确定的安全距离5216更长。

图52D描绘了车辆5231周围的接近缓冲区5232。接近缓冲区5232大于 接近缓冲区5205、5212或5222中的任何一个。在一些实施例中,接近缓冲 区5232可以大于其他缓冲区,这是因为例如CRSS模型被用于主车辆5231 前方的所确定的安全距离5234和主车辆5231后方的所确定的安全距离5236 两者。在一些实施例中,接近缓冲区5232的尺寸可能是由于关于图52A至52C所讨论的因素中的任何一个。

与本公开一致,主车辆可具有一个以上的接近缓冲区。例如,主车辆可 以具有与RSS模型相关联的第一接近缓冲区(例如,接近缓冲区5202)和与 CRSS模型相关联的第二接近缓冲区(例如,接近缓冲区5232)。在一些实施 例中,如果第一接近缓冲区被打破(breach),则安全系统可以取代驾驶员。 例如,如果主车辆进入距目标车辆小于RSS安全距离的距离内,则安全系统 可以取代驾驶员以阻止碰撞。在相同的实施例中,如果第二接近缓冲区被打 破但放弃了取代驾驶员,则安全系统可以警告驾驶员。例如,如果主车辆进 入小于CRSS安全距离的目标车辆的距离内,则安全系统可以通过:例如使 扬声器系统发出声音警告;使乘客舱内的座椅、转向机构或其他组件振动; 在平视显示器或增强现实显示器上显示警报;或通过任何其他手段,来警告 驾驶员主车辆太靠近目标车辆。在一些实施例中,如果第二接近缓冲区被打 破,则安全系统可以取代驾驶员。例如,如果主车辆进入小于CRSS安全距 离的目标车辆的距离内,则安全系统可以使车辆以与CRSS模型的次最大制 动率相对应的率进行减速。如果主车辆与目标车辆之间的距离变得比RSS安 全距离更近而打破了第一接近缓冲区,则安全系统可以使车辆根据RSS模型 以与主车辆的最大制动率相对应的率进行减速。并且,如上所述,只要来自 驾驶员的输入被确定为将导致相对于另一车辆或对象小于RSS或CRSS距离 的靠近,则安全系统也可以取代驾驶员。

如上所述,RSS和CRSS模型中的每一个可以计算相对于检测到的对象 的安全距离。例如,每个模型可以确定目标车辆的制动能力,并使用该制动 能力来确定安全距离。这样,接近缓冲区的维度可以取决于在主车辆环境中 检测到的对象而不同。作为一个示例,当第二目标车辆具有比第一目标车辆 更高的最大制动能力时,主车辆与第一目标车辆之间的RSS安全距离可以比 主车辆与第二目标车辆之间的RSS安全距离更长(即,第二目标车辆可能比 第一目标车辆在更短的距离内达到停止)。作为另一个示例,主车辆与行人之 间的RSS或CRSS安全距离可能比主车辆与任何目标车辆之间的RSS或 CRSS安全距离显著更长,这是因为主车辆与行人之间的最小分隔距离可能 大于主车辆和目标车辆之间的最小分隔距离。

安全系统可以在与不安全条件(诸如接近缓冲区被打破)相对应的持续 时间内,或在检测到不安全驾驶员输入(例如,被确定为会导致相对于另一 车辆或对象小于RSS或CRSS距离的靠近的至少一个驾驶员输入)的时间段 期间来取代驾驶员。例如,安全系统可以取得对车辆的控制,直到不安全条 件终止存在为止(例如,该车辆与目标车辆的距离大于CRSS或RSS安全距 离)。

图53A和53B示出了两个车辆之间的安全和不安全条件的示例。图53A 示出了沿着道路5302在相同方向上行驶的主车辆5301和目标车辆5303。在 该示例中,主车辆5301可以包括与本公开一致的安全系统和接近缓冲区5304。 类似地,目标车辆5303可以包括与本公开一致的安全系统并且具有接近缓冲 区5306。在该示例中,如果主车辆5301由驾驶员驾驶,则该驾驶员可以持续 导航主车辆5301(例如,该驾驶员将不会被安全系统取代),这是因为在接近 缓冲区5304内不存在对象。对于人类驾驶员导航目标车辆5303来说也是如此。

图53B描绘了沿着道路5312在同一方向上行驶的主车辆5311和目标车 辆5313。在此示例中,主车辆5301可以包括与本公开一致的安全系统和接近 缓冲区5314。类似地,目标车辆5313可以包括与本公开一致的安全系统并且 具有接近缓冲区5316。在该示例中,如果主车辆5311由人类驾驶员驾驶,并 且目标车辆5313的安全系统检测到被确定为会导致图53B中所示的切入的 一个(或多个)驾驶员输入,则安全系统可以取代驾驶员并取得控制以阻止 该动作。例如,与车辆5313相关联的安全系统可以确定驾驶员输入将导致可 能打破横向安全距离的情况、在操纵之后将导致与车辆5313的后部的纵向间 隔不足(例如,在切入之后将不存在RSS距离)等等。在这种情况下,安全 系统将通过阻止驾驶员输入导致不安全的切入操纵来进行响应。在图53B的 相同场景中,如果车辆5313确实进行了切入操纵,例如,在车辆5311的驾 驶员没有制动来使车辆减速以便建立起与缓冲区5314相关联的CRSS或RSS 距离的情况下,车辆5311的安全系统可以取代驾驶员输入。在这种情况下, 不安全的驾驶员输入可以对应于在输入中缺乏改变,或者换句话说,不安全 地维持了当前的输入/控制。

图54A和54B示出了与本公开一致的安全系统可以取代人类驾驶员的附 加实例。如图54A和54B所示,车辆5402、车辆5404和车辆5406各自在道 路5400上沿共同的方向行驶。在该示例中,道路5400可以是高速公路。车 辆5402可以包括与本公开一致的安全系统,并且可以具有接近缓冲区5403。 接近缓冲区5403可以对应于RSS和/或CRSS模型中的任何一个,如上所述。 出于说明的目的,假设接近缓冲区5403具有与CRSS模型相关联的车辆5402 前方的所确定的安全距离。

在图54A中,如图所示,车辆5402中的驾驶员可以使车辆5402靠近车 辆5406的后部。如果驾驶员尝试使车辆5402进入小于CRSS安全距离的车 辆5406的距离内(如在接近缓冲区5403内的车辆5406所示),则车辆5402 的安全系统可以取代驾驶员,以避免不安全条件并维持CRSS距离。例如, 安全系统可以取得控制并阻止或忽略驾驶员的加速输入,或者可以制动车辆 5402。例如,安全系统可以使车辆5402以与CRSS模型的次最大制动率相对应的率进行减速,直到车辆5402与车辆5406的距离大于接近缓冲区5402。 作为另一个示例,在接近缓冲区5403被打破之前,安全系统可以确定车辆 5402的下一状态位置(例如,如果执行了驾驶员的输入则车辆5402将会处于 的位置),并且在将车辆5402带入小于CRSS安全距离的车辆5406的距离内 之前取代驾驶员。

在图54B中,车辆5402中的人类驾驶员可能尝试使车辆5402并入由车 辆5404占据的车道中。如果驾驶员尝试可能使车辆5402进入小于CRSS安 全距离的车辆5404的距离内的导航动作(如接近缓冲区5403和车辆5404之 间的重叠所示),则安全系统可以取代人类驾驶员以阻止该导航动作。例如, 如果人类驾驶员尝试例如通过使方向盘向右转动而右转向,则安全系统可以 确定该转向的执行将导致图54B所示的不安全条件。作为响应,安全系统可 以接管控制并取代人类驾驶员。例如,安全系统可以通过向左对方向盘施加 相等的力来禁止方向盘向右转动。作为另一示例,安全系统可通过机械和/或 电气地中断右转弯输入而使方向盘的向右转动无效,来阻止右转向。作为另 一示例,安全系统可以接管车辆5402,并根据需要左转向,以避免如果执行 右转向时将出现的不安全条件。对于这些示例中的任何一个,该取代可以持 续到车辆5402返回到安全条件(例如,到车辆5404或5406都不在接近缓冲 区5403内的位置)为止和/或与车辆5402相关联的下一状态条件被确定为安全为止。

在图53A至53B和图54A至54B中描绘的示例仅是示例性的。受益于 本公开的本领域技术人员可以理解,安全系统或类似的导航系统可以在任何 不安全条件下或响应于可能导致不安全条件的任何输入来取代驾驶员。

在一些实施例中,安全系统可以存储或传输与其中安全系统取代人类驾 驶员的任何实例有关的数据。例如,安全系统可以生成与导致安全系统取代 驾驶员的不安全条件、所发生的取代的类型(例如,禁止、阻止或接管)、取 代的持续时间、取代的后果(例如,车辆恢复到安全条件、车辆停止、车辆发 生碰撞)有关的数据,或是与取代或在取代之前或之后发生的事件有关的任 何其他信息。与本公开一致,该信息可以用于确定安全系统、RSS模型、CRSS 模型或任何其他自主车辆特征是否正在按预期执行。这样的信息可以从主车辆通过一个或多个网络传输到远程服务器。例如,该信息可以被传输到汽车 制造商、安全制造商或负责实施安全系统的其他方以进行分析。在一些实施 例中,该信息可以被显示给车辆的驾驶员。例如,可以在每个取代事件之后、 每个行程之后、在接收到来自驾驶员的请求之后、或者以有计划的间隔(例 如,每天、每周、每两周、每月等)来生成报告。可以设想的是,提供与安全 系统和所避免的不安全条件有关的驾驶员信息可以增加驾驶员对安全系统 (或通常对自主车辆)的信任程度。

在一些实施例中,车辆可以包括用于停用或解除安全系统的装置(例如, 开关、按钮、语音激活控件或其他类型的控件)。例如,驾驶员可以停用安全 系统以阻止其解除驾驶员,或者驾驶员可以在取代事件期间解除安全系统以 重新取得对主车辆的控制。可以设想的是,用于停用或解除安全系统的控件 独立于与导航车辆相关联的车辆的任何控制机构。例如,车辆可以包括不与 油门、制动器、方向盘或任何其他控制机构相关联的按钮。在此示例中,驾驶 员仅能通过按下该按钮(或其他安全系统控件)来停用或解除安全系统。与 传统的ADAS系统(即,高级驾驶员辅助系统,诸如车道保持系统、自动制 动系统等)不同,无法通过向转向控件、制动控件或油门控件提供输入来停 用或解除所公开的安全系统。例如,如果该安全系统接管车辆的转向机构以 便执行右转弯,则驾驶员将无法通过例如持续将车轮向右转动(例如,利用 力的增加来试图克服或解除安全系统)来解除安全系统。而是,驾驶员首先 需要激活指定的安全系统超驰控件(override control)来解除安全系统。类似 地,如果所公开的安全系统取得控制以阻止会导致纵向距离小于CRSS或RSS 的导航动作,则驾驶员将无法通过对车辆制动器或油门的输入来超驰控制 (override)该安全系统。相反,将需要使用指定的安全系统控件。

应当理解,可以通过任何适当的控制输入(诸如,杆、旋钮、虚拟按钮、 语音命令、手势等)来解除或停用安全系统。在一些实施例中,导航系统可以 包括在车辆内部的图像捕捉设备,该图像捕捉设备被配置为捕捉人类驾驶员 的一个或多个图像或视频。至少一个处理设备可以分析所捕捉的图像和/或视 频以辨识手势或其他非语言命令,并且可以被编程为响应于手势或其他非语 言命令停用或解除安全系统。在一些实施例中,导航系统可以包括被配置为 捕捉声音数据的一个或多个麦克风。至少一个处理设备可以使用语音辨识处 理(例如,使用神经网络、经训练的或未经训练的系统等)来分析声音数据, 并且响应于包括辨识出的命令的声音数据来停用或解除安全系统。

与本公开一致,安全系统可以收集与停用或解除安全系统的任何情况有 关的信息。例如,安全系统可以记录正好在安全系统停用之前的导航情况(例 如,主车辆的速度、加速度、跟随距离等)和/或停用的时间和地点。在一些 实施例中,即使在已经停用或解除安全系统之后,其也可以继续监视驾驶员 的驾驶条件,并如上所述存储或发送该数据。

与本公开一致,公开了一种用于选择性地取代人类驾驶员控制的导航系 统。该导航系统可以例如通过阻止或禁止驾驶员的动作来部分地取代驾驶员, 或者可以例如通过接管车辆并执行独立于驾驶员的导航操纵来完全取代驾驶 员。该导航系统可以是本文公开的安全系统或任何其他系统。在一些实施例 中,该系统可以完全容纳在主车辆内。在其他实施例中,该系统的一个或多 个组件可以位于远离主车辆的位置,诸如在服务器或其他设备中。该系统可 以包括至少一个处理设备。该至少一个处理设备可以被编程为执行与本公开 一致的一个或多个方法、处理、操作或功能。至少一个处理设备可以是例如 处理设备110。

图55是描绘了用于选择性地取代人类驾驶员的示例性处理5500的流程 图。与本公开一致,导航系统中的至少一个处理设备可以被编程为执行处理 5500的全部或部分。处理5500仅仅是示例性的,受益于本公开的本领域普通 技术人员可以理解该处理5500可以包括附加步骤、可以排除一个或多个步骤、 或者可以以与本公开一致的方式进行其他修改。

处理5500可以包括用于接收一个或多个图像的步骤5502。至少一个图 像可以表示例如主车辆的环境。在一些实施例中,处理设备可以被编程为接 收代表主车辆环境的至少一个图像。可以从至少一个图像捕捉设备接收至少 一个图像。例如,导航系统可以包括一个或多个图像捕捉设备(诸如图像捕 捉设备122),其可以捕捉主车辆环境的图像。图像捕捉设备可以具有与人类 驾驶员的视场相对应的视场。在一些实施例中,导航系统可以包括多个图像 捕捉设备,每个图像捕捉设备具有相对于主车辆环境的不同视场。例如,多 个图像捕捉设备中的至少一个可以被配置为捕捉代表主车辆后方的主车辆环 境的图像;多个图像捕捉设备中的至少一个可以被配置为捕捉代表主车辆侧 面的主车辆环境的图像;和/或多个图像捕捉设备中的至少一个可以被配置为 捕捉代表主车辆前方的主车辆环境的图像;等等。例如,第一图像捕捉设备 可以具有与主车辆前方的区域相对应的视场,第二图像捕捉设备可以具有与 主车辆右侧相对应的视场,等等。在所公开的实施例中,处理设备可以被编 程为接收多个图像。例如,在导航系统仅包含一个图像捕捉设备的实施例中,处理设备可以从该成像设备接收多个图像。作为另一个示例,处理设备可以 从第一图像捕捉设备接收一个或多个图像和/或从第二图像捕捉设备接收一 个或多个图像,从第三图像捕捉设备接收一个或多个图像,等等。

处理5500可以包括用于检测主车辆环境中的至少一个障碍物的步骤 5504。可以通过对至少一个图像的分析来检测至少一个障碍物。该至少一个 图像可以是在步骤5502接收到的一个或多个图像。例如,处理设备可以被编 程为基于对至少一个图像的分析,检测主车辆环境中的至少一个障碍物。例 如,处理设备可以将接收到的图像与已知障碍物的一个或多个图像进行比较, 或者可以检测该图像中与一个或多个障碍物相对应的形状、文本或其他对象。 一个或多个障碍物可以是主车辆环境中的任何对象。例如,一个或多个障碍 物可以是主车辆正在行驶的道路上或道路附近的目标车辆或VRU。作为另一 示例,一个或多个障碍物可以是坑洞、栏杆、道路标志、交通灯、交通锥、栏 杆或护栏,或道路上或沿道路的任何其他对象。在一些实施例中,可能在主 车辆环境中检测到多个障碍物。例如,处理设备可以检测到第一主车辆、第 二主车辆、交通灯、坑洞和任何数量的额外的障碍物。

在其中导航系统包括多个图像捕捉设备的实施例中,每个图像捕捉设备 可以具有相对于主车辆环境的不同视场,至少一个处理设备可以被配置为从 多个图像捕捉设备中的每一个接收一个或多个图像,并基于对从多个图像捕 捉设备接收到的一个或多个图像的分析来检测主车辆环境中的至少一个障碍 物。例如,多个图像捕捉设备中的至少一个可以被配置为捕捉代表主车辆侧 面的主车辆环境的图像,并且从该图像捕捉设备接收的一个或多个图像可以 被用于检测位于主车辆侧面的一个或多个障碍物。类似地,多个图像捕捉设 备中的至少一个可以被配置为捕捉代表主车辆后方的主车辆环境的图像,并 且从该图像捕捉设备接收的一个或多个图像可以被用于检测位于主车辆后方 的一个或多个障碍物。

在一些实施例中,至少一个障碍物可以是主车辆环境中的目标车辆。例 如,至少一个障碍物可以是被确定为在主车辆的前方的目标车辆。作为另一 示例,至少一个障碍物可以是被确定为处于与主车辆不同的车道中的目标车 辆。在一些实施例中,至少一个障碍物可以包括道路中的行人或对象。

在一些实施例中,处理设备可以使用来自与主车辆相关联的一个或多个 传感器的输出来检测环境中的一个或多个障碍物。传感器可以是本文公开的 任何传感器。例如,处理设备可以接收来自激光雷达系统和/或雷达系统的输 出,并使用该信息来检测主车辆附近的一个或多个障碍物。

处理5500可以包括用于监视对油门机构、制动机构和/或转向机构的驾 驶员输入的步骤5506。与本公开一致,至少一个处理设备可以被编程为监视 对与主车辆相关联的油门控件、制动控件或转向控件中的至少一个的驾驶员 输入。可以通过与本公开一致的任何技术来监视该输入。例如,一个或多个 传感器可以被配置为检测与油门、制动或转向控件中的任何一个相关联的电 信号。在另一示例中,一个或多个传感器可以被配置为检测对油门、制动或 转向控件中的任何一个的机械输入。油门控件、制动控件和/或转向控件可以是目前已知或随后开发的任何类型的控件。例如,油门控件可以包括加速器 踏板,制动控件可以包括制动踏板,并且转向控件可以包括方向盘。在另一 示例中,一个或多个主车辆控制系统可以包括:用于控制主车辆的航向的至 少一个转向致动器、用于引起主车辆制动设备的应用的制动致动器,或用于 引起主车辆油门的应用的加速致动器。例如,油门控制系统可以包括用于引 起主车辆油门的应用的加速致动器,制动控制系统可以包括用于引起主车辆 制动踏板的应用的制动致动器,和/或转向控制系统可以包括用于控制主车辆的航向的至少一个转向致动器。驾驶员输入可以是对一个或多个控件的任何 激活运动或其他激活,或者是不存在该运动或其他激活。继续以上示例,驾 驶员输入可以包括以下中的至少一个:压下加速踏板、压下制动踏板、未压 下制动踏板、旋转方向盘或不旋转方向盘。

处理5500可以包括用于确定驾驶员输入是否会导致安全导航动作的步 骤5508。如所描述的,如果在使驾驶员输入生效的情况下将会发生的导航改 变不会导致主车辆进入距一个对象小于主车辆周围的接近缓冲区的距离(例 如,在RSS距离、CRSS距离或预定的最小横向缓冲区距离内等等),则该驾 驶员输入可以导致安全条件。与本公开一致,至少一个处理设备可以被编程 为确定驾驶员输入是否会导致主车辆在相对于至少一个障碍物的接近缓冲区 内导航。至少一个处理设备可以通过与本公开一致的任何技术来确定接近缓冲区是否可能被打破。例如,处理设备可以确定主车辆与一个或多个对象(例 如,目标车辆或VRU)之间的当前距离,并基于该当前距离和驾驶员输入来 确定主车辆与一个或多个对象之间的下一状态距离。可以例如基于图像分析 (例如,缩放观测)、激光雷达输出、雷达输出等来确定对象之间的这种距离。 作为一个示例,参照图53A和图53B,如果人类驾驶员提供了将导致车辆5303 转向左的输入(例如,通过旋转车辆5303的方向盘),则处理设备可以确定 车辆5303和车辆5301之间的下一状态距离将会是图53B所示的不安全条件。 作为另一个示例,参照图54A,如果车辆5402的人类驾驶员提供了加速输入 (例如,通过压下加速踏板),则处理设备可以确定车辆5402的加速度可能 使车辆5402进入小于接近缓冲区5403的车辆5406的距离内,因此是不安全 的。在这种情况下,安全系统可以取得对主车辆的控制,并阻止与检测到的 驾驶员输入相关联的不安全操纵。

处理5500可以包括功能5510,该功能5510可以指示导航系统如何处理 驾驶员输入将会导致主车辆打破接近缓冲区的情况以及驾驶员输入将不会导 致主车辆打破接近缓冲区的情况。在一些实施例中,功能5510可以被包括在 处理5500的步骤5508中。接近缓冲区可以是与本公开一致的任何接近缓冲 区,包括使用RSS和/或CRSS模型确定的那些接近缓冲区。接近缓冲区可以 取决于RSS和CRSS模型所依赖的、在主车辆环境中的检测到的障碍物或对 象。在一些实施例中,接近缓冲区可以包括一个或多个预定距离。例如,接近 缓冲区可以对应于预定的横向距离阈值。横向距离阈值可包括主车辆与位于 主车辆任一侧的对象之间的预定最小距离。作为另一示例,接近缓冲区可以 对应于预定的纵向距离。如相对于RSS模型所描述的,该纵向距离可以是例 如要在主车辆与对象之间维持的最小距离d

与本公开一致,至少一个障碍物可以包括目标车辆,并且可以基于检测 到的主车辆的当前速度、主车辆的最大制动率能力、所确定的目标车辆的当 前速度、所假设的目标车辆的最大制动率能力、以及所确定的主车辆的最大 加速能力,来确定相对于目标车辆的接近缓冲区。在这种情况下,接近缓冲 区可以至少包括主车辆加速距离、主车辆停止距离和目标车辆停止距离的总 和,该主车辆加速距离被确定为主车辆在与主车辆相关联的反应时间内以主 车辆的最大加速能力加速时将行驶的距离,该主车辆停止距离被确定为以主 车辆的最大制动率能力将主车辆的当前速度降低到零所需的距离,该目标车 辆停止距离被确定为以所假设的目标车辆的最大制动率能力将目标车辆的当 前速度降低到零所需的距离。例如,可以使用RSS安全距离来确定接近度缓 冲区,该RSS安全距离包括主车辆的加速距离和停止距离以及目标车辆的停 止距离。在一些实施例中,还可以基于要在主车辆与目标车辆之间维持的预 定最小距离,来确定相对于目标车辆的接近缓冲区。例如,如上所述,该接近 缓冲区可以包括最小距离d

与本公开内容一致,至少一个障碍物可以包括目标车辆,并且可以基于 检测到的主车辆的当前速度、主车辆的最大制动率能力、所确定的目标车辆 的当前速度、所假设的目标车辆的最大制动率能力、以及主车辆的最大加速 能力,来确定相对于目标车辆的接近缓冲区。在一些实施例中,还可以基于 小于主车辆的最大制动率能力的预定次最大制动率,来确定相对于目标车辆 的接近缓冲区,使得接近缓冲区至少包括主车辆停止距离和目标车辆停止距 离的总和,该主车辆停止距离被确定为以主车辆的预定次最大制动能力将主 车辆的当前速度降低到零所需的距离,该目标车辆停止距离被确定为以所假 设的目标车辆的最大制动能力将目标车辆的当前速度降低到零所需的距离。 例如,可以使用CRSS安全距离来确定接近缓冲区,该CRSS安全距离包括: 在主车辆以与预定次最大制动率相对应的率进行减速的情况下主车辆的停止 距离、以及在目标车辆以与其最大制动率能力相对应的率进行减速的情况下 目标车辆的停止距离。在一些实施例中,还可以基于要在主车辆与目标车辆 之间维持的预定最小距离,来确定相对于目标车辆的接近缓冲区。例如,如 上所述,该接近缓冲区可以包括最小距离d

在以上公开的任何实施例中,目标车辆可以在主车辆的前面、旁边或后 面。例如,目标车辆可以在主车辆的前方,并且至少一个处理设备可以被配 置为确定驾驶员输入会导致目标车辆和主车辆之间的纵向距离的改变。例如, 主车辆与目标车辆的距离可以大于主车辆前方的接近缓冲区的距离,并且驾 驶员输入可能导致主车辆与目标车辆的距离小于该接近缓冲区的距离。在一 些实施例中,可以确定目标车辆处于与主车辆不同的车道中,并且至少一个 处理设备可以被配置为确定驾驶员输入会导致主车辆的横向运动,使得在该 横向运动之后,目标车辆将在主车辆的前方。例如,驾驶员输入可能导致主 车辆在目标车辆后方并道,如果主车辆与目标车辆的距离将保持大于主车辆 前方的接近缓冲区的距离,则该并道可能是安全的,如果主车辆将进入小于 主车辆前方的接近缓冲区的距离的目标车辆的距离内,则该并道可能是不安 全的。在一些实施例中,确定目标车辆处于与主车辆不同的车道中,并且至 少一个处理设备被配置为确定驾驶员输入会导致主车辆的横向运动,使得在 该横向运动之后,主车辆将在目标车辆的前方。例如,驾驶员输入可能使得主车辆切入目标车辆的前方,如果主车辆将保持大于车辆后方的接近缓冲区 的距离,则该切入可能是安全的,如果主车辆将进入小于主车辆后方的接近 缓冲区的目标车辆的距离内,则该切入可能是不安全的。

与本公开一致,至少一个障碍物可以包括道路中的行人或对象,并且相 对于至少一个障碍物的接近缓冲区可以至少包括要在主车辆与至少一个障碍 物之间维持的最小距离。如上所述,最小距离可以根据障碍物的类别而变化。 例如,如果障碍物是行人,则最小距离可以是在预定阈值内主车辆将必然能 够避免与行人发生碰撞的距离。这样,相对于行人的最小距离可以是与本公 开一致的最长的最小靠近距离。在一些实施例中,可以基于主车辆的当前速 度来确定相对于行人的接近缓冲区,并且该接近缓冲区可以随着主车辆速度 的增加而增加。即使在相对于行人的接近缓冲区是基于主车辆的当前速度的 情况下,可以预期的是,相对于行人的接近缓冲区将比主车辆的停止距离更 长(并且通常比停止距离长得多)。例如,相对于行人的接近缓冲区可以是针 对主车辆的当前速度的主车辆的停止距离(根据RSS或CRSS模型计算)加 上附加的最小距离。作为另一示例,相对于行人的接近缓冲区可以是针对主 车辆的当前速度的主车辆的停止距离的120%,或是对该停止距离的不同修 改(例如,110%、150%、200%等)。

处理5500可以包括用于如果驾驶员输入不会导致主车辆进入相对于对 象的接近缓冲区内,则允许该输入的步骤5514。与本公开一致,至少一个处 理设备可以被编程为,如果至少一个处理设备确定驾驶员输入不会导致主车 辆在相对于至少一个障碍物的接近缓冲区内导航,则允许该驾驶员输入引起 一个或多个主车辆运动控制系统中的对应改变。例如,如果处理设备确定驾 驶员输入不会使主车辆进入相对于任何障碍物(例如目标车辆或VRU)的接 近缓冲区内,则处理设备可以放弃取代人类驾驶员。本文公开的若干附图描 绘了安全系统不会取代驾驶员的状况,包括图53A。

该一个或多个主车辆运动控制系统可以是与本公开一致的任何系统。例 如,一个或多个运动控制系统可以包括油门系统220、制动系统230和/或转 向系统240。在一些实施例中,一个或多个主车辆控制系统可以包括用于控制 主车辆的航向的至少一个转向致动器、用于引起主车辆制动设备的应用的制 动致动器,或用于引起主车辆油门的应用的加速致动器。例如,油门系统220 可以包括一个或多个加速致动器,制动系统230可以包括一个或多个制动致 动器,并且转向系统240可以包括一个或多个转向致动器。

处理5500可以包括用于如果驾驶员输入会导致主车辆进入相对于对象 的接近缓冲区内,则取代人类的步骤5512。与本公开一致,至少一个处理设 备可以被编程为,如果至少一个处理设备确定驾驶员输入不会导致主车辆在 相对于至少一个障碍物的接近缓冲区内导航,则阻止驾驶员输入引起一个或 多个主车辆运动控制系统中的对应改变。安全系统可以基于本文公开的不安 全条件的多个示例中的任何示例来取代人类驾驶员。例如,如果驾驶员输入 会导致主车辆进入小于RSS安全距离(或CRSS安全距离,这取决于所使用 的模型)的对象的距离,则安全系统可以确定驾驶员输入不安全,并可以取 代驾驶员并接管控制。

与本公开一致,阻止驾驶员输入引起主车辆中的对应改变可以包括阻止 该驾驶员输入。在一些实施例中,为了阻止驾驶员输入引起一个或多个主车 辆运动控制系统中的对应改变,至少一个处理设备可以被配置为响应于检测 到的驾驶员输入,在某些情况下阻止油门控件、制动控件或转向控件中的至 少一个的动作或阻止进一步的动作。例如,如果驾驶员输入是由压下加速踏 板引起的加速,则安全系统可以通过锁定加速踏板以使其不能被压下来阻止 该加速。类似地,如果驾驶员输入是方向盘的顺时针旋转,则安全系统可以 通过锁定方向盘以使其无法转动或只能沿与安全条件相对应的方向转动(例 如,锁定方向盘使其不能顺时针旋转,但允许逆时针旋转)来阻止该旋转。在 一些实施例中,为了阻止驾驶员引起一个或多个主车辆运动控制系统中的对 应改变,至少一个处理设备可以被配置为禁用油门控件、制动控件或转向控 件中的至少一个的可操作性。例如,如果驾驶员输入是压下制动踏板,则安 全系统可以通过将制动踏板与制动系统的其余部分解耦(例如,以电子或机 械方式)从而使压下制动踏板无效来阻止该输入。类似地,如果驾驶员输入是方向盘的旋转,则安全系统可以通过将方向盘解耦从而使方向盘(至少在 会导致不安全条件的方向上)的旋转无效来阻止该输入。在一些实施例中, 阻止驾驶员输入引起一个或多个主车辆运动控制系统中的对应改变可以包括 以下步骤中的至少一个:对于对方向盘的驾驶员输入,阻止其引起至少一个 转向致动器的对应响应;对于对制动踏板的驾驶员输入,阻止其引起制动致 动器的对应响应;或者对于对加速器踏板的驾驶员输入,阻止其引起加速致 动器的对应响应。例如,如果驾驶员输入是压下加速踏板,则并非是锁定该 踏板或解耦该踏板,而是安全系统可以允许驾驶员提供该输入,但是例如通 过在来自加速踏板的电信号到达加速致动器之前拦截该电信号,从而阻止该 输入生效。在任何实施例中,对驾驶员输入的阻止可以持续与不安全条件相 对应的时段。例如,当处理设备确定主车辆的加速不会使主车辆进入小于接 近缓冲区的距离的对象的距离内时,安全系统可以解锁加速踏板。

与本公开一致,阻止驾驶员输入引起主车辆中的对应改变可以包括禁止 该驾驶员输入。在一些实施例中,为了阻止驾驶员输入引起一个或多个主车 辆运动控制系统中的对应改变,至少一个处理设备可以被配置为阻止油门控 件、制动控件或转向控件中的至少一个响应于驾驶员输入的动作,并向油门 控件、制动控件或转向控件中的至少一个施加冲击力(impulse force)。例如, 如果驾驶员输入是方向盘的顺时针旋转,则安全系统可以通过锁定方向盘以 使其不能沿顺时针方向旋转并施加使方向盘沿逆时针方向旋转的力来禁止该 旋转。在同一示例中,安全系统可以通过部分地锁定方向盘,以使其可以沿 顺时针方向旋转但是主车辆并不完全响应顺时针旋转来禁止该旋转,并且该 安全系统可以沿逆时针方向对方向盘施加力。在一些实施例中,至少一个处 理设备可以被配置为阻止油门控件、制动控件或转向控件中的至少一个的动 作,并且持续向油门控件、制动控件或转向控件中的至少一个施加冲击力, 直到接收到不会导致主车辆在相对于至少一个障碍物的接近缓冲区内导航的 驾驶员输入为止。例如,继续上面的示例,安全系统可以持续禁止方向盘沿 顺时针方向旋转,直到人类驾驶员沿逆时针方向旋转方向盘的幅度足以使主 车辆避免不安全条件或恢复到安全条件(例如,在接近缓冲区内没有障碍物 的条件)。作为另一示例,如果驾驶员输入是压下加速踏板,则安全系统可以 通过向加速踏板提供与该压下相反的力来禁止该输入,并且可以持续提供该 力,直到驾驶员停止压下加速踏板或开始压下制动踏板为止。在任何实施例 中,该禁止可以一直持续到主车辆处于安全状况,在该安全状况下在接近缓 冲区内不存在障碍物并且不存在会导致主车辆进入小于接近缓冲区的障碍物 的距离的驾驶员输入。

与本公开一致,阻止驾驶员输入引起主车辆中的对应改变可以包括从人 类驾驶员接管控制或与从人类驾驶员接管控制相关联。在一些实施例中,至 少一个处理设备可以被配置为在至少一个处理设备阻止驾驶员输入引起一个 或多个主车辆运动控制系统中的对应改变的间隔期间,自主地控制主车辆的 导航。例如,如果驾驶员输入是方向盘的顺时针旋转,则如上所述,安全系统 可以阻止或禁止该输入,并且取得对转向系统240的控制,使得驾驶员输入 无效并由处理设备控制主车辆的转向。在一些实施例中,如果任何驾驶员输 入将会导致不安全条件,则安全系统可以完全取代人类驾驶员,从而使处理 设备具有对主车辆的完全自主控制,而并非仅仅是与不安全的驾驶员输入相 对应的对系统的控制。例如,如果不安全的驾驶员输入是压下加速踏板,则 安全ADAS系统可以取得对加速系统、制动系统和转向系统的控制,使得处 理设备可以完全导航主车辆。根据本公开的任何实施例,安全系统及其中的 处理设备可以自主地导航主车辆。在一些实施例中,至少一个处理设备可以 被配置为在接收到不会导致主车辆在相对于至少一个障碍物的接近缓冲区内导航的驾驶员输入之后,将主车辆的导航控制返回给驾驶员。例如,在安全 系统自主地导航主车辆的时段内,如果驾驶员尝试提供不会引起不安全条件 的输入,则安全系统可以终止自主导航并允许人类驾驶员接管对主车辆的控 制。

与本公开一致,至少一个处理设备可以被编程为警告人类驾驶员。在一 些实施例中,如果处理设备确定驾驶员输入将会导致不安全条件,则至少一 个处理设备可以警告驾驶员。该警告可以是与本公开一致的任何警报。例如, 车辆可以包括扬声器系统,并且安全系统可以通过该扬声器系统提供听觉警 报。作为另一示例,车辆可以包括一个或多个显示器(例如,仪表板或娱乐系 统中的屏幕),并且安全系统可以在一个或多个显示器上提供视觉警报。作为 另一个示例,车辆可以具有平视显示器或增强现实显示器(例如,在车辆的前挡风玻璃上),并且安全系统可以在该平视显示器或增强现实显示器上提供 警报。该显示器可以包括,例如,何种驾驶员输入将会导致不安全条件的指 示、将会是安全条件的输入的指示、安全系统正在取代驾驶员指示等。

与本公开一致,至少一个处理设备可以被编程为收集和传输与安全系统 取代人类驾驶员时的情况有关的数据。例如,该数据可以包括:与被确定为 不安全的驾驶员输入有关的信息;取代的时间、地点和持续时间;取代的类 型(例如,阻止、禁止或接管);接管的后果(例如避免了碰撞);以及与取代 有关的任何其他信息。该数据可以被传输到一个或多个系统或设备。例如, 数据可以被传输到与驾驶员相关联的设备,以用于通知驾驶员被避免的事故、 他或她的驾驶能力等。作为另一示例,该信息可以被传输到一个或多个系统 以用于与自主车辆、道路安全、人类驾驶习惯等有关的研究。

与本公开一致,用于选择性地取代对主车辆的人类驾驶员控制的自主系 统可以包括系统超驰控件,其用于禁用用于选择性地取代人类驾驶员控制的 自主系统。该系统超驰控件可以不同于油门控件、制动控件和转向控件。例 如,该系统超驰控件不同于制动控件、油门控件和转向控件要求了驾驶员向 该超驰控件提供不同于导航输入的输入。在一些实施例中,系统超驰控件可 以是手柄、按钮、控制杆或能够从驾驶员接收输入的其他物理设备。例如,该 超驰控件可以是控制杆,并且禁用自主系统的输入可以是该控制杆的拉动或 其它位移。在一些实施例中,系统超驰控件可以是听觉短语、视觉手势,或可 以由一个或多个麦克风和/或图像捕捉设备系统检测的其他类型输入。例如, 该系统超驰控件可以包括手势。如上所述,该系统超驰控件可以是用于停用 或解除系统的任何其它手段。

与本公开一致,至少一个处理设备可以被配置为跟踪何时通过该系统超 驰控件的操作而禁用了用于选择性地取代人类驾驶员控制的自主系统。例如, 该处理设备可以存储与驾驶员激活该系统超驰控件的时间和位置有关的数据 以及与该系统被禁用的持续时间有关的信息,包括例如与该禁用有关的、显 示在车辆的显示器或仪表板上的视觉信息(例如,图像或视频片段)。在一些 实施例中,如果车辆发生碰撞,则处理设备可以被编程为报告在碰撞之前是 否禁用了安全系统。在一些实施例中,处理设备可以被编程为,即使该系统 被禁用也监视驾驶员输入。例如,在禁用时,处理设备可以被配置为执行处 理5500,除了步骤5512之外。在该示例中,处理设备可以收集并存储与人类 驾驶员是否引起主车辆在相对于一个对象的接近缓冲区内的不安全条件有关 的数据以及与车辆导航有关的其他信息。该信息可用于确定在发生碰撞时的 归责。例如,如果处理装设备确定,当主车辆与目标车辆之间发生碰撞时, ADAS安全系统被禁用,则主车辆的驾驶员或是目标车辆的驾驶员可能需要 被归责。类似地,如果安全系统被禁用并且处理设备确定驾驶员提供了如果 未禁用安全系统则将被取代的输入,则主车辆的驾驶员可能需要被归责。

上面讨论的示例和实施例仅是示例性的,并且不限制用于选择性地取代 人类驾驶员控制的自主系统的范围。受益于本公开的本领域普通技术人员可 以理解,如何以与本公开一致的任何方式来修改该自主系统。

本文公开的自主导航系统可以确定主车辆的一个或多个导航动作,并可 以实施该导航动作。如上所述,该导航动作可以基于一个或多个导航策略、 导航目标等。导航系统可以包括一个或多个传感器,该传感器提供用于确定 主车辆的导航响应的输出。例如,该系统可以包括:多个图像捕捉设备,其被 配置为捕捉主车辆环境的图像;以及至少一个处理器,其被配置为分析该图 像并确定导航响应。然而,在图像(或来自传感器的其他输出)被捕捉的时间 与实施了导航响应以引起主车辆的操纵的时间之间,可能存在一段延迟时段。 在某些情况下,在实施了导航响应与发生所期望的效果的时间之间(例如, 转动方向盘与车轮转动作为响应之间)可能还存在附加的延迟。尽管延迟时 段可能很短,但是在大多数情况下,车辆会在该延迟时段内继续行驶。结果, 特定导航决策所基于的传感器输出可能已过时,这是因为它们可能是基于主 车辆的过去运动条件,而不是基于在接近或等于车辆致动器响应于规划导航 动作的实施而引起车辆状态改变的时间处的实际运动条件。结果,主车辆可 能表现出“正弦波”驾驶,其中由于基于并非代表在致动器响应的时间处的实 际条件的传感器信息而实施了导航决策,车辆可能进行振荡校正(例如,制 动器、加速器、制动器、加速器等)。因此,公开了一种用于在进行了车辆传 感器测量之后并且在致动时间之前或同时预测车辆的运动的系统。所公开的 系统可以避免如果在传感器测量、驾驶决策和导航动作实施时间等期间未进 行校正来应对改变的车辆运动则可能导致的非平滑、振动的校正。

控制车辆速度的问题可以如下形式化。速度命令信号v

控制器可以以离散时间运行,其中每Δ秒移动一次踏板位置。控制器可以 基于以下的简单方程式:对于每个t=kΔ,其中k是自然数,

p

其中p

为了简单起见,以上表示不包括与饱和有关的方面(对该误差、踏板位 置、踏板的改变进行裁剪(clip))。受益于本公开的本领域普通技术人员可以 理解,上述公式中可以包括饱和。

接下来可以考虑猜测函数p

猜测函数可以提供优势,因为其不具有延迟。如果关于踏板的正确位置 的大多数信息存在于期望的加速度和当前速度中,则猜测函数可以提供对正 确的踏板位置的估计。控制器的作用是通过使用p

该大多数信息取决于v和a,这是因为作用在车辆上的主要力是:摩擦 力,其线性地取决于v;滞后(空气阻力),其二次方地取决于v;重力,其以 9.8sin(θ)的形式随着高度而改变;制动摩擦力,其取决于制动踏板的位置;以 及引擎力,其取决于油门踏板的位置。

该猜测函数可能具有若干优势。首先,初始猜测(在大多数情况下)将非 常接近踏板的最佳位置,因此对于非常接近期望加速度的加速度将导致可以 忽略不计的延迟。第二,学习初始猜测函数的问题是一个离线问题(从人类/ 自主驾驶员收集示例并将其拟合成函数)。这可以很容易地适用于另一车辆, 甚至可以即时与现有的汽车相适应(要拟合的参数的数量(在选择使用低次 多项式进行拟合的情况下)远小于能够收集的示例的数量,因此不必担忧过 度拟合)。第三,从经验上来说,折扣后的积分器可以提供积分器的“无稳态误 差”属性,同时由于该折扣会很快地忘记过去的误差,因此延迟要小得多。此 外,在一些实施例中,即使是现有的小延迟也可能仅存在于控制器的闭合稳 态误差的部分上。

在一些实施例中,该猜测函数可以不接收反馈,而是取决于评价 (comment)。在一些实施例中,这可以使该p

在一些实施例中,根据本文的等式操作的控制器可以取决于具有随时间 衰减的系数的积分器。应当注意的是,该系数中的非衰减项可能相对较小, 如Km>>1。如所讨论的,这种类型的积分器可能具有“无稳态误差”属性,同 时由于折扣效果而经受来自过去误差的更小延迟。这也可以被解释为常规的 PI控制器中的P项和I项之间的某种关系:例如,完全无折扣就可以得到经 典的I项,而严重的折扣(harsh discounting)就可以得到经典的P项。这样, 该控制器可以提供优于现有PI控制器的显著优势。

图56描绘了可以由导航系统执行的处理5600的概括。以下讨论说明了 控制器如何应对处理延迟。处理5600可以包括感测和输出阶段5602,在该阶 段中导航系统可以从一个或多个传感器收集数据并分析该数据以生成一个或 多个输出。例如,在感测和输出阶段5602,图像捕捉设备122可以捕捉一个 或多个图像,并将那些图像提供给至少一个处理设备,该至少一个处理设备 被编程为分析该图像以检测主车辆环境中的障碍物。感测和输出阶段5602可 以以与一个或多个传感器有关的输出来结束,诸如确定目标车辆在主车辆的前方。感测和输出阶段5602还可以包括由与主车辆相关联的任何传感器(例 如,GPS、加速度计、速度计、轮胎压力指示器、雷达、激光雷达等)进行的 测量。处理5600可以包括导航命令确定阶段5604,在该阶段中导航系统可以 包括至少一个处理设备,该至少一个处理设备被编程为使用来自感测和输出 阶段5602的输出来确定用于主车辆的一个或多个导航命令。例如,至少一个 处理设备可以使用例如一个或多个导航策略以及来自传感器输出的输出来确 定导航命令。导航命令确定阶段5604可以以将导航命令传输到一个或多个运 动控制系统(例如,油门控制系统、制动控制系统、转向控制系统等)来结 束。处理5600可以包括导航响应阶段5606,其用于使车辆执行与来自导航命 令阶段5604的(一个或多个)导航命令相一致的导航操纵。例如,导航响应 阶段5606可以包括响应于来自导航命令确定阶段5604的导航命令而激活油 门致动器。

在该示例中,t(0)可以表示进行传感器测量的时刻(例如,图像捕捉设备 122捕捉第一图像);t(1)可以表示传感器输出传输到一个或多个处理设备的 时刻;t(2)可以表示处理器接收到传感器输出的时刻,该处理器被编程为基于 一个或多个接收到的传感器输出来确定导航命令;t(3)可以表示处理器将所确 定的导航命令传输到一个或多个运动控制系统的时刻;t(4)可以表示一个或多 个运动控制系统接收到所传输的导航命令的时刻;t(5)可以表示导航命令生效 的时刻(例如,致动器引起油门、制动或转向响应)。与本公开一致,在任何 时刻之间可能存在延迟。例如,处理5600的总延迟可以是t(5)和t(0)之间的差,其可以在例如从一毫秒到几百毫秒的范围内。例如,在处理5600的一些 配置中,延迟可以是150毫秒。累积的延迟可以包括用于在阶段5602收集、 封包和传输传感器输出、用于在阶段5604将驾驶策略等应用于一个或多个接 收到的传感器输出以便生成规划导航动作命令、以及用于在阶段5606传输或 以其他方式使所接收的导航命令生效的处理时间。

在累积的延迟或总延迟的任何部分期间,主车辆可以以其在数据获取时 间t(0)处行驶时的相同或不同的速度、加速度和/或路径持续导航。例如,如 果在传感器测量时应用了制动器,则在实施导航命令时的车辆速度可能会比 传感器测量时的速度更低。类似地,如果在传感器测量时应用了加速器,则 在实施导航命令时的车辆速度可能会比传感器测量时的速度更高。当在致动 时间t(5)处使导航命令生效时,车辆可能已经行驶了一段较大的距离和/或可 能具有与导航命令所基于的速度、加速度或路径不同的速度、加速度或路径。 这样,导航命令可能在致动时间t(5)处引起了导航响应,该导航响应并非基于 运动控制系统使导航命令生效时车辆的实际运动条件。

图57A至57C示出了对传感器测量和致动之间的时间期间的车辆路径的 预测可能有用的条件。图57A至图57C分别描绘了在数据获取时间t(0)处在 道路5700上的主车辆5702和目标车辆5706。数据获取时间t(0)可以是主车 辆5702上的一个或多个传感器捕捉与目标车辆5706有关的信息的时刻。图 57a和57C还描绘了在延迟时间t(5)处的主车辆5702’和目标车辆5706’。延 迟时间t(5)可以是主车辆执行导航操纵或以其他方式实施导航命令的时刻, 如关于图56所讨论的。

图57A描绘了在初始时间t(0)处的主车辆5702和在延迟时间t(5)处的同 一主车辆5702’。如图所示,在初始时间t(0)处的主车辆5702与在延迟时间 t(5)处的主车辆5702’之间存在微小的位置差。该位置差可以归因于主车辆 5702在响应时段Δt(未示出)期间行驶的距离,该响应时段Δt是延迟时间 t(5)与初始时间t(0)之间的差。类似地,目标车辆5706在响应时段Δt期间可 能已经行驶了一段距离。在该示例中,基于在初始时间t(0)处的主车辆5702 和目标车辆5706的位置确定的导航命令可能不会在延迟时间t(5)处引起理想 的导航响应,这是因为在延迟时间t(5)处的主车辆5702’和目标车辆5706’的 位置不同于在初始时间t(0)处的位置。

图57B描绘了可以对应于主车辆5702的期望轨迹的示例性路径5704。 例如,主车辆5702的导航系统中的至少一个处理器可以确定主车辆5702应 经过目标车辆5706并且可以生成与路径5704一致的导航命令。在此示例中, 基于初始时间t(0)处的条件生成路径5704。例如,路径5704可以基于目标车 辆5706在初始时间t(0)处的速度、加速度、最大制动能力和位置以及与在初 始时间t(0)处的主车辆5702相关联的速度、加速度、位置和一个或多个导航 策略。

图57C描绘了主车辆5702、5702’可以行驶的不同路径5704、5704’和 5710。路径5704是如图57B所示的在初始时间t(0)的条件下确定的期望路 径。在该示例中,在延迟时间t(5)处,主车辆5702’处于不能遵循路径5704的 位置,这是因为路径5704的起点在延迟时间t(5)处的车辆5702’前方的后面。 这样,在时间t(5)处的主车辆5702’不能遵循在时间t(0)处生成的路径5704。 路径5704’可以是车辆5702’如果要执行与路径5704一致的导航操纵则将行 驶的轨迹。换句话说,路径5704’是如果主车辆5702’要在延迟时间t(5)处执行针对初始时间t(0)处的主车辆5702生成的导航命令则将导致的轨迹。在该 示例中,相比于路径5704与在初始时间t(0)处的目标车辆5706的距离,路径 5704’更接近在延迟时间t(5)处的目标车辆5706’。在一些实施例中,路径5704’ 与目标车辆5706’之间的距离可能被认为是不安全的距离(例如,该距离可能 打破了主车辆5702’的接近缓冲区)。路径5710可以是主车辆5702’的路径, 其是基于主车辆5702和目标车辆5706的预测路径在初始时间t(0)处生成的。 例如,在初始时间t(0),主车辆5702的导航系统可以预测目标车辆5706在延迟时间t(5)处的位置(其可以是由目标车辆5706’所描绘的位置),并且可以预 测主车辆5702在延迟时间t(5)处的位置(其可以是由主车辆5702’所描绘的 位置),并且可以生成与路径5710相一致的导航命令,该导航命令将在延迟 时间t(5)处实施。如该示例所示,基于预测条件的路径5710可提供比路径5704’ 明显的安全优势。

上面的示例仅是说明性的,并且不限制实施例的范围。例如,尽管图57A 至57C描绘了主车辆经过目标车辆的预测路径,但预测路径可以与主车辆的 任何导航操纵相关联,并且可以与任何障碍物有关(例如,VRU、多个主车 辆、道路特性等)。作为一个示例,可以生成用于主车辆进入道路转弯的预测 路径。任何其他导航操纵都可以受益于如上所述的预测路径分析和/或猜测函 数。

在一些实施例中,延迟的响应可能引起主车辆的过度校正或不必要的导 航响应。例如,如果主车辆前方的目标车辆以低的速度但高的加速度行驶, 则在时间t(0)处捕捉的图像可以用于确定主车辆可能需要停车或急转弯以避 免与目标车辆相撞。然而,在时间t(5)处,目标车辆可能由于其高的加速度而 行驶了很长的距离,并且主车辆可以通过例如以次最大制动率滑行或制动来 避免与目标车辆相撞。在该示例中,如果主车辆配备有被编程为基于针对时 间t(5)预测的条件而不是基于时间t(0)处的当前条件来确定预测路径的系统, 则主车辆可以更准确且舒适地对检测到的目标车辆做出响应。在一些实施例 中,延迟的响应可能使主车辆执行不充分的导航响应,这可能导致主车辆进 入不安全条件。例如,如果目标车辆以安全距离行驶但迅速减速并且主车辆 正在朝向目标车辆加速,则基于在时间t(0)处的感测条件确定的距离可能会 显著地长于在主车辆实施基于时间t(0)处的条件而确定的导航命令的时间t(5) 处的实际距离。这样,主车辆可能不会如所编程的进行制动、急转弯或以其 他方式避免不安全条件。

与本公开一致,公开了一种用于根据自主主车辆的至少一个导航目标来 导航该主车辆的导航系统。导航系统可以是与本公开一致的任何导航,包括 但不限于所公开的零视觉安全系统。该系统可以在主车辆内或与主车辆通信。 该系统可以包括一个或多个传感器,其被配置为收集与主车辆环境有关的数 据。例如,导航系统可以包括一个或多个图像捕捉设备、激光雷达系统、雷达 系统、加速度计等。该系统可以包括至少一个处理器,其被编程为执行与本 公开一致的一个或多个方法、处理、操作或功能。至少一个处理器可以是例 如处理设备110或与本公开一致的任何其他处理设备。

图58是描绘了用于根据自主主车辆的至少一个导航目标来导航该主车 辆的示例性处理5800的流程图。与本公开一致,至少一个处理器可以被编程 为执行处理5800的全部或部分。处理5800仅是示例性的,受益于本公开的 本领域普通技术人员可以理解,处理5800可以包括附加步骤、可以排除一个 或多个步骤,或者可以以与本公开一致的方式进行其他修改。

处理5800可以包括用于接收指示主车辆的运动的传感器输出的步骤5802。与本公开一致,至少一个处理器可以被编程为接收指示主车辆相对于 主车辆环境的运动的至少一个方面的传感器输出。可以从一个或多个传感器 接收输出。一个或多个传感器可以包括本文公开的任何传感器,包括例如图 像捕捉设备、感测系统、加速度计、GPS单元等。例如,一个或多个传感器 可以包括速度传感器、加速度计、相机、激光雷达系统或雷达系统。输出可以 包括或传达与主车辆、主车辆环境、主车辆环境中的障碍物等有关的任何信 息。例如,输出可以包括主车辆的当前速度和/或加速度、主车辆的航向、主 车辆的位置等。作为另一示例,输出可以包括对检测到的目标车辆的识别、 目标车辆的位置、目标车辆的速度以及假设的目标车辆的制动能力,例如, 基于对一个或多个图像、激光雷达或雷达的分析所检测的。可以根据与本公 开一致的任何方法、处理、功能或操作来确定输出。

在一些实施例中,传感器输出可以在第一时间处生成,该第一时间晚于 传感器输出所基于的测量或数据获取被获取时的数据获取时间,并且早于至 少一个处理器接收传感器输出的第二时间。在一些实施例中,数据获取时间 可以是一个或多个传感器进行测量或数据获取时的时刻,而第一时间可以是 基于测量或数据的输出准备好被输出的时刻。例如,参考图56,该输出可以 在第一时间t(1)处生成,并且其基于在数据获取时间t(0)处获取的数据。在一 些实施例中,数据获取时间与第一时间之间的时间可以是若干毫秒。例如,第一时间t(1)与数据获取时间t(0)之间的时间可以大于2毫秒、大于10毫秒、 处于5到50毫秒的范围内、小于100毫秒或任何其他时间段。在一些实施例 中,第二时间可以是控制器接收到传感器输出的时刻。例如,第二时间可以 是时间t(2)。控制器可以包括例如以上关于猜测函数所描述的控制器,或者被 编程为执行猜测函数的至少一个处理器。

处理5800可以包括用于生成对主车辆运动的至少一方面的预测的步骤 5804。与本公开一致,至少一个处理器可以被编程为,对于运动预测时间,生 成对主车辆运动的至少一个方面的预测。至少一个处理器可以确定或预计与 运动预测时间相对应的未来时间。运动预测时间可以是主车辆可以执行导航 响应的未来时间。在一些实施例中,运动预测时间可以大体上对应于致动时 间。例如,运动预测时间可以是对何时将发生致动时间t(5)的预测,在该时间 处一个或多个致动器可以实施导航命令。但是,运动预测时间也可以对应于 t(0)之后和t(5)之前的任何时间。例如,可以针对t(1)、t(2)、t(3)、t(4)中的任 何一个或在t(5)之前的其他时间来预测主车辆的运动。

在一些实施例中,运动预测时间可以大体上对应于控制器接收传感器输 出的时间(例如,时间t(2))。在其他情况下,运动预测时间可以应对处理器 对传感器输出进行操作所需的时间。例如,如果处理器需要大约100毫秒来 执行诸如检测目标车辆、响应于一个或多个感测到的条件来确定适当的导航 动作等功能,则至少一个处理器可以假设运动预测时间是第二时间t(2)之后 的100毫秒。在一些实施例中,运动预测时间可以大体上对应于第三时间, 在第三时间处致动系统接收基于传感器输出确定的导航命令(例如,在时间t(4))。运动预测时间还可以对应于在第三时间之后(例如,时间t(4))预定或 确定量的时间。例如,如果制动系统230在时间t(4)处接收导航命令,则运动 预测时间可以是在时间t(4)之后与制动系统230的平均致动器响应时间相对 应的时间。

运动预测时间可以是数据获取时间之后的任何时间段。在一些实施例中, 运动预测时间可以在数据获取时间之后并且早于或等于致动时间。例如,运 动预测时间可以是数据获取时间之后的至少100毫秒。在另一示例中,运动 预测时间可以是数据获取时间之后的至少200毫秒。在另一个示例中,运动 预测时间可以是数据获取时间之后的50-300毫秒、数据获取时间之后的75- 275毫秒、数据获取时间之后的100-250毫秒、数据获取时间之后的150-200 毫秒,等等。

在一些实施例中,对主车辆运动的至少一个方面的预测可以至少部分地 基于:所接收的传感器输出,以及对主车辆运动的至少一个方面在数据获取 时间和运动预测时间(即,基于较早获取的(一个或多个)传感器输出对车辆 运动进行预测的时间)之间的一段时间间隔内如何改变的估计。例如,如果 主车辆运动的至少一个方面是主车辆的加速度,则预测可以包括如果主车辆 在运动预测时间之间的时间期间以检测到的加速度行驶则主车辆所行驶的距 离。该预测可以基于所接收的传感器输出和与本公开一致的任何其他信息。 例如,该预测可以基于来自图像传感器的输出(诸如对目标车辆的检测)以 及先前确定的道路特性、天气条件或可能影响相对于主车辆的未来条件的其 他因素。在一些实施例中,该预测可以包括对稍后时间(例如,在时间t(5)) 主车辆运动的至少一个方面的估计。结果,导航决策可以基于对车辆运动的 估计,该估计可能更接近于与在初始时间(例如,在时间t(0))感测到的所获 取的传感器输出相对应的实际运动值。

在一些实施例中,对主车辆运动的至少一个方面的预测包括对主车辆在 运动预测时间处的速度或加速度中的至少一个的预测。至少一个方面可以包 括例如主车辆运动的速度、加速度、位置、横摆或其他方面。例如,如果基于 在数据获取时间t(0)获取的(一个或多个)传感器输出在时间t(1)确定主车辆 的加速度和/或速度,则至少一个处理器可以确定主车辆在时间t(5)或在另一 个运动预测时间处的所预测的未来速度和未来加速度。例如,至少一个处理 器可以假设主车辆以在时间t(0)确定的相同加速度率从时间t(0)加速到时间 t(5)或另一运动预测时间,并且因此可以确定主车辆在时间t(5)处的速度大于在时间t(0)处的速度。因此,至少一个处理器可以预测在运动预测时间处的速 度和/或加速度,以便确定适合于时间t(5)或其他运动预测时间处的估计速度 的导航动作。

在一些实施例中,对主车辆运动的至少一个方面的预测可以包括对主车 辆在运动预测时间处的路径的预测。例如,如果在时间t(0)处主车辆在道路上 行驶,则至少一个处理器可以使用来自一个或多个传感器的信息来预测主车 辆将在时间t(5)处行驶的路径(例如,改变的航向等)。作为一个示例,如果 传感器输出指示主车辆正在以恒定的速度在向前的直行路径上行驶,则至少 一个处理器可以预测在时间t(5)处主车辆将在相同的直行路径上,但可能沿 该路径更远。作为另一示例,如果传感器输出指示主车辆正在沿与方向盘的 特定旋转相关联的曲线路径行驶,则至少一个处理器可以预测主车辆可能在 与该方向盘的相同旋转相关联的路径上或在与方向盘的增加的旋转相关联的 路径上。在这种情况下,预测路径可以基于检测到的转向控制器中的改变率, 或者可以基于检测到的横摆角速率、检测到的向心加速度、检测到车辆前方 的道路弯曲等。在一些实施例中,对主车辆在运动预测时间处的路径的预测 可以包括主车辆的目标航向。例如,目标航向可以包括主车辆要行驶的方向。 作为一个示例,如果来自传感器的输出指示存在主车辆需要避开的障碍物, 则目标航向可以是主车辆需要行驶以避开障碍物的方向。目标航向可以是与 基本(cardinal)方向相对应的方向,也可以是基于预定的坐标系。例如,方 向可以是北、东北、东、东南、南等,或者可以由预期的航向角(例如,相对 于在传感器测量时确定的当前航向角)指示。在另一个示例中,可以基于穿 过主车辆车身的水平或垂直轴的角度、横摆角速率等来表示航向。在一些实 施例中,一个或多个传感器可以包括相机,并且对主车辆在运动预测时间处 的路径的预测可以基于由相机捕捉的至少一个图像。例如,路径可以包括穿过图像中捕捉的环境的虚拟轨迹,并且可以包括覆盖图像或在图像上方的路 径表示。作为另一示例,对路径的预测可以包括例如图像中检测到的两个障 碍物之间的路线。

在一些实施例中,对主车辆在运动预测时间处的路径的预测可以至少基 于所确定的主车辆的速度和主车辆的目标轨迹,该主车辆的目标轨迹被包含 在主车辆在其上行驶的路段的地图中。例如,可以根据上面讨论的语义高清 制图技术(例如,REM)来生成预测路径。作为示例,主车辆在其上行驶的 路段可以与多个轨迹相关联,该多个轨迹可以用于在该路段上导航自主车辆, 并且预测路径可以包括与该路段相关联的目标轨迹之一上的位置。作为另一 示例,如果确定主车辆正在根据预定目标轨迹行驶,则在运动预测时间处的 预测路径可以包括沿着相同目标轨迹的位置、速度和/或加速度。在一些实施 例中,目标轨迹可以包括代表沿着路段的至少一个车道的优选路径的预定三 维样条(spline)。例如,三维样条可以包括多个地标、道路特征和其他对象, 这些地标、道路特征和其他对象定义了路段上的目标轨迹。在该示例中,预 测路径可以包括对于在运动预测时间哪些地标、道路特征或其他对象可能在 主车辆附近的预测。例如,如果基于主车辆在第一和第二地标之间的位置确 定主车辆在目标轨迹上,则预测路径可以包括在该目标轨迹上在所述地标之 间的位置。如果主车辆正在根据REM地图中的目标轨迹进行导航,则在特定 时间点(例如,在时间t(0))沿着目标轨迹的定位可用于预测稍后的路径。例 如,如果在时间t(0)已知主车辆的速度并且已知主车辆相对于REM目标轨迹 的位置,则在稍后的时间(例如,在时间t(5)),其可以是基于已知的处理时 间延迟确定的,然后可以估计主车辆相对于REM目标轨迹的位置。并且,如 果已知REM目标轨迹上的位置,则可以从地图上确定该位置处的航向(因为 航向可以对应于主车辆将在时间t(0)行驶以便继续遵循REM目标轨迹的方 向)。在一些实施例中,对主车辆运动的至少一个方面(例如,速度)的预测 可以基于所确定的制动踏板位置、所确定的油门位置、所确定的与主车辆运 动相反的空气阻力、摩擦力或主车辆行驶的路段的坡度中的至少一个。例如, 该预测可以基于在猜测函数和以上公开的其他公式中定义的踏板位置。可以 例如通过观察响应于制动踏板和/或油门踏板位置而得到的车辆速度来凭经 验确定猜测函数。例如,车辆可以根据与特定制动踏板位置相对应的特定减速曲线来减速。类似地,车辆可以根据与特定油门踏板位置相对应的特定加 速曲线来加速。

作为另一示例,如果传感器的输出包括主车辆的速度和/或加速度,则至 少一个处理器可以使用初始速度和/或加速度以及诸如摩擦力或空气阻力之 类的阻力(或基于道路坡度的重力)来预测未来速度和/或加速度。在一些实 施例中,可以通过确定主车辆上的总力并基于该总力修改主车辆的当前速度 和/或加速度,来确定主车辆运动的至少一个方面。在此示例中,总力可以包 括助力(例如,下坡行驶时的油门、加速度、重力等)和阻力(例如,上坡行 驶时的风阻、摩擦力、重力等)之和,并且主车辆的当前速度可被用于使用总 力来预测未来速度。

在一些实施例中,对主车辆运动的至少一个方面的预测可以基于与主车 辆相关联的预定函数。该预定函数使得能够基于确定的主车辆的当前速度以 及确定的主车辆的制动踏板位置或确定的油门位置,来预测主车辆的未来速 度和加速度。例如,对主车辆运动的至少一个方面的预测可以包括使用猜测 函数来预测主车辆的未来速度、加速度和/或位置。例如,如上所述,制动器 和油门踏板的位置可以通过p(t)∈[-1,1]来定义,其中-1对应于全制动,1对应 于全油门,以及0对应于无制动和无油门,并且至少一个处理器可以使用猜 测函数来基于踏板位置预测主车辆运动的一个方面。

在一些实施例中,对在运动预测时间处的主车辆运动的至少一方面的预 测可以应对与一个或多个传感器相关联的数据获取率和与至少一个传感器生 成导航命令的速率相关联的控制率之间的不匹配。例如,相比于至少一个处 理器可以处理数据以基于该数据生成导航命令的速率,一个或多个传感器可 以以更慢的速率来获取该数据。作为特定示例,一个或多个相机可以以10Hz 的速率获取图像,但是至少一个处理器可以基于该图像以50Hz的速率生成 导航命令。结果,导航决策可以基于的新图像可能仅对每五个处理事件可用。 在这种情况下,可以针对可能在图像捕捉事件(其以10Hz的速率发生)之间 发生的那些处理事件(发生频率高达50Hz),来预测车辆运动。

处理5800可以包括用于确定主车辆的规划导航动作的步骤5806。该规 划导航动作可以基于例如对主车辆运动的预测和/或主车辆的导航目标。与本 公开一致,至少一个处理器可以被编程为,至少部分地基于主车辆的至少一 个导航目标(例如,沿着从点A到点B的预期路线来导航)并基于生成的对 主车辆运动的至少一个方面的预测,来确定主车辆的规划导航动作。规划导 航动作可以是本文描述的任何导航动作,包括加速、减速、转弯、转向、多个 导航操纵等。例如,规划导航动作包括主车辆的速度改变或航向改变中的至 少一个。作为另一示例,规划导航动作可以包括主车辆要遵循的期望轨迹或 路径。例如,可以根据本文描述的任何实施例来确定导航动作。然而,在某些 情况下,可以基于所预测的在晚于传感器测量时间的时间处主车辆运动的方 面,来确定当前公开的实施例中的导航动作。例如,代替使用原始感测条件 来确定主车辆的目标轨迹,处理设备可以基于那些感测条件以及导致的被预 测会在获取感测条件后发生的车辆运动改变,来确定目标轨迹。与其他实施 例相比,使用预测的车辆运动可能具有若干优势。例如,参考图57C,如果基 于来自时间t(0)的感测条件来确定目标轨迹,则主车辆5702’将沿路径5704’ 行驶,其进入不安全的、目标车辆5706’的距离内(例如,可能在接近缓冲区 内和/或小于RSS或CRSS安全距离),然而,如果基于预测的条件来确定目 标轨迹,则主车辆5702’将沿路径5710行驶,其维持了相对于目标车辆5706’ 的安全条件。另外,通过对晚于传感器测量时间并且接近或等于致动时间的 运动预测时间处的车辆速度进行预测,主车辆可以行驶得更平稳,并具有较 少的可能使乘客不舒服的正弦波/震荡校正或不存在该校正。

在一些实施例中,主车辆的导航目标可以包括从第一位置到第二位置的 转移。例如,第一位置可以是起点,而第二位置可以是目的地。在该示例中, 预测的主车辆运动的方面可用于确定与导航目标一致的一个或多个导航动作 (例如,可能使主车辆沿着所选路线或目标轨迹变得更接近目的地的一个或 多个动作)。作为另一示例,第一位置可以是目标轨迹上的第一地点,并且第 二位置可以是目标轨迹上的第二地点。在该示例中,导航动作可以是将会使 主车辆沿着目标轨迹朝向第二地点行驶的任何导航操纵,如以上关于REM地图和相关联的导航所讨论的。在一些实施例中,主车辆的导航目标可以包括 从主车辆占据的当前车道到相邻车道的车道改变。例如,导航目标可以是路 径5704,如关于图57B所描述的。在该示例中,处理设备可以使用预测的主 车辆运动的方面来确定与目标相对应的导航动作,诸如通过开发主车辆要遵 循的路径5710。

在一些实施例中,主车辆的导航目标可以包括维持主车辆与检测到的目 标车辆之间的接近缓冲区。如上所述,可以基于检测到的主车辆的当前速度、 主车辆的最大制动率能力、确定的目标车辆的当前速度、以及假设的目标车 辆的最大制动率能力,来确定接近缓冲区。还可以基于主车辆的最大加速能 力来确定相对于目标车辆的接近缓冲区,使得该接近缓冲区至少包括主车辆 加速距离、主车辆停止距离和目标车辆停止距离的总和,该主车辆加速距离 被确定为主车辆在与主车辆相关联的反应时间内以主车辆的最大加速能力加 速时将行驶的距离,该主车辆停止距离被确定为以主车辆的最大制动率能力 将主车辆的当前速度降低到零所需的距离,该目标车辆停止距离被确定为以 所假设的目标车辆的最大制动率能力将目标车辆的当前速度降低到零所需的 距离。例如,如上所述,主车辆可以具有被配置为维持主车辆和一个或多个 障碍物之间的接近缓冲区的安全系统。在该实施例中,接近缓冲区可以基于 RSS安全距离。在一些实施例中,接近缓冲区可以基于CRSS安全距离,如 关于图52A至52D所讨论的。在该示例中,规划导航动作可以是将会维持接 近缓冲区的任何导航动作。

处理5800可以包括用于生成用于实施规划导航动作的导航命令的步骤 5808。与本公开一致,至少一个处理器可以被编程为生成用于实施规划导航 动作的至少一部分的导航命令。导航命令可以是用于引起与本公开一致的一 个或多个操纵的任何指令。例如,该命令可以包括用于使制动系统以特定水 平施加制动或用于使油门系统以特定水平加速的指令。在一些实施例中,导 航命令可以包括用于控制主车辆的速度的踏板命令或用于控制主车辆的航向 的横摆角速率命令中的至少一个。例如,导航命令可以包括用于使油门踏板 被压下与针对规划导航动作所确定的加速度相对应的量的指令。导航命令可 以包括与本公开一致的任何其他命令或指令。例如,命令可以包括用于使主 车辆改变航向、加速、减速、改变速度、滑行、停止等的语义或非语义命令。

上面描述的导航动作、导航目标和导航命令的示例仅用于说明。受益于 本公开的本领域普通技术人员可以理解,可以对本文所述的任何实施例进行 修改,以使用预测的主车辆运动的方面来确定规划导航动作。例如,可以使 用预测的主车辆运动的方面来修改所讨论的与REM模型、RSS模型和CRSS 模型有关的实施例以及所讨论的与图13至15和图18有关的实施例。

处理5800可以包括用于将导航命令提供给主车辆的至少一个致动系统 的步骤5810。与本公开一致,至少一个处理器可以被编程为将导航命令提供 给主车辆的至少一个致动系统,使得至少一个致动系统在第三时间处接收导 航命令,该第三时间晚于第二时间并且早于或大体上等于至少一个致动系统 的组件对所接收的命令进行响应的致动时间。例如,参考图56,可以在时间 t(4)将导航命令提供给致动系统,时间t(4)在一个或多个致动器实施命令的时 间t(5)之前或大体上与该时间t(5)同时。致动系统可以是被配置为引起对导航 命令的一个或多个响应的任何系统。例如,至少一个致动系统可包括油门致 动系统、制动致动系统或转向致动系统中的一个或多个。作为特定示例,油 门致动系统可以包括油门系统220,制动致动系统可以包括制动系统230,并 且转向致动系统可以包括转向系统240。

如上所述,基于针对致动时间t(5)所预测的运动方面,致动系统可在时间 t(5)引起比直接基于在时间t(0)感测到的运动方面在致动时间t(5)处的响应更 准确、精确和/或安全的导航响应。这是因为预测的运动方面可能比在时间t(0) 处感测到的运动方面更类似于致动时间t(5)处的实际条件。在一些实施例中, 运动预测时间可以在数据获取时间之后并且早于或等于致动时间。运动预测 时间与实际致动时间越接近,导航动作就越准确、精确和安全。例如,在致动 时间t(5)处,一个或多个致动系统可引起与基于预测的主车辆运动的方面的 规划导航动作相对应的导航动作,如果运动预测时间接近致动时间,这可对应于执行与规划导航动作紧密匹配的导航动作。例如,运动预测时间可以大 体上类似于致动时间t(5),并且与运动预测时间相关联的预测运动方面可以 大体上类似于致动时间t(5)处的实际运动方面。

本文公开的实施例是示例性的,并且用于预测主车辆运动的一个或多个 方面以及用于基于该预测引起导航响应的任何其他手段可以与本公开一致。

已经出于说明的目的呈现了前面的描述。其并非详尽无遗,并且不限于 所公开的精确形式或实施例。考虑到所公开实施例的说明书和实践,修改和 调整对于本领域技术人员而言将是显而易见的。另外,尽管所公开的实施例 的各方面被描述为存储在存储器中,但是本领域技术人员将理解,这些方面 也可以存储在其他类型的计算机可读介质上,诸如辅助存储设备,例如,硬 盘或CD ROM,或其他形式的RAM或ROM、USB介质、DVD、蓝光、4K 超高清蓝光或其他光驱介质。

基于书面描述和公开的方法的计算机程序在有经验的开发者的技能范围 内。可以使用本领域技术人员已知的任何技术来创建各种程序或程序模块, 或者可以结合现有软件来设计各种程序或程序模块。例如,程序部分或程序 模块可以在.Net Framework、.Net Compact Framework(以及相关语言,如Visual Basic、C等)、Java、C++、Objective-C、HTML、HTML/AJAX组合、XML 或包含Java小程序的HTML中设计或通过它们设计。

此外,虽然本文已经描述了说明性实施例,但是具有等效的元件、修改、 省略、组合(例如,跨各种实施例的方面)、调整和/或改变的任何和所有实施 例的范围,如本领域技术人员基于本公开的技术将理解的。权利要求中的限 制将基于权利要求中采用的语言广泛地解释,并且不限于本说明书中或在申 请的审查期间描述的示例。这些示例应被解释为非排他性的。此外,可以以 任何方式修改所公开方法的步骤,包括通过重新排序步骤和/或插入或删除步 骤。因此,其意图是说明书和示例仅被认为是说明性的,真正的范围和精神由所附权利要求及其等同物的全部范围表示。

相关技术
  • 检测主车辆行驶道路的系统和方法、导航主车辆的系统及计算机可读介质
  • 主车辆、用于控制主车辆变速器的方法和计算机可读介质
技术分类

06120112869120