用于控制自动驾驶车辆操作以确定规划路径的规划系统和方法与流程

文档序号:18942992发布日期:2019-10-23 01:18阅读:274来源:国知局
用于控制自动驾驶车辆操作以确定规划路径的规划系统和方法与流程

本发明要求2017年2月27日递交的发明名称为“用于移动机器人和/或自动驾驶车辆的基于多层学习的规划计算的系统和方法”的第62/464,196号美国临时专利申请案及于2018年2月26日递交的发明名称为“用于控制自动驾驶车辆操作以确定规划路径的规划系统和方法”的第15/905,705号美国专利申请案的在先申请优先权,其在先申请的内容以引入的方式并入本文中。

至少一些示例实施例涉及用于移动机器人和自动驾驶车辆的多层规划架构以及通过机器学习对此类规划架构的改进。



背景技术:

一些规划架构采用不同的系统和方法来规划自动驾驶车辆或移动机器人的路线,以及导航和控制自动驾驶车辆或移动机器人。

所述规划架构可以基于经典的基于规则的方法,根据规则通过环境信息、自动驾驶车辆或移动机器人的状态确定所述车辆或机器人的下一步动作。所述规划架构还可以基于有限状态机(finitestatemachine,简称fsm),或类似于基于规则的系统和方法的搜索算法。

由于驾驶环境或移动机器人所处的环境的动态和复杂性质,很难规划出所有可能的情况并针对每种可能的情况来制定规则或fsm。这还需要大量的fsm,而这些fsm可能难以开发、测试和验证。

此外,针对每种可能的情况制定规则或fsm需要较大的计算量。这种情况需要制定大量规则或fsm,以考虑移动机器人或自动驾驶车辆可能经历的每种情况。如果自动驾驶车辆或者移动机器人遇到的某种情况没有规则可循,则所述自动驾驶车辆或机器人在操作上可能面临阻碍。

根据以下示例性实施例的详细描述,可以理解现有系统还存在其它困难。



技术实现要素:

本发明提供了一种可用于移动机器人、自动驾驶车辆或其它可能应用的规划系统。

在本发明的一方面中,提供了一种用于车辆或移动机器人的控制系统。所述控制系统包括:存储器,用于存储多个馈送相关功能层的计算机可读指令,所述每个馈送相关功能层包含一个或多个神经网络,所述一个或多个神经网络中的每一个神经网络与用于控制所述车辆或移动机器人的至少一个可操作元件的操作的至少一个功能任务相关联。所述控制系统还包括至少一个处理器,与所述存储器通信,用于:执行所述存储器中存储的多个馈送相关功能层中的每一个功能层的计算机指令,以使所述至少一个处理器向每个功能层的一个或多个神经网络中的每一个神经网络提供输入数据;执行每个馈送相关功能层的一个或多个神经网络中的每一个神经网络,以基于所述输入数据生成输出数据,用于控制与所述功能任务相关联的至少一个可操作元件的操作,所述功能任务与所述一个或多个神经网络中的每一个神经网络相关联。所述输入数据包括由所述车辆或移动机器人的多个传感器感知到的传感器数据,以及所述多个馈送相关功能层中的一个功能层的至少一个神经网络的输出数据。

在一些实施例中,至少一个神经网络的至少一个输出数据作为所述输入数据馈送至所述任何一个功能层的其它神经网络。

在一些实施例中,至少一个神经网络的至少一个输入数据来自任一功能层的其它神经网络的一个或多个输出数据的馈送。

在一些实施例中,所述馈送包括至少前馈或反馈之一。

在一些实施例中,所述至少一个功能层的每个神经网络具有一个或多个输入数据或一个或多个输出数据,所述数据仅与层级上相邻的功能层的神经网络有馈送关系。

在一些实施例中,多个功能层包括使命规划功能层、行为规划功能层和运动规划功能层。

在一些实施例中,所述使命规划层的一个或多个神经网络中的至少一个神经网络与确定所述车辆或移动机器人的最佳路线的功能任务相关联。

在一些实施例中,所述行为规划功能层的一个或多个神经网络中的至少一个神经网络与所述车辆或移动机器人的至少一种行为关联的功能任务相关联。

在一些实施例中,所述行为规划功能层的一个或多个神经网络中的至少一个神经网络与控制车辆子系统相关联以执行以下一个或多个功能任务:改变车道、在十字路口等待、超过其它车辆或移动机器人、让路给其它车辆或移动机器人或在十字路口等待。

在一些实施例中,所述一个或多个神经网络中的至少一个神经网络与控制车辆子系统相关联,以执行至少以下一种功能任务:避开障碍物、寻找本地路线或控制所述车辆或移动机器人的速度、方向或位置。

在一些实施例中,所述传感器数据包括图像数据、lidar数据、radar数据、全球定位系统(globalpositioningsystem,简称gps)数据、惯性测量单元(inertialmeasurementunit,简称imu)数据和处理后的传感器数据中的一个或多个。

在一些实施例中,所述输入数据包括相机、lidar系统、radar系统、gps和imu系统中的一个或多个所感知到的数据。

在一些实施例中,可以在所述控制系统操作之前或期间从所述控制系统离线训练所述一个或多个神经网络中的至少一个神经网络。

在一些实施例中,所述车辆包括自动驾驶车辆、自主机器人或自主无人机。

在一些实施例中,所述运动规划层与控制转向单元、节流单元或制动单元的可操作元件的功能任务相关联。

在一些实施例中,所述计算机指令使至少一个处理器编译所有实现的功能任务,以控制所述至少一个可操作元件,其中所述至少一个可操作元件是gps单元、转向单元、制动单元或节流单元中的一个或多个元件。

在一些实施例中,超过一个功能任务与相同的一个或多个可操作元件的操作相关联,其中,所述至少一个可操作元件是gps单元、转向单元、制动单元和节流单元中的一个或多个元件。

在本发明另一方面中,公开了一种控制车辆或移动机器人的操作的方法,所述方法由至少一个处理器实现。所述方法包括:在存储器中提供多个馈送相关功能层,所述每个馈送相关功能层包含一个或多个神经网络,所述一个或多个神经网络中的每一个神经网络与用于控制所述车辆或移动机器人的至少一个可操作元件的操作的至少一个功能任务相关联。所述方法还包括向所述每个功能层的一个或多个神经网络的每一个神经网络提供输入数据。所述方法还包括执行每个馈送相关功能层的一个或多个神经网络中的每一个神经网络,以基于所述输入数据生成输出数据,用于控制与所述功能任务相关联的至少一个可操作元件的操作,所述功能任务与所述一个或多个神经网络中的每一个神经网络相关联。所述输入数据包括由所述车辆或移动机器人的多个传感器感知到的传感器数据,以及所述多个馈送相关功能层中的一个功能层的至少一个神经网络的输出数据。

在一些实施例中,用于执行所述方法的指令存储在非瞬时性计算机可读介质中,所述非瞬时性计算机可读介质包括至少可由一个处理器执行的指令。

在本发明另一方面中,公开了一种包括指令的计算机程序产品。当计算机执行所述程序时,所述指令使计算机执行控制车辆或移动机器人操作的步骤。所述步骤包括:在存储器中提供多个馈送相关功能层,所述每个馈送相关功能层包含一个或多个神经网络,所述一个或多个神经网络中的每一个神经网络与用于控制所述车辆或移动机器人的至少一个可操作元件的操作的至少一个功能任务相关联。所述步骤还包括:向每个功能层的一个或多个神经网络中的每一个神经网络提供输入数据,执行每个馈送相关功能层的一个或多个神经网络中的每一个神经网络,以基于所述输入数据生成输出数据,用于控制与所述功能任务相关联的至少一个可操作元件的操作,所述功能任务与所述一个或多个神经网络中的每一个神经网络相关联。所述输入数据包括由所述车辆或移动机器人的多个传感器感知到的传感器数据,以及所述多个馈送相关功能层中的一个功能层的至少一个神经网络的输出数据。

