自适应自主车辆计划器逻辑的制作方法

文档序号:14943887发布日期:2018-07-17 11:44阅读:284来源:国知局

此pct国际申请是2015年11月4日提交的美国申请no.14/756992的继续,美国申请no.14/756992与以下申请有关: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;11月4日提交的名称为“adaptiveautonomousvehicleplannerlogic”的美国专利申请no.14/756,995;2015年11月4日提交的名称为“sensor-basedobject-detectionoptimizationforautonomousvehicles”的美国专利申请no.14/756,991;2015年11月4日提交的名称为“calibrationforautonomousvehicleoperation”的美国专利申请no.14/756,996;于此通过引用他们的整体将他们全部并入用于所有目的。

各种实施例总体涉及自主车辆及相关联的机械、电气和电子硬件、计算机软件和系统、以及有线和无线网络通信用于提供自主车辆车队作为服务。更具体地,系统、设备和方法被配置为生成轨迹以影响自主车辆的导航。



背景技术:

研发无人驾驶车辆的多种途径主要致力于自动化常规车辆(例如,手动汽车(manually-drivenautomotivevehicle)),目的是产生用于消费者购买的无人驾驶车辆。例如,许多汽车公司和分支机构正修改常规汽车和诸如操控的控制机构,以给消费者提供拥有可以操作而无需驾驶员的车辆的能力。在一些途径中,常规无人驾驶车辆在一些状况下执行安全关键的(safety-critical)驾驶功能,但是在车辆控制器不能解决可能危害占用者(occupant)的安全的某些问题时,需要驾驶员采取控制(例如,操控等)。

然而,功能上,常规无人驾驶车辆典型地具有许多缺陷。例如,正处于研发的大量无人驾驶汽车已经从需要手动(即人控制的)操控和其它类似汽车功能的车辆发生了演变。因此,大部分无人驾驶汽车是基于车辆要被设计为适应有驾照的驾驶员的范例,在车辆内给该有驾照的驾驶员保留了特定座位或位置。这样,无人驾驶汽车被设计为次最佳并且总体上放弃了简化车辆设计和节约资源(例如,减小生产无人驾驶车辆的成本)的机会。其它缺陷也存在于常规无人驾驶车辆中。

其它缺陷也存在于常规运输服务中,归因于提供常规运输和共乘(ride-sharing)服务的通常途径,常规运输服务未很好地适合于有效地管理例如车辆库存(inventory)。在一个常规途径中,需要乘客访问移动应用以经由给乘客分配人驾驶员和车辆(例如,在私人所有权的情况下)的中央服务请求运输服务。通过利用不同地拥有的车辆,私人车辆的维护和安全系统通常未经检查。在另一常规途径中,一些团体通过容许登记为会员的驾驶员访问在会员中共享的车辆而使得能够对一组车辆实施共乘。此途径未很好的适合于提供方便的运输服务,因为驾驶员所需要在特定位置进行共享车辆的搭乘(pickup)和落车(dropoff),特定位置在城市环境中是罕见的和稀少的,并且需要访问用以停下共乘车辆的相对昂贵的不动产(即,停车场)。在以上描述的常规途径中,从库存的观点,用于提供运输服务的传统车辆通常未充分使用,因为一旦驾驶员离开,车辆就变为不能移动。此外,共乘途径(以及个别拥有的车辆运输服务)通常未很好地适合再平衡(rebalance)库存来匹配运输服务的需求,以适应使用和典型的行驶模式。注意,还有,具有有限的自驾驶自动化能力的一些常规描述的车辆也未很好地再平衡库存,因为通常可能需要人驾驶员。根据美国运输部的国家公路交通安全管理局(“nhtsa”),具有有限的自驾驶自动能力的车辆的范例是设计为3级(“l3”)车辆的车辆。

作为另一缺陷,无人驾驶车辆的典型途径通常未很好适合于关于行驶中的车辆和其它车辆驾驶员或个体之间的互动(例如,社会互动)来检测和导航车辆。例如,一些常规的途径不能够充分地识别步行者、骑车人等,以及诸如眼接触和手势等的相关联的互动,以处理对无人驾驶车辆的占用者以及其它车辆的驾驶员、步行者等的安全风险。

从而,所需的是用于实施自主车辆,而无常规技术的限制的技术方案。

附图说明

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

图1是描绘根据一些实施例的通信地联网至自主车辆服务平台的自主车辆的车队的实施的图示;

图2是根据一些实施例的监视自主车辆的车队的流程图的范例;

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

图3b至3e是描绘根据一些范例的传感器场冗余(sensorfieldredundancy)和对传感器场的失去的自主车辆适配的范例的图示;

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

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

图6是描绘根据一些实施例的用于自主车辆控制器的架构的范例的图;

图7是描绘根据一些实施例的实施冗余通信信道以保持与自主车辆的车队的可靠通信的自主车辆服务平台的范例的图示;

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

图9是描绘根据一些范例的用于使用图8中描绘的通信协议来方便远程操作的数据的类型的图示;

图10是示例根据一些实施例的远程操作者可以用以影响路径计划的远程操作者接口的范例的图示;

图11是描绘根据一些范例的被配置为发起远程操作的计划器的范例的图示;

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

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

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

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

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

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

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

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

图20是描绘根据一些实施例的定域器(localizer)的范例的图示;

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

图22是描绘根据一些实施例的定域器的另一范例的图示;

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

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

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

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

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

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

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

图29是根据一些实施例的模拟自主车辆的各种方面的流程图的范例;

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

图31是描绘根据一些实施例的地图构建引擎的架构的图示;

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

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

图36是描绘根据一些范例的用于生成轨迹的计划器的至少部分的范例的图示;

图37是描绘根据一些范例的轨迹跟踪器的范例的图示;

图38是描绘根据一些范例的自主车辆控制器的冗余实施的范例的图示;

图39是描绘根据一些范例的状态和事件管理器或其部分的范例的图示;

图40是示例根据一些范例的实施一个或更多轨迹类型的范例的流程图;以及

图41示例根据各种实施例的被配置为给自主车辆服务的部件提供各种与生成有关的功能性和/或结构的各种计算平台的范例。

具体实施例方式

可以以许多方式实施各种实施例或范例,包括作为系统、过程、装置、用户接口、或诸如计算机可读存储介质的计算机可读介质或计算机网络上的一系列的程序指令,程序指令通过光学、电子或无线通信链接在该计算机网络上发送。通常,可以以任意顺序执行公开的过程的操作,除非在权利要求中另外规定。

以下与附图一起提供了一个或更多范例的具体实施方式。结合该范例提供了具体实施方式,但是具体实施方式不限于任何特别的范例。范围仅由权利要求及其许多替代、修改和等同所限定。以下描述中提出了许多特定细节,以提供透彻的理解。为范例目的提供这些细节,并且可以根据权利要求实践描述的技术,而无这些特定细节中的一些或全部。为清楚,没有详细描述与范例有关的技术领域中已知的技术材料,以避免不必要地使描述模糊。

图1是描绘根据一些实施例的通信地联网至自主车辆服务平台的自主车辆的车队的实施的图示。图示100描绘了作为服务操作的自主车辆109的车队(例如,一个或更多自主车辆109a至109e),每个自主车辆109被配置到自驾驶道路网络110并建立与自主车辆服务平台101的通信链接192。在其中自主车辆109的车队构成服务的范例中,用户102可以经由一个或更多网络106向自主车辆服务平台101发送用于自主运输的请求103。作为响应,自主车辆服务平台101可以派遣自主车辆109之一以将用户102从地理位置119自主地运输至地理位置111。自主车辆服务平台101可以从站点190向地理位置119派遣自主车辆,或可以使已经在通行(例如,无占用者)的自主车辆109c转向以服务对用户102的运输请求。自主车辆服务平台101还可以被配置为响应于来自用户102(例如,作为乘客)的请求,使具有乘客的在通行的自主车辆109c转向。另外,自主车辆服务平台101可以被配置为预约具有乘客的在通行的自主车辆109c,以在现有的乘客落车之后转向为服务用户102的请求。需要注意,可以实施多个自主车辆服务平台101(未示出)和一个或更多站点190以结合道路网络110服务一个或更多自主车辆109。一个或更多站点109可以被配置为存储、服务、管理、和/或保持自主车辆109的库存(例如,站点190可以包括一个或更多实施自主车辆服务平台101的计算设备)。

根据一些范例,自主车辆109a至109e中的至少一些被配置为双向自主车辆,诸如双向自主车辆(“av”)130。双向自主车辆130可以被配置为主要在沿,但不限于,纵轴131的任意方向上行驶。因而,双向自主车辆130可以被配置为实施车辆外部的主动照明以警告附近的,且其中双向自主车辆130正沿着行驶的方向上的其他人(例如,其他驾驶员、步行者、骑行者等)。例如,在沿第一方向行驶时,可以将灯136的主动源实施为主动灯138a,或在沿第二方向行驶时,可以将灯136的主动源实施为主动灯138b。可以使用一种或更多颜色的第一子集来实施主动灯138a,具有可选动画(例如,可以随时间改变的光或颜色的可变强度的光模式)。类似地,可以使用一种或更多颜色的第二子集和可以与主动灯138a的那些光模式不同的光模式来实施主动灯138b。例如,可以使用作为“头灯”的白色灯来实施主动灯138a,而可以使用作为“尾灯”的红色灯来实施主动灯138b。主动灯138a和138b,或其部分,可以被配置为提供其他与光有关的功能性,诸如提供“转向信号指示”功能(例如,使用黄光)。根据各种范例,自主车辆130中的逻辑可以被配置为使主动灯138a和138b适配为对于任何数量的管辖区域符合各种安全要求和交通规则或法律。

在一些实施例中,可以将双向自主车辆130配置为在诸如四元部分(quadportion)194的每个四元部分中具有类似的结构元件和部件。至少在此范例中将四元部分描绘为双向自主车辆130的由平面132和平面134的交叉点(intersection)限定的部分,平面132和134均通过车辆以在平面132和134的每一侧上形成两个类似的一半。此外,双向自主车辆130可以包括自主车辆控制器147,自主车辆控制器147包括被配置为控制占优势数量的车辆功能的逻辑(例如,硬件或软件,或其组合),占优势数量的车辆功能包括驾驶控制(例如,推进、操控等)和灯的主动源136等其他功能。双向自主车辆130还包括设置在车辆上的各种位置的多个传感器139(未示出其他传感器)。

