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

用于自主车辆的备用轨迹系统

文献发布时间:2023-06-19 12:08:44


用于自主车辆的备用轨迹系统

本申请是申请日为2016年12月22日、申请号为201680078191.0、发明名称为“用于自主车辆的备用轨迹系统”的发明专利申请的分案申请。

相关申请的交叉引用

本申请是2016年12月7日提交的美国专利申请第15/371,595号的继续申请,该美国专利申请第15/371,595号是2016年1月8日提交的美国专利申请第14/991,150号的继续申请,其公开通过引用合并于此。本申请还是2016年1月8日提交的美国专利申请第14/991,150号的继续申请,其公开通过引用合并于此。

背景技术

诸如不需要人类驾驶员的车辆的自主车辆可用于帮助将乘客或物品从一个位置运送到另一个位置。这样的车辆可以以完全自主的模式运行,其中乘客可以提供一些初始输入,例如拾取位置或目的地位置,并且车辆操纵自身到该位置。在这样做时,乘客和车辆的安全是重要的考虑因素。因此,这些车辆常常具有备用(fall back)系统,其基本上使得车辆在紧急情况下尽可能快速地应用制动器。

发明内容

本公开的一个方面提供了一种控制车辆的方法。该方法包括由主计算系统生成从车辆的位置起的标称轨迹(nominal trajectory)以实现任务目标。标称轨迹是基于由主计算系统从车辆的感知系统接收到的信息而生成,该车辆的感知系统被配置为检测车辆外部环境中的物体。该方法还包括由主计算系统生成从车辆的位置起的备用轨迹以便安全地停止车辆。备用轨迹是基于由主计算系统从车辆感知系统接收到的信息而生成。标称轨迹和备用轨迹在位置和偏离点之间是相同的,并且标称轨迹和备用轨迹在偏离点之后偏离。该方法还包括由主计算系统将备用轨迹发送到辅计算系统;由辅计算系统接收该备用轨迹;由辅计算系统根据该备用轨迹来控制车辆;由辅计算系统在根据该备用轨迹控制车辆的同时等待来自主计算系统的更新的轨迹;以及,当车辆到达备用轨迹上的阈值点并且更新的轨迹尚未被辅计算系统接收时,由辅计算系统根据备用轨迹继续控制车辆以便安全地停止车辆。

在一个示例中,该方法还包括:当在到达阈值点之后接收到更新的轨迹时,由辅计算系统忽略更新的轨迹。在另一示例中,该方法还包括:在到达阈值点之后,由辅计算系统接收指示由传感器检测到物体的、来自传感器的数据;并且响应于接收到来自传感器的数据,由辅计算系统应用车辆的制动器以便立即停止车辆。在这个示例中,传感器不是感知系统的部分,而是辅计算系统的专用传感器。在另一示例中,偏离位置对应于沿着备用轨迹的时间,在此时间期间,主计算系统应该在主计算系统的正常操作期间发送更新的备用轨迹。在另一示例中,该方法还包括:在接收到备用轨迹之前,由辅计算系统从主计算系统接收具有第一偏离位置的第一备用轨迹,其中该第一备用轨迹与由主计算系统生成的第一标称轨迹偏离;由辅计算系统根据第一备用轨迹来控制车辆;以及在到达第一偏离位置之前,由辅计算系统接收备用轨迹作为更新的轨迹。在这个示例中,该方法还包括:由辅计算系统利用更新的轨迹替换标称轨迹,以便根据备用轨迹来控制车辆。在另一示例中,阈值点对应于作为当接收到备用轨迹时与车辆的位置相距的预定阈值距离的车辆的物理位置。在另一示例中,阈值点对应于作为从由辅计算系统接收备用轨迹的时间起的预定阈值时间量的时间点。在另一示例中,阈值点对应于标称轨迹和备用轨迹之间的偏离(divergence)点。

本公开的另一方面提供了一种用于控制车辆的系统。该系统包括具有一个或多个处理器的主计算系统。主计算系统的一个或多个处理器被配置为生成从车辆的位置起的标称轨迹以实现任务目标。标称轨迹是基于由主计算系统从车辆的感知系统接收到的信息而生成,该车辆的感知系统被配置为检测车辆外部环境中的物体。主计算系统的一个或多个处理器还被配置为生成从车辆的位置起的备用轨迹以便安全地停止车辆。备用轨迹是基于由主计算系统从车辆感知系统接收到的信息而生成。标称轨迹和备用轨迹在位置和偏离位置之间是相同的,并且标称轨迹和备用轨迹在偏离位置之后偏离。一个或多个处理器还被配置为将备用轨迹发送到辅计算系统。该系统还包括具有一个或多个处理器的辅计算系统。辅计算系统的一个或多个处理器被配置为接收备用轨迹;根据备用轨迹控制车辆;在控制车辆的同时等待来自主计算系统的更新的轨迹;以及当车辆到达备用轨迹上的阈值点并且更新的轨迹尚未被辅计算系统接收时,根据备用轨迹继续控制车辆以便安全地停止车辆。

在一个示例中,辅计算系统的一个或多个处理器还被配置为:当在到达阈值点之后接收到更新的轨迹时忽略更新的轨迹。在另一示例中,辅计算系统的一个或多个处理器还被配置为:在到达阈值之后接收指示由传感器检测到物体的、来自传感器的数据;并且响应于接收到来自传感器的数据,应用车辆的制动器以便立即停止车辆。在这个示例中,系统还包括传感器,并且该传感器不是感知系统的部分,而是辅计算系统的专用传感器。在另一示例中,偏离位置对应于沿着备用轨迹的时间,在此时间期间,主计算系统应该在主计算系统的正常操作期间发送更新的备用轨迹。在另一示例中,辅计算系统的一个或多个处理器还被配置为:在接收到备用轨迹之前,从主计算系统接收具有第一偏离位置的第一备用轨迹,其中第一备用轨迹与由主计算系统生成的第一标称轨迹偏离;根据第一备用轨迹控制车辆;并且在到达第一偏离位置之前,接收备用轨迹作为更新的轨迹。在这个示例中,辅计算系统的一个或多个处理器还被配置为:利用更新的轨迹来替换标称轨迹,以便根据备用轨迹来控制车辆。在另一示例中,该系统还包括车辆和感知系统。