一些示例实施例涉及用于移动机器人和/或自动驾驶车辆的基于多层学习的规划系统和方法。

示例实施例涉及用于自动驾驶车辆或移动机器人的基于多层学习的规划计算系统和方法。使命规划层、行为规划层和运动规划层用于为所述自动驾驶车辆或移动机器人制定最佳路线,提供一系列功能任务以遵循所述规划最佳路线并形成命令以实现所述功能任务。通过机器学习执行所述至少一种功能任务。

示例实施例是一种用于车辆或移动机器人的规划计算系统,所述车辆或移动机器人包括至少一个可操作元件,所述规划计算系统包括:存储器;至少一个与所述存储器通信的处理器,用于执行所述存储器中存储的计算机指令。所述计算机指令使得所述至少一个处理器:执行多个分层规划功能层,其中每个规划功能层与至少一个在层级上相邻的规划功能层有馈送关系,其中每个规划功能层包括至少一个功能任务,其中至少一个功能任务是通过机器学习完成的,并且与所述车辆的至少一个可操作元件的操作相关联。

在一示例实施例中,所述执行多个分层规划功能层包括预先指定所述每个分层规划功能层的名称和层级。

在一示例实施例中,所述至少一个规划功能层还包括规划功能子层,每个规划功能子层包括所述至少一个功能任务,并且每个规划功能子层与层级上相邻的规划功能子层有馈送关系。

在一示例实施例中,机器学习和基于规则的学习中的至少一个应用于所述至少一个分层规划功能层。

在一示例实施例中,机器学习和基于规则的学习中的至少一个应用于所述至少一个功能任务。

在一示例实施例中,所述馈送包括至少前馈或反馈之一。

在一示例实施例中,所述计算机指令使得所述至少一个处理器应用机器学习来单独训练所述所有分层规划功能层。

在一示例实施例中,每个规划功能层仅与层级上相邻的规划功能层有馈送关系。

在一示例实施例中,所述多个分层规划功能层包括使命规划层、行为规划层和运动规划层。

在一示例实施例中,所述运动规划层包括定义所述车辆或移动机器人最佳路线的功能任务。在一示例实施例中,所述行为规划层包括所述车辆的至少一种行为,所述行为定义为功能任务。在一示例实施例中,所述至少一个功能任务包括以下中的一个或多个:改变车道、在十字路口等待、超过车辆、给车辆让路或在十字路口等待。

在一示例实施例中,所述运动规划层定义所述车辆的至少一个功能任务,其中所述至少一个功能任务包括一个或多个以下方面:避开障碍物、寻找本地路线以及改变所述车辆的速度、方向或位置。

在一示例实施例中,所述计算机指令使所述至少一个处理器进一步执行安全功能层。

另一示例实施例是一种用于规划车辆的方法,所述方法由至少一个处理器实现,所述方法包括:执行多个分层规划功能层,其中每个规划功能层与至少一个在层级上相邻的规划功能层有馈送关系,其中每个规划功能层包括至少一个功能任务;对至少一个功能任务应用机器学习,其中至少一个功能任务与所述车辆的至少一个可操作元件的操作相关联。

在一示例实施例中,所述至少一个规划功能层还包括规划功能子层,每个规划功能子层包括所述至少一个功能任务,并且每个规划功能子层与层级上相邻的规划功能子层有馈送关系。

在一示例实施例中,机器学习和基于规则的学习中的至少一个应用于所述至少一个分层规划功能层。

在一示例实施例中,机器学习和基于规则的学习中的至少一个应用于所述至少一个功能任务。

在一示例实施例中,所述馈送包括至少前馈或反馈之一。

在一示例实施例中,所述多个分层规划功能层包括使命规划层、行为规划层和运动规划层。

在一示例实施例中,所述运动规划层包括定义所述车辆或移动机器人最佳路线的功能任务。

在一示例实施例中,所述行为规划层包括所述车辆的至少一种行为,所述行为定义为功能任务。

在一示例实施例中,所述运动规划层定义所述车辆的至少一个功能任务。

在一示例实施例中,所述方法还包括执行安全功能层。

另一示例实施例是一种非瞬时性计算机可读介质,包括由至少一个处理器执行的指令,所述指令包括用于执行所描述的方法的指令。

另一示例实施例是一种车辆规划系统,所述车辆包括至少一个可操作元件,所述规划系统包括:存储器;至少一个与所述存储器通信的处理器,用于执行所述存储器中存储的计算机指令。所述计算机指令使得所述至少一个处理器:定义多个规划功能层,其中每个规划功能层包括至少一个功能任务,所述规划功能层包括使命规划层、行为规划层和运动规划层,其中至少一个功能任务是通过机器学习完成的,并且与所述车辆的至少一个可操作元件的操作相关联。

附图说明

现结合附图通过例子来描述示例实施例,其中相同的特征由相同的附图标记标识,其中:

图1是根据一示例实施例的示例规划计算系统的框图;

图2是根据一示例实施例的示例机器学习系统的框图;

图3是根据一示例实施例的规划计算系统的操作方法的流程图;

图4示出了根据一示例实施例的示例规划计算系统的右透视图;

图5示出了根据一示例实施例的示例整合规划计算和控制驱动系统的框图;

图6是根据另一示例实施例的控制系统的框图;

图7是根据一示例实施例的在包括图6所述控制系统的环境中操作的自动驾驶车辆的示意图;

图8是图7所述车辆的框图;

图9是根据一示例实施例的示出图6所述控制系统的神经网络中的节点之间的示例关系的示意图;

图10是根据一示例实施例的在图7所述车辆中实现的图6所述控制系统的神经网络的示例配置的示意图。

具体实施方式

用于车辆控制的各种现有方法包括基于规则的方法、基于搜索算法的方法和基于有限状态机(fsm)的方法。

至少一些示例实施例涉及用于移动机器人和/或自动驾驶车辆的多层规划架构系统和方法。

至少一些示例实施例涉及用于规划自动驾驶车辆或移动机器人的路线以及使用多个神经网络来导航和控制自动驾驶车辆或移动机器人的系统和方法。

图1示出了根据一示例实施例的用于导航和控制自动驾驶车辆(或移动机器人)的多层规划计算系统100的示例实施例。通常,所述系统100用于定义多个分层规划功能层或级别。每个规划功能层与至少一个在层级上相邻的规划功能层有馈送关系,且每个规划功能层包括一个或多个功能任务。功能任务可以包括规划或执行动作,还可以包括操作所述系统100或操作所述自动驾驶车辆的设备或子系统。如图1所示,所述规划计算系统100包括使命规划功能层102、行为规划功能层104和运动规划功能层106,其中所述使命规划功能层102与所述行为规划功能层104在层级上相邻,所述行为规划功能层104与所述运动规划功能层106在层级上相邻。在图1所示的示例中,所述使命规划功能层102在层级结构中处于最高层。所述使命规划功能层102用于确定所述自动驾驶车辆从初始地理位置到一个或多个终点的最佳或合适路线。一次可以规划不止一个终点,例如规划不同的停靠点。所述行为规划层104用于定义所述自动驾驶车辆或移动机器人的一系列功能任务,以遵循由所述使命规划层102确定的最佳规划路线。所述运动规划功能层106负责定义所述自动驾驶车辆或移动机器人的本地路线,所述定义基于由所述行为规划功能层104定义的一系列功能任务以及由所述使命规划功能层102定义的最佳路线。在示例实施例中,每个规划功能层102、104、106可以包括硬件和/或软件,并且与车辆子系统和所述车辆的可操作元件交互,本文将进行详细描述。在示例实施例中,所述规划计算系统100可以与控制驱动系统150有单独馈送关系,所述控制驱动系统150包括可以与车辆子系统和所述车辆的可操作元件交互的硬件和/或软件。

