派遣和维护自主车辆的车队的协调的制作方法

文档序号:14959283发布日期:2018-07-18 00:11阅读:170来源:国知局

本pct国际申请是2015年11月4日提交的、标题为“coordinationofdispatchingandmaintainingfleetofautonomousvehicles”的美国申请no.14/756,995的继续,该申请与2015年11月4日提交的、标题为“autonomousvehiclefleetserviceandsystem”的美国专利申请no.14/932,959、2015年11月4日提交的、标题为“adaptivemappingtonavigateautonomousvehiclesresponsivetophysicalenvironmentchanges”的美国专利申请no.14/932,963、2015年11月4日提交的、标题为“teleoperationsystemandmethodfortrajectorymodificationofautonomousvehicles”的美国专利申请no.14/932,966、2015年11月4日提交的、标题为“automatedextractionofsemanticinformationtoenhanceincrementalmappingmodificationsforroboticvehicles”的美国专利申请no.14/932,940、2015年11月4日提交的、标题为“adaptiveautonomousvehicleplannerlogic”的美国专利申请no.14/756,992、2015年11月4日提交的、标题为“sensor-basedobject-detectionoptimizationforautonomousvehicles”的美国专利申请no.14/756,991、以及2015年11月4日提交的、标题为“calibrationforautonomousvehicleoperation”的美国专利申请no.14/756,996相关,在此出于所有目的通过引用的方式将这些美国专利申请的全部内部并入。

各种实施例总体上涉及自主车辆和相关联的机械、电气以及电子硬件、计算机软件和系统、以及有线和无线网络通信,以作为服务来提供自主车辆车队。更具体而言,系统、设备、以及方法被配置为管理自主车辆的车队。



背景技术:

开发无人驾驶车辆的各种方案主要集中在使常规车辆(例如,手动驱动自动车辆)自动化方面,其旨在生产用于消费者购买的无人驾驶车辆。例如,许多汽车公司和分公司正在修改常规的汽车和控制机制,例如转向,以向消费者提供拥有能够在无驾驶员的情况下进行操作的车辆的能力。在一些方案中,常规的无人驾驶车辆在一些条件下执行安全至上的驾驶功能,但如果车辆控制器不能够解决一些可能危及乘坐者安全的问题,则要求驾驶员进行控制(例如,转向等)。

尽管实用的常规无人驾驶车辆通常具有诸多缺点。例如,正在开发的大量无人驾驶轿车从要求手动(即,由人控制的)转向以及其它类似自动功能的车辆演变而来。因此,大多数无人驾驶轿车基于这样一种范式:将车辆设计为适应有驾照的驾驶员,车辆内为该驾驶员保留了专门的座位或者位置。于是,次优地设计了无人驾驶车辆,并且通常会放弃简化车辆设计和节省资源(例如,降低生产无人驾驶车辆的成本)的机会。其它缺点也存在于常规的无人驾驶车辆中。

其它缺点也存在于常规的运输服务中,由于提供常规运输与搭乘共享服务的常见方案而致使常规的运输服务不太适合于主动地对例如车辆的库存进行管理。在一个常规的方案中,要求乘客访问移动应用以通过向乘客分派人类驾驶员和车辆(例如,在私人所有的情况下)的集中化服务而请求运输服务。在使用不同人拥有的车辆的情况下,私人车辆以及安全系统的维护通常无法得以检查。在另一个常规的方案中,一些实体能够通过允许作为成员招募的驾驶员进入在成员之间共享的车辆来实现对一组车辆的搭乘共享。当驾驶员需要在特定位置接载共享车辆和从共享车辆下车(在城市环境中,这样的情况是少见的)时,该方案不太适合于提供常规的运输服务,并且要求进入相当昂贵的房地产(即,停车场)以在该处停放搭乘共享车辆。在以上所描述的常规方案中,从库存的角度来看,一旦驾驶员离开,由于车辆变为不动,所以通常不能够很好地利用用于提供运输服务的传统车辆。另外,搭乘共享方案(以及个人拥有的车辆运输服务)通常不太适合于重新平衡库存,以匹配运输服务的需求,从而适应使用和典型的行驶模式。还应注意,一些常规描述的具有有限自驾自动能力的车辆也不太适合于重新平衡库存,因为通常可能要求人类驾驶员。根据美国运输部国家高速公路交通安全署(“nhtsa”)的规定,具有有限自驾自动能力的车辆的示例是被标记为3级(“l3”)车辆的车辆。

另一个缺点是,典型的无人驾驶车辆方案通常不太适合于相对于行驶中的车辆与车辆的其他驾驶员或者个人之间的交互(例如,社会交互)来对车辆进行检测和导航。例如,一些常规方案不能够充分地识别行人、骑自行车的人等、以及相关联的交互,例如,眼神接触、做手势等,以用于解决无人驾驶车辆的乘坐者、以及其它车辆的驾驶员、行人等的安全风险的目的。

因此,需要的是一种用于实施自主车辆的不具有常规技术的限制的方案。

附图说明

以下的具体实施方式和附图中公开了本发明的各种实施例或者示例(“示例”):

图1是描绘了根据一些实施例的与自主车辆服务平台通信连网的自主车辆的车队的实施方式的示图;

图2是根据一些实施例的用于监测自主车辆的车队的流程图的示例;

图3a是描绘了根据一些示例的传感器以及其它自主车辆部件的示例的示图;

图3b至3e是描绘了根据一些示例的传感器场冗余和自主车辆对传感器场的损失的适应的示例的示图;

图4是描绘了根据一些示例的包括自主车辆服务平台的系统的功能框图,其中,自主车辆服务平台经由通信层通信地耦合于自主车辆控制器;

图5是根据一些实施例的控制自主车辆的流程图的一个示例;

图6是描绘了根据一些实施例的自主车辆控制器的体系结构的示例的示图;

图7是描绘了根据一些实施例的自主车辆服务平台的示例的示图,其中,自主车辆服务平台实施用于维持与自主车辆车队的可靠通信的冗余通信信道;

图8是描绘了根据一些实施例的被配置为在各种应用之间交换数据的消息处理应用的示例的示图;

图9是描绘了根据一些示例的促进使用图8中所描述的通信协议进行遥控操作的数据的类型的示图;

图10是示出了根据一些实施例的遥控操作员接口的示例的示图,遥控操作员可以使用遥控操作员接口影响路径规划;

图11是描绘了根据一些示例的被配置为调用遥控操作的规划器的示例的示图;

图12是根据一些实施例的被配置为控制自主车辆的流程图的示例;

图13描绘了根据一些示例的其中规划器可以生成轨迹的示例;

图14是描绘了根据一些实施例的自主车辆服务平台的另一示例的示图;

图15是根据一些实施例的控制自主车辆的流程图的示例;

图16是根据一些示例的实施车队优化管理器的自主车辆车队管理器的示例的示图;

图17是根据一些实施例的用于管理自主车辆的车队的流程图的示例;

图18是示出了根据一些实施例的实施自主车辆通信链路管理器的自主车辆车队管理器的示图;

图19是根据一些实施例的在事件期间确定自主车辆的动作的流程图的示例;

图20是描绘了根据一些实施例的定位器的示例的示图;

图21是根据一些实施例的基于集成传感器数据生成局部姿态数据的流程图的示例;

图22是描绘了根据一些实施例的定位器的另一个示例的示图;

图23是描绘了根据一些实施例的感知引擎的示例的示图;

图24是根据一些实施例的生成感知引擎数据的流程图的示例;

图25是根据一些实施例的分割处理器的示例;

图26a是描绘了根据各种实施例的对象跟踪器和分类器的示例的示图;

图26b是描绘了根据至少一些示例的对象跟踪器的另一个示例的示图;

图27是根据一些示例的用于感知引擎的前端处理器的示例;

图28是描绘了根据各种实施例的被配置为在合成环境中对自主车辆进行模拟的模拟器的示图;

图29是根据一些实施例的对自主车辆的各个方面进行模拟的流程图的示例;

图30是根据一些实施例的生成地图数据的流程图的示例;

图31是描绘了根据一些实施例的制图引擎的体系结构的示图;

图32是描绘了根据一些示例的自主车辆应用的示图;以及

图33至35示出了根据各种实施例的被配置为向自主车辆服务的部件提供各种功能的各种计算平台的示例;

图36是描绘了根据一些示例的车队优化管理器的示例的示图;

图37a和37b是描绘了根据一些示例的针对被配置为存储自主车辆车队优化数据的资源库的数据类型和数据排列的示例的示图;

图38是描绘了根据一些示例的、根据优化的路由路径的集合来路由自主车辆的示例的示图;

图39是描绘了根据一些示例的根据具体交付位置来路由自主车辆的示例的示图;

图40是描绘了根据一些示例的根据自主车辆的至少一个部件的简化的功能来路由自主车辆的示例的示图;

图41是示出了根据一些示例的优化路线的集合以管理自主车辆的车队的示例的流程图;以及

图42示出了根据各种实施例的被配置为向自主车辆服务的部件提供各种与车队管理相关的功能和/或结构的各种计算平台的示例。

具体实施方式

可以按多种方式实施各种实施例或示例,包括作为系统、过程、装置、用户接口、或者诸如计算机可读存储介质的计算机可读介质或者其中通过光、电子、或者无线通信链路发送程序指令的计算机网络上的一系列程序指令来实施各种实施例或示例。总而言之,可以按任何次序执行所公开的过程的操作,除非权利要求中另行给定。

下文连同附图一起提供了一个或多个示例的具体实施方式。具体实施方式是结合这样的示例提供的,但并不限于任何特定的示例。仅由权利要求、以及诸多替代、修改、以及其等同物来限定该范围。在以下描述中阐述了许多具体细节以提供深入的理解。这些细节被提供用于示例的目的,并且可以根据权利要求而不是这些具体细节中的一些或者全部来实践所描述的技术。为了简洁起见,与所述示例相关的技术领域中已知的技术材料未详细加以描述,以避免不必要的使所述描述难以理解。

图1是描绘了根据一些实施例的与自主车辆服务平台通信连网的自主车辆的车队的实施方式的示图。示图100描绘了作为服务进行操作的自主车辆109的车队(例如自主车辆109a至109e中的一个或多个),每一个自主车辆109被配置为在路网110上自驾驶,并且建立与自主车辆服务平台101的通信链路192。在其中自主车辆109的车队构成服务的示例中,用户102可以经由一个或多个网络106向自主车辆服务平台101发射对自主运输的请求103。作为响应,自主车辆服务平台101可以从地理位置119向地理位置111派遣自主车辆109之一来自主地运输用户102。自主车辆服务平台101可以从车站190向地理位置119派遣自主车辆,或者可以调转已经在途中的自主车辆109c(例如,无乘坐者),以服务于用户102的运输请求。自主车辆服务平台101还可以被配置为响应来自用户102(例如,作为乘客)的请求而调转在途中的自主车辆109c(有乘客)。另外,自主车辆服务平台101还可以被配置为预约在途中的自主车辆109c(有乘客),以用于调转,从而在现有乘客离开之后服务于用户102的请求。注意,可以实施多个自主车辆服务平台101(未示出)和一个或多个车站190,以服务于与路网110连接的一个或多个自主车辆109。一个或多个车站190可以被配置为存储、服务、管理、和/或维护自主车辆109的库存(例如,车站190可以包括实施自主车辆服务平台101的一个或多个计算设备)。

根据一些示例,自主车辆109a至109c中的至少一些被配置为双向自主车辆,例如,双向自主车辆(“av”)130。双向自主车辆130可以被配置为主要(但不限于)沿纵轴131在任一方向上行驶。因此,双向自主车辆130可以被配置为实施位于车辆外部的主动照明,以警示附近以及双向自主车辆130所行驶的方向上的其他人(例如,其他驾驶员、行人、骑自行车的人等)。例如,当沿第一方向行驶时,可以将主动光源136实施为主动车灯138a,或者当沿第二方向行驶时,可以将主动光源136实施为主动车灯138b,可以使用一个或多个颜色的第一子集、利用可选的动画(例如,可变光强的或者可以随时间改变的颜色的车灯模式)实施主动车灯138a。相类似,可以使用一个或多个颜色的第二子集以及可不同于主动车灯138a的车灯模式的车灯模式来实施主动车灯138b。例如,可以使用作为“尾灯”的白色车灯实施主动车灯138a。主动车灯138a和138b或者它们的一部分可以被配置为提供其它与车灯相关的功能,例如,提供“转弯信号指示”功能(例如,使用黄色车灯)。根据各种示例,自主车辆130中的逻辑可以被配置为调整主动车灯138a和138b以使其符合任何数目的管辖区域的各种安全要求和交通规章或者法律。

在一些实施例中,双向自主车辆130可以被配置为在每一四边形部分(例如,四边形部分194)中具有类似的结构元件和部件。至少在该示例中,将四边形部分描述为由平面132和平面134的交集所定义的双向自主车辆130的部分,其中,平面132和平面134均穿过车辆,以在平面132和平面134的每一侧形成两个类似的一半。另外,双向自主车辆130还可以包括自主车辆控制器147,自主车辆控制器147包括被配置为控制大多数车辆功能的逻辑(例如,硬件或者软件、或者它们的组合),所述车辆功能包括驱动控制(例如,推进、转向等)和主动光源136、以及其它功能。双向自主车辆130还可以包括设置在车辆不同位置的多个传感器139(未示出其它传感器)。