本公开的另一方面提供了一种方法。该方法包括:由辅计算系统的一个或多个处理器从主计算系统接收从车辆的位置起的备用轨迹以便安全地停止车辆。从车辆的位置到偏离位置的备用轨迹的部分与从车辆的位置到偏离位置的标称轨迹的部分相同。标称轨迹允许车辆实现任务目标,并且标称轨迹和备用轨迹在偏离位置之后偏离。该方法还包括由辅计算系统的一个或多个处理器根据备用轨迹的部分来控制车辆以实现任务目标;由辅计算系统的一个或多个处理器在控制车辆的同时等待来自主计算系统的更新的轨迹;以及当车辆到达备用轨迹上的阈值点并且更新的轨迹尚未被辅计算系统的一个或多个处理器接收时,由辅计算系统的一个或多个处理器根据备用轨迹继续控制该车辆以便安全地停止车辆。

在一个示例中,该方法还包括:当在到达阈值点之后接收到更新的轨迹时,由辅计算系统的一个或多个处理器忽略更新的轨迹。

本公开的另一方面提供了一种控制车辆的方法,所述方法包括:由主计算系统生成从车辆的位置起的备用轨迹以便安全地停止车辆,所述备用轨迹基于由所述主计算系统从所述车辆的感知系统接收到的信息而生成,其中,所述备用轨迹和至目的地位置的标称轨迹在所述位置和偏离点之间是相同的,在所述偏离点处所述备用轨迹和所述标称轨迹偏离;由所述主计算系统将所述备用轨迹发送到辅计算系统;由所述辅计算系统在第一时间点接收所述备用轨迹;由所述辅计算系统根据所述备用轨迹来控制车辆;以及当从第一时间点起已经经过预定阈值时间段并且更新的轨迹尚未被所述辅计算系统接收时,由所述辅计算系统根据所述备用轨迹继续控制车辆以便安全地停止车辆。

本公开的另一方面提供了一种用于控制车辆的系统,所述系统包括:具有一个或多个处理器的主计算系统,所述一个或多个处理器被配置为:生成从车辆的位置起的备用轨迹以便安全地停止车辆,所述备用轨迹基于由主计算系统从所述车辆的感知系统接收到的信息而生成,其中,所述备用轨迹和至目的地位置的标称轨迹在所述位置和偏离位置之间是相同的,在所述偏离位置处所述备用轨迹和所述标称轨迹偏离,以及将所述备用轨迹发送到辅计算系统;和具有一个或多个处理器的辅计算系统,所述一个或多个处理器被配置为:在第一时间点接收所述备用轨迹;根据所述备用轨迹控制车辆;以及当从第一时间点起已经经过预定阈值时间段并且更新的轨迹尚未被所述辅计算系统接收时,根据所述备用轨迹继续控制车辆以便安全地停止车辆。

附图说明

图1是根据本公开的各方面的示例车辆的功能示图。

图2是根据本公开的各方面的详细地图信息的示例表示。

图3A-图3D是根据本公开的各方面的车辆的示例外部视图。

图4是根据本公开的各方面的车辆的示例内部视图。

图5是根据本公开的各方面的车辆的控制台的示例。

图6是根据示例性实施例的示例系统的功能示图。

图7是根据本公开的各方面的图6的系统的示意图。

图8是根据本公开的各方面的交叉口(intersection)的示例鸟瞰图。

图9是根据本公开的各方面的具有主轨迹和辅轨迹的表示的交叉口的另一示例鸟瞰图。

图10是根据本公开的各方面的图9的主轨迹和辅轨迹的另一视图。

图11是根据本公开的各方面的示例流程图。

具体实施方式

概述

本技术的各方面涉及在主计算系统发生故障的情况下依赖于辅计算系统的自主车辆。这些车辆可能是高度复杂的,并且需要大量的软件和传感器才能安全运行。在这些系统发生故障的情况下,车辆必须能够在没有人为干预的情况下进入安全位置。

为了便于这一点,车辆可以具有主计算系统和辅计算系统。主计算系统可能相当地复杂,并且包括完善(sophisticated)的感知系统和计划系统。感知系统可以包括被配置为检测和识别车辆环境中的物体的多个传感器。计划系统可以例如通过到达特定的目的地位置将来自感知系统的数据与详细地图信息互相协调使用,以便生成车辆的未来的路径或轨迹以实现任务目标,。

辅计算系统可能稍微不复杂。作为示例,辅计算系统可以足够完善以基于从主计算系统接收到的信息来操纵车辆,但是可能缺乏主计算系统的完善的感知系统和计划系统。就这一点而言,辅计算系统可以进行通信和控制车辆的航向(heading)和速度。为此,辅计算系统可以接收或访问来自主计算系统的位置信息以及来自与车辆状态相关的其它系统的信息,诸如指示车轮的位置、制动器正在做什么等的信息。这使得辅计算系统能够遵循下面讨论的特定轨迹。

主计算系统和辅计算系统可以互相协调地工作以实现任务目标。例如,主计算系统可以为辅计算系统提供车辆的轨迹。作为响应,辅计算系统可根据未来的路径来操纵车辆。