现参考图5,图5示出了示例性集成规划计算和控制系统500。在线操作/执行期间,所述规划计算系统100基于所述规划功能层102、104、106的集体操作来计算所述车辆规划。所述控制驱动系统150用于:实施所述规划直到终点;根据所述要执行的相关功能任务来控制所述车辆的车辆可操作元件510;和/或从所述车辆可操作元件510接收反馈信息。如图5所示,基于由使命规划层102确定的车辆502的终点,由使命规划功能层102和行为规划功能层104执行的功能任务504、506,以及由运动规划功能层106执行的功能任务508,所述控制驱动系统150用于基于至少一个或多个功能任务504、506、508来操作所述车辆的至少一个车辆可操作元件510。

图3是根据一示例实施例的用于自动驾驶车辆或移动机器人的规划计算系统100的机器学习方法300的流程图。在事件302、304和306处,所述方法300包括定义多个分层规划功能层,例如使命规划功能层、行为规划功能层和运动规划功能层。这可以包括预先指定所述规划功能层的数量、所述每个规划功能层的总体职责(例如,名称和总体责任)和/或所述规划功能层的层级顺序。在所述方法300中,每个规划功能层可以包括至少一个功能任务,所述功能任务310、312、314可以由所述分层规划功能层304、306、308定义并与所述分层规划功能层304、306、308相关联。每个功能任务与所述车辆的至少一个车辆可操作元件510(图5)的操作相关联。在事件316、318、320处,所述方法300包括应用机器学习以实现或执行所述至少一个或所有分层规划功能层以及与每个分层规划功能层相关联的功能任务。在示例实施例中,应用机器学习和基于规则的学习的组合来执行或实现所述至少一个分层规划功能层和所述至少一个功能任务。所述每个规划功能层还可以预先指定要在该规划层内执行的功能任务,并且预先指定每个功能任务的总体职责。在一示例性实施例中,可以应用机器学习以在事件316、318、320处在所述特定规划功能层内执行或实现这些预先指定的功能任务。用于执行方法300的指令可以包含在非瞬时性计算机可读介质中,所述介质包含一个用于执行这些指令的处理器。在一些实施例中,所述控制驱动系统150可由车辆子系统614代替,所述车辆子系统614可以包括如本文所述的控制驱动系统150的一些或全部功能。

在一示例实施例中,所述使命规划层102指定或定义所述自动驾驶车辆或移动机器人的终点,并且包括用于确定自动驾驶车辆或移动机器人从起点到终点的最佳路线的一个或多个使命功能任务。在一示例实施例中,所述使命规划功能层102基于周围环境的数字地图确定所述自动驾驶车辆或移动机器人的最佳路线。所述周围环境的数字地图可以是从商业地图数据库获得的预先存在的数据,也可以是通过雷达、lidar和视觉系统的组合获得的统一地图数据。所述使命规划功能层102确定通往所述终点的最佳或合适的路线。在一示例实施例中,所述使命规划功能层102包括一个或多个使命子层,以获得特定出行的多个终点等。在一示例实施例中,所述使命规划层102生成沿路检查点。每个检查点和相应的功能任务对应。在一示例实施例中,使命规划层的示例性功能任务包括寻找最佳路线、计算资费/通行费、计算车流量和计算预计到达时间。

再参考图1,每个规划功能层102、104、106可以包括多个子层。每个子层可对应于特定命令或功能任务等。在至少一些实施例中,每个子层与一个或多个在层级上相邻的子层有馈送关系(例如,前馈和/或反馈)。在一示例实施例中,子层可以共同地表示要计算和执行的规划功能任务的序列。

在至少一些实施例中,所述使命规划功能层102包括处理器(未示出),以通过评估各种因素,包括驾驶规则、到终点的距离和在考虑所述自动驾驶车辆或移动机器人和所述终点之间的任何固定障碍物之后确定的距离终点的最短距离或距离终点的最短时间,来确定所述自动驾驶车辆或移动机器人的最佳或合适路线。所述使命规划功能层102可以使用搜索算法,例如a*搜索算法、双向搜索算法等,来确定所述最佳路线,这在本领域中是可以理解的。

所述规划计算系统100包括图2中所示的机器学习系统110,所述机器学习系统110可以由至少一个或全部所述使命规划层102、所述行为规划层104和所述运动规划层106所使用。在一示例实施例中,每个层102、104、106在各自层上独立应用机器学习304,以执行或实现该特定规划功能层的功能任务。在一示例实施例中,每个规划功能层102、104、106及其功能任务是预先指定的,在每个规划功能层及其特定功能任务上独立执行机器学习304。

所述机器学习系统110包括可具有一个或多个数字处理单元的数字处理器112。所述机器学习系统110还包括具有一个或多个瞬态和非瞬态数字存储器存储元件的存储器114。计算机可执行指令116存储在所述存储器114中,所述存储器114配置所述处理器112和所述机器学习系统110以执行本文所述的功能。

在至少一些示例实施例中,训练数据集115也存储在所述存储器114中。所述训练数据集115包括基础数据集,基于所述基础数据集,所述机器学习系统110可以在所述规划功能层102、104、106上进行构建,并且进行改进以创建和更新对象参考数据集130。例如,所述使命规划功能层102可以使用所述参考数据集130来确定自动驾驶车辆或移动机器人的最佳路线。由所述使命规划功能层102确定的最佳路线可以存储在所述存储器114或其它存储器中,以供规划系统100的其它层访问。所述机器学习系统110也可以使用如本领域所理解的强化学习或其它机器学习技术,包括基于图的学习,以开发所述训练数据集115。通过使用机器学习,所述规划系统100可以基于所述车辆曾经经历的情况来学习如何做出反应。这些经历是可以转移的,因此即使所述车辆没有单独经历过某种情况,也可以学习如何对某种特定情况做出响应。所述规划系统100还可以轻易将已学习到的情况运用到未知情况中。

在至少一些实施例中,所述使命规划功能层102可以使用所述机器学习系统110并根据先前的经历以及所述使命规划层102访问的周围环境的数字地图情况来确定自动驾驶车辆或移动机器人的最佳路线。

进一步参考图1,所述行为规划功能层104可以包括处理器(这里未示出),用于访问所述存储器114或其它存储器以获得由所述使命规划功能层102制定的最佳路线。然后,所述行为规划功能层104的处理器评估规划路线,并为自动驾驶车辆或移动机器人提供一系列功能任务或行为使其遵循规划路线。所述行为规划功能层104可以包括多个行为子层。每个行为子层可以对应于被定义为特定功能任务的行为等。这些功能任务可以包括各种驾驶动作,例如改变车道、超过车辆或移动对象、让车辆或移动对象先行、在十字路口等待或通过静止对象。

所述行为规划功能层104评估所述最佳路线和额外因素,例如周围环境、适用的驾驶规则、动态障碍物(包括车辆和行人)的存在、道路限制(例如道路中的车道数量和速度限制)、安全问题和乘客便利程度,以定义和选择适当的功能任务,使所述自动驾驶车辆或移动机器人能够按照路线行驶。这可以包括车辆子系统和车辆可操作元件的操作。在至少一些实施例中,所述行为规划功能层104还包括多个功能任务120,其中每个功能任务和所述行为规划层104处进行的动作相对应。所述行为规划层104可以通过以下方式执行每个功能任务120:访问硬件或软件(此处未示出)以确定建议的功能任务或行为的可行性以及采取该行为的潜在利弊。例如,所述行为规划层104在评估在十字路口等待这一建议功能任务时,可以在获知所述十字路口未设停车标志或交通灯的信息后修改该项功能任务。

所述行为规划功能层104可以与所述使命规划层102有馈送关系。馈送包括信息、控制和/或元数据的前馈和/或反馈等。由所述行为规划功能层104获得的信息可以通过存储在存储器114或其它存储器源中而被发送到所述使命规划功能层102,以改进或评估所述最佳路线。例如,如果所述行为规划功能层104检测到车流量增加,则所述使命规划功能层102会改进所述最佳路线以减少左转的数量。根据所述行为规划功能层104和运动规划功能层106获得的信息,所述使命规划功能层102也可以动态地改进所述最佳路线。