自主车辆控制器147还可以被配置为确定自主车辆109的局部姿态(例如,局部位置)以及检测相对于车辆的外部对象。例如,可以认为双向自主车辆130正在路网110中沿方向119行驶。自主车辆控制器147的定位器(未示出)可以确定地理位置111处的局部姿态。于是,定位器可以使用所采集的传感器数据,例如与建筑物115和117的表面相关联的传感器数据,这些传感器数据可以与参照数据(例如,地图数据(例如,3d地图数据,包括反射数据))进行比较,以确定局部姿态。另外,自主车辆控制器147的感知引擎(未示出)还可以被配置为对外部对象(例如,外部对象112(“树”)和外部对象114(“行人”)的行为进行检测、分类、以及预测。这样的外部对象的分类可以将对象粗略地分类为诸如外部对象112的静态对象和诸如外部对象114的动态对象。av控制器147的定位器和感知引擎以及其它部件协同操作,以使自主车辆109能够自主地驾驶。

根据一些示例,自主车辆服务平台101可以被配置为:如果自主车辆109请求遥控操作,提供遥控操作员服务。例如,可以认为自主车辆109d中的自主车辆控制器147在点191(如插图120中描绘)处检测到对象126遮蔽道路122上的路径124。如果自主车辆控制器147不能够确认车辆109d可以以相当高的确定性安全行进的路径或者轨迹,则自主车辆控制器147可以发射针对遥控操作服务的请求消息105。作为响应,遥控操作员计算设备104可以从遥控操作员108接收指令以执行一系列动作来成功地(以及安全地)越过障碍物126。然后,可以将响应数据107发射回自主车辆109d,例如,以使车辆在其沿替代路径121行进时能够安全地跨过一组双线。在一些示例中,遥控操作员计算设备104可以生成标识从规划中排除某一路径的地理区域的响应。具体地讲,除了提供要遵循的路径之外,遥控操作员108还可以定义自主车辆必须避免的区域或者位置。

鉴于以上的描述,自主车辆130和/或自主车辆控制器147、以及它们的部件的结构和/或功能可以通过与自主相关的操作(例如,局部化和感知)执行实时(或者接近实时)的轨迹计算,以使自主车辆109能够自驾驶。

在一些情况下,双向自主车辆130的双向特性提供了具有互相类似或者基本互相类似的四边形部分194(或者任何其它数目的对称部分)的车辆。这样的对称降低了设计的复杂性,并且相对减少了独有部件或者结构的数目,从而降低了库存和制造方面的复杂度。例如,可以将动力传动系统和车轮系统设置在四边形部分194中的任何一个中。另外,自主车辆控制器147还可以被配置为引用遥控操作服务,以降低自主车辆109在途中延迟的可能性,同时解决了否则可能会影响乘坐者的安全的事件或者问题。在一些情况下,路网110的可见部分描绘了可以限制、或以其它方式控制自主车辆109向图1中所示的路网的移动的地理围划区。根据各种示例,自主车辆109及其车队可以被配置为作为级别4(“全自驾驶自动化”或者l4)车辆进行操作,这种车辆可以向按需运输提供点到点个人移动性的便捷性和私有性,同时提供了共享车辆的效率。在一些示例中,自主车辆109或者本文所描述的任何自主车辆可以被配置为省略了方向盘或者为自主车辆109提供手动(即,人控制的)转向的任何其它机械装置。另外,自主车辆109、或者本文所描述的任何自主车辆还可以被配置为省略了车辆中为乘坐者预留的座椅或者位置以用于方向盘或者针对转向系统的任何机械接口。

图2是根据一些实施例的监测自主车辆的车队的流程图的示例。在202处,流程200开始于监测自主车辆的车队。至少一个自主车辆包括被配置为使车辆自主地从第一地理区域行进至第二地理区域的自主车辆控制器。在204处,检测表示与车辆的所计算的置信水平相关联的事件的数据。事件可以是影响自主车辆的操作、或者可能影响自主车辆的操作的条件或者情况。事件可能在自主车辆内部,也可能在自主车辆外部。例如,可以将阻碍道路的障碍物视为事件,也可以将通信的减弱或者损失视为事件。事件可以包括交通条件或者阻塞情况、以及感知引擎所感知的不可预料的或者不寻常数目或者类型的外部对象(或者跟踪)。事件可以包括与天气相关的条件(例如,由于冰或者雨所导致的摩擦力的损失)或者太阳照射的角度(例如,日落时),例如导致太阳闪耀其它车辆的人类驾驶员的眼睛的低地平线角。可以将这些或者其它条件视为致使调用遥控操作员服务或者使车辆执行安全停止轨迹的事件。

在206处,可以响应于检测到事件而从自主车辆接收表示候选轨迹的子集的数据。例如,自主车辆控制器的规划器可以在每单位时间(例如,秒)计算和估计大量(例如,数千或者更多)轨迹。在一些实施例中,候选轨迹是在考虑事件的情况下提供自主车辆可以安全地向前移动(例如,使用遥控操作员所提供的替代路径)的相当高的置信水平的轨迹的子集。注意,可以对一些候选轨迹进行等级排列或者将它们与高于其它候选轨迹的置信度相关联。根据一些示例,候选轨迹的子集可以源自任何数目的源,例如规划器、轨迹操作员计算设备(例如,遥控操作员可以确定并提供近似的路径)等,并且可以将它们组合作为候选轨迹的超集。在208处,可以在一个或多个处理器处标识路径导引数据。路径导引数据可以被配置为协助遥控操作员从候选轨迹中的一个或多个中选择导引轨迹。在一些实例中,路径导引数据指定指示置信水平的值、或者指示特定候选轨迹可以降低或者否定事件可能损害自主车辆的操作的概率的确定程度的概率。在210处,可以响应于来自遥控操作员的输入而接收导引轨迹作为选择的候选轨迹(例如,遥控操作员可以从一组不同等级的候选轨迹中选择至少一个候选轨迹选择为导引轨迹)。例如,可以经由列出多个候选轨迹的操作员接口、按最高置信水平至最低置信水平的次序进行这一选择。在212处,可以将作为导引轨迹的候选轨迹的选择发射到车辆,进而,通过使车辆执行遥控操作员指定的操纵来实施用于解决所述条件的导引轨迹。这样,自主车辆可以从非规范的操作状态进行转换。

图3a是描绘了根据一些示例的传感器以及其它自主车辆部件的示例的示图。示图300描绘了双向自主车辆330的内部视图,双向自主车辆330包括传感器、信号路由器345、动力传动系统349、可拆卸电池343、音频生成器344(例如,扬声器或者变频器)、以及自主车辆(“av”)控制逻辑347。示图300中所示的传感器包括图像捕获传感器340(例如,任何类型的光捕获设备或者摄像机)、音频捕获传感器242(例如,任何类型的麦克风)、雷达设备348、声纳设备341(或者其它类似传感器,包括超声波传感器或者与声音相关的传感器)、以及激光雷达设备346、以及其它传感器类型和形式(其中一些未被示出,例如,惯性测量单元(即“imu”)、全球定位系统(“gps”)传感器、声纳传感器等)。注意,四边形部分350表示双向自主车辆330的4个“四边形部分”中的每一个的对称性(例如,除了所描述的之外,每一个四边形部分350可以包括车轮、动力传动系统349、类似的转向机制、类似的结构支持和构件等)。如图3a中所描述的,可以将类似的传感器放置在每一个四边形部分350中的类似的位置,然而,可以实施任何其它配置。每一个车轮可以单独转向,并且独立于其它车轮转向。还应该注意,可拆卸电池343可以被配置为有助于放入和取出,而不是在原位置充电,从而确保由于必需为电池343充电而带来的检修时间减少或者可忽略。尽管将自主车辆控制器347a描述为在双向自主车辆330中使用,然而自主车辆控制器347a并不限于此,并且可以在单向自主车辆或者任何其它类型的车辆中实施,无论是在陆地、在空中、或者在海上。注意,并不旨在对图3a中所示的传感器的所描绘和所描述的定位、位置、方向、数量、以及类型加以限制,于是,可以存在任何数目和任何类型的传感器,并且可以将任何传感器定位和定向在自主车辆330上的任何地方。

根据一些实施例,可以使用实施适合于对图形处理单元(“gpu”)的群集进行编程的框架和编程模型的gpu的群集来实施自主车辆(“av”)控制逻辑347的部分。例如,可以使用计算统一设备体系结构(“cuda”)可兼容的编程语言和应用编程接口(“api”)模型对gpu进行编程。由加利福尼亚santaclara的nvidia生产和维护cudatm。注意,也可以实施其它编程语言,例如,opencl,或者任何其它并行编程语言。

根据一些实施例,可以采用硬件和/或软件将自主车辆控制逻辑347实施为自主车辆控制器347a,其被描述为包括运动控制器362、规划器364、感知引擎366、以及定位器368。如所示,自主车辆控制器347a被配置为接收摄像机数据340a、激光雷达数据346a、以及雷达数据348a、或者任何其它范围感测或者局部化数据,包括声纳数据341a等。自主车辆控制器347a还被配置为接收定位数据,例如gps数据352、imu数据354、以及其它定位感测数据(例如,与车轮相关的数据,例如转向角、角速度等)。另外,自主车辆控制器347a可以接收任何其它传感器数据356、以及参照数据339。在一些情况下,参照数据339包括地图数据(例如,3d地图数据、2d地图数据、4d地图数据(例如,包括时间确定))以及路线数据(例如,路网数据,包括但不限于rndf数据(或者类似数据)、mdf数据(或者类似数据)等。

定位器368被配置为从一个或多个源接收传感器数据,例如,gps数据352、车轮数据、imu数据354、激光雷达数据346a、摄像机数据340a、雷达数据348a等、以及参照数据339(例如,3d地图数据和路线数据)。定位器368通过将传感器数据与地图数据进行比较来集成(例如,融合传感器数据)和分析数据,以确定双向自主车辆330的局部姿态(或者位置)。根据一些实施例,定位器368可以实时或者近似实时地生成或者更新任何自主车辆的姿态或者位置。注意,定位器368及其功能不必局限于“双向”车辆,而是可以在任何类型的任何车辆中实施。因此,可以在“单向”车辆或者任何非自主车辆中实施定位器368(以及av控制器347a的其它部件)。根据一些实施例,描述局部姿态的数据可以包括x坐标、y坐标、z坐标中的一个或多个(或者任何坐标系(包括极坐标系或者柱坐标系等)的任何坐标)、偏转值、滚动值、俯仰值(例如,角度值)、速率(例如,速度)、高度等。

感知引擎366被配置为从一个或多个源接收传感器数据,例如,激光雷达数据346a、摄像机数据340a、雷达数据348a等、以及局部姿态数据。感知引擎366可以被配置为基于传感器数据和其它数据确定外部对象的位置。例如,外部对象可以是不为可驾驶路面的部分的对象。例如,感知引擎366能够检测外部对象,并且可以将其分类为行人、骑自行车的人、狗、其它车辆等(例如,感知引擎366可以被配置为根据分类的类型对对象进行分类,可以将其与语义信息相关联,包括标签)。基于这些外部对象的分类,可以将外部对象标记为动态对象或者静态对象。例如,可以将被分类为树的外部对象标记为静态对象,而将被分类为行人的外部对象标记为静态对象。可以或者不可以在地图数据中描述被标记为静态的外部对象。可能被标记为静态的外部对象的示例包括锥形交通路标、跨道路布置的水泥路障、车道封闭标志、邻近道路的新放置的邮箱或者垃圾桶等。可能被标记为动态的外部对象的示例包括骑自行车的人、行人、动物、其它车辆等。如果外部对象被标记为动态,并且有关外部对象的其它数据可以指示活动和速度的典型水平、以及与分类类型相关联的行为模式。可以通过跟踪外部对象来生成有关外部对象的其它数据。于是,可以使用分类类型来预测或以其它方式确定外部对象例如可能干扰沿所规划的路径行驶的自主车辆的可能性。例如,可以将被分类为行人的外部对象与某一最大速度、以及平均速度相关联(例如,基于跟踪数据)。可以使用相对于自主车辆的速度的行人的速度来确定是否可能发生碰撞。另外,感知引擎364可以确定与对象的当前和未来状态相关联的不确定水平。在一些示例中,可以将不确定水平表示为所估计的值(或者概率)。

规划器364被配置为从感知引擎366接收感知数据,并且还可以包括来自定位器368的定位器数据。根据一些示例,感知数据可以包括指定位于自主车辆附近的静态和动态对象的障碍物地图,而定位器数据可以包括局部姿态或者位置。在操作中,规划器364基于自主车辆的至少一个位置、针对外部动态和静态对象的相对位置来生成若干轨迹,并且对这些轨迹进行估计。规划器364基于各种准则选择最优轨迹,通过所述准则来将自主车辆导向到提供无碰撞行驶的路上。在一些示例中,规划器364可以被配置为计算轨迹作为概率确定的轨迹。另外,规划器364还可以将转向和推进命令(以及减速或者刹车命令)发射到运动控制器362。接下来,运动控制器362可以将所述命令中的任何命令(例如,转向命令、降速或者推进命令、以及刹车命令)转换为控制信号(例如,用于施加到致动器或者其它机械接口),以实施转向或者车轮角度351和/或速度353的改变。

图3b至3e是描绘了根据一些示例的传感器场冗余和自主车辆对传感器场的损失的适应的示例的示图。图3b的示图391描述了传感器场301a,其中,传感器310a对对象进行检测(例如,用于确定范围或者距离、或者其它信息)。尽管传感器310a可以实施任何类型的传感器或者传感器形式,但传感器310a和类似描述的传感器(例如传感器310b、310c、以及310d)可以包括激光雷达设备。因此,传感器场301a、301b、310c、以及310d均包括激光在其中延伸的场。图3c的示图392描绘了四个重叠的传感器场,由相应的激光雷达传感器310(未示出)生成其中的每一个传感器场。如所示,传感器场的部分301包括无重叠传感器场(例如,单个激光雷达场)、传感器场的部分302包括两个重叠的传感器场,并且部分303包括三个重叠的传感器场,于是,如果激光雷达传感器出现故障,则这样的传感器提供多个水平的冗余度。

图3d描绘了根据一些示例的因激光雷达309的故障操作所导致的传感器场的损失。将图3c的传感器场302变换为单个传感器场305,图3c的传感器场301之一在缝隙304损失,并且将图3c的传感器场303中的三个变换为传感器场306(即,限制于两个重叠的场)。如果自主轿车330c沿行驶方向396行驶,则移动的自主车辆的前方的传感器场与尾端部分处的传感器场相比较不鲁棒。根据一些示例,自主车辆控制器(未示出)被配置为利用自主车辆330c的双向特性解决车辆前方引导区域的传感器场的损失。图3e描述了用于恢复自主车辆330d前方传感器场的一定鲁棒性的双向操纵。如所示,将更鲁棒的传感器场302设置在车辆330d的后方,与尾灯348处于同一空间。在方便的时候,自主车辆330d通过开进行车道397以及切换其方向性以使尾灯348主动切换至自主车辆330d的另一侧(例如,尾端)来执行双向操纵。如所示,当其沿行驶方向398行驶时,自主车辆330d恢复车辆前方的鲁棒的传感器场302。另外,以上所描述的双向操纵消除了对要求向繁忙的道路倒车的较复杂的操纵的需求。

图4是描绘了根据一些示例的包括自主车辆服务平台的系统的功能框图,自主车辆服务平台经由通信层而通信地耦合到自主车辆控制器。示图400描述了设置在自主车辆430中的自主车辆(“av”)控制器447,自主车辆430又包括耦合于自主车辆控制器447的多个传感器470。传感器470包括一个或多个激光雷达设备472、一个或多个摄像机474、一个或多个雷达476、一个或多个全球定位系统(“gps”)数据接收器传感器、一个或多个惯性测量单元(“imu”)475、一个或多个里程计传感器477(例如,车轮编码器传感器、车轮速度传感器等)、以及任何其它适合的传感器478(例如,红外摄像机或者传感器)、高光谱能力传感器、超声波传感器(或者任何其它基于声能的传感器)、基于射频的传感器等。在一些情况下,可以包括被配置为感测车轮的转向角度的车轮角度传感器作为里程计传感器477或者适合的传感器478。在非限制性示例中,自主车辆控制器447可以包括四个或者更多的激光雷达472、十六个或者更多的摄像机474以及四个或者更多的雷达单元476。另外,传感器470还可以被配置为向自主车辆控制器447的部件以及自主车辆服务平台401的元件提供传感器数据。如示图400中所示,自主车辆控制器447包括规划器464、运动控制器462、定位器468、感知引擎466、以及局部地图生成器440。注意,图4的示图400中所描述的元件可以包括与结合一个或多个其它图所描述的类似命名的元件相同的结构和/或功能。

定位器468被配置为相对于参照数据使自主车辆局部化(即,确定局部姿态),参照数据可以包括地图数据、路线数据(例如,路网数据,例如类似rnof的数据)等。在一些情况下,例如,定位器468被配置为标识空间中的可以表示自主车辆430相对于环境表示特征的位置的点。定位器468被示为包括传感器数据集成器469,其可以被配置为集成传感器数据的多个子集(例如,不同的传感器形式),以降低与传感器的每个个体类型相关的不确定性。根据一些示例,传感器数据集成器469被配置为对传感器数据(例如,激光雷达数据、摄像机数据、雷达数据等)进行融合,以形成用于确定局部姿态的集成的传感器数据值。根据一些示例,定位器468检索源自参照数据资源库405的参照数据,资源库405包括用于存储2d地图数据、3d地图数据、4d地图数据等的地图数据资源库405a。定位器468可以被配置为至少标识环境中的特征的子集,以与标识或以其它方式确认自主车辆430的姿态的地图数据进行匹配。根据一些示例,定位器468可以被配置为标识环境中的任何量的特征,以使特征的集合可以具有一个或多个特征或者所有特征。在特定示例中,可以将任何量的激光雷达数据(例如,大多数或者大体上所有激光雷达数据)与用于局部化目的的表示地图的数据进行比较。通常,通过环境特征和地图数据的比较所得到的无匹配对象可以是动态对象,例如车辆、骑自行车的人、行人等。注意,可以在有或没有地图数据的情况下执行动态对象(包括障碍物)的检测。具体地讲,可以独立于地图数据(即,在无地图数据的情况下)检测和跟踪动态对象。在一些示例中,可以将2d地图数据和3d地图数据视为“全球地图数据”或者自主车辆服务平台401在某一时刻已经验证过的地图数据。由于能够周期性地更新和/或验证地图数据资源库405a中的地图数据,在地图数据和自主车辆位于其中的实际环境之间可能存在偏差。因此,定位器468可以检索局部地图生成器440所生成的局部获得的地图数据,以加强局部化。局部地图生成器440被配置为实时或者接近实时地生成局部地图数据。任选地,例如,局部地图生成器440可以接收静态和动态对象地图数据,以通过不理会局部化中的动态对象来增强局部生成的地图的准确性。根据至少一些实施例,局部地图生成器440可以与定位器468集成或者形成为定位器468的一部分。在至少一种情况下,局部地图生成器440可以单独或者与定位器468合作地被配置为基于同时局部化和制图(“slam”)等生成地图和/或参照数据。注意,定位器468可以实施使用地图数据的“混合”方案,由此定位器468中的逻辑可以被配置为从地图数据资源库405a选择各种量的地图数据,或者从局部地图生成器440选择局部地图数据,取决于每个地图数据源的可靠性程度。因此,就局部生成的地图数据而言,定位器468可能仍在使用过期的地图数据。

例如,感知引擎466被配置为:通过标识自主车辆430正在其中行进的周围环境中的感兴趣对象来辅助规划器464规划路线并生成轨迹。另外,还可以将概率与每一个感兴趣对象相关联,由此概率可以表示感兴趣对象可能是对安全行驶的威胁的可能性(例如,快速移动的摩托车,而不是坐在公共汽车站长椅上正在读报的人可能需要加强的跟踪)。如所示,感知引擎466包括对象检测器442和对象分类器444。对象检测器442被配置为相对于环境中的其它特征区分对象,并且对象分类器444可以被配置为将对象分类为动态或者静态对象,并且跟踪动态和静态对象相对于自主车辆430的位置,以用于规划目的。另外,感知引擎466可以被配置为向指定对象是否为(或者可能成为)可能损害规划器464处的路径规划的障碍物的静态或者动态对象分配标识符。尽管图4中未示出,但注意,感知引擎466也可以执行其它与感知相关的功能,例如,分割和跟踪,以下描述了分割和跟踪的示例。

规划器464被配置为经由可用的多个路径或者路线生成用于实现到达目的地的目标的多个候选轨迹。轨迹估计器465被配置为估计候选轨迹,并且标识候选轨迹的哪些子集与向目的地提供无碰撞路径的较高程度的置信水平相关联。于是,轨迹估计器465可以基于用于引起命令生成用于车辆部件450(例如,致动器或者其它机制)的控制信号的相关准则来选择最优轨迹。注意,相关准则可以包括定义最优轨迹的任何数目的因素,不需要将最优轨迹的选择限制为减少碰撞。例如,可以使轨迹的选择能够优化用户体验(例如,用户舒适度)以及遵守交通规则和法律的无碰撞轨迹。可以通过沿各种直线和角方向适度加速来优化用户体验(例如,以减少类似颠簸的行驶或者其它使人不愉快的运动)。在一些情况下,相关准则的至少一部分可以指定哪些其它准则要重写或者取代。例如,当在受限情形中生成轨迹时,可以临时强化或者削弱法律限制(例如,跨越双黄线以绕过骑自行车的人前进,或者按高于所标出的速度限制行驶以匹配交通流)。于是,控制信号被配置为导致动力传动系统和/或车轮处的推进力和方向的变化。在该示例中,运动控制器462被配置为将命令变换为用于控制自主车辆430的移动的控制信号(例如,速度、车轮角度等)。在轨迹估计器465具有不充足的用于确保高到足以提供无碰撞的优化行驶的置信水平的信息的情况下,规划器464可以向遥控操作员404生成对遥控操作员支持的请求。

自主车辆服务平台401包括遥控操作员404(例如,遥控操作员计算设备)、参照数据资源库405、地图更新器406、车辆数据控制器408、校准仪409、以及离线对象分类器410。注意,自主车辆服务平台401的每个元件可以被独立地定位或者分布,并且与自主车辆服务平台401中的其它元件进行通信。另外,自主车辆服务平台401的元件可以经由通信层402独立地与自主车辆430进行通信。地图更新器406被配置为接收地图数据(例如,从局部地图生成器440、传感器460、或者自主车辆控制器447的任何其它部件),并且进一步被配置为根据局部生成的地图来检测例如地图数据资源库405a中的地图数据的偏差。车辆数据控制器408可以使地图更新器406更新资源库405中的参照数据,并且促进对2d、3d、和/或4d地图数据的更新。在一些情况下,车辆数据控制器408可以控制局部地图数据被接收到自主车辆服务平台408中的速率以及地图更新器406执行对地图数据的更新的频率。

校准仪409被配置为执行对相同或者不同类型的各种传感器的校准。校准仪409可以被配置为确定传感器的相对姿态(例如,在笛卡儿空间(x,y,z)中)以及传感器的取向(例如,滚动、偏转和俯仰)。可以相对于其它传感器、以及全局地相对于车辆的参考系来校准诸如摄像机、激光雷达传感器、雷达传感器等传感器的姿态和取向。离线自校准也可以校准或者估计其它参数,例如,车辆惯性张量、车轮轴距、车轮半径或者表面道路摩擦力。根据一些示例,也可以在线进行校准,以检测参数变化。也应该注意,校准仪409的校准可以包括传感器的本征参数(例如,光扭曲、光束角等)以及非本征参数。在一些情况下,例如,可以通过最大化3d激光数据中的深度不连续性和图像数据的边缘之间的相关性来执行校准仪409。离线对象分类410被配置为从传感器470或者从自主车辆控制器447的任何其它部件接收数据,例如,传感器数据。根据一些实施例,离线对象分类410的离线分类管线可以被配置为预收集和注释对象(例如,由人手工地和/或使用离线标记算法自动地),并且还可以被配置为训练在线分类器(例如,对象分类器444),在在线自主操作期间,在线分类器可以提供对象类型的实时分类。

图5是根据一些实施例的控制自主车辆的流程图的示例。在502处,流程500开始于例如由自主车辆控制器接收到自主车辆处的源自多种形式传感器的传感器数据。可以将传感器数据的一个或多个集成在一起以生成融合数据,以例如提高估计水平。在一些示例中,在504处,可以将一个或多个传感器的传感器流(例如,相同或者不同形式的)融合,以形成融合的传感器数据。在一些示例中,在504处,可以将激光雷达传感器数据和摄像机传感器数据的子集融合,以促进局部化。在506处,可以在处理器处获得表示基于传感器数据的至少两个子集的对象的数据。例如,至少可以从激光雷达和摄像机数据获得(例如,在感知引擎处)标识静态对象或者动态对象的数据。在508处,确定所检测的对象影响所规划的路径,并且在510处响应于所检测的对象而估计(例如,在规划器处)轨迹的子集。在512处,确定置信水平超过与自主车辆的规范操作相关联的可接受置信水平的范围。因此,在该情况下,置信水平可以是使得不太可能确定对最优路径的选择,由此,可以将最优路径确定为促进无碰撞行驶、符合交通法规、提供舒适的用户体验(例如,舒适的搭乘)、和/或针对任何其它因素生成候选轨迹的概率的函数。于是,在514处,可以将对替代路径的请求发射到遥控操作员计算设备。此后,遥控操作员计算设备可以向规划器提供使自主车辆在其上行驶的最优轨迹。在一些情况下,车辆也可以确定执行安全停止操纵是动作的最优过程(例如,安全且自主地使自主车辆停在具有相对低危险概率的位置)。注意,在该流程图中以及在本文的其它流程图中描绘的次序不旨在暗示对线性地执行各种功能的要求,因为可以顺序地、或者与流程图的任何一个或多个其它部分并行地、以及独立于或者依赖于流程图的其它部分来执行流程图的每个部分。

图6是描绘了根据一些实施例的自主车辆控制器的体系结构的示例的示图。示图600描绘了多个过程,包括运动控制器过程662、规划器处理器664、感知过程666、制图过程640、以及局部化过程668,其中的一些可以生成或者接收与其它过程相关的数据。其它过程,例如,过程670和650可以促进与自主车辆的一个或多个机械部件进行交互。例如,感知过程666、制图过程640、以及局部化过程668被配置为从传感器670接收传感器数据,而规划器过程664和感知过程666被配置为接收导引数据606,导引数据606可以包括诸如路网数据的路线数据。进一步针对示图600,局部化过程668被配置为接收地图数据605a(即,2d地图数据)、地图数据605b(即,3d地图数据)、以及局部地图数据642、以及其它类型的地图数据。例如,局部化过程668也可以接收诸如4d地图数据的其它形式的地图数据,例如,4d地图数据可以包括时间确定。局部化过程668被配置为生成表示局部姿态的局部位置数据641。将局部位置数据641提供到运动控制器过程662、规划器过程664、以及感知过程666。感知过程666被配置为生成静态和动态对象地图数据667,进而,可以将静态和动态对象地图数据667发射到规划器过程664。在一些示例中,可以与其它数据(例如,语义分类信息和所预测的对象行为)一起发射静态和动态对象地图数据667。规划器过程664被配置为生成轨迹数据665,轨迹数据665描述了规划器664所生成的多个轨迹。运动控制器过程使用轨迹数据665生成低级命令或者控制信号以施加到致动器650,以导致转向角度和/或速度的变化。

图7是描绘了根据一些实施例的自主车辆服务平台的示例的示图,自主车辆服务平台实施冗余通信信道来维持与自主车辆车队的可靠通信。示图700描述了自主车辆服务平台701,自主车辆服务平台701包括参照数据生成器705、车辆数据控制器702、自主车辆车队管理器703、遥控操作员管理器707、模拟器740、以及策略管理器742。参照数据生成器705被配置为生成和修改地图数据和路线数据(例如,rndf数据)。另外,参照数据生成器705可以被配置为访问2d地图数据资源库720中的2d数据、访问3d地图数据资源库722中的3d数据、以及访问路线数据资源库724中的路线数据。在一些示例中,也可以实施其它地图表示数据和资源库,例如包括时间确定的4d地图数据。车辆数据控制器702可以被配置为执行各种操作。例如,车辆数据控制器702可以被配置为基于通过信道770的通信的质量水平来改变在自主车辆服务车队与平台701之间交换数据的速率。在带宽受限时段期间,例如,可以对数据通信进行优先级排序,以使来自自主车辆730的遥控操作请求的优先级为高,以确保交付。另外,也可以通过信道770发射每车辆的数据抽取的可变水平,取决于可用于特定信道的带宽。例如,在存在鲁棒的网络连接的情况下,可以发射全激光雷达数据(例如,大体上全部激光雷达数据,但也可以少一些),而在存在降级的或者低速率连接的情况下,可以发射数据的更简单或者更抽象的描述(例如,具有相关联的元数据的边界框等)。自主车辆车队管理器703被配置为协调自主车辆730的派遣,以优化多个变量,包括电池电源的高效使用、行驶时间、在电池低充电量状态期间是否可以使用自主车辆730中的空调单元等,为了优化与操作自主车辆服务相关联的成本功能,可以对其中任何一项或者全部进行监测。可以实施算法以分析针对自主车辆车队的用于最小化行驶成本或者时间的各种变量。另外,为了最大化车队的正常运行时间,自主车辆车队管理器703维护自主车辆的库存以及用于适应服务调度的部分。

遥控操作员管理器707被配置为管理遥控操作员708通过其提供输入的多个遥控操作员计算设备704。模拟器740被配置为模拟一个或多个自主车辆730的操作、以及遥控操作员管理器707和自主车辆730之间的交互。模拟器740还可以模拟设置在自主车辆730中的多个传感器的操作(包括所模拟的噪声的引入)。另外,还可以模拟环境(例如,城市),从而能够将模拟的自主车辆引入合成的环境,由此,所模拟的传感器可以接收诸如所模拟的激光返回的所模拟的传感器数据。模拟器740也可以提供其它功能,包括对软件更新和/或地图数据的验证。考虑到自主车辆在路网中行驶时会遇到的各种条件或者事件,策略管理器742被配置为维护表示自主车辆应该遵守的策略或规则。在一些情况下,鉴于策略的改变,可以在模拟器740中模拟更新的策略和/或规则,以确认自主车辆的车队的安全操作。在下文进一步描述自主车辆服务平台701的上述元件中的一些。

通信信道770被配置为提供自主车辆730的车队和自主车辆服务平台701之间的网络通信链路。例如,通信信道770包括多个不同类型的网络771、772、773和774,它们具有相应的子网络(例如,771a至771n),以确保可靠地操作自主车辆服务的一定冗余度水平。例如,通信信道770中的不同类型的网络可以包括不同的蜂窝网络提供商、不同类型的数据网络等,以在由于一个或多个网络771、772、773和774中的故障而导致的通信减弱或者损失的情况下确保足够的带宽。

图8是描绘了根据一些实施例的被配置为在各种应用之间交换数据的消息处理应用的示例的示图。示图800描述了设置在遥控操作员管理器中的遥控操作员应用801、以及设置在自主车辆中的自主车辆应用830,由此,遥控操作员应用801和自主车辆应用830经由促进在各种网络(例如,网络871、872、以其它网络873)上进行通信的协议来交换消息数据。根据一些示例,通信协议是被实施为具有由对象管理组联盟所维持的规范的数据分发服务tm的中间件协议。根据通信协议,遥控操作员应用801和自主车辆应用830可以包括设置在消息域中的消息路由器854、被配置为与遥控操作员api852接口连接的消息路由器。在一些示例中,消息路由器854是路由服务。在一些示例中,可以由遥控操作员标识符标识遥控操作员应用801中的消息域850a,而可以将消息域850b标识为与车辆标识符相关联的域。遥控操作员应用801中的遥控操作员api852被配置为与遥控操作员过程803a至803c接口连接,由此使遥控操作员过程803b与自主车辆标识符804相关联、以及使遥控操作员过程803c与事件标识符806(例如,指定无碰撞路径规划可能有问题的十字路口的标识符)相关联。自主车辆应用830中的遥控操作员api852被配置为与自主车辆操作系统840接口连接,自主车辆操作系统840包括感测应用842、感知应用844、局部化应用846、以及控制应用848。鉴于以上描述,以上所描述的通信协议可以促进数据交换,以促进本文所描述的遥控操作。另外,以上所描述的通信协议可以适合于在一个或多个自主车辆以及一个或多个自主车辆服务平台之间提供安全数据交换。例如,消息路由器854可以被配置为对消息进行加密和解密,以在例如遥控操作员过程803和自主车辆操作系统840之间提供安全的交互。

图9是描绘了根据一些示例的用于使用图8中所描述的通信协议促进遥控操作的数据的类型的示图。示图900描述了遥控操作员908,遥控操作员908与耦合于遥控操作员应用901的遥控操作员计算设备904接口连接,遥控操作员应用901被配置为经由在一个或多个网络971中实施的以数据为中心的消息处理总线972交换数据。以数据为中心的消息处理总线972在遥控操作员应用901和自主车辆应用930之间提供通信链路。遥控操作员应用901的遥控操作员api962被配置为接收消息服务配置数据964和路线数据960,例如,路网数据(例如,类似rndf的数据)、任务数据(例如,mdf数据)等。类似地,消息处理服务桥932也被配置为接收消息处理服务配置数据934。消息处理服务配置数据934和964提供配置数据以配置遥控操作员应用901和自主车辆应用930之间的消息处理服务。消息处理服务配置数据934和964的示例包括被实施为配置数据分发服务tm应用的服务质量(“qos”)配置数据。

用于促进经由通信协议进行遥控操作的数据交换的示例描述如下。可以认为由自主车辆控制器的感知系统生成障碍物数据920。另外,由规划器生成规划器选项数据924,以向遥控操作员通知候选轨迹的子集,以及由定位器生成位置数据926。将障碍物数据920、规划器选项数据924、以及位置数据926发射到消息处理服务桥932,消息处理服务桥932根据消息服务配置数据934生成遥测数据940和询问数据942,经由以数据为中心的消息处理总线972将这两者作为遥测数据950和询问数据952发射到遥控操作员应用901中。遥控操作员api962接收遥测数据950和询问数据952,进而,在考虑到路线数据960和消息服务配置数据964的情况下对遥测数据950和询问数据952进行处理。所得到的数据随后经由遥控操作员计算设备904和/或合作显示器(例如,对一组合作的遥控操作员908可见的仪表板显示器)被呈现给遥控操作员908。遥控操作员908回顾呈现在遥控操作员计算设备904的显示器上的候选轨迹选项,并且选择生成命令数据982和询问响应数据980的导引轨迹,这两者作为询问响应数据954和命令数据956被传送通过遥控操作员api962。进而,经由以数据为中心的消息处理总线972将询问响应数据954和命令数据956作为询问响应数据944和命令数据946发射到自主车辆应用930中。消息处理服务桥932接收询问响应数据944和命令数据946,并且生成遥控操作员命令数据928,其被配置为生成由规划器实施的遥控操作员选择的轨迹。注意,以上所描述的消息处理过程并非限制性的,并且也可以实施其它消息处理协议。

图10是示出了根据一些实施例的遥控操作员可以使用其影响路径规划的遥控操作员接口的示例的示图。示图1000描述了与自主车辆服务平台1001通信的自主车辆1030的示例,自主车辆服务平台1001包括被配置为促进遥控操作的遥控操作员管理器1007。在第一示例中,遥控操作员管理器1007接收数据,该数据要求遥控操作员1008优先观察接近潜在障碍物或者低规划器置信水平的区域的自主车辆的路径,以使遥控操作员1008能够预先解决问题。为了进行说明,认为可以将自主车辆正在接近的十字路口标记为有问题。于是用户接口1010显示沿路径1012行进的相应的自主车辆1030的表示1014,由规划器生成的多个轨迹已经预测到路径1012。同样显示的是其它车辆1011和动态对象1013(例如,行人),这可能导致规划器处的较大困惑,因此要求遥控操作支持。用户接口1010还向遥控操作员1008呈现当前速度1022、速度限制示例,用户接口1010可以显示其它数据,例如从自主车辆1030采集的传感器数据。在第二示例中,认为规划器1064已经生成了与规划器生成的路径1044处于同一空间的多个轨迹,而不管所检测的未标识的对象1046如何。规划器1064也可以生成候选轨迹1040的子集,但在该示例中,如果给定了当前置信水平,则规划器不能继续。如果规划器1064不能够确定替代路径,则可以发射遥控操作请求。在该情况下,遥控操作员可以选择候选轨迹1040之一,以促进自主车辆1030的与基于遥控操作员的路径1042一致的行驶。

图11是描绘了根据一些示例的被配置为调用遥控操作的规划器的示例的示图。示图1100描述了规划器1164,规划器1164包括地形管理器1110、路线管理器1112、路径生成器1114、轨迹估计器1120、以及轨迹跟踪器1128。地形管理器1110被配置为接收地图数据,例如3d数据或者指定地形特征的其它类似地图数据。地形管理器1110被进一步配置为基于至目的地的路径上的与地形相关的特征来标识候选路径。根据各种示例,地形管理器1110接收与车队中的一个或多个自主车辆相关联的传感器所生成的3d地图。路线管理器1112被配置为接收环境数据1103,环境数据1103可以包括与能够被选择为至目的地的路径的一个或多个路线相关联的与交通相关的信息。路径生成器1114从地形管理器1110和路线管理器1112接收数据,并且生成适合于将自主车辆导向目的地的一个或多个路径或者路径段。表示一个或多个路径或者路径段的数据被发射到轨迹估计器1120中。

轨迹估计器1120包括状态和事件管理器1122,进而,状态和事件管理器1122可以包括置信水平生成器1123。轨迹估计器1120还包括导引轨迹生成器1126和轨迹生成器1124。另外,规划器1164被配置为接收策略数据1130、感知引擎数据1132、以及定位器数据1134。

根据一些示例,策略数据1130可以包括规划器1164用于确定具有用来生成轨迹的足够的置信水平的路径。策略数据1130的示例包括指定由偏离外部对象的距离(例如,如果可能的话,保持与骑自行车的人相距3英尺的安全缓冲距离)限制轨迹生成的策略、或者要求轨迹必须不跨越中心双黄线的策略、或者要求将轨迹限制于4车道道路中的单个车道的策略(例如,基于过去的事件,例如在最靠近公共汽车站的车道通常十分拥塞)、以及由策略指定的任何其它类似的准则。感知引擎数据1132包括感兴趣的静态对象和动态对象的位置的地图,并且定位器数据1134至少包括局部姿态或者位置。

状态和事件管理器1122可以被配置为根据概率确定自主车辆的操作状态。例如,第一操作状态(即,“规范操作”)可以描述其中轨迹为无碰撞的情形,而第二操作状态(即,“非规范操作”)可以描述其中与可能的轨迹相关联的置信水平不足以保证无碰撞行驶的另一种情形。根据一些示例,状态和事件管理器1122被配置为使用感知数据1132确定自主车辆的状态为规范还是非规范。置信水平生成器1123可以被配置为分析感知数据1132以确定自主车辆的状态。例如,置信水平生成器1123可以使用与静态和动态对象相关联的语义信息以及相关联的概率估计来增强规划器1164确定安全动作方针的确定度。例如,规划器1164可以使用指定对象是人或者不是人的概率的感知引擎数据1132来确定规划器1164是否正在安全操作(例如,规划器1164可以接收对象有98%的概率是人、以及对象有2%的概率不是人的确定度)。

当确定置信水平(例如,基于统计和概率确定)低于所预测的安全操作所要求的阈值时,相对低的置信水平(例如,单概率分数)可以触发规划器1164向自主车辆服务平台1101发射对遥控操作支持的请求1135。在一些情况下,遥测数据和一组候选轨迹可以伴随请求。遥测数据的示例包括传感器数据、局部化数据、感知数据等。遥控操作员1108可以经由遥控操作员计算设备1104向导引轨迹生成器1126发射选择的轨迹1137。于是,选择的轨迹1137是利用遥控操作员的导引形成的轨迹。当确认无状态变化(例如,非规范状态为待定)时,导引轨迹生成器1126将数据传送到轨迹生成器1124,进而,轨迹生成器1124使轨迹跟踪器1128(作为轨迹跟踪控制器)使用遥控操作员指定的轨迹来生成控制信号1170(例如,转向角度、速度等)。注意,在状态转换到非规范状态之前,规划器1164可以触发对遥控操作支持的请求1135的发射。具体地讲,自主车辆控制器和/或其部件能够预测到:远处的障碍物可能成为问题,并且在自主车辆到达障碍物之前优先使规划器1164调用遥控操作。否则,当遇到障碍物或者情景(例如,靠边停车和离开道路)时,自主车辆可能因向安全状态的转换而导致延迟。在另一个示例中,在自主车辆接近已知难以导航的特定位置时,可以自动调用遥控操作。如果这样的情形可能导致对传感器读数、以及从各种源所获得的交通或者事故数据的可靠性的干扰,则该确定可以任选地考虑其它因素,包括一天中的时间、太阳的位置。

图12是根据一些实施例的被配置为控制自主车辆的流程图的示例。在1202处,流程1200开始。在自主车辆中的规划器处接收表示对象的子集的数据,对象的子集包括与表示分类类型的确定度的数据相关联的至少一个对象。例如,可以将感知引擎数据分类为“年轻行人”,该分类为正确的置信水平为85%。在1204处,可以接收定位器数据(例如,在规划器处)。定位器数据可以包括在自主车辆内局部生成的地图数据。局部地图数据可以指定可能在地理区域内发生事件的确定度(包括不确定度)。事件可以是影响自主车辆的操作、或者可能影响自主车辆的操作的条件或者情形。事件可以在自主车辆内部(例如,故障或者损坏的传感器)或者在自主车辆外部(例如,道路阻塞)。本文描述了事件的示例,例如,在图2中以及在其它图和段落中。在1206处,可以确定与感兴趣地理区域处于同一空间的路径。例如,认为事件为在交通高峰时段期间阳光的强度损害了驾驶员的视线时的太阳在天空中的位置。于是,期望或者预测到:交通响应于强烈阳光而减缓。因此,如果不太可能存在避免事件的替代路径,则规划器可以优先调用遥控操作。在1208处,基于局部姿态数据在规划器处确定局部位置。在1210处,例如,可以基于分类类型的确定度和事件的确定度来确定(例如,根据概率)自主车辆的操作状态,分类类型的确定度和事件的确定度可以基于任何数目的因素,例如速度、位置、以及其它状态信息。为了例示,考虑如下示例:其中,在其他驾驶员的视线可能会受太阳损害的事件期间自主车辆检测到年轻的行人,由此导致该年轻的行人处于不安全的情形。因此,可以将相对不安全的情形检测为可能发生的概率事件(即,可以针对其调用遥控操作的不安全情形)。在1212处,确定操作状态处于规范状态的可能性,并且基于该确定,将消息发射到请求遥控操作的遥控操作员计算设备,以优先转换到下一个操作状态(例如,从规范操作状态向诸如不安全操作状态的非规范操作状态的优先转换)。

图13描述了根据一些示例的其中规划器可以生成轨迹的示例。示图1300包括轨迹估计器1320和轨迹生成器1324。轨迹估计器1320包括置信水平生成器1322和遥控操作员询问消息器1329。如所示,轨迹估计器1320耦合到感知引擎1366,以接收静态地图数据1301、以及当前和预测的对象状态数据1303。轨迹估计器1320还从定位器1368接收局部姿态数据1305以及从全局规划器1369接收规划数据1307。在一个操作状态(例如,非规范)下,置信水平生成器1322接收静态地图数据1301以及当前和预测的对象状态数据1303。基于该数据,置信水平生成器1322可以确定所检测的轨迹与不可接受的置信水平值相关联。于是,置信水平生成器1322发射所检测的轨迹数据1309(例如,包括候选轨迹的数据),以经由遥控操作员询问消息器1329通知遥控操作员,进而,遥控操作员询问消息器1329发射对遥控操作员帮助的请求1370。

在另一个操作状态(例如,非规范状态)下,将静态地图数据1301、当前和预测的对象状态数据1303、局部姿态数据1305、以及规划数据1307(例如,全局规划数据)被接收到轨迹计算器1325中,轨迹计算器1325被配置为(例如,迭代地)计算轨迹,以确定最优的一个或多个路径。然后,至少一个路径被选择,并且被作为选择的路径数据1311而发射。根据一些实施例,作为示例,轨迹计算器1325被配置为实施轨迹的重新规划。标称驾驶轨迹生成器1327被配置为按精确的方案生成轨迹,例如通过基于滚动时域控制技术来生成轨迹。接下来,例如,标称驾驶轨迹生成器1327可以将标称驾驶轨迹路径数据1372发射到轨迹跟踪器或者车辆控制器,以实施转向、加速度、以及其它部件的物理变化。

图14是描绘了根据一些实施例的自主车辆服务平台的另一个示例的示图。示图1400描述了自主车辆服务平台1401,自主车辆服务平台1401包括遥控操作员管理器1407,遥控操作员管理器1407被配置为管理遥控操作员1408、遥控操作员计算设备1404之间的交互和/或通信,并且自主车辆服务平台1401的其它部件包括模拟器1440、资源库1441、策略管理器1442、参照数据更新器1438、2d地图数据资源库1420、3d地图数据资源库1422、以及路线数据资源库1424。可以在资源库(未示出)中实施和存储其它地图数据,例如4d地图数据(例如,使用时间确定)。

遥控操作员动作推荐控制器1412包括被配置为经由自主车辆(“av”)规划器数据1472接收和/或控制遥控操作服务请求,自主车辆规划器数据1472可以包括对遥控操作员帮助的请求以及遥测数据和其它数据。于是,自主车辆规划器数据1472可以包括推荐的候选轨迹或者路径,遥控操作员1408可以经由遥控操作员计算设备1404从推荐的候选轨迹或者路径中进行选择。根据一些示例,遥控操作员动作推荐控制器1412可以被配置为访问从中选择最优轨迹的推荐的候选轨迹的其它源。例如,可以将包含在自主车辆规划器数据1472中的候选轨迹并行地引入模拟器1440,模拟器1440被配置为模拟由请求遥控操作员帮助的自主车辆所经历的事件或者状况。模拟器1440可以访问在候选轨迹集上执行模拟所需的地图数据和其它数据,因此,模拟器1440无需无休止地反复进行模拟以确认足够充分。更确切地讲,模拟器1440要么可以提供对候选轨迹的适当性的确认,要么可以警告遥控操作员小心选择轨迹。

遥控操作员交互捕获分析器1416可以被配置为捕获大量遥控操作员事务或者交互,以存储在资源库1441中,例如,至少在一些情况下,资源库1441可以累积与多个遥控操作员事务相关的数据,以用于策略的分析和生成。根据一些实施例,资源库1441还可以被配置为存储策略数据,以供策略管理器1442访问。另外,遥控操作员交互捕获分析器1416可以应用机器学习技术,以依据经验确定如何最好地响应导致对遥控操作员帮助的请求的事件或者状况。在一些情况下,策略管理器1442可以被配置为响应于对一组大量的遥控操作员交互的分析(例如,在应用机器学习技术之后),而更新特定策略或者生成新的策略。策略管理器1442管理可能被视为自主车辆控制器及其部件根据其进行操作以符合车辆的自主操作的规则或者指导原则的策略。在一些情况下,可以将修改的或者更新的策略施加到模拟器1440,以确认永久发布或者实施这样的策略变化的效力。

模拟器接口控制器1414被配置为在模拟器1440和遥控操作员计算设备1404之间提供接口。例如,认为来自自主车辆车队的传感器数据经由自主车辆(“av”)车队数据1470被施加到参照数据更新器1438,由此参照数据更新器1438被配置为生成更新的地图和路线数据1439。在一些实施中,可以初步地发布更新的地图和路线数据1439作为对地图数据资源库1420和1422中的数据的更新,或者作为对路线数据资源库1424中的数据的更新。在该情况下,可以将这样的数据标记为“beta版本”,在beta版本中,例如,当自主车辆使用包括初步更新的信息的地图图块时,可以实施用于请求遥控操作服务的较低阈值。另外,还可以将更新的地图和路线数据1439引入模拟器1440,以验证更新的地图数据。当全部发布时(例如,在beta测试结束时),取消与地图图块有关的请求遥控操作员服务的先前降低的阈值。用户接口图形控制器1410向遥控操作员1408提供丰富的图形,由此可以在模拟器1440内模拟自主车辆车队,并且可以经由遥控操作员计算设备1404访问自主车辆车队,就好像所模拟的自主车辆车队是真实的。

图15是根据一些实施例的控制自主车辆的流程图的示例。在1502处,流程1500开始。可以在遥控操作员计算设备处接收消息数据,以管理自主车辆车队。在针对自主车辆的规划路径的上下文中,消息数据可以指示与非规范操作状态相关联的事件属性。例如,可以将事件表征为例如因违反交通信号灯匆忙过马路的大量行人而成为问题的特定十字路口。事件属性描述了事件的特性,例如,过马路的行人的数目、因增加的行人的数目等导致的交通延迟。在1504处,可以访问遥控操作资源库,以基于与一组自主车辆相关联的聚合数据的模拟操作来检索推荐的第一子集。在该情况下,模拟器可能是遥控操作员可以实施的推荐的源。另外,也可以响应于类似的事件属性而访问遥控操作资源库,以基于遥控操作员交互的聚合而检索推荐的第二子集。具体地讲,遥控操作员交互捕获分析器可以应用机器学习技术以依据经验确定如何基于对遥控操作帮助的先前请求来最好地响应具有类似属性的事件。在1506处,将推荐的第一子集和第二子集组合,以形成自主车辆的一组推荐的动作方针。在1508处,可以在遥控操作员计算设备的显示器上在视觉上呈现一组推荐的动作方针的表示。在1510处,可以检测表示推荐的动作方针的选择(例如,由遥控操作员)的数据信号。

图16是根据一些示例的实施车队优化管理器的自主车辆车队管理器的示例的示图。示图1600描述了被配置为管理在路网1650内行进的自主车辆1630的车队的自主车辆车队管理器。自主车辆车队管理器1603经由遥控操作员计算设备1604耦合到遥控操作员1608,并且还耦合到车队管理数据资源库1646。自主车辆车队管理器1603被配置为接收策略数据1602和环境数据1606、以及其它数据。进一步参考示图1600,车队优化管理器1620被示为包括行进请求处理器1631,行进请求处理器1631又包括车队数据抽取器1632和自主车辆派遣优化计算器1634。行进请求处理器1631被配置为处理行进请求,例如,来自正在请求自主车辆服务的用户1688的行进请求。车队数据抽取器1632被配置为抽取与车队中的自主车辆有关的数据。将与每个自主车辆相关联的数据存储在资源库1646中。例如,针对每个车辆的数据可以描述维护问题、调度服务呼叫、日常使用、电池充电和放电速率、以及任何其它数据,这些数据可以被实时更新,可以用于对自主车辆的车队进行优化,以最小化停运时间。自主车辆派遣优化计算器1634被配置为分析所抽取的数据,并且计算对车队的最优使用,以确保派遣的下一个车辆(例如,从车站1652)提供最少的行驶时间和/或自主车辆服务的总成本。

将车队优化管理器1620描述为包括混合自主车辆/非自主车辆处理器1640,该处理器1640又包括av/非av优化计算器1642和非av选择器1644。根据一些示例,混合自主车辆/非自主车辆处理器1640被配置为管理自主车辆和人驾驶车辆(例如,作为独立承包商)的混合车队。于是,自主车辆服务可以使用非自主车辆来满足超额的需求,或者,在可能超出地理围划区的区域(例如,非av服务区域1690)、或者在通信覆盖较差的区域中使用非自主车辆。av/非av优化计算器1642被配置为对自主车队的使用进行优化,并且邀请非av驾驶员参与运输服务(例如,对自主车辆服务具有最小损害或者无损害)。非av选择器1644包括用于基于通过av/非av优化计算器1642所获得的计算来选择多个非av驾驶员来帮忙的逻辑。

图17是根据一些实施例的用于管理自主车辆的车队的流程图的示例。在1702处,流程1700开始。在1702处,接收策略数据。策略数据可以包括定义了如何最好地应用于选择自主车辆为行进请求服务的参数。在1704处,可以从资源库抽取车队管理数据。车队管理数据包括自主车辆池的数据的子集(例如,描述服务于运输请求的车辆的准备就绪的数据)。在1706处,接收表示行进请求的数据。出于示例性目的,行进请求可能针对从第一地理位置至第二地理位置的运输。在1708处,计算基于策略数据的属性,以确定可用于为所述请求服务的自主车辆的子集。例如,属性可以包括电池充电水平和至下一次安排的维护的时间。在1710处,选择自主车辆进行从第一地理位置至第二地理位置的运输,并且生成用于向与行进请求的起始相关联的第三地理位置派遣自主车辆的数据。

图18是示出了根据一些实施例的实施自主车辆通信链路管理器的自主车辆车队管理器的示图。示图1800描述了自主车辆车队管理器,其被配置为管理在路网1850内行进的自主车辆1830的车队,路网1850与被标识为“通信减弱区域”1880的区域处的通信中断重叠。自主车辆车队管理器1803经由遥控操作员计算设备1804耦合到遥控操作员1808。自主车辆车队管理器1803被配置为接收策略数据1802和环境数据1806、以及其它数据。进一步参考示图1800,自主车辆通信链路管理器1820被示为包括环境事件检测器1831、策略适应确定器1832、以及行进请求处理器1834。环境事件检测器1831被配置为接收环境数据1806,环境数据1806指定在其中实施自主车辆服务的环境内的变化。例如,环境数据1806可以指定区域1880具有降级的通信服务,这可能影响自主车辆服务。策略适应确定器1832可以指定当在这种事件期间(例如,在通信损失期间)接收到行进请求时要施加的参数。行进请求处理器1834被配置为鉴于降级的通信而处理行进请求。在该示例中,用户1888正在请求自主车辆服务。另外,行进请求处理器1834包括用于施加经调整的策略的逻辑,经调整的策略用于修改派遣自主车辆的方式,以避免因较差的通信而导致的复杂情况。

通信事件检测器1840包括策略下载管理器1842和配置了通信的(“配置了comm的”)av派遣器1844。策略下载管理器1842被配置为鉴于通信减弱区域1880而向自主车辆1830提供更新的策略,由此,如果自主车辆进入区域1880,更新的策略可以指定快速退出该区域的路线。例如,在驶入区域1880之前的时刻,自主车辆1864可以接收更新的策略。当通信损失时,自主车辆1864实施更新的策略,并且选择快速驶出区域1880的路线1866。配置了comm的av派遣器1844可以被配置为标识要在该处停放自主车辆的点1865,点1865被配置为中转站,以在区域1880之上建立对等网络。于是,配置了comm的av派遣器1844被配置为派遣自主车辆1862(无乘客)到位置1865停车,以用于作为对等移动自组网中的通信塔进行操作。

图19是根据一些实施例的在某一事件(例如,通信降级或者通信丢失)期间确定自主车辆的动作的流程图的示例。在1901处,流程1900开始。接收策略数据,策略数据由此定义了在事件期间要施加到地理区域中的行进请求的参数。在1902处,可以实施下列动作中的一个或多个:(1)将自主车辆的子集派遣到地理区域的部分中的地理位置,自主车辆的子集被配置为停放在特定地理位置处并且每个自主车辆充当静态通信中转站,或者在地理区域中行进以均充当移动通信中转站,(2)在与地理区域的部分相关联的自主车辆池的部分之间实施对等通信,(3)向自主车辆提供事件策略,事件策略描述在事件期间驶出地理区域的部分的路线,(4)调用遥控操作,以及(5)重新计算路径,以避开所述地理部分。在实施了所述动作之后,在1914处,监测自主车辆的车队。

图20是描绘了根据一些实施例的定位器的示例的示图。示图2000包括定位器2068,定位器2068被配置为从传感器2070接收传感器数据,例如激光雷达数据2072、摄像机数据2074、雷达数据2076、以及其它数据2078。另外,定位器2068被配置为接收参照数据2020,例如2d地图数据2022、3d地图数据2024、以及3d局部地图数据。根据一些示例,也可以实施其它地图数据,例如4d地图数据2025和语义地图数据(未示出),包括相应的数据结构和资源库。进一步参考示图2000,定位器2068包括定位系统2010和局部化系统2012,这两者均被配置为接收参照数据2020以及来自传感器2070的传感器数据。局部化数据集成器2014被配置为从定位系统2010接收数据以及从局部化系统2012接收数据,由此局部化数据集成器2014被配置为将来自多个传感器的传感器数据集成或融合,以形成局部姿态数据2052。

图21是根据一些实施例的基于集成传感器数据生成局部姿态数据的流程图的示例。在2101处,流程2100开始。在2102处,接收参照数据,参照数据包括三维地图数据。在一些示例中,可以经由一个或多个网络接收参照数据,例如3d或者4d地图数据。在2104处,接收来自一个或多个局部化传感器的局部化数据,并且将它们放入局部化系统。在2106处,将来自一个或多个定位传感器的定位数据接收到定位系统中。在2108处,集成局部化数据和定位数据。在2110处,将局部化数据和定位数据集成,以形成指定自主车辆的地理定位的局部定位数据。

图22是描绘了根据一些实施例的定位器的另一个示例的示图。示图2200包括定位器2268,定位器2268又包括局部化系统2210和相对局部化系统2212,以分别生成基于定位的数据2250和基于局部位置的数据2251。局部化系统2210包括投影处理器2254a,以用于处理gps数据2273、gps基准点2211、以及3d地图数据2222、以及其它任选数据(例如,4d地图数据)。局部化系统2210还包括测距处理器2254b,以处理车轮数据2275(例如,车轮速度)、车辆模型数据2213和3d地图数据2222、以及其它任选数据。此外,局部化系统2210包括集成器处理器2254c,以处理imu数据2257、车辆模型数据2215、以及3d地图数据2222、以及其它任选数据。类似地,相对局部化系统2212包括激光雷达局部化处理器2254d,以用于处理激光雷达数据2272、2d图块地图数据2220、3d地图数据2222、以及3d局部地图数据2223、以及其它任选数据。相对局部化系统2212还包括视觉配准处理器2254e,以处理摄像机数据2274、3d地图数据2222、以及3d局部地图数据2223、以及其它任选数据。此外,相对局部化系统2212包括雷达回波处理器2254f,以处理雷达数据2276、3d地图数据2222、以及3d局部地图数据2223、以及其它任选数据。注意,在各种示例中,可以实施其它类型的传感器数据和传感器或者处理器,例如声纳数据等。

进一步参考示图2200,可以将基于局部化的数据2250和基于相对局部化的数据2251分别馈送到数据集成器2266a和局部化数据集成器2266。数据集成器2266a和局部化数据集成器2266可以被配置为融合相应的数据,由此当在局部化数据集成器2266处与基于相对局部化的数据2251融合之前,可以在数据集成器2266a处融合基于局部化的数据2250。根据一些实施例,数据集成器2266a被形成为局部化数据集成器2266的一部分,或者不存在。无论如何,可以将基于局部化的数据2250和基于相对局部化的数据2251都馈送到局部化数据集成器2266中,以用于融合数据,从而生成局部位置数据2252。基于局部化的数据2250可以包括来自投影处理器2254a的一元约束数据(和不确定性值)、以及来自测距处理器2254b和集成器处理器2254c的二元约束数据(和不确定性值)。基于相对局部化的数据2251可以包括来自局部化处理器2254d和视觉配准处理器2254e、以及任选地来自雷达回波处理器2254f的一元约束数据(和不确定性值)。根据一些实施例,局部化数据集成器2266可以实施非线性平滑功能,例如,卡尔曼滤波器(例如,门控卡尔曼滤波器)、相对束调整器、姿态图形松驰、粒子滤波器、直方图滤波器等。

图23是描绘了根据一些实施例的感知引擎的示例的示图。示图2300包括感知引擎2366,感知引擎2366又包括分割处理器2310、对象跟踪器2330、以及分类器2360。另外,例如,感知引擎2366被配置为接收局部位置数据2352、激光雷达数据2372、摄像机数据2374、以及雷达数据2376。注意,可以访问其它传感器数据,例如声纳数据,以提供感知引擎2366的功能。分割处理器2310被配置为抽取地面数据和/或分割图像的部分,以将对象互相区分以及将对象与静态图像(例如,背景)区分。在一些情况下,可以分割3d斑点,以互相区分。在一些示例中,斑点可以指代标识空间复制环境中的对象的一组特征,并且可以由具有类似特性(例如,强度和颜色)的元素构成(例如,摄像机数据的像素、激光回波数据的点等)。在一些示例中,斑点也可以指点状云(例如,由彩色激光回波数据构成的)或者构成对象的其它元素。对象跟踪器2330被配置为执行斑点或者其它分割的图像部分的运动的帧到帧估计。另外,使用数据关联将时刻t1的第一帧中的一个位置处的斑点与时刻t2的第二帧中的不同位置的斑点相关联。在一些示例中,对象跟踪器2330被配置为执行3d对象(例如,斑点)的实时概率跟踪。分类器2360被配置为标识对象,并且根据分类类型(例如,为行人、骑自行车的人等)以及根据能量/活动(例如,对象是动态的还是静态的)对该对象进行分类,由此表示分类的数据由语义标签来描述。根据一些实施例,可以执行对对象类别的概率估计,例如,将对象分类为车辆、骑自行车的人、行人等,每个对象分类具有不同的置信度。感知引擎2366被配置为确定感知引擎数据2354,感知引擎数据2354可以包括静态对象地图和/或动态对象地图、以及语义信息,以使得例如规划器可以使用该信息来增强路径规划。根据各种示例,分割处理器2310、对象跟踪器2330、以及分类器2360中的一个或多个可以应用机器学习技术来生成感知引擎数据2354。

图24是根据一些实施例的生成感知引擎数据的流程图的示例。流程图2400开始于2402,在2402处,检索表示自主车辆的局部位置的数据。在2404处,从一个或多个局部化传感器接收局部化数据,标签在2406处,对其中设置了自主车辆的环境的特征进行分割,以形成分割的对象。在2408处,在空间上跟踪分割的对象的一个或多个部分,以形成具有运动(例如,估计的运动)的至少一个被跟踪的对象。在2410处,至少将被跟踪的对象分类为静态对象或者动态对象。在一些情况下,可以将静态对象或者动态对象与分类类型相关联。在2412处,生成标识被分类的对象的数据。例如,标识被分类的对象的数据可以包括语义信息。

图25是根据一些实施例的分割处理器的示例。示图2500描述了分割处理器2510,分割处理器2510从一个或多个激光雷达2572接收激光雷达数据,并且从一个或多个摄像机2574接收摄像机图像数据。局部姿态数据2552、激光雷达数据、以及摄像机图像数据被接收到元旋转生成器2521中。在一些示例中,元旋转生成器被配置为基于各种属性(例如,颜色、强度等)将图像划分成可区分的区域(例如,点状云簇或者群),可以在同一时间或者大约同一时间更新其中的至少两个或者更多。使用元旋转数据2522在分割处理器2523处执行对象分割和地面分割,由此将来自分割处理器2523的元旋转数据2522和与分割相关的数据两者施加到扫描差别处理器2513。扫描差别处理器2513被配置为预测分割的图像部分的运动和/或相对速度,其可以用于在2517处标识动态对象。任选地将2517处的指示具有所检测的速度的对象的数据发射到规划器,以增强规划决策。另外,可以使用来自扫描差别处理器2513的数据来近似对象的位置,以形成这样的对象的制图(以及任选地标识运动的水平)。在一些示例中,可以生成占用网格地图2515。可以将表示占用网格地图2515的数据发射到规划器,以进一步增强路径规划决策(例如,通过降低不确定性)。进一步参考示图2500,使用来自一个或多个摄像机2574的图像摄像机数据对斑点分类器2520中的斑点进行分类,斑点分类器2520也从分割处理器2523接收斑点数据2524。分割处理器2510也可以从一个或多个雷达2576接收原始雷达回波数据2512,以在雷达分割处理器2514处执行分割,雷达分割处理器2514生成与雷达相关的斑点数据2516。进一步参考示图25,分割处理器2510也可以接收和/或生成与雷达数据相关的被跟踪的斑点数据2518。斑点数据2516、被跟踪的斑点数据2518、来自斑点分类器2520的数据、以及斑点数据2524可以用于跟踪对象或其部分。根据一些示例,以下中的一个或多个可以是任选的:扫描差别处理器2513、斑点分类器2520、以及来自雷达2576的数据。

图26a是描绘了根据各种实施例的对象跟踪器和分类器的示例的示图。示图2600的对象跟踪器2630被配置为接收斑点数据2516、被跟踪的斑点数据2518、来自斑点分类器2520的数据、斑点数据2524、以及来自一个或多个摄像机2676的摄像机图像数据。图像跟踪器2633被配置为从一个或多个摄像机2676接收摄像机图像数据,以生成被跟踪的图像数据,被跟踪的图像数据又可以被提供到数据关联处理器2632。如所示,数据关联处理器2632被配置为接收斑点数据2516、被跟踪的斑点数据2518、来自斑点分类器2520的数据、斑点数据2524、以及来自图像跟踪器2633的跟踪图像数据,并且数据关联处理器2632被进一步配置为标识以上描述的数据类型之间的一个或多个关联。例如,数据关联处理器2632被配置为从一个帧到下一个帧跟踪各种斑点数据,例如,以估计运动等。另外,跟踪更新器2634可以使用数据关联处理器2632所生成的数据来更新一个或多个跟踪、或者被跟踪的对象。在一些示例中,跟踪更新器2634可以实施卡尔曼滤波器等以形成被跟踪对象的更新的数据,其可以被在线地存储在跟踪数据库(“db”)2636中。可以经由数据关联处理器2632和跟踪数据库2636之间的路径2699交换反馈数据。在一些示例中,图像跟踪器2633是任选的,并且可以被排除。对象跟踪器2630也可以使用其它传感器数据,例如,雷达或者声纳、以及任何其它类型的传感器数据。

图26b是描绘了根据至少一些示例的对象跟踪器的另一个示例的示图。示图2601包括对象跟踪器2631,对象跟踪器2631可以包括与所描述的被配置为执行对象扫描配准和数据融合的被类似命名的元件相同的结构和/或功能。处理器2696还被配置为将得到的数据存储在3d对象数据库2698中。

返回参照图26a,示图2600还包括分类器2660,分类器2660可以包括跟踪分类引擎2662,以用于生成静态障碍物数据2672和动态障碍物数据2674,可以将这两者发射到规划器,以用于路径规划目的。在至少一个示例中,跟踪分类引擎2662被配置为判断障碍物是静态的还是动态的、以及是否为对象的另一个分类类型(例如,对象是否为车辆、行人、树、骑自行车的人、狗、猫、纸袋等)。可以将静态障碍物数据2672形成为障碍物地图(例如,2d占用地图)的部分,并且可以将动态障碍物数据2674形成为包括边界框并且具有指示速度和分类类型的数据。动态障碍物数据2674至少在一些情况下包括2d动态障碍物地图数据。

图27是根据一些示例的用于感知引擎的前端处理器的示例。示图2700包括根据各种示例的用于执行地面分割的地面分割处理器2723a、以及用于执行“过度分割”的过度分割处理器2723b。处理器2723a和2723b被配置为任选地接收彩色激光雷达数据2775。过度分割处理器2723b生成第一斑点类型(例如,相对小的斑点)的数据2710,其被提供到聚合分类和分割引擎2712,聚合分类和分割引擎2712生成第二斑点类型的数据2714。将数据2714提供到数据关联处理器2732,数据关联处理器2732被配置为检测数据2714是否驻留在跟踪数据库2736中。在2740处判断第二斑点类型(例如,相对大的斑点,其可以包括一个或多个较小的斑点)的数据2714是否为新的跟踪。如果是,在2742处初始化跟踪,如果否,将被跟踪的对象数据存储在跟踪数据库2736中,并且跟踪更新器2742可以扩展或者更新跟踪。跟踪分类引擎2762耦合到跟踪数据库2736,例如,以通过添加、去除或者修改与跟踪相关的数据来标识和更新/修改跟踪。

图28是描绘了根据各种实施例的被配置为在合成环境中对自主车辆进行模拟的模拟器的示图。示图2800包括被配置为生成模拟环境2803的模拟器2840。如所示,模拟器2840被配置为使用用户参照数据2822(例如,3d地图数据和/或其它地图或者路线数据,包括rndf数据或者类似的路网数据),以在模拟环境2803内生成模拟几何图形,例如模拟表面2892a和2892b。模拟表面2892a和2892b可以模拟邻近道路的建筑物的墙或者前侧。模拟器2840也可以使用预先生成的或者程序生成的动态对象数据2825来模拟合成环境中的动态代理。动态代理的示例是模拟的动态对象2801,模拟的动态对象2801表示具有速度的模拟的骑自行车的人。模拟的动态代理可以任选地响应模拟环境中的其它静态和动态代理,包括模拟的自主车辆。例如,模拟的对象2801可能会因为模拟环境2803中的其它障碍物而减慢,而不是遵循预先设置的轨迹,从而能够创建对存在于现实世界中的实际动态环境的更实际的模拟。

模拟器2840可以被配置为生成模拟自主车辆控制器2847,模拟自主车辆控制器2847包括对感知引擎2866、定位器2868、运动控制器2862、以及规划器2864的合成适应,其中的每一个可以具有本文描述的模拟环境2803内的功能。模拟器2840还可以生成模拟接口(“i/f”)2849,以模拟与不同传感器形式和不同传感器数据格式的数据交换。于是,模拟接口2849可以模拟分组化数据(例如,来自模拟激光雷达传感器2872)的软件接口。另外,模拟器2840还可以被配置为生成实施模拟av控制器2847的模拟自主车辆2830。模拟自主车辆2830包括模拟激光雷达传感器2872、模拟摄像机或者图像传感器2874、以及模拟雷达传感器2876。在所示示例中,模拟激光雷达传感器2872可以被配置为生成与射线踪迹2892一致的模拟激光器,这导致模拟传感器返回2891的生成。注意,模拟器2840可以模拟噪声或者其它环境效果在传感器数据上的添加(例如,影响模拟传感器返回2891等的添加的漫射或者反射)。此外,模拟器2840可以被配置为模拟各种传感器缺陷,包括传感器故障、感器未校准、间歇性数据中断等。

模拟器2840包括物理处理器2850,以用于模拟在模拟自主车辆2830的模拟行为中使用的自主车辆的机械、静态、动态、以及运动学方面。例如,物理处理器2850包括用于模拟接触机械的内容机械模块2851、用于模拟所模拟的主体之间的交互的碰撞检测模块2852、以及用于模拟所模拟的机械交互之间的交互的多主体动态模块2854。

模拟器2840还包括模拟器控制器2856,模拟器控制器2856被配置为控制模拟以适应模拟环境2803的任何合成生成的元件的功能,以确定因果关系等。模拟器2840包括用于估计模拟环境2803的合成生成的元件的性能的模拟器估计器2858。例如,模拟器估计器2858可以分析模拟车辆命令2880(例如,模拟的转向角度和模拟的速度),以判断这样的命令是否对模拟环境2803内的模拟的活动做出适当的响应。另外,模拟器估计器2858还可以经由遥控操作员计算设备2804估计遥控操作员2808与模拟自主车辆2830的交互。模拟器估计器2858可以估计更新的参照数据2827的影响,更新的参照数据2827包括更新的地图图块和路线数据,其可以被添加以导引模拟自主车辆2830的响应。当更新、删除、或者添加策略数据2829时,模拟器估计器2858也可以估计模拟av控制器2847的响应。模拟器2840的以上描述并非是要进行限制。于是,模拟器2840被配置为执行对与模拟环境相关的自主车辆的各种不同的模拟,其既包括静态特征也包括动态特征。例如,可以使用模拟器2840验证软件版本中的变化,以确保可靠性。也可以使用模拟器2840确定车辆动态特性以用于校准目的。另外,还可以使用模拟器2840来探索可应用控制以及所产生的轨迹的空间,以通过自模拟起到学习的效果。

图29是根据一些实施例的对自主车辆的各个方面进行模拟的流程图的示例。流程图2900开始于2902,在2902处,包括三维地图数据的参照数据被接收到模拟器中。在2904处,可以检索为所分类的对象定义运动模式的动态对象数据。在2906处,至少基于三维(“3d”)地图数据和动态对象数据形成模拟环境。模拟环境可以包括一个或多个模拟表面。在2908处,对自主车辆进行模拟,其包括形成模拟环境的部分的模拟自主车辆控制器。自主车辆控制器可以包括被配置为接收传感器数据的模拟感知引擎和模拟定位器。在2910处,基于针对至少一个模拟传感器返回的数据来生成模拟传感器数据,并且在2912处生成模拟车辆命令,以使处于合成环境中的模拟自主车辆移动(例如,矢量推进)。在2914处,估计模拟车辆命令,以判断模拟自主车辆的行为是否与期望的行为一致(例如,与策略一致)。

图30是根据一些实施例的生成地图数据的流程图的示例。流程图3000开始于3002,在3002处检索轨迹数据。轨迹数据可以包括在一段时间内捕获的轨迹(例如,记录的轨迹)。在3004处,至少可以接收局部化数据。可以在一段时间内捕获局部化数据(例如,记录的局部化数据)。在3006处,可以实施摄像机或者其它图像传感器,以生成局部化数据的子集。于是,所检索的局部化数据可以包括图像数据。在3008处,局部化数据的子集被对准,以标识全局位置(例如,全局姿态)。在3010处,基于全局位置生成三维(“3d”)地图数据,并且在3012处,例如,三维地图数据可用于通过手动路线数据编辑器(例如,包括手动路网数据编辑器,例如rndf编辑器)、自动路径数据生成器(例如,包括自动路网生成器,包括自动rndf生成器)、自主车辆车队、模拟器、遥控操作员计算设备、以及自主车辆服务的任何其它部件来实施。

图31是描绘了根据一些实施例的制图引擎的体系结构的示图。示图3100包括3d制图引擎,3d制图引擎被配置为接收轨迹记录数据3140、激光雷达记录数据3172、摄像机记录数据3174、雷达记录数据3176、以及其它任选记录的传感器数据(未示出)。逻辑3141包括回路闭合检测器3150,回路闭合检测器3150被配置为检测传感器数据是否指示空间中附近的点先前被访问过等。逻辑3141还包括配准控制器3152,配准控制器3152用于相对于一个或多个配准点来对准地图数据,在一些情况下地图数据包括3d地图数据。另外,逻辑3141提供表示由全局姿态图形生成器3143所使用的回路闭合的状态的数据3142,全局姿态图形生成器3143被配置为生成姿态图形数据3145。在一些示例中,也可以基于来自配准精细化模块3146的数据生成姿态图形数据3145。逻辑3144包括3d制图器3154和激光雷达自校准单元3156。另外,逻辑3144接收传感器数据和姿态图形数据3145,以生成3d地图数据3120(或者其它地图数据,例如4d地图数据)。在一些示例中,逻辑3144可以实施截断符号距离函数(“tsdf”)以融合传感器数据和/或地图数据,从而形成最优三维地图。另外,逻辑3144被配置为包括纹理和反射特性。可以发布3d地图数据3120,以由手动路线数据编辑器3160(例如,操纵路线数据或者其它类型的路线或者参照数据的编辑器)、自动路线数据生成器3162(例如,被配置为生成路线数据或者其它类型的路网或者参照数据的逻辑)、自主车辆3164的车队、模拟器3166、遥控操作员计算设备3168、以及自主车辆服务的任何其它部件使用。制图引擎3110可以从手动注释或者自动生成的注释以及从其它传感器(例如,声纳或者仪器化的环境(例如,智能停车灯))捕获语义信息。

图32是描绘了根据一些示例的自主车辆应用的示图。示图3200描述了移动计算设备3203,移动计算设备3203包括自主服务应用3240,自主服务应用3240被配置为接触自主车辆服务平台3201,以经由自主车辆3230安排用户3202的运输。如所示,自主服务应用3240可以包括运输控制器3242、运输控制器3242可以是驻留在计算设备(例如,移动电话3203等)上的软件应用。运输控制器3242被配置为接收、调度、选择、或者执行与自主车辆和/或自主车辆车队相关的操作,用户3202可以为自主车辆和/或自主车辆车队安排从用户所在位置到目的地的运输。例如,用户3202可以打开应用以请求车辆3230。所述应用可以显示地图,并且用户3202可以在例如地理围划区内投下指示他们的目的地的图钉。替代地,所述应用可以显示附近预先指定的上车位置的列表,或者向用户提供通过地址或名称向其中键入目的地的文本输入字段。

进一步参考所示示例,自主车辆应用3240还可以包括用户标识控制器3246,用户标识控制器3246可以被配置为当车辆接近时检测用户3202是处于地理区域中、附近、还是靠近自主车辆3230。在一些情况下,当自主车辆3230接近、可为用户3202所用时,用户3202可能不易感知或者识别车辆3230(例如,由于各种其它车辆,包括卡车、轿车、出租车、以及城市环境中典型的其它障碍物)。在一个示例中,自主车辆3230可以建立无线通信链路3262(例如,经由射频(“rf”)信号,例如wifi或,包括ble等),用于传送和/或确定用户3202相对于自主车辆3230的空间位置(例如,使用rf信号的相对方向和信号强度)。在一些情况下,自主车辆3230可以例如使用gps数据等检测用户3202的近似地理位置。移动计算设备3203的gps接收器(未示出)可以被配置为向自主车辆服务应用3240提供gps数据。于是,用户标识控制器3246可以经由链路3260向自主车辆服务平台3201提供gps数据,自主车辆服务平台3201又可以经由链路3261将该位置提供到自主车辆3230。然后,自主车辆3230可以通过将用户的gps数据与车辆的gps所获得的位置进行比较,来确定用户3202的相对距离和/或方向。

自主车辆3230还可以包括用于标识用户3202的存在的附加逻辑,以使逻辑被配置为执行面部检测算法,以总体上对用户3202进行检测,或者基于用户3202的唯一面部特性来具体地标识用户的身份(例如,名字、电话号码等)。另外,自主车辆3230可以包括检测用于标识用户3202的代码的逻辑。这样的代码的示例包括:专用可视代码,例如,qr代码、颜色代码等;专用音频代码,例如,语音激活的或者识别的代码等;以及其它。在一些情况下,代码可以是编码的安全密钥,可以经由链路3262将该编码的安全密钥发射到自主车辆3230,以确保安全的进入和/或离开。另外,也可以将一个或多种以上所描述的用于标识用户3202的技术用作将进入和离开权授予给用户3202,以防止其他人进入自主车辆3230的安全单元(例如,确保在达到用户3202处之前第三方人不能进入无乘坐者的自主车辆)。根据各种示例,也可以在自主车辆服务应用3240、自主车辆服务平台3201、以及自主车辆3230中的一个或多个中实施用于标识用户3202和提供安全的进入和离开的任何其它单元。

为了帮助用户3202标识其所请求的运输的到达,自主车辆3230可以被配置为:当其接近用户3202时,通知或以其它方式警告用户3202自主车辆3230的存在。例如,自主车辆3230可以根据特定灯模式激活一个或多个光发射装置3280(例如,leo)。具体地讲,可以创建某些灯模式,以使用户3202可以容易地感知到已经预约了自主车辆3230以服务用户3202的运输需求。作为示例,自主车辆3230可以生成可以被用户3202感知为“闪烁”的灯模式3290,或者可以是其外部和内部灯的采用视觉和时间方式的其它动画的灯模式3290。可以生成有或者没有声音模式的灯模式3290,以使用户3202识别出该车辆就是他们所订的车辆。

根据一些实施例,自主车辆用户控制器3244可以实施被配置为控制自主车辆的各种功能的软件应用。另外,应用可以被配置为在行进至其初始目的地期间重新导引或者重新路由自主车辆。此外,自主车辆用户控制器3244可以被配置为使板上逻辑能够修改自主车辆3230的内部照明,例如,以实现情绪照明。控制器3244也可以控制音频源(例如,诸如spotify的外部源,或者本地存储在移动计算设备3203上的音频),选择乘坐类型(例如,修改所希望的加速度和刹车攻击性,修改主动暂停参数以选择一组“路-操控”特性来实施聚合驾驶特性,包括震动,或者选择“软-乘坐”质量,其中为了舒适而减少震动)等。例如,移动计算设备3203还可以被配置为控制hvac功能,例如通风和温度。

图33至35示出了根据各种实施例的被配置为向自主车辆服务的部件提供各种功能的各种计算平台的示例。在一些示例中,可以使用计算平台3300实施计算机程序、应用、方法、过程、算法、或者其它软件以执行以上所描述的技术。

注意,图33的各种结构和/或功能也适用于图34和图35,于是,可以在图33的上下文中讨论这两个图中的一些元件。

在一些情况下,计算平台3300可以设置在诸如计算设备3390a的任何设备中,计算设备3390a可以设置在自主车辆服务平台中的一个或多个计算设备、自主车辆3391、和/或移动计算设备3391中或者分布于它们之间。

计算平台3300包括总线3302或者用于传送信息的其它通信机制,其将子系统和设备互连,所述设备例如处理器3304、系统存储器3306(例如,ram等)、存储设备3308(例如,rom等)、存储器中高速缓冲存储器(其可以在ram3306或者计算平台3300的其它部分中实施)、通信接口3313(例如,ethernet或者无线控制器、蓝牙控制器、nfc逻辑等),以促进经由通信链路3321上的端口的通信,以例如与计算设备通信,所述计算设备包括具有处理器的移动计算和/或通信设备。可以利用一个或多个图形处理单元(“gpu”)、以及一个或多个中央处理单元(“cpu”)(例如,公司制造的那些)或者一个或多个虚拟处理器、以及cpu和虚拟处理器的任何组合来实施处理器3304。计算平台3300经由输入和输出设备3301交换表示输入和输出的数据,所述设备3301包括但不局限于键盘、鼠标器、音频输入(例如,话音到文本设备)、用户接口、显示器、监视器、光标、触敏显示器、lcd或者led显示器、以及其它与i/o相关的设备。

根据一些示例,计算平台3300通过处理器3304执行特定操作,处理器3304执行存储在系统存储器3306中的一个或多个指令的一个或多个序列,并且计算平台3300可以实施成客户机-服务器布置、对等布置、或者实施为任何移动计算设备,包括智能电话等。可以将这样的指令或数据从另一个计算机可读介质(例如,存储设备3308)读入系统存储器3306。在一些示例中,可以取代用于实施方式的软件指令,或者与软件指令组合来使用硬连线电路。指令可以嵌入在软件或者固件中。术语“计算机可读介质”指的是参与向处理器3304提供用于执行的指令的任何有形介质。这样的介质可以采取多种形式,包括但不局限于非易失性介质和易失性介质。例如,非易失性介质包括光或者磁盘等。易失性介质包括动态存储器,例如系统存储器3306。

例如,计算机可读介质的常见形式包括软盘、软磁盘、硬盘、磁带、任何其它磁介质、cd-rom、任何其它光介质、穿孔卡片、纸带、具有孔图案的任何其它物理介质、ram、prom、eprom、flash-eprom、任何其它存储器芯片或者盒式磁带、或者计算机可以从其读取的任何其它介质。还可以使用传输介质来发射或者接收指令。术语“传输介质”可以包括能够存储、编码或者承载指令以供机器执行的任何有形或者无形介质,并且包括数字或者模拟通信信号或者其它无形介质,以促进这样的指令的通信。传输介质包括同轴电缆、铜导线、以及光纤,包括包含用于发射计算机数据信号的总线3302的导线。

在一些示例中,可以由计算平台3300完成指令序列的执行。根据一些示例,计算平台3300可以由通信链路3321(例如,有线网络,例如lan、pstn、或者任何无线网络,包括各种标准和协议的wifi、、nfc、zig-bee等)耦合到任何其它处理器,以按互相协调(或者异步)的方式执行指令序列。计算平台3300可以通过通信链路3321和通信接口3313发射和接收消息、数据、以及指令,包括程序代码(例如,应用代码)。在接收到程序代码时,可以由处理器3304执行所接收的程序代码,和/或将程序代码存储在存储器3306或者其它非易失储存器中,以供随后执行。

在所示的示例中,系统存储器3306可以包括包含用于实施本文所描述的功能的可执行指令的各种模块。系统存储器3306可以包括操作系统(“o/s”)3332、以及应用3336和/或(多个)逻辑模块3359。在图33中所示的示例中,系统存储器3306包括自主车辆(“av”)控制器模块3350和/或其部件(例如,感知引擎模块、局部化模块、规划器模块、和/或运动控制器模块),它们中的任何模块、或者其一个或多个部分可以被配置为通过实施本文描述的一个或多个功能而促进自主车辆服务。

参照图34中所示的示例,系统存储器3306包括自主车辆服务平台模块3450和/或其部件(例如,遥控操作员管理器、模拟器等),它们中的任何模块、或者其一个或多个部分可以被配置为通过实施本文描述的一个或多个功能而促进自主车辆服务。

参照图35中所示的示例,系统存储器3306包括用于在例如移动计算设备中使用的自主车辆(“av”)模块和/或其部件。模块3550的一个或多个部分可以被配置为通过实施本文描述的一个或多个功能而促进自主车辆服务的交付。

返回参照图33,可以采用软件、硬件、固件、电路、或者它们的组合实施以上所描述的特征中的任何一个的结构和/或功能。注意,可以将上述结构和构成元件、以及它们的功能与一个或多个其它结构或者元件聚合。替代地,可以将所述元件以及它们的功能细分成构成子元件,如果存在的话。作为软件,可以使用各种类型的编程或者格式化语言、架构、语法、应用、协议、对象、或者技术来实施以上所描述的技术。作为硬件和/或固件,可以使用各种类型的编程或者集成电路设计语言来实施以上所描述的技术,所述集成电路设计语言包括硬件描述语言,例如被配置为设计现场可编程门阵列(“fpga”)、专用集成电路(“asic”)、或者任何其它类型的集成电路的任何寄存器传输语言(“rtl”)。根据一些实施例,术语“模块”例如可以指算法或者算法的一部分、和/或采用硬件电路或者软件、或者它们的组合来实施的逻辑。这些可以改变,并且并不限于所提供的示例或者描述。

在一些实施例中,图33的模块3350、图34的模块3450、以及图35的模块3550、或者它们的部件中的一个或多个部件、或者本文所描述的任何过程或设备能够与移动设备(例如,移动电话或者计算设备)进行通信,或者可以设置在所述移动设备中。

在一些情况下,与一个或多个模块3359(图33的模块3350、图34的模块3450、以及图35的模块3550)或者它们的部件中的一个或多个部件(或者本文所描述的任何过程或者设备)进行通信的移动设备、或者任何连网的计算设备能够提供本文所描述的特征中的任何特征的结构和/或功能中的至少一些。如以上所描述的图中所示,可以采用软件、硬件、固件、电路、或者它们的任何组合实施以上所描述的特征中的任何特征的结构和/或功能。注意,可以将上述结构和构成元件、以及它们的功能与一个或多个其它结构或者元件聚合或组合。替代地,可以将所述元件以及它们的功能细分成构成子元件,如果存在的话。作为软件,可以使用各种类型的编程或者格式化语言、架构、语法、应用、协议、对象、或者技术来实施以上所描述的技术中的至少一些。例如,在所述图中的任何图中所描述的元件中的至少一个元件可以表示一个或多个算法。或者,所述元件中的至少一个元件可以表示包括被配置为提供构成结构和/或功能的硬件的一部分的逻辑的一部分。

例如,能够在一个或多个计算设备(即,任何移动计算设备,例如可佩带设备、音频设备(例如,耳机或者头戴送受话器)、或者移动电话(无论是佩戴还是携带))中实施图33的模块3350、图34的模块3450、以及图35的模块3550、或者它们的部件中的一个或多个部件、或者本文所描述的任何过程或者设备,所述计算设备包括被配置为执行存储器中的一个或多个算法的一个或多个处理器。因此,以上所描述的图中的元件中的至少一些元件能够表示一个或多个算法。或者,所述元件中的至少一个元件可以表示包括被配置为提供构成结构和/或功能的硬件的一部分的逻辑的一部分。这些可以改变,并且并不限于所提供的示例或者描述。

作为硬件和/或固件,可以使用各种类型的编程或者集成电路设计语言来实施以上所描述的结构和技术,所述集成电路设计语言包括硬件描述语言,例如被配置为设计现场可编程门阵列(“fpga”)、专用集成电路(“asic”)、多芯片模块、或者任何其它类型的集成电路的任何寄存器传输语言(“rtl”)。

例如,能够在包括一个或多个电路的一个或多个计算设备中实施图33的模块3350、图34的模块3450、以及图35的模块3550、或者它们的部件中的一个或多个部件、或者本文所描述的任何过程或者设备。因此,以上所描述的图中的元件中的至少一些元件能够表示硬件的一个或多个部件。或者,所述元件中的至少一个元件可以表示包括被配置为提供构成结构和/或功能的电路的一部分的逻辑的一部分。

根据一些实施例,术语“电路”例如可以指包括其中有电流流过以执行一个或多个功能的多个部件的任何系统,所述部件包括离散的和复合的部件。离散的部件的示例包括晶体管、电阻器、电容器、电感器、二极管等,并且复合的部件的示例包括存储器、处理器、模拟电路、数字电路等,包括现场可编程门阵列(“fpga”)、专用集成电路(“asic”)。因此,电路可以包括电子部件和逻辑部件(例如,被配置为执行诸如算法的一组可执行指令的指令的逻辑,因此是电路的部件)的系统。根据一些实施例,术语“模块”例如可以指在硬件电路或者软件、或者它们的组合中实施的算法或者算法的一部分、和/或逻辑(即,模块可以被实施为电路)。在一些实施例中,算法和/或存储算法的存储器是电路的“部件”。于是,例如,术语“电路”也可以指部件的系统,包括算法。这些可以改变,并且并不限于所提供的示例或者描述。

图36是描绘了根据一些示例的车队优化管理器的示例的示图。示图3600描述了车队优化管理器3620,车队优化管理器3620可以被配置为促进自主车辆3630a的车队的管理,自主车辆3630a中的一个或多个在路网中行进。具体地讲,车队优化管理器3620可以被配置为经由移动计算设备3603(例如,移动电话)从用户车辆3630a接收对运输的一个或多个请求,以根据一个或多个优化过程(例如,优化算法)服务于所述请求。示图3600还描述了耦合到派遣数据资源库3647的行进请求处理器3631、被配置为处理行进请求(例如,对运输的请求)的行进请求处理器3631、以及可以被配置为生成命令数据3642的车队命令生成器3640。命令数据3642可以包括可执行指令的一个或多个子集,其在被自主车辆的自主车辆控制器发射和执行时,以优化的方式提供一个或多个自主车辆3630a的导航。

在所示示例中,行进请求处理器3631可以包括车队数据抽取器3632,车队数据抽取器3632被配置为访问和/或抽取存储在车队管理数据资源库3646中的车队管理数据。可能涉及车队3630a中的一个或多个自主车辆的车队管理数据的示例可以包括描述维护问题、调度服务呼叫、日常使用、电池充电和放电速率的数据、以及描述至少一些自主车辆特性的任何其它数据。在一些示例中,至少可以实时(或者接近实时)地更新车队管理数据的子集(例如,自主车辆特性),以根据一个或多个路由度量来优化自主车辆的车队,从而最小化了停运时间、最小化了电池放电速率、减少了接载位置和目的地位置之间的行驶时间等。根据一些示例,行进请求处理器3631可以包括自主车辆(“av”)派遣优化计算器3634,其可以被配置为分析来自各种源的数据(例如,所抽取的车队管理数据、策略数据3601、环境数据3606等),并且计算车队3630a的最优使用,以确保为服务于请求而派遣的下一个车辆提供最少的行驶时间和/或最少的自主车辆服务成本。如所示,自主车辆派遣优化计算器3634可以包括自主车辆(“av”)表征器3635、派遣跟踪器3636、请求管理器3637、以及优化器3638,以下描述了它们的示例。注意,图36的示图3600中所描述的一个或多个元件可以包括与结合一个或多个其它图(例如,图16至图19、以及本文所描述的其它图)所描述的类似命名的元件相同的结构和/或功能。

自主车辆派遣优化计算器3634可以被配置为生成可以存储在派遣数据资源库3647中的自主车辆路由数据3650。根据一些示例,自主车辆路由数据3650可以包括表示自主车辆车队3630a在其上的行进能够向用户3602的集合或者子集提供运输服务的路径的最优集合或者子集的数据。在一些示例中,自主车辆路由数据的每个部分3650可以描述用于为相应自主车辆导航的路由路径。如所示,自主车辆路由数据3650的示例可以包括表示初始点3682(例如,地理位置(例如,gps坐标等所描述的)的数据和/或与自主车辆接载用户的点相关联的其它数据。另外,自主车辆路由数据3650的示例还可以包括表示从初始点(或者位置)3682至目的地点(或者位置)3684以及交付点(或者位置)3686的路径3683的数据,例如在交付点处,另一个用户3602之后可以被接载,以获得自主车辆所提供的后续运输服务。图36中所描述的自主车辆路由数据3650的实例可以包括针对一个或多个不同自主车辆或者相同自主车辆的路由数据的集合。例如,交付点3686可以与路由数据3650的其它集合或者子集中的初始位置3686x相关联,以用于随后对自主车辆进行路由。

根据一些示例,自主车辆派遣优化计算器3634可以被配置为生成路由数据,例如自主车辆(“av”)路由数据3650a。如所示,自主车辆的路由数据可以包括作为初始位置的第一接载位置(“pul”)3682a、以及目的地位置(“d1a”)3684a。表示目的地位置3684a的数据可以与各种类型的数据相关联,或者其可以包括各种类型的数据,例如表示gps坐标、估计的到达时间、估计的行驶时间、估计的行驶距离等的数据。路由数据3650a还可以包括表示从初始位置3682a至目的地位置3684a的路径3683a的数据。路由数据3650a包括至第一交付位置3686a(“pu2a”)的交付路径3687a,其可以被确定为用于向另一个用户3602提供后续运输服务。在一些情况下,在初始位置3682a和目的地位置3684a之间的行进期间,车队优化管理器3620可以提供修改的路径(例如,目的地的改变)。路由数据3650a可以包括反映自主车辆的导航的变化的更新的数据。例如,自主车辆可以从路径3683a调转至通往第二目的地位置(“d1b”)3684b的修改的路径(或者修改的路径部分)3685。如所示,至第二交付位置3686b(“pu2b”)的交付路径3687b可以源于目的地位置3684b,以向不同的用户3602提供后续运输服务。

可以针对各种原因实施修改的路径3685,例如(但不限于)自主车辆的乘坐者请求改变目的地、所检测的与路径3683a的一部分3689相关联的路由特性(例如,由于增加的交通或者沿其余路径部分的事故)、使自主车辆在路段3689上的路由变得不重要或者避免自主车辆在路段3689上的路由(例如,由于沿部分3689的十字路口可能具有与导航相关的复杂性)的策略、发射到自主车辆的用于改变至修改的路径3685的导航的遥控操作员命令(例如,遥控操作员3608可以经由自主车辆控制器中的遥控操作员计算设备3604更新路由数据)、以及任何其它原因。

在各种示例中,路径3683a、修改的路径3685、和/或交付路径3687a和3687b可以包括可以在其上对自主车辆进行路由的任何数目的路径部分或路段的集合或者子集。注意,交付位置3686a和3686b不一定限制于接载用户3602以用于运输服务的位置。例如,交付位置3686a和3686b(以及目的地位置3684a和3684b)可以包括为自主车辆进行例行服务(例如,充电、维护、修理、清洗等)和/或存放的车站。交付位置3686a和3686b还可以包括可以停放自主车辆的地理区域(例如,根据地图数据,地理区域可以被标识为“停车位”)。注意,在一些情况下,目的地位置3684b可以与目的地位置3684a重合(例如,修改的路径3685可能是迂回的路)。

自主车辆(“av”)表征器3635可以被配置为确定至少自主车辆3630a的子集的自主车辆特性,由此自主车辆派遣优化计算器3634的一个或多个部件可以使用自主车辆特性来标识和选择自主车辆的至少一个子集来服务于对运输的请求。在一些示例中,自主车辆特性的子集可以指示自主车辆是否可用于提供运输服务,并且如果可以,则自主车辆特性的子集也可以指示提供这样的服务的范围。例如,自主车辆表征器3635可以针对每个自主车辆确定描述维护问题(例如,由于降级的或者不起作用的传感器,例如激光雷达传感器)、所调度的服务或者修理的日期和时间、电池充电和放电速率的状态等的数据,其中的任何一个可以成为限制或者避免使用某些自主车辆来服务于某些运输请求的因素。基于这样的信息,自主车辆派遣优化计算器3634可以在自主车辆的能力范围内最优地派遣某些自主车辆。例如,可以将具有不足2小时电池充电量的自主车辆限制为服务于较短的行驶路径3683,该较短的行驶路径3683可以或者可以不具有邻近车站或者相对靠近车站的交付位置3686(例如,可以在原位置对电池充电或者更换电池(即,物理地去除并替换为一个或多个充电电池)的车站)。

请求管理器3637可以被配置为基于自主车辆3630a接收对运输的请求,并且可以被配置为管理这样的请求的队列。在一些示例中,请求管理器3637(或者自主车辆服务平台中的任何部件)可以被配置为确定与可以生成对运输的请求的计算设备3603(例如,包括可执行指令的移动电话)相关联的位置。请求管理器3637还可以将与计算设备相关联的位置标识为交付位置。尽管请求管理器3637可以对运输请求进行排队,例如,按被接收的次序排队,但请求管理器3637的功能和/或结构不一定如此限制。例如,请求管理器3637可以让一些请求优先于其它请求,由此具有相对高的优先级的请求可以被分配给自主车辆以在其他用户之前派遣给某些用户3602(例如,“黄金俱乐部成员”、付了较高运输费的用户等)。响应于请求管理器3637所标识的请求,优化器3638(或者自主车辆派遣优化计算器3634的任何其它部件)可以选择自主车辆来服务于所述请求,并且生成命令数据3642以用于传输到自主车辆。自主车辆的自主车辆控制器可以执行命令数据3642的指令,以使所选择的自主车辆能够导航至可能大体上与生成所述请求的移动计算设备的位置处于同一空间内的交付位置。例如,请求可以包括移动设备3603的位置数据(例如,gps坐标等),以用于对自主车辆进行路由从而接载用户的目的。在一些情况下,设置在移动设备3603中的应用可以被配置为周期性地提供或者发射用户3602的位置,以确保自主车辆能够集中于用户的位置,甚至是当用户3602可能移动或者行驶(例如,走开)离开最初发射请求的地理位置时。

车队优化管理器3620(或者其任何部分)可以被配置为接收策略数据3601、环境数据3606、车队管理数据3646、以及任何其它与路由相关的数据(例如,路由特性),以用于生成在其上对自主车辆的车队3630a进行导航的优化的路由路径的集合。策略数据3601的示例包括指定定义了用于最优地选择一个或多个自主车辆来服务于运输请求(例如,行进请求)的过程的参数的数据集合。例如,策略数据3601可以指定其中在对自主车辆进行导航方面存在一定水平的复杂度的路段或者十字路口。于是,策略可以指定:应该绕过mainstreet和oakstreet处的十字路口。环境数据3606的示例可以包括指定各路段或者路径的与交通相关的数据、以及因天气(例如,恶劣天气,例如下雨、下冰雹、下雪等)等导致的道路状况的数据集合。

派遣跟踪器3636可以被配置为跟踪所派遣的自主车辆、以及用来确定路由数据和路由路径(例如,在行进之前或者行进期间)的数据。派遣跟踪器3636可以被配置为接收策略数据3601、环境数据3606(例如,天气数据、交通数据、建造数据等)、车队管理数据3646、以及用于生成可以与路由数据3650的各个部分(包括但不限于路径3683的一个或多个路径部分或者路段)相关联的路由特性的任何其它与路由相关的数据。基于与路由相关的数据,派遣跟踪器3636可以被配置为标识路由特性,例如,一个或多个路径部分或者路段上的行驶时间、到达一个或多个目的地位置的估计的时间、要完成的多个后续请求的交付位置、每个路径部分或者路段的平均速度、相应路段的速度限制、每个路径部分或者路段的估计的距离、等等,可以将其中的一个或多个聚合,以表征用于在两个地理位置之间路由自主车辆的路由路径。另外,派遣跟踪器3636可以被配置为跟踪与路由路径相关联的路由特性,并且检测这样的路由特性的变化。派遣跟踪器3636可以检测与路径3836a的部分3689相关联的路由特性的变化,以使得优化器3638可以重新计算最优路线的一个或多个集合,以标识修改路径3685。在一些情况下,路由特性的变化可以描述沿部分3689的行驶时间的增加。或者,路由特性的变化可以是用户3602所请求的目的地的变化。路由特性的其它变化也是可能的。

优化器3638被配置为基于一个或多个路径部分或者路段的一个或多个路由特性来生成路由路径的最优化的集合或者子集,以将自主车辆服务提供给用户3602,由此可以根据一个或多个目标(例如,路由度量)来优化路由路径的最优化的集合或者子集。路由度量的示例包括但不限于:最小化的行驶时间、最大化的利润、最大化的乘客便利性、每单位距离(例如,每车辆或者总距离)处于服务中的自主车辆的最小化的数目、自主车辆车队的最小化的总成本、所行驶的每单位距离的最小化的电池放电、每单位电池充电的最大化的行驶距离、相对于自主车辆不可操作的时间(或者相对于自主车辆车队的总停运时间)的自主车辆运送乘客的最大化的时间(或者自主车辆车队用于运送乘客的总时间/里程)、每单位时间内的用于促进一个或多个自主车辆的路由(例如,其间一个或多个自主车辆正在运送乘客)的最小化的遥控操作员-小时量、在某些操作状态期间(例如,在其中电池充电量为低量期间)自主车辆所消耗的最小化的电量(例如,由于板上hvac系统、音乐系统、照明系统、以及耗电的任何其它板上部件所使用的电力)、沿路径3683的一个或多个部分的通信信道的最大化的带宽、等等。

作为示例,认为优化器3638可以被配置为确定自主车辆3630a的子集的多个目的地位置3684,目的地位置3684由例如来自相应请求的gps数据描述。优化器3638可以被配置为标识多个初始位置3682和目的地位置3684之间的路径3683的路由特性,并且优化初始位置3682的一个或多个集合和目的地位置3684的一个或多个集合之间的路径3683的路径部分或者路段(例如,路网中的一个或多个路径部分或者路段)的任何数目的组合的路由度量。另外,优化器3638可以被配置为计算在到达目的地位置3684的一个或多个集合之后自主车辆3630a要被导向到的相应的交付位置3686的一个或多个集合。可以基于对交付路径3687的集合的计算来确定交付位置3686,可以从交付路径3687的集合中选择最优交付路径,例如交付路径3687a,以优化一个或多个路由度量。在一些示例中,优化器3638可以被配置为标识目的地位置3684和交付位置3686之间的交付路径3687a和3687b的路径部分或者路段的任何数目的组合的路由特性,并且可以被进一步配置为优化目的地位置3684和交付位置3686之间的交付路径3687a和3687b的路由度量(例如,最小化的行驶时间)。注意,根据至少一个示例,可以与自主车辆车队3630a的任何数目的其它交付路径3687(未示出)的优化同时地执行优化器3638对交付路径3687a和3687b的优化。

根据一些示例,优化器3638可以采用硬件或者软件、或者它们的组合来实施,并且可以被配置为根据优化算法进行操作,其中,优化算法操作用于优化多变量成本函数(或者目标函数),例如,其可以线性地优化一个或多个路由度量。在一些情况下,优化器3638可以实施用于执行一种或多种回归技术(例如,线性回归或者多项式回归)的算法,例如利用该算法来标识用于使相对于至少相应的交付位置3686的每个路径(或者共同的)的行驶时间最小化的交付路径3687的优化的集合。另外,优化器3638还可以执行回归技术,以对相对于初始位置3682的至少一些集合的路径3683的集合进行优化。根据各种示例,优化器3638不一定限制于执行回归算法,而是可以实施用于生成路由数据3650的最优集合的任何函数。

在一些示例中,优化器3638可以被配置为标识实施交付位置3686a的数据,并且根据路由数据3650a选择用于导航的自主车辆。基于路由数据3650a,可以将表示命令数据3642的数据发射到自主车辆,由此命令数据3462可以被配置为使自主车辆导航到交付位置3686a,交付位置3686a可以是用于随后接载下一乘客-用户3602的后续初始位置。注意,优化器3638可以计算地理围划区(例如,至少在一些示例中,具有自主车辆不能穿越(在无遥控操作员授权的情况下)的边界的地理区域)内的交付位置3686的数目和/或目的地位置3684的数目。因此,遥控操作员3608可以经由遥控操作员计算设备3604生成命令数据3642以使自主车辆穿越为地理围划区定界限的边界。在该情况下,命令数据3642可以包括用于在由自主车辆控制器(未示出)执行时引起自主车辆的可执行指令。

为了示出派遣跟踪器3636和优化器3638的操作,考虑以下示例。基于路由特性和初始位置3682以及所请求的目的地位置3684,优化器3638生成路由数据3650的集合,以最优地对自主车辆进行路由。路由数据3650a可以描述所述路线之一。派遣跟踪器3636可以被配置为监测与路径3683a的一个或多个部分相关联的一个或多个路由特性。接下来,认为派遣跟踪器3836检测到一个或多个路由特性的变化,由此自主车辆将响应于改变的路由特性而从路径3683a偏离至修改的路径部分3685上。如所示,改变的路由特性的示例可以包括以下中的一个或多个:乘客对改变目的地的请求、检测到的与路径3683a的部分3689相关联的路由特性(例如,由于增加的交通或者事故而改变)、使在路径3683a的其余部分上路由自主车辆变得不重要或者要避免路径3683a的其余部分上路由自主车辆(例如,在导航复杂度可能出现的十字路口)的策略、遥控操作员命令(例如,遥控操作员生成的修改自主车辆的导航的命令)、等等。响应于检测到的路由特性,优化器3638可以被配置为标识自主车辆的修改的路径3685,并且可以被进一步配置为包括可以被发射到自主车辆的命令数据3642中的更新的数据(例如,表示用于改变修改的路径3685的指令的数据)。于是,命令数据3642可以被配置为使自主车辆经由修改的路径3685(或者其一部分)来导航。在一些情况下,自主车辆控制器(未示出)可以执行包括在命令数据3642中的指令,以实现导航中对目的地位置3684a(例如,最初的目的地位置)或者目的地位置3684b(例如,不同的目的地位置)的改变。根据各种示例,优化器3638(具有修改的路径3685的实施方式)可以被配置为基于重新计算的交付位置3686(例如,相对于目的地位置3684)重新计算(在适用时)一个或多个交付路径3687,和/或基于重新计算的目的地位置3684(例如,相对于初始位置3682)重新计算一个或多个路径3683。

图37a和37b是描绘了根据一些示例的针对被配置为存储自主车辆车队优化数据的资源库的数据类型和数据排列的示例的示图。图37a的示图3700描述了用于关联车队管理数据和/或将车队管理数据存储在车队管理数据资源库3746中的数据类型和/或数据排列(例如,数据结构)的示例。注意,图37a和37b中所示的数据结构仅用于例示的目的,而不旨在限制。

在所示示例中,数据排列3710可以被配置为将任何数目的自主车辆特性作为数据3720至3726的子集而存储,数据3720至3726中的每一个可以表示针对相应自主车辆的数据的子集。在所示示例中,自主车辆特性数据3711至3719的集合可以设置或者存储在数据位置3790中的任一个中。为了例示,认为与数据3720的子集相关联的第一自主车辆包括表示自主车辆(“av”)标识符的数据3711、以及表示自主车辆的状况的数据3712。例如,数据3712可以包括表示被标识为“av1”的自主车辆是否具有以下状况的数据:“正在使用”(或者被派遣)、“处于充电模式”(例如,在例如车站处正在对电池进行充电或者更换电池)、“空闲”或者停在车站的车库中、“正在修理”、“停放”在停车场中等。

表示自主车辆av1的电池充电数据的数据3713可以包括描述以下项的任何数据:电池的充电量、在预测的载荷下电池的预测的放电速率、放电速率、从一个电平(例如,充电25%)充电至另一个充电电平(例如,充电100%)的估计的时间、等等。表示位置的数据3714可以包括描述自主车辆的位置的任何数据,由此可以基于实时(或者接近实时)确定的gps坐标来标识位置。数据3715可以表示任何传感器数据,包括一个或多个类型的传感器数据(例如,激光雷达数据、声纳数据、雷达数据、摄像机数据等)以及传感器数据的一个或多个子集(例如,激光雷达传感器1数据、激光雷达传感器2数据、激光雷达传感器3数据等)。针对数据3720至3726的任何子集的数据3717可以表示一个或多个轮胎的气压。数据3718可以表示对自主车辆要被服务(例如,维护、修理等)的日期和/或时间的指示。数据3719可以表示其它自主车辆特性的一个或多个其它子集,其可以用于判断是否要调度或派遣自主车辆以用于提供自主车辆运输服务的目的。在所示示例中,可以将以上所描述的数据中的任何数据存储在数据位置3790的任何数据位置3790a中。

图37b的示图3750描述了用于关联包括路由数据的派遣数据和/或将包括路由数据的派遣数据存储在派遣数据资源库3747中的数据类型和/或数据排列(例如,数据结构)的示例。在所示示例中,数据排列3711可以被配置为将任何量的路由数据作为数据3770至3776的子集而存储,数据3770至3776中的每个可以表示针对相应自主车辆的数据的子集。在所示示例中,各种类型的路由数据3761至3769的集合可以设置或者存储在数据位置3791中的任一个中。为了例示,认为与数据3770的子集相关联的第一自主车辆包括表示自主车辆(“av”)标识符的数据3761、以及表示自主车辆正在接载或者已经接载乘客的接载位置(例如,初始位置)的数据3762。例如,数据3762可以包括表示与一个或多个gps坐标相关联的初始位置的数据。数据3763可以包括表示预测乘客要下车的目的地位置的数据。然而,注意,当改变了目的地位置时,可以更新数据3763。数据3764可以包括表示估计的到达时间(“eta”)、或者调度自主车辆到达目的地位置的任何其它时间度量的数据。数据3765可以包括表示路由数据的数据。例如,根据各种示例,路由数据3765可以包括路径部分或者路段的一个或多个集合,它们作为总体可以构成自主车辆在其上导航的路径。

数据3766可以包括表示作为另一个用户的后续初始位置的预测的接载位置的数据。注意,至少在一些示例中,如果主要接载位置变成被消除,则数据3766也可以包括替代的接载位置。数据3767可以包括表示自主车辆的一个或多个部件的耗电量(或者预测的耗电速率)(av部件耗电)的数据,所述一个或多个部件例如hvac系统、照明系统、娱乐系统等。于是,数据3767可以用于确定与特定自主车辆相关联的电池放电速率,电池放电速率又可能影响车队优化管理器(未示出)可以选择用于对车队中的一个或多个自主车辆进行导航的距离和路线。例如,具有相对低的电池充电量的自主车辆的空调系统可能正在满功率运行,同时乘坐者可能正在使用多个灯和其娱乐系统中的高声的低音乐器。于是,电池放电的速率可能影响自主车辆可能被派遣的未来的路线。数据3768可以包括表示诸如乘客的数目、用户的身份等的乘坐者数据的数据。数据3769可以表示其它类型的路由数据的一个或多个其它子集,其可以用于判断是否要调度或派遣自主车辆以用于提供自主车辆运输服务的目的。

在所示示例中,可以将以上所描述的数据中的任何数据存储在数据位置3791中的任何数据位置3791a中。根据各种示例,数据位置3790a和3791a可以表示以下中的任一项:存储数据的数据库地址、任何量的数据储存器(例如,作为数据块)、一个或多个数据文件(或者文档)、针对任何量的数据储存器(例如,数据库对象)的一个或多个关键字或者指针、等等。可以使用任何类型的数据库技术分别实施图37a和37b的资源库3746和3747中的任一个,资源库3746和3747可以包括任何数据库模式或者任何数据库管理系统,其被配置为实施例如关系数据库模型、或者sql、odbc、jdbc等、以及任何标准化的sql服务器数据库或者非sql数据库(例如,nosql),例如mongodbtm。在各种示例中,可以从资源库3746中的自主车辆特性数据或者从资源库3747中的路由数据、或者从它们的任何组合形成或获得一个或多个路由特性。

图38是描绘了根据一些示例的根据优化的路由路径的集合对自主车辆进行路由的示例的示图。示图3800描述了车队优化管理器3820,其包括自主车辆(“av”)派遣优化计算器3834以及车队命令生成器3840,车队命令生成器3840被配置为生成命令数据3842。另外,自主车辆派遣优化计算器3834可以被配置为包括派遣跟踪器3836、请求管理器3837、以及优化器3838。注意,图38的示图3800中所描述的一个或多个元件可以包括与结合本文描述的一个或多个其它图所描述的具有类似命名的元件相同的结构和/或功能。另外,示图3800的车队优化管理器3820可以包括比图38中所描述的部件的数目更少或者更多的部件。

在该示例中,车队优化管理器3820可以被配置为对在路网3850中路由自主车辆车队3830的协调进行优化,路网3850可以包括任何数目的自主车辆(“av”)车站3852a至3852c。自主车辆车站可以是自主车辆的库存的源,可以从该车站派遣自主车辆以服务于运输请求,例如,用户3802a所生成的请求。另外,自主车辆车站也可以是可以对车辆进行修理、维护、存放等的目的地或者交付位置。

根据各种示例,优化器3838可以被配置为确定路线的各种集合,例如,其对相应目的地和交付位置之间的交付路径进行优化。在第一示例中,自主车辆3830a可以被配置为接收命令数据3842,命令数据3842又可以被配置为使自主车辆3838经由路径3883a导航至目的地位置3884a,可以在目的地位置3884a处卸下一个或多个乘客。接下来,自主车辆3830a可以经由交付路径3887a导航(例如,无乘坐者)至交付位置3886a,可以在交付位置3886a接载用户3802a。在各种示例中,交付路径3887a可以表示一个或多个路径部分或者路段的优化的编组,该优化的编组最优地向至少交付位置3886a处的用户3802a提供自主车辆服务。

在第二示例中,自主车辆3830b被示为经由交付路径3887b朝交付位置3886b行进(例如,自主车辆3830b可能已经从前一个目的地位置(未示出)离开)。如所示,用户3802b在交付路径3886b等待被自主车辆接载。接下来,认为优化器3838可以被配置为重新计算自主车辆车队中的哪一辆自主车辆可以最优地适合于服务用户3802b。在该情况下,认为在交付路径3887b上可能检测到障碍物。于是,优化器3838可以使命令数据3842被接收到自主车辆车站3852b处的自主车辆中。作为响应,命令数据3842可以被配置为从车站3852b派遣自主车辆经由交付路径3887x来接载用户3802b。另外,优化器3838还可以将自主车辆3830b重新路由至初始位置3882b,以接载另一个用户3802x。尽管未示出,优化器3830可以响应于经由交付路径3887x对自主车辆的路由为其它自主车辆重新计算一个或多个其它路线。

在第三示例中,自主车辆3830c可以被示为正在经由路径3883c向目的地位置3884ca行进,此后,自主车辆3830c可以被配置为经由交付路径3887c向交付位置3886c导航,以接载用户3802z。根据一些示例,可以经由修改的路径3885c将自主车辆3830c重新路由至另一个目的地位置3884cb。于是,自主车辆3830c不可用于向目的地位置3884ca或者交付位置3886c行驶。基于对自主车辆3830c的重新路由,车队优化管理器3820可以被配置为重新计算路由路径的集合,以确定另一个自主车辆3830z可以被路由至可以接载用户3802z的交付位置3886c(作为初始位置)。尽管未示出,可以响应于以上所描述的自主车辆3830c的路由改变而重新路由一个或多个其它自主车辆,以优化一个或多个路由度量。示图3800中所描述的示例并不旨在进行限制,并且因此车队优化管理器3820(或者其一个或多个部件)可以被配置为基于一个或多个路线或者路由特性的改变而迭代地重新计算路由路径的最优集合。在一些示例中,遥控操作员3808可以经由遥控操作员计算设备3804启动对任何自主车辆3830的导航的修改。

图39是描绘了根据一些示例的根据特定交付位置来路由自主车辆的示例的示图。示图3900描述了车队优化管理器3920,车队优化管理器3920包括自主车辆(“av”)派遣优化计算器3934和车队命令生成器3940,车队命令生成器3940被配置为生成命令数据3942。另外,自主车辆派遣优化计算器3934可以被配置为包括派遣跟踪器3936、请求管理器3937、以及优化器3938。注意,图39的示图3900中所描述的一个或多个元件可以包括与结合本文描述的一个或多个其它图所描述的具有类似命名的元件相同的结构和/或功能。另外,示图3900的车队优化管理器3920可以包括比图39中所描述的部件的数目更少或者更多的部件。车队优化管理器3920可以被配置为对在路网3950中路由自主车辆车队3930的协调进行优化,路网3950可以包括任何数目的自主车辆(“av”)车站3952a至3952c以及任何数目的停车位3981a和3981b,可以在停车位处停放自主车辆3930或以其它方式交付自主车辆3930。自主车辆车站和停车位可以是库存的源,可以从该车站和停车位派遣至少一个自主车辆以服务于运输请求。

根据一些示例,例如,自主车辆派遣优化计算器3934可以被配置为确定对特定自主车辆3930的自主车辆服务的需求可能降低,以致在乘客在目的地位置下车之后自主车辆可能空闲。在一些情况下,优化器3938可以被配置为标识没有对自主车辆运输的请求。在该示例中,优化器3938可以确定距停车位3981的距离可能短于距自主车辆车站3952a至3952c之一的距离。因此,为了保存电池充电电量,自主车辆3930可以行进至停车位(例如,最近的停车位或停车场),车辆可以在该处等待利用。

根据一些示例,自主车辆可以行进至集中设置的停车位(例如,停车位3891b),以随后在半径为r的区域3980内服务于运输请求,例如,区域3980是由在某一时间间隔期间服务于区域3980内的至少一个请求的概率的大小来确定的。在一些情况下,服务于区域3980内的至少一个请求的概率可以是基于可以定义在时间间隔期间用于在区域3980内生成的请求的概率的密度的历史数据。注意,可以将停车位3891b的位置确定为区域3980的中心(例如,其形心),区域3980可以包括围绕停车位3891b的请求位置的分布。

在一些示例中,自主车辆3930可能从一个电力状态(例如,驾驶模式电力状态)电力下降至另一个电力状态(例如,低电力备用电力状态)。此后,优化器3938可以标识停车位3891处的可能处于备用模式的自主车辆,以服务于运输请求。于是,自主车辆3930可以转换回驾驶模式电力状态以行驶出停车位,从而服务于运输请求。作为示例,认为自主车辆3930a行进至目的地位置3984并且放下乘客。另外,认为自主车辆3930a尚未被分配来服务于另一个用户请求。直到这时,自主车辆3930a可以经由交付路径3987a导航至可以是最近的停车位之一的停车位3981a。于是,在呼叫自主车辆3930a来服务之前,电池充电量可以被保存。作为另一个示例,自主车辆3930a可以经由交付路径部分3987a和3987b行进至与停车位3891b重合的交付位置。此处,自主车辆3930a可能在通常可能与距离“r”内的预测的未来请求大体上等距的位置处电力下降。当在区域3980内的特定初始位置(未示出)接收到用于服务于请求的命令数据3942时,自主车辆3930a可以导航至接载用户的初始位置。

根据一些示例,遥控操作员3908可以经由遥控操作员计算设备3904输入命令,以生成用于命令数据3942,以使自主车辆3930a停入其中自主车辆可以任选地电力下降至备用状态的区域。注意,以上所描述的实施方式仅为示例,并不旨在进行限制。例如,可以通过自主车辆内部的自主车辆控制器执行以上所描述的将自主车辆导航至停车位的命令生成。车队优化管理器3920也可以被配置为提供命令数据3942,以使自主车辆3930行驶至任何地理区域(包括av车站),以在被调用以服务于运输请求之前使电力下降至备用状态。在一些示例中,局部地图数据或者全局地图数据可以指示自主车辆3930附近的停车位的可用性。因此,自主车辆3930可以导航至由例如局部生成的地图所指定的可用的停车位。

图40是描绘了根据一些示例的根据自主车辆的至少一个部件的简化的功能来路由自主车辆的示例的示图。示图4000描述了车队优化管理器4020,车队优化管理器4020包括自主车辆(“av”)派遣优化计算器4034和车队命令生成器4040,车队命令生成器4040被配置为生成命令数据4042。另外,自主车辆派遣优化计算器4034可以被配置为包括派遣跟踪器4036、请求管理器4037、以及优化器4038。注意,图40的示图4000中所描述的一个或多个元件可以包括与结合本文描述的一个或多个其它图所描述的具有类似命名的元件相同的结构和/或功能。另外,示图4000的车队优化管理器4020可以包括比图40中所描述的部件的数目更少或者更多的部件。在该示例中,车队优化管理器4020可以被配置为对在路网4050中路由自主车辆车队4030的协调进行优化,路网4050可以包括任何数目的自主车辆(“av”)车站4052a至4052c,鉴于检测到诸如传感器、电池、车灯、轮胎压力、hvac系统、安全装备、音频报警系统等一个或多个部件的功能降低,自主车辆4030可以在这些车站处被服务或者修理。

根据一些示例,自主车辆派遣优化计算器4034可以被配置为接收自主车辆特性数据4044,以判断一个或多个部件是否可以在操作范围之外(例如,超出规范的规格和/或参数值)操作。自主车辆特性数据4044可以被从车队管理数据资源库接收,并且还可以被配置为包括所期望的传感器数据值和值范围,其定义了一个或多个定义了部件功能的相对状态(例如,规范的、降级的、最低功能的、操作故障的)的值范围。例如,从特定激光雷达传感器接收的激光雷达数据可以在规范的范围之外操作。由于多个激光雷达传感器可以按冗余方式(例如,至少三倍的冗余度)存在于自主车辆上,自主车辆4030可以继续利用不起作用的激光雷达传感器(例如,处于故障操作模式)进行操作。

在一些情况下,自主车辆车队4030利用一个或多个功能低于规范操作范围的部件进行操作,优化器4038可以被配置为使用这样的自主车辆4030优化请求的服务。例如,可以将利用功能下降的部件进行操作的自主车辆限制为服务于在可以分别邻近(例如,在任何距离)av车站4052a、4052b、以及4052c的边界4054a、4054b、以及4054c内的请求。因此,如果出现了与功能下降的部件、或者任何其它部件有关的其它问题,则自主车辆被配置为(例如,经由命令数据4042)在离自主车辆服务车站4052相对近的地方被路由(如果出现服务需求)。以上所描述的边界使用仅为协调功能下降的自主车辆的派遣的一个示例,并不旨在进行限制。用于选择自主车辆(功能下降的)以服务于运输请求的任何数目的方案均在本公开的范围内。还应该注意,自主车辆派遣优化计算器4034可以生成订购数据4046,以自动地调度服务、以及对零部件进行订购,以替换功能下降的部件。另外,可以生成非av请求4048,以促进将非av驾驶员(例如,人驾驶的车辆)用于运输服务(例如,对自主车辆服务具有最小的损害或者无损害),从而在例如一个或多个自主车辆受到功能下降的部件的影响的情况下,帮助或者补充自主车辆服务。在图16等描述了非av驾驶员的示例。

图41是示出了根据一些示例的优化路线的集合以管理自主车辆的车队的示例的流程图。流程4100开始于4102,在4102处,为多个自主车辆确定多个目的地位置。在4104处,可以计算多个交付位置,由此可以导引或者导向多个自主车辆中的每个自主车辆以导航至相应的交付位置。在4106处,可以标识用于实施与自主车辆相关联的交付位置的数据。在4108处,可以将表示使自主车辆导航至交付位置的命令的数据发射到特定自主车辆。注意,该流程图以及本文的其它流程图中所描述的次序并不旨在暗示要求线性地执行各种功能,因为流程图的每个部分可以与流程图的任何一个或者多个其它部分串行地或者并行地执行,并且可以独立于或者依赖于流程图的其它部分。

图42示出了根据各种实施例的被配置为向自主车辆服务的部件提供各种与管理相关的功能和/或结构的各种计算平台的示例。在一些示例中,可以使用计算平台3300实施用于执行以上所描述的技术的计算机程序、应用、方法、过程、算法、或者其它软件。注意,图33的各种结构和/或功能也适用于图42,并且因此,可以在图33的上下文中讨论这两个图中的一些要素。还应该注意,图42的示图4200中所描述的元件可以包括与结合本文描述的一个或多个其它图所描述的具有类似命名的元件相同的结构和/或功能。

参照图42中所示的示例,系统存储器3306包括自主车辆服务平台模块4250和/或其部件(例如,车队优化管理器模块4252、自主车辆派遣优化计算器模块4254等),其中的任一个、或者其一个或多个部分可以被配置为通过实施本文所描述的一个或多个功能而促进对自主车辆服务的导航。在一些情况下,计算平台3300可以设置在任何设备中,例如,设置在计算设备3390a中,计算设备3390a可以设置在自主车辆服务平台和/或移动计算设备3390b中。

尽管已经出于理解清晰的目的而采用一些细节描述了前述示例,以上所描述的创造性技术并不限于所提供的细节。存在许多实施以上所描述的创造性技术的替代的方式。所公开的示例为例示性的而非限制性的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1