然而,由主计算系统生成并提供给辅计算系统的轨迹可以是备用轨迹。就这一点而言,备用轨迹可能实际上包括车辆靠边停车(pull over)到安全位置并停止该车辆。

在主计算系统生成备用轨迹的同时,主计算系统还可以生成将车辆朝向任务目标移动的标称轨迹。对于某短暂的时段,备用和标称轨迹可以是相同的。在该短暂的时段之后,轨迹可以快速地从彼此偏离(diverge)。

可以基于辅计算系统预期何时接收到来自主计算系统的更新以及车辆实际上能够多快地真正地改变其航向或速度来选择短暂的重叠时段。例如,在主计算系统可以以某预定间隔向辅计算系统发送轨迹的情况下,标称轨迹和备用轨迹应该相符合达至少该预定间隔或甚至是该预定间隔的两倍。通过这样做,辅计算系统可以根据标称轨迹来控制车辆,直到从辅计算系统预期从主计算系统接收到更新的轨迹的时间过去了至少某时间量。当接收到更新的轨迹时,辅计算系统然后将根据更新的轨迹控制车辆,直到接收到新的更新的轨迹,依次类推直到实现任务目标。

然而,当辅计算系统在车辆沿着备用轨迹(例如,在时间或空间上)已经到达特定点之后还未接收到更新的轨迹时,辅计算系统将根据备用轨迹继续控制车辆。该阈值点可以对应于其将从标称轨迹开始偏离的备用轨迹上的时间点或空间点。当然,阈值点可以是在备用轨迹和标称轨迹之间的偏离点之前的某时间,甚至其之后的短时间。就这一点而言,即使当主计算系统发生故障时,辅计算系统也不需要切换到新的轨迹,而是仅使用最后接收的轨迹继续控制车辆。由于该轨迹是备用轨迹,所以辅计算系统将因此操纵车辆以安全地停止。

此外,在阈值点已经过去之后,如果接收到更新,则辅计算系统可以被配置为不信任此更新的轨迹并且简单地忽略它。这防止了辅计算系统作用于从故障主计算系统接收到的不良数据,或者试图遵循其中车辆已经离开标称轨迹的不可行或不安全的轨迹,诸如当车辆开始根据备用轨迹靠边停车时。

在一些示例中,辅计算系统可以包括基本感知系统。此感知系统可以包括主计算系统的感知系统的传感器中的一个传感器或者用于辅计算系统的专用传感器。例如,可以使用前视雷达监视车辆正前方的物体。然而,为了使辅计算系统尽可能地简单,此传感器可以仅被车辆简单地用作最后选择,以在车辆的特定距离内检测到物体的情况下尽可能多地应用制动器。然而,为了在不必要时避免此动作,传感器可以被配置为例如基于物体和/或车辆的距离和速度来过滤许多不同类型的物体。

使用本文描述的特征,当主计算系统发生故障时,从实现任务目标到安全地将车辆导航到在适当位置停止的过渡是完全无缝的。因为只发送一个轨迹,所以系统被显著地简化。在轨迹之间没有切换,也不需要辅计算系统足够复杂以处理在进行切换的轨迹之间的偏离(divergence)。这也避免了使主计算系统和辅计算系统两者都具有用于控制车辆的速度和航向的单独的控制接口的需要。

此外,如下面详细讨论的,本文描述的特征允许各种替代方案。

示例系统

如图1所示,根据本公开的一个方面的车辆100包括各种组件。虽然本公开的某些方面关于特定类型的车辆是特别有用的,但车辆可以是任何类型的车辆,包括但不限于汽车、卡车、摩托车、公共汽车、休闲车等。车辆可以具有一个或多个计算设备,包括主计算系统110和辅计算系统210。主计算系统包括计算设备,诸如包含一个或多个处理器120、存储器130和通常存在于通用计算设备中的其它组件的计算设备112。类似地,辅计算系统包括包含一个或多个处理器220、存储器230以及通常存在于通用计算机中的其它组件的计算设备212。

存储器130、230存储可由一个或多个处理器访问的信息,其包括可由处理器120、220运行或以其它方式使用的指令132、232和数据134、234。存储器130、230可以是能够存储可由处理器访问的信息的任何类型,包括计算设备可读介质,或者存储可以借助电子设备读取的数据的其它介质(诸如,硬盘驱动器、存储器卡、ROM、RAM、DVD或其它光盘等),以及其它可写和只读存储器。系统和方法可以包括前述的不同组合,由此指令和数据的不同部分被存储在不同类型的介质上。

指令132、232可以是要由处理器直接运行的任何指令集(例如,机器代码)或要由处理器间接运行的任何指令集(例如,脚本)。例如,指令可以作为计算设备代码被存储在计算设备可读介质上。就这一点而言,术语“指令”和“程序”在本文中可以互换使用。这些指令可以以对象代码格式被存储,以用于由处理器直接处理,或者以任何其它计算设备语言被存储,该任何其它计算设备语言包括根据需要解释或预先编译的独立源代码模块的脚本或集合。下面将更详细地解释指令的方法和例程。

数据134、234可以由处理器120、220根据指令132、232来检索、存储或修改。例如,虽然所要求保护的主题不受任何特定数据结构的限制,但是数据可以被存储在计算设备寄存器中,作为具有多个不同字段和记录的表格、XML文档或平面文件被存储在关系数据库中。数据也可以以任何计算设备可读格式被格式化。