与所述行为规划功能层104相关联的功能任务可通过本文所述的机器学习系统110来执行,来确定所述自动驾驶车辆或移动机器人制定所述最佳规划路线所需的功能任务等。

再次参考图1,所述规划系统100包括运动规划功能层106,负责定义要遵循的本地路线并确定用于控制所述车辆的转向和速度控制命令的命令。在一示例实施例中,所述运动规划功能层106通过所述规划功能层104、106或任何其它层之间的共享存储器(未示出)与所述行为规划功能层104保持馈送关系。所述运动规划功能层106可包括多个运动子层,每个运动子层可表示一个或多个功能任务140。所述运动规划功能层106提供逐步指令,使所述车辆能够制定最佳规划路线,以可控方式避开障碍物。在至少一些实施例中,所述运动规划功能层106可包括至少一个功能任务140与特定命令相对应,例如左转、右转、直行(继续沿路行驶)、避开障碍物、寻找本地路线或执行所述规划功能层104发出的请求行为。在至少一些实施例中,每个运动功能任务140基于所述运动规划功能层106和行为规划功能层104之间的馈送关系与行为功能任务140相对应。所述运动规划功能层106评估由所述行为规划层104执行的功能任务130并根据周围环境、所述车辆的速度、方向、位置或其它参数决定运动功能任务140以实现期望的行为。所述运动规划层可执行由所述行为规划功能层104传递的功能任务。所述运动规划功能层106可通过定义从车辆位置到中间目标位置的本地路线或短距离轨迹来实现这一点。所述中间目标位置或检查点可以由所述行为规划功能层104传递,或在考虑周围环境、安全性、乘客舒适度和驾驶规则等变量后由所述运动规划功能层106定义。所述本地路线可包括一系列期望位置,以及所述车辆在每个位置处的速度和方向。

例如,用于改变车道的行为功能任务140可能需要与改变方向相对应的运动功能任务130以进入某车道中。在车辆位于相同空间的情况下,所述运动规划功能层106,在与所述车辆减速和改变方向对应的一系列运动功能任务中,可包括与车辆减速命令相对应的额外运动功能任务140。所述运动规划功能层106还使用本文所述的机器学习系统110和机器学习方法来单独训练自己,以确定和执行所述相应运动功能任务140,从而制定所述最佳规划路线。

由所述使命规划功能层102、行为规划功能层104和运动规划功能层106获取的信息可以在所述每个其它相邻规划功能层之间共享,并可用于改进所述每个规划功能层的功能任务。在一些实施例中,由每个规划功能层获取的信息可以存储在存储器中,供一个或多个其它层访问,从而达到层之间共享所述信息的目的。每个层可以通过共享存储器或其它方式仅与其上方和/或下方的层保持馈送关系。在一些示例中,所述运动规划层106可以间接向所述使命规划层102提供反馈,所述反馈通过所述行为规划层104而无需所述行为规划层104进行任何额外动作,并且可以反过来作为穿通间接从所述使命规划层102接收信息,而无需所述行为规划层104进行任何额外动作。

在至少一些实施例中,所述规划系统100还包括为所述规划系统100提供安全功能的安全功能层108。在一示例实施例中,所述安全功能层108与所述运动规划功能层106有馈送关系。所述安全功能层108负责评估所述运动规划功能层106的功能任务140,并根据周围环境、道路限制等因素来确定这些功能任务140是否安全。在一示例实施例中,所述安全功能层108包括一个或多个功能任务,每个功能任务由机器学习304单独执行。例如,如果检测到有其它车辆或对象,则所述安全功能层108可无视对应于遵循指定本地路线的运动功能任务140,从而避免碰撞。

所述自动驾驶车辆或移动机器人包括至少一个车辆可操作元件510(图5),通常为多个车辆可操作元件510(图5)。所述可操作元件510可包括电气元件、机械元件、化学元件、化学反应元件和/或机电元件和/或其组合。在一些示例中,可以激活所选的一个或多个可操作元件以执行功能任务。例如,所述功能任务可包括改变车轮方向、提高速度、降低速度、开启制动器和相关车灯。在一些示例中,可以操作所述可操作元件以执行其它功能,例如检测/感知对象或环境、gps定位、接收道路交通量、发送数据、接收数据和通信等。此类操作或动作可以由一个可操作元件或可操作元件的组合来完成。至少一些或所有功能任务包括所述车辆的一个或多个可操作元件的操作。因此,示例性可操作元件包括作为车辆子系统一部分的或独立的传感器、执行器、电机、灯、功率控制、收发器、发送器、接收器、通信子系统和/或燃烧室(例如用于燃料燃烧反应激活和相关控制)。

图4示出了包括车辆602的示例性规划系统600的透视图,所述车辆602可包括至少一个雷达系统402、lidar系统404和视觉系统406。如图4所示,在一示例性实施例中,所述车辆602可以是汽车,所述雷达系统402包括至少一个天线408安装在所述车辆602上。通常,所述系统600可以用于规划所述车辆602何时移动,如本文的实施例中所述。

所述系统600还包括至少一个控制器612。所述系统600还可以包括其它车辆子系统614,所述车辆子系统614可进一步包括机器学习系统110。所述控制器612(例如,一个或多个处理器)用于执行本文所述的操作,包括操作所述每一个使命规划层102、行为规划层104和运动规划层106。在一示例实施例中,每个规划功能层102、104、106可以由其自己的处理器实现。在另一示例实施例中,处理器或多处理器用于实现所述规划功能层102、104、106。所述车辆子系统614可操作地连接到所述控制器612。所述车辆子系统614还可包括用于所述车辆602的自动驾驶控制器(未示出)。

所述控制器612用于从所述雷达系统402、lidar系统404、视觉系统406和包括所述机器学习系统110的车辆子系统614接收数据并向其发送数据。所述控制器612可包括至少一个数据记录过程,用于存储从所述雷达系统402、lidar系统404、视觉系统406和/或任何车辆子系统614捕获的数据,和/或经以上系统处理的数据,至存储器(包括存储器114)中。

所述控制器612还可用于以上述方式处理所述数据,以通过生成使命规划层102、行为规划层104和运动规划层106来制定自动驾驶车辆的规划。所述控制器612还可用于使用由所述使命规划层102、行为规划层104和运动规划层106生成的使命指令对自动驾驶车辆进行引导。

在一示例实施例中,所述车辆子系统614可以从所述控制器612接收命令,以便基于由雷达系统402、lidar系统404或视觉系统406检测到的数据来执行所述特定命令。在一示例实施例中,数据或统一地图信息可以发送至所述车辆子系统614,例如与静态环境、静态对象或动态对象有关的信息。所述数据还可以包括所述对象的标识,可包括关于所述对象的其它相关信息,例如所述对象的速度和向量。在一示例性实施例中,所述车辆子系统614可用于接收和解释所获得的数据并执行其命令功能作为响应,例如,确定所述自动驾驶车辆的最佳规划路线。一些车辆子系统614可包括输出接口子系统(例如,显示器、平视显示器、监视器、投影仪和/或扬声器输出等),所述输出接口子系统包括检测到的对象或环境的相关数据,或驾驶员或其它车辆子系统614接收的指定动作或命令。一些车辆子系统614可包括输入接口子系统,例如触摸屏、用于语音输入的麦克风、转向控制和/或踏板控制等。所述规划系统600还可以包括控制所述系统600的子组件之间的通信的通信子系统616。

电磁波的飞行时间可用于确定所述车辆602周围的环境和对象。可以进一步计算所述车辆602的速度、向量和位置以及所述控制器612已知的其它信息来确定所述环境和对象。例如,可以通过速度计和/或gps来确定所述车辆602的速度、向量和位置信息。因此,可以确定其它对象的绝对速度或相对速度,包括它们的行进方向。同样,可以确定其它对象的位置和环境。基于所述车辆602的相对速度的多普勒效应也可以用作计算的一部分,这在本领域中是可以理解的。