自主车辆控制器147还可以被配置为确定自主车辆109的局部姿态(例如,局部方位(localposition))并检测相对于车辆的外部对象。例如,考虑双向自主车辆130正在道路网络110中沿方向119行驶。自主车辆控制器147的定域器(未示出)能够确定地理位置111处的局部姿态。这样,定域器可以使用采集的诸如与建筑物115和117的表面相关联的传感器数据的传感器数据,该传感器数据能够与诸如地图数据(例如,3d地图数据,包括反射数据)的参考数据进行比较以确定局部姿态。此外,自主车辆控制器147的感知引擎(未示出)可以被配置为对诸如外部对象112(“树”)和外部对象114(“步行者”)的外部对象的行为进行检测、分类、和预测。该外部对象的分类可以将对象宽泛地分类为诸如外部对象112的静态对象和诸如外部对象114的动态对象。av控制器147的定域器和感知引擎以及其他部件合作以使得自主车辆109自主驾驶。

根据一些范例,自主车辆服务平台101被配置为在自主车辆109请求远程操作时提供远程操作者服务。例如,考虑自主车辆109d中的自主车辆控制器147检测使点191处的车行道122上的路径124模糊的对象126,如在插图120中描绘的。如果自主车辆控制器147不能以相对高的确定性程度查明车辆109d可以安全地通行的路径或轨迹,则自主车辆控制器147可以发送请求消息105用于远程操作服务。作为响应,远程操作者计算设备104可以从远程操作者108接受指令以执行用于成功地(安全地)越过障碍126的动作过程。响应数据107然后能够被发送回自主车辆109d以使得车辆例如在其沿替代路径121通行时安全地横过一组双线。在一些范例中,远程操作者计算设备104可以生成识别地理区域的响应以将对路径的计划排除在外。特别是,不是提供要遵循的路径,远程操作者108可以限定自主车辆必须避开的区域或位置。

基于上述内容,自主车辆130和/或自主车辆控制器147以及他们的部件的结构和/或功能性能够通过诸如定域(localization)和感知的与自主有关的操作执行实时(或几乎实时)的轨迹计算,以使得自主车辆109能够自驾驶。

在一些情况下,双向自主车辆130的双向性质提供具有彼此类似或基本类似的四元部分194(或任何其他数量的对称部分)的车辆。该对称减小设计的复杂性并相对地降低了独特部件或结构的数量,由此减小库存和制造复杂性。例如,传动系统(drivetrain)和轮系统可以设置于四元部分194中的任意部分中。此外,自主车辆控制器147被配置为发起远程操作服务以减小自主车辆109通行中延迟的可能性,同时解决否则可能影响占用者的安全的事件或问题。在一些情况下,道路网络110的可见部分描绘地理围住(geo-fenced)区域,该地理围住区域可以将自主车辆109的移动限制或另外地控制于图1中示出的道路网络。根据各种范例,自主车辆109及其车队可以是能够配置的以作为4级(“全自驾驶自动化”,或l4)车辆操作,4级车辆能够在需求时以点对点个人机动性的便利和私密提供运输,同时提供共享车辆的效率。在一些范例中,自主车辆109或于此描述的任何自主车辆可以被配置为省略方向盘(steeringwheel)或提供对自主车辆109的手动(例如,人控制的)操控(steering)的任何其他机械构件。此外,自主车辆109或于此描述的任何自主车辆可以被配置为省略车辆内的为占用者保留的座位或位置以接合方向盘,或用于操控系统的任何机械接口。

图2是根据一些实施例的监视自主车辆的车队的流程图的范例。在202,在监视自主车辆的车队时,流程200开始。至少一个自主车辆包括自主车辆控制器,自主车辆控制器被配置为使得车辆从第一地理区域自主地通行至第二地理区域。在204,检测表示与对于车辆的计算的置信水平相关联的事件的数据。事件可以是影响自主车辆的操作或潜在地影响自主车辆的操作的状况或情形。事件可以是自主车辆内部的,或外部的。例如,遮蔽(obscuring)车行道的障碍物可以被视为事件,通信的减少或失去也是。事件可以包括交通状况或堵车,以及由感知引擎感知的意外的或不寻常的数量或类型的外部对象(或踪迹)。事件可以包括天气相关的状况(例如,归因于冰或雨,摩擦的失去)或太阳用以照射的角度(例如,在日落时),诸如使得太阳明亮地照射到其他车辆的人驾驶员的眼中的相对于地平线的低的角度。这些和其他状况可以被视为引起远程操作者服务的发起或使车辆执行安全停止轨迹的事件。

在206,可以响应于事件的检测从自主车辆接收表示候选轨迹的子集的数据。例如,自主车辆控制器的计划器可以每单位时间计算并评估大量的轨迹(例如,成千或更多),单位时间诸如是秒。在一些实施例中,候选轨迹是考虑到事件提供自主车辆可以安全地向前移动(例如,使用远程操作者提供的替代路径)的相对地较高的置信水平的轨迹的子集。需要注意,一些候选轨迹可以被分级或,相比于其他候选轨迹,与较高置信度关联。根据一些范例,候选轨迹的子集可以源自任何数量的源,诸如计划器、远程操作者计算设备(例如,远程操作者能够确定并提供近似路径)等,并且可以被组合为候选轨迹的超集。在208,可以在一个或更多处理器处识别路径引导数据。路径引导数据可以被配置为辅助远程操作者从候选轨迹中的一个或更多候选轨迹中选择引导轨迹。在一些情况下,路径引导数据指定指示置信水平或概率的值,该值指示特别候选轨迹可以减小或消除事件可以影响自主车辆的操作的概率的确定性程度。可以响应于来自远程操作者的输入(例如,远程操作者可以从一组不同地分级的候选轨迹选择至少一个候选轨迹作为引导轨迹),在210接收作为选择的候选轨迹的引导轨迹。可以经由列出多个候选轨迹的操作者接口进行选择,例如按从最高置信水平至最低置信水平的顺序。在212,作为引导轨迹的候选轨迹的选择可以被发送至车辆,车辆依次实施引导的轨迹,以通过使得车辆执行远程操作者指定的操纵来解决状况。这样,自主车辆可以从非正常操作状态转变。

图3a是描绘根据一些范例的传感器和其它自主车辆部件的范例的图示。图示300描绘了包括传感器、信号路由器345、传动系统349、可拆卸电池343、音频生成器344(例如,扬声器或换能器)、以及自主车辆(“av”)控制逻辑347的双向自主车辆330的内部视图。图示300中示出的传感器包括图像捕获传感器340(例如,光捕获设备或任何类型的相机)、音频捕获传感器342(例如,任何类型的麦克风)、雷达设备348、声纳设备341(或其他类似的传感器,包括超声传感器或与声音有关的传感器)、以及激光雷达(lidar)设备346等其他传感器类型和形态(其中一些未示出,诸如惯性测量单元(或“imu”)、全球定位系统(“gps”)传感器、声纳传感器等)。需要注意,四元部分350表示双向自主车辆330的四个“四元部分”中的每一个四元部分的对称(例如,除所描绘的外,每个四元部分350可以包括轮子、传动系统349、类似的操控机构、类似的结构支持和部件等)。如图3a中描绘的,类似的传感器可以放置在每个四元部分350中的类似的位置,然而可以实施任何其他配置。每个轮子可以是能够个体地且独立于其他轮子而操控的。还需要注意,可拆卸电池343可以被配置为方便换入和换出,而不是在位充电,由此确保减小的或可忽略的归因于必须对电池343进行充电的停机时间。虽然自主车辆控制器147a被描绘为用于双向自主车辆330中,但是自主车辆控制器347a不限于此并且可以被实施于单向自主车辆或任何其他类型的车辆中,不管是在陆上,在空中,还是在海上。需要注意,图3a中示出的传感器的描绘和描述的方位、位置、取向、数量、以及类型不是意图进行限制,并且这样,可以存在任何数量和类型的传感器,并且可以使任何传感器在自主车辆330上的任何地方定位和取向。

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