一个或多个处理器120、220可以是任何常规处理器,诸如市售CPU。可替换地,一个或多个处理器可以是诸如ASIC或其它基于硬件的处理器的专用设备。虽然图1在功能上将计算设备112(和计算设备212)的处理器、存储器和其它元件示出为处于同一块内,但是处理器、计算设备或存储器实际上可以包括多个处理器、计算设备或存储器,其可以或可以不被存储在同一物理外壳内。作为示例,内部电子显示器152可以由具有其自己的处理器或中央处理单元(central processing unit,CPU)、存储器等的专用计算设备控制,该专用计算设备可以经由高带宽或其它网络连接与计算设备110联系。在一些示例中,这种计算设备可以是能够与用户的客户端设备通信的用户接口计算设备。类似地,存储器130(或230)可以是位于与计算设备112(或212)的外壳不同的外壳中的硬盘驱动器或其它存储介质。因此,对处理器或计算设备的引用将被理解为包括对可并行或不可并行操作的处理器或计算设备或存储器的集合的引用。

计算设备112可以是与诸如上述处理器和存储器以及用户输入150(例如,鼠标、键盘、触摸屏和/或麦克风)和各种电子显示器(例如,具有屏幕的监视器或可操作以显示信息的任何其它电子设备)的计算设备连接而正常使用的所有组件。在这个示例中,车辆包括内部电子显示器152以及一个或多个扬声器154以提供信息或视听体验。就这一点而言,内部电子显示器152可以位于车辆100的车厢内并且可以被计算设备110用来向车辆100内的乘客提供信息。

在一个示例中,计算系统110可以是合并到车辆100中的自主驾驶计算系统的部分。因此,计算系统110,经由计算设备112,可以是或包括生成计划或轨迹以将车辆导航到某位置或物体周围的计划系统168。为此,计算系统110可以包括定位系统170(用于确定车辆的位置)和感知系统172(用于检测车辆环境中的物体)。再次,尽管这些系统被示出为被合并到计算系统110中,但实际上,这些系统可以不同于计算系统110。例如,定位系统可以完全不同于计算系统110。在这种情况下,这可以允许辅计算系统使用定位系统的输出来遵循如下面所讨论的轨迹。

举例来说,计算设备112可以使用来自详细地图信息的数据来确定如何完全自主地将车辆导航到目的地位置。就这一点而言,数据132可以存储地图信息,例如,识别道路的形状和高程、车道(lane)标记、交叉口、人行横道、速度限制、交通信号灯、建筑物、标志、实时交通信息、植被或其它这样的物体和信息的高度详细的地图。车道标记可以包括诸如实的或虚的双车道线或单车道线、实的或虚的车道线、反射镜等的特征。给定车道可以与限定车道边界的左右车道线或其它车道标记相关联。因此,大多数车道可以由一条车道线的左边缘和另一条车道线的右边缘界定。

图2是包括交叉口202的一段道路的详细地图信息200的示例。在这个示例中,详细地图信息200包括识别车道线210、212、214,交通信号灯220、222、224、226,人行横道230、232和人行道240的形状、位置和其它特性的信息。每个车道可与指示其中车辆通常应该在各自的车道上行驶的方向的轨道250、252、254、256相关联。例如,车辆在车道线210和212之间的车道中驾驶时,可以遵循轨道252。

虽然详细地图信息在本文被描绘为基于图像的地图,但是地图信息不需要是完全基于图像的(例如,栅格(raster))。例如,详细地图信息可以包括诸如道路、车道、交叉口以及这些特征之间的连接的信息的一个或多个道路图或图形网络。每个特征可以被存储为图形数据并且可以与诸如地理位置以及它是否被链接到其它相关特征(例如,停车标志可以被链接到道路和交叉口等)的信息相关联。在一些示例中,相关联的数据可以包括道路图的基于网格的索引,以允许有效查找某些路线图特征。

计算设备112可以使用来自定位系统170、感知系统172和详细地图信息的数据,以便例如通过到达特定目的地位置来生成车辆的未来路径或轨迹以实现任务目标。这些轨迹可以包括车辆在未来特定时间应该到达的特定位置或路径点,但可以包括一组没有时间的路径点、一组方向(左转、右转、直行等)、一组描述系统应该看到什么的图像等。这些位置一起形成车辆的未来轨迹。除了轨迹之外,计算设备112可以生成用于控制车辆的各种系统的相应指令以便根据轨迹操纵车辆,更确切地说,以便在未来的特定时间到达特定位置。计算系统110然后可以将轨迹和相应指令发送到计算系统210。

此外,计算系统210也可以是合并到车辆100中的自主驾驶计算系统的部分,但是也可以稍微不如计算系统110复杂。作为示例,计算系统210可能足够完善以基于从计算系统110接收的轨迹和相应指令来操纵车辆,但是可能缺乏计算系统110的完善的感知系统和计划系统。就这一点而言,计算系统210可以与车辆的各种其它系统通信以便控制车辆的航向和速度。为此,辅计算系统可以接收或访问来自计算系统110的定位系统170的位置信息以及来自与车辆状态相关的其它系统的信息,诸如指示车轮位置、制动器在做什么等的信息。这使得计算系统210能够遵循如下面所讨论的特定轨迹。

例如,计算设备210,经由计算设备212,可以从减速系统160(用于控制车辆的制动或者在一些情况下可以仅包括车辆的制动器)、加速系统162(用于控制车辆的加速或者在一些情况下可以仅包括控制引擎的功率)、转向系统164(用于控制车轮的朝向和车辆的方向)、信号系统166(用于控制转弯信号)以及电力系统174(例如,电池和/或燃气或柴油动力引擎)发送和接收信息,以便根据存储器230的指令234以及其它接收到的输入来自主地控制车辆100的运动、速度等。就这一点而言,计算系统210可以控制车辆而不需要来自车辆的乘客的连续或周期性的输入。再次,虽然这些系统被示出为在计算设备210外部,但实际上,这些系统也可以被合并到计算设备210中,再次作为用于控制车辆100的自主驾驶计算系统。