如图4所示,所述车辆602用于在行进方向620上移动,例如,当汽车在不同路径上水平前进或后退以到达目的地时,使用电机驱动和车轮。如图4所示,所述车辆602的车身包括项部622、底部624、前侧626、后侧628,两侧630和632以及后保险杠640。

所述车辆602可包括通常围绕所述车辆602的壳体。在一示例性实施例中,至少部分壳体由例如橡胶、塑料、复合材料或聚合物的无线电波传输材料制成。

在示例性实施例中,所述车辆602可以是基于地面的,包括汽车、卡车、拖拉机、公共汽车、摩托车、机车、地铁、气垫船、雪地车或重型设备车辆。在示例性实施例中,所述车辆602可以是基于水面的交通工具,例如船、气垫船或喷气式滑艇。在示例性实施例中,所述车辆602可以是飞行交通工具,例如喷气式飞机、直升机或无人飞行载具(unmannedaerialvehicle,简称uav)。此外,在一些示例实施例中,与所述系统100一起使用的绘图车辆也可以是这些交通工具中的任一个。在一些示例实施例中,所述车辆602包括完全自动驾驶车辆或半自动驾驶车辆。在一些示例实施例中可以使用移动机器人,所述移动机器人包括能够移动的自动机器,例如,使用任何上述运载机制或机械腿的机器。

在示例实施例中,所述控制器612用于使用来自雷达系统402、lidar系统404和视觉系统406的数据,来提供关于所述车辆602所在环境的统一地图数据,所述数据可由所述车辆子系统614中的使命规划层102使用,以生成所述车辆602的最佳规划路线。

现在参考图6,图6示出了根据另一示例实施例的车辆多层控制系统1000(在下文中称为系统1000)。通常,所述系统1000包括多个规划层或级别。每个规划层或级别包括一个或多个神经网络。每个规划层的每个神经网络与负责移动机器人或车辆自主操作的不同功能任务相关联。每个相应的神经网络接收数据并生成与所述相应神经网络功能任务相关联的输出数据。通过所述各个规划层之间的一个或多个前馈或反馈,所述一个或多个规划层与至少一个其它规划层保持馈送关系。因此,规划层一个或多个神经网络的输出数据可以与一个或多个不同规划层共享,从而向所述一个或多个不同规划层的一个或多个神经网络提供额外输入数据。此外,所述规划层的一个或多个神经网络可以与相同规划层的一个或多个其它神经网络有馈送关系。规划层一个或多个神经网络的输出数据可以与相同规划层的不同神经网络共享,从而向相同规划层的一个或多个神经网络提供额外输入数据。

功能任务可以包括规划或执行动作,并且可以包括操作所述系统1000或操作所述自动驾驶车辆(例如车辆1105)的设备或子系统。

如图6所示,所述系统1000包括使命规划层1002、行为规划层1004、运动规划层1006和安全规划层1008。所述使命规划层1002包括多个神经网络1010-1、1010-2...1010-n,每个神经网络都与不同的功能任务相关联。在图6所示的实施例中,所述使命规划层1002的功能任务包括使命规划任务,例如指定或定义所述自动驾驶车辆或移动机器人的终点,确定所述自动驾驶车辆或移动机器人从起点到终点的最佳路线,定义所述最佳路线沿路的一个或多个检查点,并计算任何相关的资费/通行费。因此,所述神经网络1010-1与使命规划任务1相关联,所述神经网络1010-1与使命规划任务2相关联等。使用车辆控制系统1115来执行所述使命规划层神经网络1010的每个使命任务。优化可以包括对以下一项或组合项目的优化:时间、距离、成本(包括资费/通行费和能源成本)、燃油消耗、能耗(包括电池或燃料)、道路类型(例如充分利用公路和地方道路)或环境和道路条件。

所述行为规划层1004也包括多个神经网络1012-1、1012-2...1012-n,每个神经网络与不同的行为规划任务相关联。在图6所示的实施例中,所述行为规划层1004的功能任务包括行为规划任务,例如改变车道、超过车辆或移动对象、让车辆或移动对象先行、在十字路口等待、通过静止对象或发出信号。所述行为规划神经网络1012的每个行为任务同样由车辆控制系统1115执行。因此,所述神经网络1012-1与行为规划任务1相关联,所述神经网络1012-1与行为规划任务2相关联等等。

所述运动规划层1006也包括多个神经网络1014-1、1014-2...1014-n,每个神经网络与不同的运动规划任务相关联。在图6所示的实施例中,所述运动规划层1006的功能任务包括运动规划任务,例如定义要遵循的本地路线并确定用于控制车辆1105的转向和速度控制命令的命令,包括左转、右转、直行(继续沿路行驶)、避开障碍物或寻找本地路线。所述运动规划神经网络1014的每个运动任务由所述驱动控制系统1150执行。因此,所述神经网络1014-1与运动规划任务1相关联,所述神经网络1014-1与运动规划任务2相关联等等。

所述安全规划层1008也包括多个神经网络1016-1、1016-2...1016-n,每个神经网络与不同的安全规划任务相关联。在图6所示的实施例中,所述安全规划层1008的功能任务包括运动规划任务,例如无视或修改与所述运动规划层1006相关联的功能任务,或进行加速、制动、完成快速转向等紧急动作。所述安全规划神经网络1016的每个安全任务由所述驱动控制系统1150执行。因此,所述神经网络1016-1与安全规划任务1相关联,所述神经网络1016-1与安全规划任务2相关联等等。

通过各个功能层或不同功能层的一个或多个神经网络之间的一个或多个前馈或反馈,所述使命规划层1002与所述行为规划层1004有馈送关系,所述行为规划层1004与所述运动规划层1006有馈送关系,所述运动规划层1006与所述安全规划层1008有馈送关系。因此,可以在功能层1002、1004、1006之间共享信息,从而向所述功能层1002、1004、1006每个层的神经网络提供额外输入数据。所述功能层1002、1004、1006每个层的神经网络也可以通过一个或多个反馈或前馈与相同功能层内的其它神经网络有馈送关系,还可以与相同功能层的其它神经网络共享输入和输出数据,并且还可以与其它功能层的一个或多个神经网络有馈送关系。

如图6所示,系统1000的每个功能层包括多个神经网络,以执行与所述相应功能层相关联的功能任务。所述规划层1002、1004、1006的相应神经网络可以与相同或不同规划层的神经网络并行运行或执行。例如,由使命规划层1002的神经网络1010-1实现的使命任务1(对应于定义所述路线的检查点)可以与由行为规划层1004的神经网络1012-1实现的行为任务1(对应于改变车道)同时执行。实现本文所描述的与每个功能任务相关联的多个神经网络可以降低每个神经网络的复杂度,使所述神经网络能够并行执行,从而提高了控制系统1000的执行速度。

再次参考图6,图6详细介绍了所述控制系统1000的操作。所述使命规划层1002用于基于数据1180(图8)或可以存储在共享存储器(例如存储器1126)中的其它数据来规划自动驾驶车辆从初始地理位置到一个或多个终点的合适路线。例如,可以存在多个不同的停靠点。当终点由所述使命规划层1002定义时,所述使命规划层1002用于将规划路线的任务分解为多个使命任务1、2、...n,每个使命任务与至少一个神经网络1010-1、1010-2、...1010-n相关联。所述使命任务可以是作为一个整体的一系列端点,用于定义到最终目的地的合适路线。定义每个功能任务的神经网络1010可以将其信息前馈到所述使命规划层1004的其它神经网络1010,或前馈到与行为规划层1004相关联的一个或多个神经网络1012,以向与行为规划层1004相关联的神经网络提供额外输入。在示例实施例中,所述神经网络可以通过相同功能层或其它功能层的相应神经网络之间的共享存储器保持馈送关系。