根据一些实施例,自主车辆控制逻辑347可以作为自主车辆控制器347a实施于硬件和/或软件中,自主车辆控制器347a被示为包括运动控制器362、计划器364、感知引擎366、以及定域器368。如所示,自主车辆控制器347a被配置为接收相机数据340a、激光雷达数据346a、以及雷达数据348a,或任何其他范围感测或定域(localization)数据,包括声纳数据341a等。自主车辆控制器347a还被配置为接收定位(positioning)数据,诸如gps数据352、imu数据354、以及其他方位(position)感测数据(例如,与轮有关的数据,诸如操控角度、角速度等)。此外,自主车辆控制器347a可以接收任何其他传感器数据356,以及参考数据339。在一些情况下,参考数据339包括地图数据(例如3d地图数据、2d地图数据、4d地图数据(例如,包括时代确定))和路线(route)数据(例如,道路网络数据,包括但不限于rndf数据(或类似的数据)、mdf数据(或类似的数据)等。

定域器368被配置为接收来自一个或更多源的传感器数据,诸如gps数据352、轮数据、imu数据354、激光雷达数据346a、相机数据340a、雷达数据348a等、以及参考数据339(例如,3d地图数据和路线数据)。定域器368通过将传感器数据与地图数据进行比较来集成(例如,融合传感器数据)和分析数据,以确定双向自主车辆330的局部姿态(或方位)。根据一些范例,定域器368可以实时地或几乎实时地生成或更新任何自主车辆的姿态或方位。需要注意,定域器368及其功能性不必限于“双向”车辆并且能够实施于任何类型的任何车辆中。因此,定域器368(以及av控制器347a的其他部件)可以实施于“单向”车辆或任何非自主车辆中。根据一些实施例,描述局部姿态的数据可以包括一个或更多x坐标、y坐标、z坐标(或任何坐标系的任何坐标,包括极坐标系或柱坐标系等)、偏航值、摇晃值(rollvalue)、桨距值(pitchvalue)(例如,角度值)、速率(例如,速度)、纬度等。

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

计划器364被配置为接收来自感知引擎366的感知数据,并且还可以包括来自定域器368的定域器数据。根据一些范例,感知数据可以包括指定位于自主车辆附近的静态和动态对象的障碍物地图,而定域器数据可以包括局部姿态或方位。操作中,至少基于自主车辆相对于外部动态和静态对象的位置的位置,计划器364生成许多轨迹,并评估轨迹。计划器364基于据以以提供无碰撞行驶的方式引导自主车辆的各种标准来选择最佳轨迹。在一些范例中,计划器364可以被配置为将轨迹计算为概率地确定的轨迹。此外,计划器364可以发送操纵和推进命令(以及减速或制动命令)至运动控制器362。运动控制器362随后可以将诸如操纵命令、压制或推进命令、以及制动命令的任何命令转换为控制信号(例如,应用于致动器或其它机械接口)以实施操纵或轮角度351和/或速度353的改变。

图3b至3e是描绘根据一些范例的传感器场冗余和对传感器场的失去的自主车辆适配的范例的图示。图3b的图示391描绘其中传感器310a检测对象(例如,用于确定范围或距离,或其他信息)的传感器场301a。虽然传感器310a可以实施任何类型的传感器或传感器形态,但是传感器310a和类似地描述的诸如传感器310b、310c、以及30d的传感器可以包括激光雷达设备。因此,传感器场301a、301b、301c、以及301d各包括激光延伸到其中的场。图3c的图示392描绘四个交叠的传感器场,其中每一个传感器场由对应的激光雷达传感器310(未示出)生成。如所示,传感器场的部分301包括不交叠的传感器场(例如,单个激光雷达场),传感器场的部分302包括两个交叠的传感器场,部分303包括三个交叠的传感器场,由此该传感器在激光雷达传感器发生故障时提供多级冗余。

图3d描绘了根据一些范例的归因于激光雷达309的故障操作的传感器场的失去。图3c的传感器场302被变换为单个传感器场305,图3c的传感器场301之一于间隙304失去了,并且图3c的传感器场303中的三个传感器场被变换为传感器场306(即,限于两个交叠场)。在自主汽车330c正沿行驶方向396行驶时,移动的自主车辆前面的传感器场可以没有处于尾端(trailingend)部分的传感器场那么鲁棒。根据一些范例,自主车辆控制器(未示出)被配置为杠杆影响(leverage)自主车辆330c的双向性质以处理车辆前面的前导区(leadingarea)处的传感器场的失去。图3e描绘了用于恢复自主车辆330d前面的传感器场的一定程度鲁棒性的双向操纵。如所示,将更鲁棒的传感器场302设置于车辆330d的与尾灯348同延的后部。在方便时,自主车辆330d通过拖拉到行车道397中来执行双向操纵并切换其方向性,使得尾灯348主动切换至自主车辆330d的另一侧(例如,后缘)。如所示,自主车辆330d在其沿行驶方向398行驶时恢复车辆前面的鲁棒的传感器场302。此外,上述双向操纵消除了对需要倒退到繁忙的车行道(roadway)中的更复杂的操纵的需要。

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

定域器468被配置为相对于参考数据对自主车辆进行定域(即,确定局部姿态),参考数据可以包括地图数据、路线数据(例如,道路网络数据,诸如类似rnof的数据)等。在一些情况下,定域器468被配置为识别例如空间中的点,该点可以表示自主车辆430相对于表示环境的特征的位置。定域器468被示为包括传感器数据集成器(integrator)469,传感器数据集成器469可以被配置为集成传感器数据(例如,不同传感器形态)的多个子集以减小与每个传感器个体类型有关的不确定性(uncertainty)。根据一些范例,传感器数据集成器469被配置为融合传感器数据(例如,激光雷达数据、相机数据、雷达数据等)以形成集成传感器数据值用于确定局部姿态。根据一些范例,定域器468检索源自参考数据存储库(repository)405的参考数据,参考数据存储库405包括用于存储2d地图数据、3d地图数据、4d地图数据等的地图数据存储库405a。定域器468可以被配置为至少识别环境中的比得上地图数据的特征的子集,以识别或另外确认自主车辆430的姿态。根据一些范例,定域器468可以被配置为识别环境中的任何数量的特征,使得特征的集合能够是一个或更多特征,或所有特征。在特定范例中,为定域目的,可以将任何数量的激光雷达数据(例如,大多数或基本上所有激光雷达数据)与表示地图的数据进行比较。通常,从环境特征与地图数据的比较得到的非匹配对象可以是动态对象,诸如车辆、自行车骑行者、步行者等。需要注意,可以执行包括障碍物的动态对象的检测,而具有或不具有地图数据。特别是,可以独立于地图数据(即,没有地图数据)来检测和跟踪动态对象。在一些情况下,可以将2d地图数据和3d地图数据视为“全局地图数据”或已经由自主车辆服务平台401在时间点验证(validate)过的地图数据。因为可以周期性地更新和/或验证地图数据存储库405a中的地图数据,所以在地图数据和自主车辆所位于的实际环境之间存在偏差。因此,定域器468可以检索由局部地图生成器440生成的局部导出的地图数据,以增强定域。局部地图生成器440被配置为实时地或几乎实时地生成局部地图数据。可选地,局部地图生成器440可以接收静态和动态对象地图数据以通过例如在定域中忽略(disregard)动态对象来增强局部生成的地图的精度。根据至少一些实施例,局部地图生成器440可以与定域器468集成或形成为其部分。在至少一种情况下,局部地图(map)生成器440逐个地或与定域器468合作,可以被配置为基于同时定域和地图构建(“slam”)等来生成地图和/或参考数据。需要注意,定域器468可以实施“混合”途径以使用地图数据,由此定域器468中的逻辑可以被配置为选择各种数量的来自地图数据存储库405a地图数据或来自局部地图生成器440的局部地图数据,取决于地图数据的每个源的可靠度。因此,考虑到局部生成的地图数据,定域器468仍可以使用过时地图数据。

感知引擎466被配置为例如通过识别自主车辆430正通行(transit)于其中的周围环境中的感兴趣对象来辅助计划器464计划路线和生成轨迹(trajectory)。此外,可以将概率与每个感兴趣的对象相关联,由此概率可以表示感兴趣的对象可能是对安全行驶的威胁的可能性(例如,快速移动的摩托车可以比坐在公共汽车站长凳上阅读报纸的人需要增强的跟踪)。如所示,感知引擎466包括对象检测器442和对象分类器444。对象检测器442被配置为相对于环境中的其他特征而区别对象,并且对象分类器444可以被配置为将对象分类为动态或静态对象并跟踪动态和静态对象相对于自主车辆430的位置用于计划目的。此外,感知引擎466可以被配置为将识别符(identifier)分配给静态或动态对象,识别符指定对象是否是(或具有成为的潜力)可以影响计划器464处的路径计划的障碍物。虽然图4中未示出,但是需要注意,感知引擎466也可以执行其他与感知有关的功能,诸如分割(segmentation)和跟踪,其范例在以下描述。

计划器464被配置为生成多个候选轨迹以实现经由可用的多个路径或路线到达目的地的目的。轨迹评估器465被配置为评估候选轨迹并识别候选轨迹的哪些子集与提供至目的地的无碰撞路径的置信水平的较高程度相关联。这样,轨迹评估器465能够基于用于引起命令的相关标准选择最佳轨迹,以生成用于车辆部件450(例如,致动器或其他机构)的控制信号。需要注意,相关标准可以包括限定最佳轨迹的任何数量的因素,其选择不必限于减少碰撞。例如,例如可以进行轨迹的选择以优化用户体验(例如,用户舒适性)以及符合交通规则和法律的无碰撞轨迹。可以通过在各直线和角度方向上慢化(moderate)加速(例如,减少颠簸状行驶或其他不愉快的运动)来优化用户体验。在一些情况下,相关标准的至少部分能够指定要忽略或取代其他标准的哪些,同时保持优化的无碰撞行驶。例如,在限制的情形下(例如,越过双黄线以围绕骑行者行进或以比张贴的匹配交通流的速度限制高的速度行驶)生成轨迹时,法定约束可以被暂时提升或削弱。这样,控制信号被配置为在传动系统和/或轮子处引起推进和方向改变。在此范例中,运动控制器462被配置为将命令变换为控制信号(例如,速度、轮角度等)用于控制自主车辆430的机动性。在轨迹评估器465具有不充分的信息来确保置信水平足够高以提供无碰撞的优化的行驶时,计划器464能够生成至远程操作者404的请求用于远程操作者支持。

自主车辆服务平台401包括远程操作者404(例如,远程操作者计算设备)、参考数据存储库405、地图更新器406、车辆数据控制器408、校准器409、以及离线对象分类器410。需要注意,自主车辆服务平台40i的每一个元件可以独立地设置或分布并与自主车辆服务平台401中的其他元件通信。此外,自主车辆服务平台401的元件可以经由通信层402独立地与自主车辆430通信。地图更新器406被配置为接收地图数据(例如,从局部地图生成器440、传感器460、或自主车辆控制器447地任何其他部件),并且还被配置为检测例如地图数据存储库405a中的地图数据与局部地生成的地图的偏差。车辆数据控制器408能够使2d地图更新器406更新存储库405内的参考数据并方便更新2d、3d、和/或4d地图数据。在一些情况下,车辆数据控制器408能够控制用以将局部地图数据接收到自主车辆服务平台408中到速率以及地图更新器406用以执行地图数据的更新的频率。

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

图5是根据一些实施例的控制自主车辆的流程图的范例。在502,当例如通过自主车辆控制器接收源自自主车辆处的多个形态的传感器的传感器数据时,流程500开始。可以集成传感器数据的一个或更多子集用于生成融合数据来改善例如估计。在一些范例中,可以在504融合一个或更多传感器(例如,相同或不同形态)的传感器流以形成融合传感器数据。在一些范例中,可以在504融合激光雷达传感器数据和相机传感器数据的子集,以方便定位。在506,可以在处理器处导出基于传感器数据的至少两个子集的表示对象的数据。例如,可以至少从激光雷达和相机数据导出(例如,在感知引擎处)识别静态对象或动态对象的数据。在508,确定检测的对象以影响计划的路径,并且在510,响应于检测的对象而评估(例如,在计划器处)轨迹的子集。在512,确定置信水平超过与自主车辆的正常操作相关联的能够接受的置信水平的范围。因此,在此情况下,置信水平可以是使得选择最佳路径的确定性较不可能,由此可以将最佳路径确定为以下的概率的函数:方便无碰撞行驶、符合交通法律、提供舒适的用户体验(例如,舒适的乘坐)、和/或生成有关任何其他因素的候选轨迹。这样,在514可以将对替代路径的请求发送至远程操作者计算设备。其后,远程操作者计算设备可以给计划器提供自主车辆用以行驶的最佳轨迹。在情形下,车辆还可以确定执行安全停止操纵是最佳动作过程(例如,安全和自动地使得自主车辆停止在相对低危险概率的位置处)。需要注意,于此在此和其他流程图中描绘的顺序不是意图暗示需要线性地(linearly)执行各种功能,因为流程图的每个部分可以与流程图的任何一个或更多其他部分串行或并行地执行,并且可以独立于或依赖于流程图地其他部分而执行。

图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地图数据的其他形式的地图数据,其可以包括例如时代确定。定域过程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地图、访问d地图数据存储库722中的3d地图、以及访问路线数据存储库724中的路线数据。在一些范例中可以实施其他地图表示数据和存储库,诸如包括年代确定的4d地图数据。车辆数据控制器702可以被配置为执行各种操作。例如,车辆数据控制器702可以被配置为基于信道770上通信的质量水平来2d改变在自主车辆的车队与平台701之间交换数据的速率。例如,在带宽约束时段期间,可以对数据通信进行优先级排序,使得将来自自主车辆730的远程操作请求优先级排序为高以确保投递。此外,可以通过信道770经车辆发送可变水平的数据提取,取决于对特别信道可用的带宽。例如,在存在鲁棒的网络连接时,可以发送全激光雷达数据(例如,基本上所有的激光雷达数据,但是也可以少一些),而在存在劣化的或低速的连接时,可以发送数据的较简单或更抽象的描绘(例如,具有关联的元数据的定界盒(boundingbox)等)。自主车辆车队管理器703被配置为协调(coordinate)自主车辆703的派遣(dispatch),以优化多个变量,包括电池功率的有效使用、行驶时间、自主车辆730中的空调单元在电池的低充电状态期间是否可以使用等,可以为了(inviewof)优化与操作自主车辆服务相关联到成本函数,而监视这些变量中到任何变量或所有变量。可以实施算法以分析用以最小化对于自主车辆的车队的行驶的时间或成本的各种变量。此外,为了最大化车队的正常工作时间,自主车辆车队管理器703保持自主车辆的以及用于适应服务规划的部分的库存(inventory)。

远程操作者管理器707被配置为管理远程操作者708用以提供输入的多个远程操作者计算设备704。模拟器740被配置为模拟一个或更多自主车辆730的操作,以及远程操作者管理器707与自主车辆730之间的互动。模拟器740还可以模拟设置于自主车辆730中的多个传感器的操作(包括模拟的噪声的引入)。此外,可以模拟诸如城市的环境,使得模拟的自主车辆能够被引入到合成(synthetic)环境,由此模拟的传感器可以接收模拟的传感器数据,诸如模拟的激光回波(return)。模拟器740也可以提供其他功能,包括验证软件更新和/或2d地图数据。考虑到自主车辆在车行道网络上行驶时遇到的各种状况或事件,策略管理器742被配置为保持表示自主车辆应遵守的策略或规则的数据。在一些情况下,考虑到策略的改变,可以在模拟器740中模拟更新的策略和/或规则,以确认(confirm)自主车辆的车队的安全操作。自主车辆服务平台701的上述元件中的一些在以下得到进一步的描述。

通信信道770被配置为在自主车辆730的车队和自主车辆服务平台701间提供联网通信链接。例如,通信信道770包括具有对应的子网络(例如,771a至771n)的多个不同类型的网络771、772、773、和774,以确保一定水平的冗余用于可靠地操作自主车辆服务。例如,通信信道770中的不同类型的网络可以包括不同的蜂窝网络提供者、不同类型的数据网络等,以确保在由一个或更多网络771、772、773、和774中的中断导致的减少的或失去的通信的事件中有足够的带宽。

图8是描绘据一些实施例的被配置为在各种应用间交换数据的消息发送应用的范例的图示。图示800描绘设置于远程操作者管理器中的远程操作者应用801以及设置于自主车辆中的自主车辆应用830,由此远程操作者应用801和自主车辆应用830经由方便在诸如网络87、872、和其他网络873的各种网络上通信的协议交换消息数据。根据一些范例,通信协议是实施为数据分配服务(datadistributionservicetm)的中间件协议,数据分配服务具有由对象管理组协会保持的规范。根据通信协议,远程操作者应用801和自主车辆应用830可以包括设置于消息域(messagedomain)中的消息路由器854,消息路由器被配置为与远程操作者api852进行接口。在一些范例中,消息路由器854是路由服务。在一些范例中,可以通过远程操作者识别符来识别远程操作者应用801中的消息域850a,而消息域850b可以被识别为与车辆识别符相关联的域。远程操作者应用801中的远程操作者api852被配置为与远程操作者过程803a至803c接口,由此将远程操作者过程803b与自主车辆识别符804相关联,并且将远程操作者过程803c与事件识别符806相关联(例如,指定交叉点的识别符,该交叉点对于无碰撞路径计划可能是有问题的)。自主车辆830中的远程操作者api852被配置为与自主车辆操作系统840进行接口,自主车辆操作系统840包括感测应用842、感知应用844、定域应用846、以及控制应用848。考虑到签署,上述通信协议可以方便数据交换以方便于此描述的远程操作。此外,上述通信协议可以适应于在一个或更多自主车辆和一个或更多自主车辆服务平台间提供安全的(secure)数据交换。例如,消息路由器854可以被配置为对消息进行加密和解密,以在例如远程操作者过程803与自主车辆操作系统840之间提供受保护的互动。

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

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

图10是示例根据一些实施例的远程操作者可以用以影响路径计划的远程操作者接口的范例的图示。图示1000描绘了与自主车辆服务平台1001通信的自主车辆1030的范例,自主车辆服务平台1001包括被配置为方便远程操作的远程操作者管理器1007。在第一范例中,远程操作者管理器1007接收数据,该数据要求远程操作者1008优先审度(view)接近低计划器置信水平的区域或潜在障碍物的自主车辆的路径,使得远程操作者1008能够预先处理问题。为示例,考虑自主车辆正在接近的交叉点可以被标记为有问题的。这样,用户接口1010显示沿路径1012通行的对应自主车辆1030的表示1014,路径1012已经被由计划期生成的多个轨迹预测。还显示的是其它车辆1011和诸如步行者的动态对象1013,其可以在计划器处引起足够的混淆,由此要求远程操作支持。用户接口1010还向远程操作者1008呈现当前速度1022、速度限制1024、以及电池中目前的电量1026。根据一些范例,用户接口1010可以显示其他数据,诸如从自主车辆1030采集的传感器数据。在第二范例中,考虑计划器1064已经生成了多个轨迹,该多个轨迹与计划器生成的路径1044同延,而不管检测的未识别的对象1046。计划器1064还可以生成候选轨迹1040的子集,但是在此范例中,计划器在当前置信水平下不能继续进行。如果计划器1064不能确定替代路径,则可以发送远程操作请求。在此情况下,远程操作者可以选择候选轨迹1040之一来方便自主车辆1030的行驶,其与基于远程操作者的路径1042一致。

图11是描绘根据一些范例的被配置为发起远程操作的计划器的范例的图示。图示1100描绘了计划器1164包括地形管理器1110、路线管理器1112、路径生成器1114、轨迹评估器1120、以及轨迹跟踪器1128。地形管理器1110被配置为接收地图数据,诸如3d地图数据或指定地形特征的其它类似的地图数据。地形管理器1110还被配置为基于至目的地的路径上的与地形有关的特征来识别候选路径。根据各种范例,地形管理器1110接收与车队中的一个或更多自主车辆相关联的传感器生成的3d地图。路线管理器1112被配置为接收环境数据1103,环境数据1103可以包括与交通有关的信息,该信息与可以被选择为至目的地的路径的一个或更多路线相关联。路径生成器1114接受来自地形管理器1110和路线管理器1112的数据,并生成适合于将自主车辆朝向目的地引导的一个或更多路径或路径段(pathsegment)。表示一个或更多路径或路径段的数据被发送到轨迹评估器1120中。

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

根据一些范例,策略数据1130可以包括计划器1164用以确定具有用来生成轨迹的足够的置信水平的路径的标准。策略数据1130的范例包括指定轨迹生成由至外部对象的离岸(stand-off)距离(例如,尽可能保持离骑行者(cyclist)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被配置为以精确的途径生成轨迹,诸如通过基于滚动时域控制(recedinghorizoncontrol)技术生成轨迹。名义驾驶轨迹生成器1327随后可以将名义驾驶轨迹路径数据1372发送至例如轨迹跟踪器或车辆控制器以实施操控、加速、以及其他部件的物理改变。

图14是描绘根据一些实施例的自主车辆服务平台的另一范例的图示。图示1400描绘自主车辆服务平台1401,其包括远程操作者管理器1407,远程操作者管理器1407被配置为管理远程操作者1408、远程操作者计算设备1404、以及自主车辆服务平台1401的其他部件之间的互动和/或通信。此外,对于图示1400,自主车辆服务平台1401包括模拟器1440、存储库1441、策略管理器1442、参考数据更新器1438、2d地图数据存储库1420、3d地图数据存储库1422、以及路线数据存储库1424。可以实施诸如4d地图数据(例如,使用年代确定)的其它地图数据并将其存储于存储库中(未示出)。

远程操作者动作推荐控制器1412包括被配置为经由自主车辆(“av”)计划器数据1472接收和/或控制远程操作服务请求的逻辑,自主车辆(“av”)计划器数据1472包括对于远程操作者辅助的请求以及遥测数据和其它数据。这样,计划器数据1472可以包括推荐的候选轨迹或路径,远程操作者1408经由远程操作者计算设备1404可以从该候选轨迹或路径进行选择。根据一些范例,远程操作者动作推荐控制器1412可以被配置为访问从其选择最佳轨迹的推荐的候选轨迹的其它源。例如,包含在自主车辆计划器数据1472中的候选轨迹可以并行地被引入到模拟器1440中,模拟器1440被配置为模拟请求远程操作辅助的自主车辆正经历的事件或状况。模拟器1440能够访问地图数据和对该组候选轨迹执行模拟所必需的其它数据,由此模拟器1440不必穷尽地反复模拟来确认充分性。而是,模拟器1440可以提供确认候选轨迹的合适性,或另外地警告远程操作者警惕它们的选择。

远程操作者互动捕获分析器1416可以被配置为捕获大量的远程操作者交流或互动以存储于存储库1441中,存储库1441可以例如累积与多个操作者交流有关的数据用于在至少一些情况下分析和生成策略。根据一些实施例,存储库1441还可以被配置为存储用于策略管理器1442访问的策略数据。此外,远程操作者互动捕获分析器1416可以应用机器学习技术来经验地确定如何最好地响应于引起对远程操作辅助的请求的事件或状况。在一些情况下,策略管理器1442可以被配置为响应于分析大组的操作者互动而更新特别策略或生成新的策略(例如,在应用机器学习技术后)。策略管理器1442管理可以被视为规则或指南的策略,自主车辆控制器及其部件按照该规则或指南操作以符合车辆的自主操作。在一些情况下,可以将修改的或更新的策略应用于模拟器1440以确认永久释放(release)或实施该策略改变的效果。

模拟器接口控制器1414被配置为提供模拟器1440与远程操作者计算设备1404之间的接口。例如,考虑将来自自主车辆的车队的传感器数据经由自主(“av”)车队数据1470应用于参考数据更新器1438,由此参考数据更新器1438被配置为生成更新的地图和路线数据1439。在一些实施中,更新的地图和路线数据1439可以被初步释放为对地图数据存储库1420和1422中的数据的更新,或被释放为对路线数据存储库1424中的数据的更新。在此情况下,可以将该数据标记为“贝塔版本”,其中在例如包括初步更新的信息的地图瓦片(tile)由自主车辆使用时,可以实施用于请求远程操作者服务的较低阈值。此外,可以将更新的地图和路线数据1439引入到模拟器1440中,用于验证更新的地图数据。一旦完全释放(例如,在贝塔测试结束时),则取消与地图瓦片有关的用于请求远程操作者服务的先前降低的阈值。用户接口图形控制器1410给远程操作者1408提供丰富的图形,由此可以在模拟器1440内模拟自主车辆的车队,并且可以经由远程操作者计算设备1404访问该车队,好像模拟的自主车辆的车队是真实的那样。

图15是根据一些实施例的控制自主车辆的流程图的范例。在1502,流程1500开始。可以在远程操作者计算设备处接收消息数据,用于管理自主车辆的车队。消息数据可以在用于自主车辆的计划路径的背景中指示与非正常的操作状态相关联的事件属性。例如,事件可以被特征化为特别的交叉点,该交叉点由于例如逆着交通灯匆忙横过(cross)街道的大量的步行者而变得有问题。事件属性描述事件的特征,诸如例如横过街道的人的数量、源自增加数量的步行者的交通延迟等。在1504,可以访问远程操作存储库以基于与一组自主车辆相关联的聚集(aggregate)的数据的模拟操作来检索推荐的第一子集。在此情况下,模拟器可以是远程操作者可以用以实施的推荐的源。此外,还可以访问远程操作存储库以基于响应于类似事件属性的远程操作者互动的聚集而检索推荐的第二子集。特别是,远程操作者互动捕获分析器可以应用机器学习技术来经验地确定基于对远程操作辅助的先前请求如何最好地响应于具有类似属性的事件。在1506,将推荐的第一子集和第二子集进行组合以形成用于自主车辆的推荐的动作过程的集合。在1508,推荐的动作过程的集合的表示可以视觉上呈现于远程操作者计算设备的显示器上。在1510,可以检测表示对推荐的动作过程的选择(例如,由远程操作者)的数据信号。

图16是根据一些范例的实施车队优化管理器的自主车辆车队管理器的范例的图示。图示1600描绘自主车辆车队管理器,自主车辆车队管理器被配置为管理在道路网络1650内通行的自主车辆1630的车队。自主车辆车队管理器1603经由远程操作者计算设备1604耦合至远程操作者1608,并且还耦合至车队管理数据存储库1646。自主车辆车队管理器1603被配置为接收策略数据1602和环境数据1606、以及其他数据。另外,对于图示1600,将车队优化管理器1620示为包括通行请求处理器1631,通行请求处理器1631依次包括车队数据提取器1632和自主车辆派遣(dispatch)优化计算器1634。通行请求处理器1631被配置为处理通行请求,诸如来自正请求自主车辆服务的用户1688。车队数据提取器1632被配置为提取与车队中的自主车辆有关的数据。与每个自主车辆相关联的数据存储在存储库1646中。例如,对于每个车辆的数据可以描述维护问题、规划的服务通话、日常用途、电池充电和放电速率、以及任何其他数据,其可以被实时地更新,可以用于优化自主车辆的车队以最小化停机时间的目的。自主车辆派遣优化计算器1634被配置为分析提取的数据和计算车队的优化的用途,以确保诸如从站点1652派遣的下一车辆在对于自主车辆服务的合计中提供最少的行驶时间和/或成本。

将车队优化管理器1620示为包括混合自主车辆/非自主车辆处理器1640,其依次包括av/非av优化计算器1642和非av选择器1644。根据一些范例,混合自主车辆/非自主车辆处理器1640被配置为管理自主车辆和人驾驶车辆(例如,作为独立的承包人)的混合车队。这样,自主车辆服务可以采用非自主车辆来满足过量的需求,或在诸如可以在地理围栏(geo-fence)以外的非av服务区域1690的区域中,或在差的通信覆盖的区域中。av/非av优化计算器1642被配置为优化自主车队的用途并邀请非av驾驶员进入运输服务(例如,以对自主车辆服务的最小损害或没有损害)。非av选择器1644包括用于基于由av/非av优化计算器1642导出的计算来选择多个非av驾驶员以进行辅助的逻辑。

图17是根据一些实施例的用于管理自主车辆的车队的流程图的范例。在1702,流程1700开始。在1702,接收策略数据。策略数据可以包括限定如何最好地应用以选择自主车辆来服务通行请求的参数。在1704,可以提取来自存储库的车队管理数据。车队管理数据包括对于自主车辆池的数据的子集(例如,描述车辆备用于服务于运输请求的数据)。在1706,接收表示通行请求的数据。为示例性目的,通行请求能够是从第一地理位置至第二地理位置的运输。在1708,计算基于策略数据的属性以确定可用于服务于请求的自主车辆的子集。例如,属性可以包括电池充电水平和直至下一规划的维护的时间。在1710,选择自主车辆作为从第一地理位置至第二地理位置的运输,并且生成数据以派遣自主车辆至与通行请求的起源相关联的第三地理位置。

图18是示例根据一些实施例的实施自主车辆通信链接管理器的自主车辆车队管理器的图示。图示1800描绘被配置为管理在与被识别为“减弱的通信区域”1880的区域处的通信中断一致的道路网络1850内通行的自主车辆1830的车队的自主车辆车队管理器。自主车辆车队管理器1803经由远程操作者计算设备1804耦合至远程操作者1808。自主车辆车队管理器1803被配置为接收策略数据1802和环境数据1806,以及其他数据。此外,对于图示1800,将自主车辆通信链接管理器1820示为包括环境事件检测器1831、策略适配确定器1832、以及通行请求处理器1834。环境事件检测器1831被配置为接收指定实施自主车辆服务的环境内的改变的环境数据1806。例如,环境数据1806可以指定区域1880具有劣化的通信服务,其可以影响自主车辆服务。策略适配确定器1832可以详述在该事件期间(例如,在通信失去期间)接受通行请求时用以应用的参数。通行请求处理器1834被配置为考虑到劣化的通信而处理通行请求。在此范例中,用户1888正请求自主车辆服务。此外,通行请求处理器1834包括用于应用适配策略的逻辑,以修改自主车辆被派遣的方式,从而避免归因于差的通信的复杂性。

通信事件检测器1840包括策略下载管理器1842和通信配置的(“comm配置的”)av派遣器1844。策略下载管理器1842被配置为考虑到减弱的通信区域1880来给自主车辆1830提供更新的策略,由此更新的策略可以指定在自主车辆进入区域1880的情况下迅速离开区域1880的路线。例如,自主车辆1864可以在驾驶到区域1880中之前接收更新的策略时刻(moment)。一旦失去通信,自主车辆1864就实施更新的策略并选择路线1866以迅速地驾驶离开区域1880。comm配置的av派遣器1844可以被配置为识别用以停放自主车辆的点1865,该自主车辆被配置为作为在区域1880上建立对等的网络的中继。这样,comm配置的av派遣器1844被配置为派遣停放在位置1865的自主车辆1862(无乘客),用于作为对等自组织网络(adhocnetwork)中的通信塔操作的目的。

图19是根据一些实施例的确定在诸如劣化或失去的通信的事件期间用于自主车辆的动作的流程图的范例。在1901,流程1900开始。接收策略数据,由此策略数据限定事件期间用以应用于地理区域中的通行请求的参数。在1902,可以实施一个或更多以下动作:(1)在地理位置的部分中派遣自主车辆的子集至地理位置,自主车辆的子集被配置为停放在特定地理位置并且均用作静态通信中继,或在地理区域中通行以均用作移动通信中继;(2)在与地理区域的部分相关联的自主车辆池的部分之间实施对等的通信;(3)给自主车辆提供事件策略,该事件策略描述用于在事件期间离开地理区域的部分的路线;(4)发起远程操作;以及(5)重新计算路径,以避开该地理部分。实施动作后,在1914监视自主车辆的车队。

图20是描绘根据一些实施例的定域器的范例的图示。图示2000包括定域器2068,定域器2068被配置为接收来自传感器2070的传感器数据,诸如激光雷达数据2027、相机数据2074、雷达数据2076以及其他数据2078。此外,定域器2068被配置为接收参考数据2020,诸如2d地图数据2022、3d地图数据2024、以及3d局部地图数据。根据一些范例,还可以实施其他地图数据,诸如4d地图数据2025和语义地图数据(未示出),包括对应的数据结构和存储库。此外,对于图示2000,定域器2068包括定位(positioning)系统2010和定域(localization)系统2012,它们均被配置为接收来自传感器2070的传感器数据、以及参考数据2020。定域数据集成器2014被配置为接收来自定位系统2010的数据和来自定域系统2012的数据,由此定域数据集成器2014被配置为集成或融合来自多个传感器的传感器数据以形成局部姿态数据2052。

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

图22是描绘根据一些实施例的定域器的另一范例的图示。图示2200包括定域器2268,其依次包括定域系统2210和相对(relative)定域系统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可以被配置为融合对应的数据,由此,基于定域的数据2250可以在与基于相对定域的数据2251在定域数据集成器2266处融合之前在数据集成器2266a处被融合。根据一些实施例,将数据集成器2266a形成为定域数据集成器2266的部分,或不存在数据集成器2266a。不管怎样,能够将基于定域的数据2250和基于相对定域的数据2251能够均馈入定域数据集成器2266中,以融合数据而生成局部方位数据2252。基于定域的数据2250可以包括来自投影处理器2254a的一元约束的数据(以及不确定性值)、以及来自测距法处理器2254b和集成器处理器2254c的二元约束的数据(以及不确定性值)。基于相对定域的数据2251可以包括来自定域处理器2254d和视觉配准处理器2254e、以及可选地来自雷达回波处理器2254f的一元约束的数据(以及不确定性值)。根据一些实施例,定域数据集成器2266可以实施非线性平滑功能性,诸如卡尔曼(kalman)滤波(例如,选通卡尔曼滤波)、相对捆(bundle)调节器、姿态-图形驰豫、粒子滤波、直方图滤波等。

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

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

图25是根据一些实施例的分割处理器的范例。图示2500描绘分割处理器2510,分割处理器2510接收来自一个或更多激光雷达2572的激光雷达数据、以及来自一个或更多相机2574的相机图像数据。将局部姿态数据2552、激光雷达数据、以及相机图像数据接收到元自旋(metaspin)生成器2521中。在一些范例中,元自旋生成器被配置为基于各种属性(例如,颜色、强度等)来将图像分区为可区别的区域(例如,点云的簇或组),可区别的区域中的至少两个或更多区域可以被同时或几乎同时更新。元自旋数据2522用于在分割处理器2523处执行对象分割和地分割,由此将元自旋数据2522和来自分割处理器2523的与分割有关的数据应用于扫描差分处理器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使用以更新一个或更多踪迹、或跟踪对象。在一些范例中,踪迹更新器2634可以实施卡尔曼滤波等以形成用于跟踪的对象的更新数据,该更新数据可以在线存储在踪迹数据库(“db”)2636中。可以经由路径2699在数据关联处理器2632与踪迹数据库2636之间交换反馈数据。在一些范例中,图像跟踪器2633可以是可选的并且可以被排除。对象跟踪器2630还可以使用其他传感器数据,诸如雷达或声呐,以及例如任何其它类型的传感器数据。

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

返回参考图26a,图示2600也包括分类器2660,分类器2660可以包括踪迹分类引擎2662,用于生成静态障碍物数据2672和动态障碍物数据2674,静态障碍物数据2672和动态障碍物数据2674均可以被发送至计划器用于路径计划目的。在至少一个范例中,踪迹分类引擎2662被配置为确定障碍物是静态的还是动态的,以及对于对象的另一分类类型(例如,对象是否是车辆、步行者、树、骑行者、狗、猫、纸袋等)。静态障碍物数据2672可以形成为障碍物地图的部分(例如,2d占用地图),且动态障碍物数据2674可以形成为包括具有指示速度和分类类型的数据的定界盒。动态障碍物数据2674至少在一些情况下包括2d动态障碍物地图数据。

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

图28是描绘根据各种实施例的被配置为模拟合成环境中的自主车辆的模拟器的图示。图示2800包括被配置为生成模拟环境2803的模拟器2840。如所示,模拟器2840被配置为使用参考数据2822(例如,3d地图数据和/或包括rndf数据或类似道路网络数据的其它地图或路线数据)来在模拟环境2803内生成模拟几何结构,诸如模拟表面2892a和2892b。模拟表面2892a和2892b可以模拟邻近车行道的建筑物的墙壁或前侧。模拟器2840还可以使用预生成或按程序生成的动态对象数据2825来模拟合成环境中的动态行为者(agent)。动态行为者的范例是模拟动态对象2801,模拟动态对象2801表示具有速度的模拟骑行者。模拟动态行为者可以可选地响应于模拟环境中的其它静态和动态行为者,包括模拟自主车辆。例如,模拟对象2810可以由于模拟环境2801中的其他障碍物减慢,而不是跟随预设的轨迹,由此创建存在于真实世界中的实际动态环境的更逼真的模拟。

模拟器2840可以被配置为生成模拟自主车辆控制器2847,模拟自主车辆控制器2847包括定域器2868、运动控制器2862、计划器2864、以及感知引擎2866的合成适配,定域器2868、运动控制器2862、计划器2864、以及感知引擎2866均可以具有于此在模拟环境2803内描述的功能性。模拟器2840还可以生成模拟接口(“i/f”)以模拟利用不同传感器形态和不同传感器数据格式进行的数据交换。这样,模拟接口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包括模拟器评估器2858,以评估模拟环境2803的性能合成地生成的元件。例如,模拟器评估器2858可以分析模拟车辆命令2880(例如,模拟操控角度和模拟速度)以确定该命令是否是对模拟环境2803内的模拟活动的合适的响应。此外,模拟评估器2858可以评估远程操作者2808经由远程操作者计算设备2804与模拟自主车辆2830的互动。模拟评估器2858可以评估包括更新的地图瓦片和路线数据的更新的参考数据2827的影响,其可以被增加以引导模拟自主车辆2830的响应。模拟评估器2858还可以评估策略数据2829被更新、删除或增加时,模拟器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处,3d地图数据可用于由例如手动路线数据编辑器(例如,包括手动道路网络数据编辑器,诸如rndf编辑器)、自动路线数据生成器(例如,包括自动道路网络生成器,包括自动rndf生成器)、自主车辆的车队、模拟器、远程操作者计算设备、以及自主车辆服务的任何其它部件来实施。

图31是描绘根据一些实施例的地图构建引擎的架构的图示。图示3100包括被配置为接收轨迹日志数据3140、激光雷达日志数据3172、相机日志数据3174、雷达日志数据3176、以及其他可选记录的传感器数据(未示出)的3d地图构建引擎。逻辑3141包括环线闭合检测器3150,环线闭合检测器3150被配置为检测传感器数据是否指示空间中的附近点先前已经被观察到等。逻辑3141还包括配准控制器3152用于相对于一个或更多配准点对准地图数据,一些情况下包括3d地图数据。此外,逻辑3141提供表示环线闭合的状态的数据3142以由全局姿态图形生成器3143使用,全局姿态图形生成器3143被配置为生成姿态图形数据3145。在一些范例中,也可以基于来自配准精确模块3146的数据来生成姿态图形数据3145。逻辑3144包括3d地图构建器3154和激光雷达自校准单元3156。此外,逻辑3144接收传感器数据和姿态图形数据3145以生成3d地图数据3120(或其它地图数据,诸如4d地图数据)。在一些范例中,逻辑3144可以实施截断符号距离函数(truncatedsigndistancefunction,“tsdf”)以融合传感器数据和/或地图数据来形成最佳三维地图。此外,逻辑3144被配置为包括纹理(texture)和反射性质。可以释放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可以进行定点(dropapin)以指示他们在例如地理围栏区域内的目的地。替代地,应用可以显示附近预指定的搭乘位置的列表,或给用户提供文本输入域,文本输入域用于按地址或名字对目的地进行打字。

此外,对于示出的范例,自主车辆应用3240还可以包括用户识别控制器3246,户识别控制器3246可以被配置为检测在自主车辆3230接近时,用户3202是在自主车辆附近的地理区域中还是在近旁。在一些情形下,用户3202可能不容易在自主车辆3230接近以由用户3203使用时感知或识别自主车辆3230(例如,由于各种其它车辆,包括卡车、汽车、出租车、以及城市环境中典型的其他障碍)。在一个范例中,自主车辆3230可以建立无线通信链接3262(例如,经由射频(“rf”)信号,诸如wifi或蓝牙,包括ble等)用于传达和/或确定用户3202相对于自主车辆3230的空间位置(例如,使用rf信号的相对方向和信号强度)。在一些情况下,自主车辆3230可以使用例如gps数据等来检测用户3203的近似地理位置。移动计算设备3203的gps接收器(未示出)可以被配置为给自主车辆服务应用3240提供gps数据。从而,用户识别控制器3246可以经由链接3260给自主车辆服务平台3201提供gps数据,自主车辆服务平台3201依次可以经由链接3261将该位置提供给自主车辆3230。随后,自主车辆3230可以通过将用户的gps数据与车辆的gps导出的位置进行比较来确定用户3202的相对距离和/或方向。

自主车辆3230还可以包括附加逻辑以识别用户3202的存在,使得逻辑被配置为执行脸检测算法s以基于用户的独特的脸部特征来通常检测用户3202或具体地识别用户3202的身份(例如,名字、电话号码等)。此外,自主车辆3230可以包括逻辑以检测用于识别用户3202的代码。该代码的范例包括诸如qr代码、颜色代码等的专门的视觉代码、诸如语音激活或识别的代码等的专门的音频代码等。在一些情况下,代码可以是编码安全密钥,该编码安全密钥可以经由链接3262数字发送至自主车辆3230以确保安全的进入和/或离开。此外,用于识别用户3202的以上识别技术中的一个或更多可以用作安保措施以向用户3202授予进入和离开特权,以防止其他人进入自主车辆3230(例如,确保在到达用户3202之前,第三方人不进入未占用的自主车辆)。根据各种范例,用于识别用户3202和提供安保的进入和离开的任何其它措施也可以实施于自主车辆服务应用3240、自主车辆服务平台3201、以及自主车辆3230中的一个或更多中。

为辅助用户3302识别其请求的运输的到达,自主车辆3230可以被配置为在自主车辆3230接近用户3202时通知或另外警告用户3202自主车辆3230的存在。例如,自主车辆3230可以根据特定的灯模式激活一个或更多发光设备3280(例如,led)。特别是,创建某些灯模式使得用户3202可以容易地感知自主车辆3230被保留用于服务用户3202的运输需要。作为范例,自主车辆3230可以生成灯模式3290,该灯模式3290可以由用户3202感知为“闪烁”,或其外部和内部灯以该视觉和时间方式的其它动画。灯模式3290可以被生成为具有或不具有声音模式,用于用户3202识别此车辆是它们预订的那辆。

根据一些实施例,自主车辆用户控制器3244可以实施被配置为控制自主车辆的各种功能的软件应用。此外,应用可以被配置为在自主车辆通行至其初始目的地期间对自主车辆进行重新定向或路线变更。此外,自主车辆用户控制器3244可以被配置为使得车载逻辑修改自主车辆3230的内部照明以实现例如情调照明。控制器3244还可以控制音频源(例如,诸如spotify的外部源,或本地存储在移动计算设备3203上的音频),选择乘坐类型(例如,修改期望的加速和制动积极性(aggressiveness),修改主动悬挂(activesuspension)参数以选择一组“道路管控”特征来实施积极的驾驶特征,包括振动,或选择为舒适而具有抑制的振动的软乘坐(soft-ride)质量)等。例如,移动计算设备3203也可以被配置为控制hvac功能,如通风和温度。

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

需要注意,图33的各种结构和/或功能性可以应用于图34和35,并且这样,可以在图33的背景中讨论那些图中的一些元件。

在一些情况下,计算平台3300能够设置于任何设备中,诸如计算设备3390a和/或移动计算设备3390b,计算设备3390a可以设置在自主车辆3391中、自主车辆服务平台中的一个或更多计算设备中。

计算平台3300包括总线3302或其它通信机构用于传达互连诸如处理器3304、系统存储器3306(例如,ram等)、存储设备3308(例如,rom等)、内存缓存(其可以实施于ram3306中或计算平台3300的其它部分中)、通信接口3313(例如,以太网或无线控制器、蓝牙控制器、nfc逻辑等)的子系统和设备的信息以方便经由通信链接3321上的端口的通信,以例如与计算设备通信,计算设备包括具有处理器的移动计算和/或通信设备。处理器3304能够被实施有一个或更多图形处理单元(“gpu”)、一个或更多中央处理单元(“cpu”),诸如由因特尔公司制造的那些,或实施有一个或更多虚拟处理器、以及cpu和虚拟处理器的任何组合。计算平台3300经由输入-和-输出设备3301交换表示输入和输出的数据,输入-和-输出设备3301包括但不限于键盘、鼠标、音频输入端(例如,语音-到-文本设备)、用户接口、显示器、监视器、光标、触敏显示器、lcd或led显示器、以及其他与i/o有关的设备。

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

计算机可读介质的通常形式包括例如软盘、柔性盘、硬盘、磁带、任何其他磁性介质、cd-rom、任何其它光学介质、穿孔卡、纸带、具有孔图案的任何其它物理介质、ram、prom、eprom、flash-eprom、任何其他存储器芯片或盒式磁带(cartridge)、或计算机能够从其读取的任何其他介质。还可以使用传输介质来发送或接收指令。术语“传输介质”可以包括任何可触知或不可触知的介质,该可触知或不可触知的介质能够存储、编码或携带指令用于由机器执行,并且包括数字或模拟通信信号或其他不可触知的介质以方便该指令的传达。传输介质包括同轴电缆、铜电线和光纤光学器件,包括包括用于发送计算机数据信号的总线3302的电线。

在一些范例中,可以由计算平台3300执行指令序列的执行。根据一些范例,计算平台3300能够通过通信链接3321(例如,有线网络,诸如lan、pstn,或任何无线网络,包括蓝牙、nfc、zig-bee、各种标准和协议的wifi等)耦合至任何其它处理器以彼此配合地(或异步地)执行指令序列。计算平台3300可以通过通信链接3321和通信接口3313发送和接收消息、数据、和指令,包括程序代码(例如,应用代码)。接收的程序代码可以在其被接收时由处理器3304执行,和/或存储在存储器3306中或其它非易失性存储装置中用于以后的执行。

在示出的范例中,系统存储器3306能够包括各种模块,该各种模块包括可执行指令以实施于此描述的功能性。系统存储器3306可以包括操作系统(“o/s”)3332,以及应用3336和/或逻辑模块3359。在图33中示出的范例中,系统存储器3306包括自主车辆(“av”)控制器模块3350和/或其部件(例如,感知引擎模块、定域模块、计划器模块、和/或运动控制器模块),他们中的任何或他们的一个或更多部分能够被配置为通过实施一个或更多于此描述的功能来方便自主车辆服务。

参照图34中示出的范例,系统存储器3306包括自主车辆服务平台模块3450和/或其部件30(例如,远程操作者管理器、模拟器等),他们中的任何或他们的一个或更多部分能够被配置为通过实施一个或更多于此描述的功能来方便管理自主车辆服务。

参照图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、或一个或更多其部件、或于此描述的任何处理或设备能够被实施于一个或更多计算设备(即,任何移动计算设备,诸如可穿戴设备、音频设备(诸如,耳机(headphone)或头戴式受话器(headset)或移动电话,无论是穿戴的还是携带的)中,该一个或更多计算设备包括一个或更多被配置为执行存储器中的一个或更多算法的处理器。从而,以上描述的图中的至少一些元件能够表示一个或更多算法。或者,至少一个元件能够表示逻辑的部分,该逻辑包括被配置为提供构成结构和/或功能性的硬件的部分。这些能够变化并且不限于提供的范例或描述。

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

例如,图33的模块3350、图34的模块3450、以及图35的模块3550、或一个或更多其部件、或于此描述的任何处理或设备能够被实施于一个或更多计算设备中,该一个或更多计算设备包括一个或更多电路。从而,以上描述的图中的至少一个元件能够表示硬件的一个或更多部件。或者,至少一个元件能够表示逻辑的部分,该逻辑包括被配置为提供构成结构和/或功能性的电路的部分。

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

图36是描绘根据一些范例的用于生成轨迹的计划器的至少部分的范例的图示。图示3600包括轨迹评估器3620和轨迹生成器3624。在一些范例中,轨迹评估器3620至少被配置为接收用以引导自主车辆从第一地理位置至第二地理位置的运动的路径数据。在一些范例中,路径数据可以包括用于计划目的的任何类型的数据,诸如任务数据、道路数据(例如,道路网络数据)、或其任何变形,包括表示为行驶至目的地,从一个道路段至下一个道路段的中间路径。轨迹生成器3624可以被配置为:生成表示轨迹的数据,该轨迹用于基于路径数据来控制自主车辆的运动;以及生成表示应急(contingent)轨迹的数据。根据各种范例,轨迹提供自主车辆的中间导航(例如,递增地从道路段部分至道路段,诸如沿第一200m轨迹至下一个),而可以提供应急轨迹,例如,以“安全停止”操纵引导自主车辆的轨迹。该操纵可以将自主车辆引导至物理环境中的区域,该区域容许车辆安全地停在例如从危险车行道去除其占用者的位置。在一些情况下,当诸如轨迹评估器3620和轨迹生成器3624的计划器的一个或更多部件不能操作或另外以影响轨迹生成的方式劣化时,可以实施应急轨迹。此外,轨迹生成器3624还可以被配置为选择一组正常(nonnative)操作状态期间要应用于车辆部件(例如,推进单元或传动系统、操控单元、制动单元等)的轨迹(例如,来自候选轨迹的子集),且轨迹生成器3624还可以被配置为选择一组非正常操作状态(例如,不能操作的状态,不管是状况(condition)还是基于特征矢量推到的)期间要应用于车辆部件的应急轨迹(例如,来自候选应急轨迹的子集)。

需要注意,图36的图示3600中描绘的元件可以包括与关于一个或更多其他图描述的类似地命名的元件的结构和/或功能,一个或更多其他图诸如是图11至13等,如于此描述的。此外,对于示出的范例,根据一些范例,轨迹生成器3624包括生成应急轨迹(或其数据)的应急轨迹生成器3695和名义应急轨迹生成器3697、以及用于计算应急轨迹(或其数据)的轨迹计算器3625和名义驾驶轨迹生成器3627。因而,应急轨迹生成器3695可以被配置为计算(例如,重计算,诸如迭代)应急轨迹以确定一个或更多最佳应急路径。可以选择并发送至少一个路径作为应急路径数据3691。可选地,名义应急轨迹生成器3697被配置为基于例如滚动时域控制技术来生成应急轨迹。名义应急轨迹生成器3697随后可以发送名义应急轨迹路径数据3692至例如轨迹跟踪器或车辆/运动控制器以实施操控、加速、以及其他部件的物理改变。需要注意,在轨迹生成器3624的一些范例中可以省略名义应急轨迹生成器3697。根据一些范例,一旦接收到命令(例如,实施安全停止),就可以使用名义应急轨迹路径数据3692,诸如在其中未联系远程操作者或远程操作者未响应以以优选方式提供数据轨迹的情况下。在一些情况下,检测的轨迹路径数据3609可以发起应急路径数据3691的使用以由轨迹控制器(未示出)使用。

轨迹计算器3625被配置为基于例如静态地图数据3601、当前和预测的对象状态数据3603、局部姿态数据3605、以及计划数据3607(例如,全局计划数据)来计算(例如,迭代地,诸如重计算)轨迹以确定最佳的一个或更多路径。接下来,选择并发送至少一个路径作为选择的路径数据3611。根据一些实施例,轨迹计算器3625被配置为实施轨迹的重计划作为范例。名义驾驶轨迹生成器3627被配置为以精确的途径来生成轨迹,诸如通过基于滚动时域控制技术来生成轨迹。名义驾驶轨迹生成器3627随后可以发送名义驾驶轨迹路径数据3672至例如轨迹跟踪器或车辆/运动控制器以实施操控、加速、以及其他部件的物理改变。

此外,对于示出的范例,轨迹评估器3620包括状态和事件管理器3622、置信水平生成器3623以及远程操作者询问30消息器3629。如所示,轨迹评估器3620耦合至感知引擎3666以接收静态地图数据3601以及当前和预测的对象状态数据3603。轨迹评估器3620还接收来自定域器3668的局部姿态数据3605和来自全局计划器3669的计划数据3607。置信水平生成器3623至少接收静态地图数据3601以及当前和预测的对象状态数据3603以确定一个或更多操作状态(例如,至少一个非正常状态或其他状态)。基于此数据,置信水平生成器3623可以确定检测到轨迹与不可接受的(或,较不优选的)置信水平值相关联。这样置信水平生成器3623发送检测的轨迹数据3609(例如,包括候选轨迹的数据)以经由远程操作者询问消息器3629通知远程操作者,远程操作者询问消息器3629依次发送对于远程操作者辅助的请求3670。

图37是描绘根据一些范例的轨迹跟踪器的范例的图示。轨迹跟踪器3728可以被实施为轨迹跟踪控制器,该轨迹跟踪控制器被配置为向车辆部件应用应急轨迹(“nct”)数据3692(例如,作为名义应急轨迹)和/或应用名义驾驶轨迹(“ntd”)数据3672,车辆部件诸如是推进单元或系统(例如,一个或更多传动系统)、操控系统、制动系统、加热和空调系统、通信系统等。图3700描绘轨迹跟踪器3728,轨迹跟踪器3728包括验证器3741、轨迹生成器监视器3743、应急轨迹执行处理器3745、以及驾驶轨迹执行处理器3747。在一些范例中,可以同时或在公共时间间隔期间生成应急轨迹数据3692和名义驾驶轨迹数据3672,在公共时间间隔期间,轨迹计算和生成可以被迭代地或顺序地确定。然而,需要注意,至少在一些情况下,可以异步地生成数据3692和3672。

验证器3741可以被配置为验证应急轨迹数据3692和名义驾驶轨迹数据3672以及针对验证标准的有关不确定性或概率分布(例如,ai统计、或从状态和事件管理器(未示出)等导出的统计),以例如确认数据3692和3672在预测值或公差之内。驾驶轨迹执行处理器3747被配置为控制将轨迹数据3672应用于各种物理车辆部件。轨迹生成器监视器3743被配置为监视与名义驾驶轨迹数据3672相关联的轨迹的生成。在一些情况下,轨迹生成器监视器3743可以检测名义驾驶轨迹数据3672(或指示计划器的不可操作高级逻辑的其他数据)的缺乏或终止。在此情况下,轨迹跟踪器3728方便应急轨迹执行处理器3745的操作以控制将应急轨迹数据3692应用于各种物理车辆部件,以实现“安全停止”操纵,由此自主车辆的运动停止并且车辆停止于安全位置。如所示,轨迹跟踪器3728和/或应急轨迹执行处理器3745可以被配置为接收传感器数据3770的子集以方便应急轨迹的应用。在一些范例中,传感器数据3770的子集可以指反作用传感器,因为可以在安全停止操纵期间(例如,当可能没有生成其他轨迹类型时)实施他们。根据一些范例,反作用(reactive)传感器包括一个或更多声纳传感器和/或一个或更多雷达传感器。

图38是描绘根据一些范例的自主车辆控制器的冗余实施的范例的图示。图示3800描绘包括自主车辆(“av”)控制器3874的第一实施3801,自主车辆(“av”)控制器3874包括计划器3864,计划器3864依次包括轨迹评估器3865。自主车辆控制器3874还可以包括定域器3868和感知引擎3866,定域器3868和感知引擎3866均示为接收传感器数据3870a。传感器数据3870a包括传感器套件(suite)3870中的一或更多类型的传感器的一或更多组传感器数据。传感器3870包括一个或更多激光雷达设备3872、一个或更多相机3874、一个或更多雷达3876、一个或更多全球定位系统(“gps”)数据接收器-传感器3873、一个或更多惯性测量单元(“imu”)3875、一个或更多测距法传感器3877(例如,轮编码传感器、轮速传感器等)、一个或更多声纳传感器以及任何其他适合的传感器3878,诸如红外相机或传感器、能够超光谱的传感器、超声传感器(或任何其他基于声能的传感器)、基于射频的传感器等。在一些情况下,可以作为测距法传感器3877或适合的传感器3878包括被配置为感测轮的操控角度的轮角度传感器。在一些范例中,可以将自主车辆控制器3874的上述部件设置在第一架构层中,诸如人工智能(“ai”)层3891。

此外,对于第一实施3801的范例,自主车辆(“av”)控制器3874还包括被配置为接收传感器数据3870b的子集的轨迹跟踪器3862,传感器数据3870b可以包括反作用传感器数据(例如,雷达数据和声纳数据)。将轨迹跟踪器3862示为被配置为耦合至车辆部件3850。如所示,轨迹跟踪器3862可以设置于低于第一架构层的第二架构层中,并且第二架构层被描绘为实时操作系统(“rtos”)层3892。车辆部件3850可以设置于低于第二层的物理平台层3893中。

在图示3800的第二实施3803中,至少计划器3864、定域器3868、以及感知引擎3866的结构和/或功能设置在自主车辆控制器3847a、3847b、以及3847c中的每一个中,自主车辆控制器3847a、3847b、以及3847c中的每一个被配置为接收传感器数据3870a。因而,第二实施3803的ai层3891提供每个自主车辆控制的三重冗余。根据一些范例,自主车辆控制器3847a、3847b、以及3847c中的每一个可以包括一个或更多处理器(例如,opu)并且还可以包括处理器的一个或更多集群(例如,opu的一个或更多集群)、和任何数量或类型的存储器。根据一些范例,多个自主车辆控制器3847a、3847b、以及3847c被配置为生成多个轨迹和多个应急轨迹。多个轨迹可以包括诸如名义驾驶轨迹的轨迹,并且多个应急轨迹可以包括要应用的应急轨迹。

实时操作系统层3892被描绘为包括多个轨迹跟踪器3862a、3862b、以及3862c,多个轨迹跟踪器3862a、3862b、以及3862c中的每一个被配置为接收传感器数据3870b的子集。这样,rtos层3892可以包括轨迹跟踪器3862的冗余实施,其每一个被配置为经由通信信道3805接收来自自主车辆控制器3847a、3847b、以及3847c中的每一个的应急轨迹数据或名义驾驶轨迹数据,或二者。rtos层3892被配置为以相对高的可靠度操作,使得如果ai层3891中的逻辑发生故障或变得劣化,则rtos层3892可以用于实施应急,诸如执行安全停止操纵。在一些范例中,通信信道3805可以包括网状链接或网状网络。根据一些范例,轨迹跟踪器3862a、3862b、以及3862c中的每一个可以包括一个或更多处理器(例如,opu)并且还可以包括处理器的一个或更多集群(例如,opu的一个或更多集群)、和任何数量或类型的存储器。根据一些范例,轨迹跟踪器3862a、3862b、以及3862c可以被配置为检测例如生成表示轨迹的数据的终止。另外,可以应用轨迹跟踪器3862a、3862b、以及3862c的一个或更多输出来实施可执行指令,以实现安全停止操纵。如所示,车辆控制单元3899可以被配置为从多个应急轨迹选择应急轨迹用于应用至物理平台层3893。在一些情况下,车辆控制单元3899可以实施为一致性表决控制单元,一致性表决控制单元被配置为基于轨迹跟踪器3862a、3862b、以及3862c的输出中的每一个的比较来确定最佳名义驾驶轨迹或最佳应急轨迹。如所示,实施3803包括一个或更多操控单元3850a、一个或更多推进单元3850b、一个或更多制动单元3850c、以及设置于物理平台层3893中的其他物理车辆平台部件。上述范例不是意图限定,并且从而,在其他实施中可以存在更小或更大数量的自主车辆控制器和/或轨迹跟踪器。

图39是描绘根据一些范例的状态和事件管理器或其部分的范例的图示。图示3900描绘状态和事件管理器3922,状态和事件管理器3922被配置为接收各种量和类型的输入数据3992a、3992b、以及3992n,用于生成轨迹数据3982,轨迹数据3982可以包括应急轨迹数据或名义驾驶轨迹数据,或二者。状态和事件管理器3922(或计划器中的任何其他逻辑)还可以包括诸如推理引擎3990a、3990b、以及3990n的一个或更多推理引擎3990,以及诸如分类器3991a、3991b、以及3991n的一个或更多分类器3991。

根据一些范例,推理引擎3990可以包括任何数量或类型的推理算法,该推理算法被配置为推理一个或更多特性的值、量、状态、质量、属性或质量,推理算法是基于例如在自主车辆中实施或生成的、或是从自主车辆服务平台或其他数据源接收的任何输入数据3992而对该一个或更多特性实施的。输入数据3992的范例包括:来自感知引擎的任何数据,诸如例如包括对象分类数据(以及不确定性)的与静态和动态对象有关的数据;对象跟踪数据;预测的对象随时间的移位;对象方位或姿态数据;以及定域数据,包括与局部姿态有关的数据和与全局姿态有关的数据。此外,与上述数据相关联的任何不确定性程度或概率分布以及描述符输也可以被输入或伴随其他输入数据3992。输入数据3992也可以包括任何量或类型的传感器数据、以及感测数据的任何能够测量的特性,诸如撞击在图像传感器(例如,cco传感器)上的光子的量,或激光雷达激光回波数据的感测的激光特性(例如,强度等)、以及来自雷达、声纳等的其他感测数据。此外,输入数据3992可以包括从感测数据导出的数据或任何组合,以及与测量的传感器数据或感测数据相关联的不确定性和/或概率分布。

为示例推理引擎3990的操作,考虑推理引擎3990a被配置为推理自主车辆与外部对象之间的距离并且推理引擎3990b被配置为推理道路上自主车辆所在的位置。诸如推理引擎3990n的其他推理引擎可以被配置为基于其他输入数据来执行其他推理操作。推理引擎3990a和3990b可以接收任何适合的输入数据3992以生成推理的特性和例如对应的不确定性或概率分布。推理引擎3990a和3990b的输出数据(例如,值和概率分布)可以被作为输入发送至分类器3991。

来自推理引擎3990的输出以及自主车辆生成或获得的任何其他数据可以被输入到分类器3991中。根据各种范例,分类器3991被配置为对相对大的大小的多模态分布执行统计分类(例如,回归分析),以形成例如概率特征矢量作为分类器3991的输出,由此各种特征矢量可以表示计划器、轨迹生成器、或自主车辆的状态。因此,根据一些范例,分类器3991的输出可以基于至分类器3991的输入指定要采取的一或更多类型的动作。一或更多类型的动作可以与一个或更多生成的轨迹相关联。根据一些范例,置信水平生成器3923可以特征化对于分类器3991的输出的置信水平。根据替代范例,分类器3991可以包括或执行置信水平生成器3923提供的类似功能。因此,分类器3991可以生成具有基于分类器3991的输入的置信水平的轨迹。例如,分类器3991可以确定与能够接受的和不能够接受的轨迹相关联的能够接受的(或更优选的)和不能够接受的(或较不优选的)置信水平值的能够变化的量。根据各种范例,分类器3991可以是任何类型的分类器以其任何组合。例如,分类器3991a可以被实施为朴素的贝叶斯分类器。

图40是根据一些范例的示例实施一个或更多轨迹类型的范例的流程图。流程400以4002开始,在4002,接收引导自主车辆的运动的路径数据。在4004,生成表示轨迹的数据,以控制自主车辆的运动,轨迹是第一类型的轨迹。在4006,将表示应急轨迹的数据生成为第二类型的轨迹。在4008,监视一个或更多轨迹的生成以检测该轨迹的生成是否停止。在4010,可以实施应急轨迹以引起对自主车辆的运动和/或方向的改变。需要注意,于此在此和其他流程图中描绘的顺序不是意图暗示需要线性地执行各种功能,因为流程图的每个部分的执行可以与流程图的任何一个或更多其他部分串行或并行,以及可以独立于或依赖于流程图的其他部分。

图41示例根据各种实施例的被配置为给自主车辆服务的部件提供各种与生成有关的功能性和/或结构的各种计算平台的范例。在一些范例中,计算平台3300可以用于实施计算机程序、应用、方法、过程、算法、或其他软件以执行上述技术。需要注意,图33的各种结构和/或功能性可以应用于图41,并且,这样,可以在图33的背景中讨论那些图中的一些元件。还需要注意,在图41的图示4100中描绘的元件可以包括结合于此的一个或更多其他图描述的类似地命名的元件的结构和/或功能。

参照图41中示出的范例,系统存储器3306包括自主车辆控制器模块4150和/或其部件(例如,计划器模块4152、轨迹跟踪模块4154等),其部件中的任何一个或其一个或更多部分能够被配置为通过实施于此描述的一个或更多功能而方便对于自主车辆服务的导航。在一些情况下,计算平台3300能够设置于任何设备中,诸如计算设备3390a和/或移动计算设备3390b,计算设备3390a可以设置于自主车辆3391中。

虽然为理解清楚的目的在一些细节中描述了前述范例,但是上述创造性技术不限于提供的细节。存在实施上述发明技术的许多替代方式。公开的范例是示例性的而不是限制性的。

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