计算设备210可以通过根据从计算系统110接收的给定轨迹的相应指令控制各种组件,来控制车辆的方向和速度。为此,计算机110可以使车辆加速(例如,通过增加由加速系统162提供给引擎的燃料或其它能量)、减速(例如,通过减少供应到引擎的燃料、改变档位和/或通过由减速系统160应用制动)、改变方向(例如,通过由转向系统164转动车辆100的前轮或后轮)以及用信号通知这样的改变(例如,通过点亮信号系统166的转弯信号)。因此,加速系统162和减速系统162可以是包括在车辆的引擎和车辆的车轮之间的各种组件的传动系统的部分。再次,通过控制这些系统,计算机212还可以控制车辆的传动系统以便自主地操纵车辆。作为示例,计算设备212可以与减速系统160和加速系统162交互以便控制车辆的速度。类似地,转向系统164可以被计算设备110使用以便控制车辆100的方向。例如,如果车辆100被配置用于在道路上使用,诸如汽车或卡车,则转向系统可以包括控制车轮的角度以转动车辆的组件。信号系统166可以由计算设备212使用,以便例如通过在需要时点亮转弯信号或制动器灯来用信号向其它驾驶员或车辆通知车辆的意图。

图3A-图3D是车辆100的外部视图的示例。可以看出,车辆100包括典型车辆的许多特征,诸如前照灯302、挡风玻璃303、尾灯/转弯信号灯304、后挡风玻璃305、门306、侧视镜308、轮胎和车轮310以及转弯信号/停车灯312。前照灯302、尾灯/转弯信号灯304和转弯信号/停车灯312可以与信号系统166相关联。灯条(lightbar)307也可以与信号系统166相关联。

图4是穿过门306的开口的车辆100的示例内部视图。在这个示例中,存在两个乘客的座椅402以及在它们之间的控制台404。在座椅402的前方直接是具有存储箱区域408和内部电子显示器152的仪表板配置406。可以容易地看出,车辆100不包括方向盘、加油(加速)踏板或制动器(减速)踏板,其允许其中乘客经由传动系统直接控制车辆的转向、加速和/或减速的半自主或手动驾驶模式。相反,如下面进一步详细描述的,用户输入限于用户输入150的麦克风(未示出)、控制台404的特征以及(如果可用的话)无线网络连接156。就这一点而言,内部电子显示器152可以仅仅向乘客提供信息而不需要包括用于用户输入的触摸屏或其它界面。在其它实施例中,内部电子显示器152可以包括用于由乘客输入诸如目的地等的信息的触摸屏或其它用户输入设备。类似地,车辆可以包括乘客可以使用的转向、加速和制动输入以手动或半自主驾驶模式来控制车辆。

图5是控制台404的俯视图。控制台404包括用于控制车辆100的特征的各种按钮。例如,控制台404包括可以在典型车辆中找到的按钮,诸如用于锁定和解锁门306的按钮502、用于升高或降低门306的窗户的按钮504、用于开启车辆内部灯的按钮506、用于控制座椅402的加热功能的按钮508以及用于控制扬声器154的音量的按钮510。

此外,如果可用的话,控制台404还包括用于经由无线网络连接发起与远程礼宾(concierge)的通信的按钮511。按钮512和514也可以是用户输入150的一部分,并且就这一点而言,允许乘客与计算机110通信,例如,以发起或结束车辆中的旅程。就这一点而言,按钮512可以用作紧急停止按钮,当按下该按钮时,使车辆100在短时间量内停止。因为乘客不能通过加油或制动器踏板直接控制车辆100的加速或减速,所以按钮512可以是紧急停止按钮,其对于允许乘客感到安全并且在紧急情况下快速行动是至关重要的。

按钮514可以是多功能按钮。例如,按钮514可以具有三种不同的状态。在第一状态下,按钮514可以是不激活的,即,如果被按下,则车辆的计算机110不会通过采取任何关于控制车辆运动的特定动作来做出响应。在第二状态下,当车辆准备好开始旅程时,按钮514可以改变为乘客用来发起到目的地或下车位置的旅程的“GO”按钮。一旦车辆100正在移动,按钮514可以改变为第三状态,其中按钮514是乘客用来发起非紧急停止的“PULL OVER”按钮。就这一点而言,计算机110可以通过确定将车辆靠边停车的合理的地点来做出响应,而不是像用紧急停止按钮512那样进入更加突然的停止。

因此,用于导航目的与计算机110进行的乘客通信可以限于按钮514、紧急停止按钮512、具有乘客的客户端计算设备的短距离无线通信系统(诸如蓝牙LE(Low Energy,低功耗)),以及通过将来自乘客的客户端计算设备的信息发送到远程服务器,该远程服务器然后将该信息中继到车辆的计算机。在一些示例中,如上所讨论的,乘客可以经由通过麦克风的语音命令向车辆的计算机110提供信息。此外,然而,乘客可以经由电话呼叫、乘客的客户端计算设备上的应用、麦克风和/或礼宾按钮511与礼宾进行通信,并且反过来,礼宾可以经由礼宾工作站提供指令来控制车辆的某些方面。

车辆100的一个或多个计算设备110还可以接收或者传递到其它计算设备的信息和来自其它计算设备的信息。图6和图7分别是包括经由网络660连接的多个计算设备610、620、630、640和存储系统650的示例系统600的示意图和功能图。系统600还包括车辆100以及车辆100A,其可以类似于车辆100地被配置。尽管为了简化仅示出了几个车辆和计算设备,但是典型的系统可以包括更多的车辆和计算设备。

如图6所示,计算设备610、620、630、640中的每一个可以包括一个或多个处理器、存储器、数据和指令。这样的处理器、存储器、数据和指令可以类似于计算设备110的一个或多个处理器120、存储器130、数据132和指令134来配置。