所述行为规划层1004定义一系列模仿车辆操作人员的动作或行为的行为任务1、2、...n。例如,这可以包括打开方向指示灯、改变车道、检查侧后视镜或其它任务。每个行为任务由本文所述的至少一个神经网络1012来实现。与行为规划层1004相关联的神经网络1012可以获得数据1180以及从使命规划层1002的神经网络1010实现的使命任务前馈的数据或者从运动规划层1006的神经网络1016实现的运动任务反馈的数据。行为任务还可以将其输出前馈至运动规划层1006。所述相应神经网络和功能层可以通过存储器(例如存储器1126)保持馈送关系。

所述运动规划层1006基于从使命规划层1002和行为规划层1004中的一个或两个接收的数据1180来定义一系列运动任务1、2等。所述运动规划层1006收集所述数据1180并将其直接传递给处理器,例如作为车辆控制系统1115一部分的处理器1102。车辆控制系统1115包括可以与车辆子系统和所述车辆可操作元件交互的硬件和/或软件。或者,所述数据也可以直接传递至驱动控制系统1150(来自运动规划层1006和安全规划层1008或车辆子系统1160(使命规划层1002和行为规划层1004))。在这方面,所述运动规划层1006负责实现与控制可操作元件相关联的运动任务1、2、...n,例如,基于实现每个运动任务的多个神经网络1016的自动驾驶车辆的可操作元件510。由与运动规划层1006相关联的神经网络1016所实现的运动任务可以使用数据1180,并且还可以使用使命规划层1002和行为规划层1004的神经网络1010、1012中的一个或两个所实现的使命和行为任务所前馈的数据作为输入数据。系统1000用于基于最佳动作来决定要实现的功能任务。

在一些实施例中,所述系统1000可以包括安全功能层1008。在一示例实施例中,所述安全功能层1008与所述运动规划层1006有馈送关系。所述安全功能层1008负责评估所述运动规划层1006的运动任务,并根据周围环境、道路限制等因素来确定这些运动任务是否安全。在一示例实施例中,所述安全功能层1008包括一个或多个安全任务1、2、...n,每个安全任务由本文所述的神经网络1016单独执行。例如,如果检测到本地路线上有其它车辆或对象,则所述安全功能层1008可以无视或修改对应于遵循指定本地路线的运动任务,从而避免碰撞。所述安全功能层1008可以包括通过训练以无视或修改运动任务的特定神经网络。

在一些实施例中,信息直接从运动规划层1006传递到所述自动驾驶车辆的可操作元件,而无需首先通过安全功能层。

在示例实施例中,每个层1002、1004、1006可包括带有计算机可读指令的软件,这些指令一经执行便可控制车辆子系统、所述车辆的可操作元件等。

在至少一些实施例中,所述系统1000可以离线,并且所述使命规划层1002、行为规划层1004、运动规划层1006和安全规划层1008的每个相应神经网络可采用新的训练数据进一步训练。然后,系统1000可以存储在车辆控制系统1115的存储器1126上,每个神经网络可以由处理器1102执行,以在所述车辆自动或半自动操作期间控制车辆1105,包括与一个或多个其它神经网络并行运行。

现在参考图7,图7示出了环境1100的示意图,在所述环境1100中,包括所述控制系统1000的车辆1105根据一示例实施例进行操作。所述车辆1105包括车辆控制系统1115。所述控制系统1000部署在所述车辆控制系统1115内,如图8所示。

所述车辆控制系统1115包括位于所述车辆1105周围的多个传感器1110和一个或多个无线收发器1130,每个无线收发器1130耦合到控制器上,例如所述车辆控制系统1115的处理器1102(图8)。所述多个传感器1110包括一个或多个数码相机1112、一个或多个lidar单元1114、一个或多个雷达单元(例如一个或多个合成孔径雷达(syntheticapertureradar,简称sar)单元1116)、惯性测量单元(imu)1118、电子罗盘1119和其它可能的传感器1120。所述传感器1110在激活时会重复(例如,以固定间隔)感知信息并且将感知到的信息实时或接近实时地提供给所述车辆控制系统1115。

所述相机1112可以捕获包括一系列连续帧的静态图像或视频。所述相机1112可以是二维(2d)相机或者是能够感知所述车辆1105周围环境的深度和三维结构的立体或三维(3d)相机。所述相机1112可以捕获可见光和/或红外光线。所述imu1118使用加速度计和陀螺仪的组合来感知所述车辆的比力和角速率。所述传感器1110可用于感知所述车辆1105周围环境的三维结构。

所述车辆控制系统1115使用所述传感器1110收集关于所述车辆1105的局部环境1100(例如,任何附近的障碍物)的信息以及更大范围内的信息(例如,所述lidar单元1114和sar单元1116可以从所述车辆1105最远100米半径范围内收集信息)。所述车辆控制系统1115还可以使用所述传感器1110(例如imu1118)来收集关于所述车辆1105的位置和方向的信息。所述车辆控制系统1115可以使用imu1118和其它可能的传感器1120,来确定所述车辆1105的线速度(例如里程表)、角速度、加速度以及轮胎抓地力等。

在所示实施例中,有四个传感器单元1125分别位于所述车辆1105的前侧、后侧、左侧和右侧。在其它实施例中,所述传感器单元1125的数量和位置可能不同。例如,在一些其它实施例中,所述传感器单元1125位于外壳内,例如安装或以其它方式置于所述车辆1105项部(例如,车项)的固定或旋转传送带。所述传感器单元1125分别位于所述外壳的前侧、后侧、左侧和右侧(所述车辆1105),以扫描所述车辆1105的前侧、后侧、左侧和右侧的环境。在所描述的实施例中,所述传感器单元1125放置在四个不同方向上以扫描所述车辆1105的前侧、后侧、左侧和右侧的环境。

所述传感器单元1125包括所述一个传感器1110或多个传感器1110的组合,所述传感器1110包括相机1112、lidar单元1114和sar单元1116。所述传感器单元1125安装或以其它方式放置于车辆上,以获得相邻传感器单元1125之间的不同视场角(fieldofview,简称fov),从而捕获所述车辆1105的周围环境。所述不同的fov可以重叠。

通过所述无线收发器1130,所述车辆控制系统1115能够与所述车辆1105运行的环境1000中设置的无线广域网(wideareanetwork,简称wan)1210交换数据并根据需要进行语音通信。所述车辆控制系统1115可使用所述无线wan1210经由一个或多个通信网络1220(例如因特网)访问所述服务器1240,例如驾驶辅助服务器。所述服务器1240可以实现为一个或多个服务器模块,并且通常位于防火墙1230后面。所述服务器1240连接到网络资源1250,例如可以由所述车辆控制系统1115(例如神经网络1010、1012、1014、1016中的一个或多个)使用的补充数据源。

所述车辆运行的环境1100包括卫星网络1260,所述卫星网络1260除了所述wan1210之外还包括多个卫星。所述车辆控制系统1115包括卫星接收器1132(图8),所述卫星接收器1132可以使用所述卫星接收器1132从卫星网络1260中的多个卫星接收的信号,以确定车辆位置。所述卫星网络1260通常包括多个卫星,这些卫星是至少一个全球导航卫星系统(globalnavigationsatellitesystem,简称gnss)的一部分,该系统提供全球覆盖的自主地理空间定位。例如,所述卫星网络1260可以是gnss卫星的星座。示例gnss包括美国navstar全球定位系统(gps)或俄罗斯全球导航卫星系统(globalnavigationsatellitesystem,简称glonass)。已经部署或正在开发的其它卫星导航系统包括欧盟的伽利略定位系统、中国的北斗导航卫星系统(beidounavigationsatellitesystem,简称bds)、印度区域卫星导航系统和日本卫星导航系统。