网络660和中间节点可以包括各种配置和协议,协议包括短程通信协议,诸如蓝牙、蓝牙LE、互联网、万维网、内联网、虚拟专用网络、广域网、本地网络、使用一个或多个公司专有的通信协议的专用网络、以太网、WiFi和HTTP以及前述的各种组合。这种通信可以通过能够传输到其它计算设备的数据和来自其它计算设备的数据的任何设备来促进,诸如调制解调器和无线接口。

在一个示例中,一个或多个计算设备110可以包括具有多个计算设备的服务器(例如,负载平衡服务器群(farm)),其为了接收、处理和传输到其它计算设备的数据和来自其他计算设备的数据的目的而与网络的不同节点交换信息。例如,一个或多个计算设备210可以包括能够经由网络640与车辆100的一个或多个计算设备110或车辆100A的类似计算设备以及客户端计算设备620、630、640进行通信的一个或多个服务器计算设备。例如,车辆100和100A可以是可由服务器计算设备分派到各个位置的车队的一部分。就这一点而言,车队的车辆可以周期性地向服务器计算设备发送由车辆的各个定位系统提供的位置信息,并且一个或多个服务器计算设备可以跟踪车辆的位置。

此外,服务器计算设备610可以使用网络660向诸如用户622、632、642的用户传输信息并且在诸如计算设备620、630、640的显示器624、634、644的显示器上向诸如用户622、632、642的用户呈现信息。在这一点上,计算设备620、630、640可被认为是客户端计算设备。

如图7所示,每个客户端计算设备620、630、640可以是意在由用户622、632、642使用的个人计算设备,并且具有通常与个人计算设备连接而正常使用的所有组件,该个人计算设备包括一个或多个处理器(例如,中央处理单元(CPU)),存储数据和指令的存储器(例如,RAM和内部硬盘驱动器),诸如显示器624、634、644的显示器(例如,具有屏幕、触摸屏、投影仪、电视机或其它可操作以显示信息的设备的监视器),以及用户输入设备626、636、646(例如,鼠标、键盘、触摸屏或麦克风)。客户端计算设备还可以包括用于记录视频流的摄像机、扬声器、网络接口设备以及用于将这些元件连接到彼此的所有组件。

尽管客户端计算设备620、630和640可以各自包括全尺寸个人计算设备,但是它们可以可替换地包括能够通过诸如互联网的网络与服务器无线地交换数据的移动计算设备。仅举例来说,客户端计算设备620可以是移动电话或设备(诸如使能无线的PDA、平板PC、可穿戴计算设备或系统、或者能够经由互联网或其它网络获得信息的上网本)。在另一示例中,客户端计算设备630可以是可穿戴计算系统,在图7中示为头戴式计算系统。作为示例,用户可以使用小型键盘、小键盘、麦克风,使用利用相机或触摸屏的视觉信号来输入信息。

在一些示例中,客户端计算设备640可以是由管理员用来向诸如用户622和632的用户提供礼宾服务的礼宾工作站。例如,如下面更详细描述的,礼宾642可以使用礼宾工作站640经由电话呼叫或音频连接,通过用户或者车辆100或100A的各自的客户端计算设备,与用户或者车辆100或100A进行通信,以便确保车辆100和100A的安全操作以及用户的安全。尽管在图6和图7中仅示出了单个礼宾工作站640,但是典型系统中可以包括任何数量的这样的工作站。

存储系统650可以存储如下面更详细描述的各种类型的信息。此信息可以被服务器计算设备(诸如,一个或多个服务器计算设备610)检索或以其它方式访问,以便执行本文所述的一些或全部特征。例如,此信息可以包括诸如凭证的用户账户信息(例如,在传统的单因素认证的情况下的用户名和密码,以及典型地用在多因素认证中的其它类型的凭证,诸如随机识别符、生物测定学等),其可以用来向一个或多个服务器计算设备识别用户。用户账户信息还可以包括诸如用户的姓名的个人信息、联系人信息、用户的客户端计算设备(或者如果多个设备与相同的用户账户一起使用的设备)的识别信息、以及用户的一个或多个唯一信号。

存储系统650还可以存储用于生成和评估位置之间的路线的路线数据。例如,路线信息可以用于估计在第一位置处的车辆到达第二位置需要的时间。就这一点而言,路线信息可以包括地图信息,不一定与上述的详细地图信息一样具体,但包括道路以及关于那些道路的信息,诸如方向(单向、双向等)、朝向(北、南等)、速度限制以及识别预期交通状况的交通信息等。如同存储器130一样,存储系统250可以是能够存储可由服务器计算设备610访问的信息的任何类型的计算机化存储装置,诸如硬盘驱动器、存储器卡、ROM、RAM、DVD、CD-ROM、可写入存储器和只读存储器。此外,存储系统650可以包括分布式存储系统,其中数据存储在可以物理上位于相同或不同地理位置的多个不同存储设备上。存储系统650可以经由如图6中所示的网络660连接到计算设备,和/或可以直接连接到或合并到计算设备110、610、620、630、640等中的任何一个中。

现在将描述除了上面描述的和附图中示出的操作之外的各种操作。应该理解,以下操作不必按照下面描述的精确顺序执行。相反,可以按不同的顺序处理或同时处理各种步骤,并且还可以添加或省略步骤。

在一个方面,用户可以将用于请求车辆的应用下载到客户端计算设备。例如,用户622和632可以经由电子邮件中的链接,直接从网站或应用商店将应用下载到客户端计算设备620和630。例如,客户端计算设备可以通过网络向例如一个或多个服务器计算设备610传输对应用的请求,并且作为响应,接收该应用。应用可以在客户端计算设备上本地安装。

然后用户可以使用他或她的客户端计算设备来访问应用并请求车辆。作为示例,诸如用户632的用户可以使用客户端计算设备630来向车辆的一个或多个服务器计算设备610发送请求。该请求可以包括识别拾取(pickup)位置或区域和/或目的地位置或区域的信息。作为示例,这样的位置可以由街道地址、位置坐标、兴趣点等来识别。作为响应,一个或多个服务器计算设备610可以例如基于可用性和位置来识别车辆并将车辆分派到拾取位置。该分派可以涉及向识别用户(和/或用户的客户端设备)的车辆发送信息,以便将车辆分配给用户(和/或用户的客户端计算设备)、拾取位置和目的地位置或区域。

一旦车辆100接收到分派车辆的信息,车辆的一个或多个计算设备110就可以使用上述各种特征来将车辆操纵到拾取位置。随着车辆接近用户的客户端设备,车辆的计算机可以认证用户的客户端设备以及用户。当用户被认证时,车辆的计算设备可以自主地解锁车门并允许用户进入车辆。车辆的一个或多个计算设备110还可以在内部电子显示器152上显示欢迎屏幕。该欢迎屏幕可以向用户(现在是乘客)提供关于如何使用车辆的指令。例如,指令可以包括请求乘客如果需要就关闭门306并且扣紧他或她的安全带。与座椅、门和安全带相关联的传感器可用来确定乘客是否已遵守。一旦乘客已遵守指令,他或她可以按下或以其它方式激活按钮514。作为响应,计算机110可发起必要的系统以沿着通往目的地位置的路线自主地控制车辆。

当车辆由自主驾驶系统自主驾驶时,计算系统110和210可以互相协调地工作以实现任务目标,诸如,操纵到拾取位置以拾取乘客、操纵到目的地让乘客下车等。例如,如上所述,计算系统110可以生成轨迹和用于遵循该轨迹的相应指令。计算系统110然后可以将此信息发送给计算系统210。作为响应,计算系统210可以根据轨迹和相应指令来操纵车辆。

例如,图8描绘了包括交叉口802的一段道路800,在该交叉口上,车辆110当前正由自主驾驶系统自主操纵。车辆100正在接近交叉口802,并且可以例如通过如上所述的自主驾驶模式下的一个或多个一个或多个计算设备110来控制。在这个示例中,交叉口802对应于详细地图信息200的交叉口202,并且车辆通常遵循轨道250以遵循朝向目的地的路线(两者均未在图8中示出)。在这个示例中,车道线810、812和814分别对应于车道线210、212和214的形状、位置和其它特征。类似地,人行横道830和832分别对应于人行横道230和232的形状、位置和其它特性,人行道840对应于人行道240,并且交通信号灯822、824和826对应于交通信号灯222、224和226的形状、位置和其它特征。

车辆的感知系统172可以连续地检测和识别车辆环境中的物体。例如,车辆的计算设备110可以检测和识别车道线810、812和814,人行横道830和832,人行道840,以及交通信号灯822,824和826。除了这些“静态”特征之外,车辆的感知系统还可以检测、跟踪和识别各种其它物体,诸如车辆850至858和行人860、862。换句话说,感知系统172可以通过在短暂的时间段的观察这些物体,来确定这些物体的一般形状和朝向以及速度。

此信息连同识别来自定位系统170的车辆的当前地理位置的位置信息可以被反馈到计算系统110的计算设备112,以便生成用于车辆的轨迹。如上所述,为此,计算设备112还可以检索相关的详细地图信息。根据车辆的给定地理位置,计算系统110可以生成两个不同的轨迹,实际上其中仅一个轨迹被发送到计算系统210以按照其操作。第一个轨迹可以是使车辆能够继续朝着实现任务目标的标称轨迹,而第二个轨迹可以是备用轨迹。为了安全起见,只有第二个备用轨迹和相应指令可以被发送到计算系统210。

就这一点而言,备用轨迹实际上可以包括车辆靠边停车到安全位置并停止车辆。此备用轨迹可以因此延伸到未来的某标称距离,诸如20秒或者更多或更少。作为示例,备用轨迹可以包括:当车辆以每小时25英里行驶时,车辆在大约7秒内靠边停车并停止。这将对应于车辆实现这个大约需要的时间。如图9的示例900所示,备用轨迹910(以虚线示出)将使车辆能够在给定车辆100的当前速度的情况下在5秒内靠边停车并停止。

如上所述,计算系统110还可以生成将车辆朝向任务目标移动的标称轨迹。标称轨迹920(以虚线示出)使车辆能够沿着轨道250继续朝向目的地。为了清楚起见,图10的示例1000描绘了备用轨迹910和标称轨迹920两者的分开的视图。

对于某短暂的时段,备用轨迹和标称轨迹可以是相同的。例如,如在图9和图10中可见,备用轨迹910和标称轨迹920在点930和940之间彼此重叠并且是相同的。在这个示例中,点930和940表示要由车辆在特定的时间到达的位置。因此,对于轨迹910和920两者,车辆将在时间T1处在点930(实际上是轨迹910和920两者的起始点)处。类似地,遵循任一轨迹,车辆100将在时间T2到达点930。因此,除了具有相同的轨迹之外,这些重叠部分(在点930与940之间)可以与相同的相应指令相关联。换句话说,除了要在不同时间到达的车辆的物理位置之外,用于控制加速、减速、转向等的指令对于点930和940之间的两个轨迹都可以是相同的。

在此短暂的重叠时段之后,备用轨迹和标称轨迹可能很快与彼此偏离。作为示例,短暂的时段可能近似于几百毫秒,或者例如0.3秒。就这一点而言,在点940之后,轨迹910将车辆100从道路上驶出,驶到肩状(shoulder)区域并减速至停止。相反,轨迹920将使车辆继续沿着轨道250朝向目的地。