然后参考图8,图8示出了根据另一示例实施例的车辆1105的所选部件。如上所述,所述车辆1105包括车辆控制系统1115,所述车辆控制系统1115连接到驾驶控制系统1150、车辆子系统1160和机械系统1190。所述车辆1105还包括各种结构元件,例如框架、门、面板、座椅、窗户、镜子等,这些元件为本领域熟知但为了清楚起见而从本示例实施例中省略,从而避免模糊化本文所述的实施例。所述处理器1102经由通信总线(未示出)耦合到多个组件,所述通信总线提供所述组件与所述处理器1102之间的通信路径。所述处理器1102耦合到驱动控制系统1150、随机存取存储器(randomaccessmemory,简称ram)1122、只读存储器(readonlymemory,简称rom)1124、永久(非易失性)存储器1126(例如闪存可擦除可编程只读存储器(erasableprogrammablereadonlymemory,简称eprom)(闪存))、一个或多个无线收发器1130,用于与无线网络1210、从卫星网络1260接收卫星信号的卫星接收器1132、实时时钟1134和触摸屏1136交换射频信号。所述处理器1102可以包括用于执行本文所述任务的一个或多个数字处理单元,包括访问存储器并且执行存储器上存储的计算机指令以实现控制系统1000。所述处理器1102可以包括用于更高级别数据处理或本领域已知的任何数量的处理器的一个或多个图形处理单元(graphicalprocessingunit,简称gpu)。

车辆子系统1160和驱动控制系统1150都包括与车辆可操作元件510(图5)类似的一个或多个车辆可操作元件。车辆子系统1160的车辆可操作元件可包括转向灯单元1162、用于控制灯光的单元1164和与所述车辆1105的其它车辆可操作元件对应的其它可操作元件1166。

所述一个或多个无线收发器1130可以包括一个或多个蜂窝(rf)收发器,用于使用不同的无线数据通信协议和标准与多个不同的无线接入网(例如,蜂窝网络)进行通信。所述车辆控制系统1115可以与其地理覆盖区域内的无线wan1210(例如,蜂窝网络)的多个固定收发器基站中的任何一个进行通信。所述一个或多个无线收发器1130可以通过所述无线wan1210发送和接收信号。所述一个或多个无线收发器1130可以包括支持多个无线频带的多频带蜂窝收发器。

所述一个或多个无线收发器1130还可以包括无线局域网(wirelesslocalareanetwork,简称wlan)收发器,用于通过wlan接入点(accesspoint,简称ap)与wlan(未示出)进行通信。所述wlan可以包括符合ieee802.11x标准(有时称为)或其它通信协议的wi-fi无线网络。

所述一个或多个无线收发器1130还可以包括短距离无线收发器,例如收发机,用于与智能手机或平板电脑等移动计算设备进行通信。所述一个或多个无线收发器130还可以包括其它短距离无线收发器,包括但不限于近场通信(nearfieldcommunication,简称nfc)、ieee802.15.3a(也称为超宽带(ultrawideband,简称uwb))、z-wave、zigbee、ant/ant+或红外(例如,红外线数据协会(infrareddataassociation,简称irda)通信)。

所述实时时钟1134可以包括提供准确实时信息的晶体振荡器,例如由atmel公司提供的晶体振荡器。

所述触摸屏1136包括具有触敏输入表面或连接至电子控制器的叠加层的显示器,例如彩色液晶显示器(1iquidcrystaldisplay,简称lcd)、发光二极管(1ight-emittingdiode,简称led)显示器或主动矩阵有机发光二极体面板(active-matrixorganiclight-emittingdiode,简称amoled)显示器等。还可以提供耦合到处理器1102的额外输入设备(未示出),包括按键、开关和拨号盘。

所述车辆控制系统1115还包括一个或多个扬声器1138,一个或多个麦克风1140和一个或多个数据端口1142,例如串行数据端口(例如,通用串行总线(universalserialbus,简称usb)数据端口)。所述车辆控制系统1115还可以包括其它传感器1120,例如轮胎压力传感器(tirepressuresensor,简称tps)、车门接触开关、光传感器、接近传感器等。

所述驱动控制系统1150用于控制所述车辆1105的移动。所述驱动控制系统1150包括转向单元1152、制动单元1154和节流(或加速)单元1156,每个单元可以实现为所述驱动控制系统1150内的软件模块或控制块。当处于完全或半自动驾驶模式时,所述转向单元1152、制动单元1154和节流单元1156处理存储在所述车辆控制系统1115的存储器1126中的来自控制系统1000的接收信息,并生成控制信号以分别控制所述车辆1105的转向、制动和节流,从而使车辆按照规划路径行驶,详细描述如下。所述驱动控制系统1150可以包括用于控制所述车辆1105其它方面的额外部件,包括控制转向灯和制动灯的部件。

所述机械系统1190从所述驱动控制系统1150接收控制信号以操作所述车辆1105的机械部件。所述机械系统1190实现了所述车辆1105的物理操作。所述机械系统1190包括引擎1192、变速器1194和车轮1196。所述引擎1192可以是汽油驱动引擎、电池驱动引擎或混合动力引擎。所述机械系统1190可以包括其它部件,包括转向灯、制动灯、风扇和车窗等,车辆子系统1160也可以包括这些其它部件。

由所述处理器1102在所述触摸屏1136上呈现并显示所述车辆控制系统1115的图形用户界面(graphicaluserinterface,简称gui)。用户可以使用所述触摸屏和可选的其它输入设备(例如,按键、拨号盘)与所述gui交互,以浏览相关信息,例如导航信息、驾驶信息、停车信息、媒体播放器信息、天气控制信息等。所述gui可包括一系列可遍历的内容特定菜单。在至少一些实施例中,可以使用连接到车辆1105的输入/输出设备来输入由使命规划层1002或一个或多个使命任务确定的车辆的终点。所述输入/输出设备可以是gui、麦克风1140、触摸屏1136或耦合至数据端口1142的用于向车辆1105提供指令的其它输入设备中的一个或多个。这些指令可以存储在存储器(例如,存储器1126)中,并且可以由处理器1102执行以实现所述一个或多个使命任务。

所述车辆控制系统115的存储器1126上存储有由所述处理器1102执行的规划系统软件1000。所述规划系统软件1000一经所述处理器1102执行时便会对所述车辆1105执行如本文所述的导航和控制。

所述存储器1126还存储有各种数据1180。所述数据1180可包括:由所述传感器1110感知到的传感器数据1182;包括用户偏好、设置和可选个人媒体文件(例如,音乐、视频、方向等)的用户数据1184;以及包括经由所述无线收发器1130下载的数据的下载缓存1186。所述数据1180还可以包括处理过的传感器数据1188和通过来自相同或不同规划层的神经网络的前馈或反馈而获得的其它数据1188。所述传感器数据1182可包括来自所述相机1112的图像数据1190(图10)、来自所述lidar单元1114的lidar数据1192(图10)、来自所述sar单元1116的radar数据1194(图10)、来自所述imu1118的imu数据1196、以及来自其它传感器1120(例如所述罗盘1119)的其它可能的传感器数据1198。所述下载缓存1186可以定期删除,例如,在预定的时间之后进行删除。系统软件、软件模块、特定设备应用程序或其部分可以临时加载到易失性存储器中,例如ram1122,所述存储器用于存储运行时数据变量和其它类型的数据或信息。所述车辆控制系统1115接收的数据1180也可以存储在所述ram1122中。尽管描述了各种类型存储器的特定功能,但这仅仅是一个示例,同样可以使用存储器类型的不同功能分配。

现在参考图9和图10,图9和图10示出了根据本发明一实施例的代表性神经网络1012-1(与行为规划层1004相关联)。下面描述的神经网络1012-1的结构和操作与系统1000中的所有其它神经网络的结构和操作相同,包括神经网络1010-1(与使命规划层1002相关联)、神经网络1014-1(与运动规划层1006相关联)和神经网络1016-1(与安全规划层1008相关联)。所述神经网络1012-1可以包括多个层,其中一些层是已经定义,一些层是未定义的(或隐藏的)。所述神经网络1012-1可以是监督式学习神经网络、非监督式学习神经网络或强化学习神经网络中的一个或多个。

在一些示例实施例中,所述神经网络1012-1可以包括神经网络输入层1302、多个神经网络中间隐藏层1304中的一个或多个、神经网络输出层1306。所述神经网络输出层1306向与所述神经网络1012-1相关联的功能任务提供输出数据。所述每个神经网络层1302、1304、1306包括多个节点1308(或神经元)。所述神经网络层1302、1304、1306的节点1308通常串联连接。给定神经网络层中的每个节点1308的输出和后面神经网络层中的一个或多个节点1308的输出相连接,如连接1310所示。每个节点1308是执行激活函数(也称为传递函数)的逻辑编程单元,用于根据数据输入、权重(如果有)和偏差因子(如果有)来转换或操作数据,以生成输出。每个节点1308的激活函数会根据特定输入、权重和偏差因子产生特定输出。每个节点1308的输入可以是标量、向量、矩阵、对象、数据结构和/或其它项或对其的引用。每个节点1308可独立于其它节点1308存储其相应的激活函数、权重(如果有)和偏差因子(如果有)。在一些示例实施例中,所述神经网络输出层1306的一个或多个输出节点决定可以使用先前确定的权重和偏差因子通过评分函数和/或决策树函数来计算或确定,这在本领域中是可以理解的。所述每个神经网络输入层1302、1304、1306的节点1308可以独立于其它节点操作,并允许并行计算。可以使用所述训练数据集来训练所述神经网络1012-1。还可以通过使用所述车辆(以及由此测量的输入/结果和/或任何相关数据)和/或通过使用其它车辆和/或本领域已知的任何其它训练方法来训练所述神经网络1012-1。

参考图10,所述神经网络输入层1302的节点1308可用于分别从radar单元1114、lidar单元1114和相机单元1112获得所述传感器数据1180,所述传感器数据1180包括radar数据1194、lidar数据1192和图像数据1190中的一个或多个。可以从存储器1126获得处理过的传感器数据1186和其它数据1180。所述图像数据1190、lidar数据1192、radar数据1194、imu数据1196和其它传感器数据1198也可以存储在存储器1126或其它存储器中供神经网络1012-1使用,并且也可以由所述神经网络1012-1直接接收。

在所示实施例中,所述每个处理过的传感器数据1186、其它数据1180、图像数据1190、lidar数据1192、radar数据1194、imu数据1196和其它传感器数据1198由输入层1302中的相应节点接收。

在操作中,可以为所述神经网络输入层1302的每个节点1308以及所述神经网络1012-1的神经网络中间隐藏层1304和神经网络输出层1306的后续节点设置权重。权重是一个数值,通常在0和1之间,表示一层中的节点与后续层中的节点之间的连接强度。还可以为所述神经网络输入层1302的每个输入以及所述神经网络1012-1的神经网络中间隐藏层1304和神经网络输出层1306的后续节点设置偏移(或偏置)。

确定所述每个神经网络输入层1302的输入的标量乘积,其相应权重和偏差因子(如果有)并输出到所述神经网络中间隐藏层1304的相应节点,所述神经网络中间隐藏层1304接收所述标量乘积作为输入。将所述每个标量乘积连接成另一向量,并且确定所述第一神经网络中间隐藏层1304的输入的标量乘积,其相应权重和偏差因子(如果有)并输出到所述第二神经网络中间隐藏层1304的节点,所述神经网络中间隐藏层1304接收所述标量乘积作为输入。该过程在多个神经网络中间隐藏层1304中的每一层以及神经网络输出层1306中按顺序重复进行,所述神经网络输出层1306具有与所述神经网络1012-1相关联的功能任务(例如使命任务1)相对应的一个或多个输出(输出节点)。最终确定的神经网络输出层1304的一个或多个输出可以使用先前确定的权重和偏差因子通过激活函数和/或评分函数和/或决策树函数来计算或确定,这在本领域中是可以理解的。

每个神经网络的每个功能任务可以输出对应于控制所述车辆1105的至少一个可操作元件(例如可操作元件510)的指令或命令的数据。例如,与所述使命规划层1002相关联的功能任务(例如,使命规划任务1)可以与执行生成所述车辆1105的导航规划的命令相关联。由所述神经网络1010-1提供的输出数据可以提供给所述车辆的一个或多个车辆可操作元件,例如gps单元和/或imu单元。

与行为规划神经网络1012-1相关联的功能任务(例如,行为规划)可以与所述车辆1105改变车道相关联。所述神经网络1012-1提供的输出数据可以提供给所述车辆子系统1160的一个或多个车辆可操作元件,例如转向灯控制1162,并且被提供给所述驱动控制系统1150的一个或多个可操作元件,例如转向单元1152。与所述运动规划层1006的神经网络1014-1相关联的功能任务可以是快速加速以完成变道。该功能任务可以由一个或多个车辆可操作元件(例如节流单元1156)实现。在一些实施例中,每个相应的神经网络可以生成与相应的功能任务相关联的输出数据以控制所述至少一个车辆可操作元件。

再次参考图10,神经网络中间层1304的数量,每个神经网络层1302、1304和1306中的节点1308的数量,以及每个神经网络层1302、1304和1306的节点1308之间的连接,可能会根据与所述系统1000的神经网络1012-1相关联的功能任务(例如,使命任务1)的处理能力、性能效率、输入(例如,传感器数据)和输出,在不同实施例之间会有所不同。

通过强化学习过程、监督式学习过程或非监督式学习过程中至少一项,确定每个节点1308的权重和偏差因子(如果有),以及在一些实施例中,确定所述神经网络1012-1的节点1308的激活函数,以实现自主操作的最佳性能,例如停车或行驶操作。评分函数和/或决策树函数可用于最佳地确定所述神经网络1012-1的一个或多个输出。

在一些示例实施例中,所述神经网络输入层1302的节点1308不具有激活函数。所述神经网络输入层1302的节点1308通常是占位符,其中放入所述输入数据的加权和求和值。所述神经网络中间隐藏层1304对数据1186、1188、1190、1192、1194、1196、1198进行编码。

在适用的情况下,在一些示例实施例中,至少一些所描述的实施例可以同样地适用于移动机器人和/或半自动驾驶车辆。

本发明的规划软件系统使得自动驾驶车辆或移动机器人能够在一种环境中运行,同时又考虑所述移动机器人或自动驾驶车辆可能经历的不同场景。此外,由于与用于控制自动驾驶车辆或移动机器人的可操作元件的不同功能任务相关联的不同神经网络的实现,本发明的规划软件系统相比现有软件系统在计算上的复杂程度较低。

在所描述的方法或框图中,框可以表示事件、步骤、功能、过程、模块、消息和/或基于状态的操作等。虽然上面的一些示例以特定顺序进行描述,但本领域的技术人员应理解,一些步骤或过程可以以不同的顺序执行,前提是改变任何给定步骤的顺序不会影响后续步骤。此外,以上所述的一些消息或步骤在其它实施例中可以移除或进行组合,在另外一些实施例中还可以分成多个子消息或子步骤。而且还可以根据需要重复一些或所有步骤。作为方法或步骤的元件同样适用于系统或子组件,反之亦然。可以根据特定设备来互换例如“发送”或“接收”之类的词语。

以上讨论的实施例为说明性的而非限制性的。作为方法的示例实施例将同样适用于系统,反之亦然。

可以对一些示例实施例进行变化,所述变化可以包括任何上述的组合和子组合。以上所述的各种实施例仅是示例,并且决不会限制本发明的范围。本文所述的创新上的变化对于本领域普通技术人员将是显而易见的,这些变化在本发明的预期范围内。特别地,可以选择来自一个或多个上述实施例的特征以创建包括以上未作明确描述的特征子组合的替代实施例。另外,可以选择和组合来自一个或多个上述实施例的特征以创建包括以上未作明确描述的特征组合的替代实施例。在阅读完本发明的全部内容后,本领域技术人员将清楚了解适用于这种组合和子组合的特征。本文中描述的主题意在涵盖和包含技术上的所有适当更改。

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