可基于计算系统210预期何时接收来自计算系统110的更新以及车辆实际上能够多快地真正改变其航向或速度,来选择短暂的重叠时段。例如,在计算系统110可以约每秒(或每0.1秒)10次向计算系统210发送轨迹的情况下,标称轨迹和备用轨迹应该相符合达该时间量或甚至该时间量的两倍。通过这样做,计算系统210可以根据标称轨迹和相应指令来控制车辆,直到从计算系统210预期从计算系统110接收更新的轨迹的时间已经过去了至少某时间量。如上所述,这可以包括与减速系统160、加速系统162、转向系统164、信号系统166(用于控制转弯信号)以及动力系统174进行通信,以便根据存储器230的指令234以及相应指令来控制车辆100的运动、速度等。当接收到更新的轨迹时,计算系统210然后将根据更新的轨迹和相应指令来控制车辆,直到接收到新的更新的轨迹和相应指令,依次类推直到实现任务目标。

然而,当计算系统210在车辆在沿着备用轨迹(例如,在时间或空间上)已经到达特定点之后尚未接收到更新的轨迹时,计算系统210将根据备用轨迹继续控制车辆。此阈值点可以通过测量从计算系统210接收到备用轨迹的时间开始的预定阈值时间段来确定。类似地,阈值点可以通过测量当计算系统210接收到备用轨迹时距车辆的位置的预定阈值距离来确定。阈值点还可以对应于将开始与标称轨迹偏离的备用轨迹上的时间点或空间点,或者,在图900的示例900中的点940处。

在一些示例中,阈值点可以由计算系统110和/或210动态地确定,例如,基于车辆的速度或转向角。例如,当车辆直线驾驶时,阈值点可以更快地出现,与当车辆根据备用轨迹将车轮转向车辆需要停止的方向时截然相反。类似地,阈值点可以在车辆以每小时20英里驾驶时比如果车辆以每小时5英里驾驶时更快地出现,因为以每小时5英里停车所花费的时间会更短。当然,阈值点因此不仅可以取决于车辆的速度和转向角,还可以取决于如从详细地图信息或来自感知系统的传感器数据中识别出的道路特征。

当然,阈值点也可以对应于在备用轨迹和标称轨迹之间的偏离点之后的备用轨迹上的点(在时间上或空间上)。就这一点而言,计算系统210可以容忍轨迹之间的少量偏离,并且当接收到更新的轨迹时仍然返回到主轨迹。然而,在大量偏离之后,返回主轨迹(或者新的更新备用轨迹)可能是不安全的。

因为只有备用轨迹被计算设备210接收到(与备用轨迹和标称轨迹两者相反),即使当计算系统110发生故障时,计算系统210也不需要切换到新的轨迹和新的相应指令,而是简单地使用如上所讨论的最后接收到的备用轨迹和相应指令来继续控制车辆。由于此轨迹是备用轨迹,因此计算系统210将操纵车辆以安全地停止。

此外,在该阈值时间段过去之后,如果接收到更新(即,很晚才接收到更新),则辅计算系统可以被配置为不信任此更新的轨迹并且简单地忽略它。这可以防止辅计算系统作用于从故障的主计算系统接收到的不良数据。

在一些示例中,辅计算系统可以包括基本感知系统。此感知系统可以包括主计算系统的感知系统的传感器中的一个传感器或者用于辅计算系统的专用传感器。例如,可以使用面向前方的雷达监视直接在车辆前方的物体。然而,为了使辅计算系统尽可能地简单,此传感器可以仅被车辆简单地用作最后选择,以在车辆的特定距离内检测到物体时尽可能多地应用制动器。然而,为了在不必要时避免此动作,传感器可以被配置为例如基于物体和/或车辆的距离和速度来过滤许多不同类型的物体。

图11是可以由诸如计算系统210的辅计算系统的一个或多个处理器执行的上述各个方面的示例流程图1100。在这个示例中,在块1102处,由辅计算系统的一个或多个处理器接收从车辆的位置起的备用轨迹以便安全地停止车辆。从车辆的位置到偏离位置的备用轨迹的部分与从车辆的位置到偏离位置的标称轨迹的部分相同。标称轨迹允许车辆实现任务目标,并且标称轨迹和备用轨迹在偏离位置之后偏离。在块1104处,根据备用轨迹的部分,由辅计算系统的一个或多个处理器控制车辆以实现任务目标。在块1106处,在控制车辆的同时,辅计算系统的一个或多个处理器等待来自主计算系统的更新的轨迹。在块1108处,当车辆到达备用轨迹上的阈值点并且更新的轨迹尚未被辅计算系统的一个或多个处理器接收时,辅计算系统的一个或多个处理器根据备用轨迹继续控制车辆,以便安全地停止车辆。在块1110处,当在到达阈值点之后接收到更新的轨迹时,辅计算系统的一个或多个处理器忽略更新的轨迹。

除非另外陈述,否则前述替代示例不是相互排斥的,而是可以以各种组合实施以实现独特的优点。由于可以在不脱离权利要求所限定的主题的情况下利用上述特征的这些和其它变型和组合,所以应该通过说明的方式而不是通过由权利要求所限定的主题的限制的方式来采取实施例的前述描述。此外,本文描述的示例的提供以及被表述为“诸如”、“包括”等的条款不应被解释为将权利要求的主题限制于具体示例;相反,实例仅意图示出许多可能实施例中的一个。此外,不同附图中的相同参考表号可以识别相同或相似的元件。

相关技术
  • 用于自主车辆的备用轨迹系统
  • 用于自主车辆的备用轨迹系统
技术分类

06120113186298