为模型预测控制提供时空代价地图推断的系统和方法与流程

文档序号:33378400发布日期:2023-03-08 04:50阅读:63来源:国知局
为模型预测控制提供时空代价地图推断的系统和方法与流程
为模型预测控制提供时空代价地图推断的系统和方法
1.相关申请的交叉引用
2.本技术要求2021年9月2日提交的美国临时申请序列号63/240,123的优先权,该美国临时申请以引用方式并入本文。


背景技术:

3.用于自主驾驶的目标函数通常要求平衡安全性、效率和平滑性等问题。可能难以自主地产生驾驶员行为,使得其对于其他交通参与者而言看起来是自然的和可解释的。虽然制定此类目标通常并非易事,但最终结果可能产生对于其他交通参与者而言不寻常且难以解释的行为,这继而可能对在各种驾驶场景中自主地导航车辆产生影响。


技术实现要素:

4.根据一个方面,一种用于为模型预测控制提供时空代价地图推断的计算机实现的方法包括接收基于动态的数据和基于环境的数据,以确定与自我意识代理和交通环境相关联的观察和目标信息。该计算机实现的方法还包括用观察和目标信息训练神经网络。该神经网络基于观察和目标信息输出至少一个时空代价地图。该计算机实现的方法还包括基于该至少一个时空代价地图确定自我意识代理的最佳路径。该计算机实现的方法还包括控制自我意识代理以基于自我意识代理的最佳路径自主地操作。
5.根据另一方面,一种用于为模型预测控制提供时空代价地图推断的系统包括:存储器,该存储器存储指令,这些指令在由处理器执行时使得处理器接收基于动态的数据和基于环境的数据,以确定与自我意识代理和交通环境相关联的观察和目标信息。这些指令还使得处理器用观察和目标信息训练神经网络。该神经网络基于观察和目标信息输出至少一个时空代价地图。这些指令还使得处理器基于该至少一个时空代价地图确定自我意识代理的最佳路径。这些指令还使得处理器控制自我意识代理以基于自我意识代理的最佳路径自主地操作。
6.根据又一方面,一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储指令,这些指令在由包括处理器的计算机执行时执行一种方法,该方法包括接收基于动态的数据和基于环境的数据以确定与自我意识代理和交通环境相关联的观察和目标信息。该计算机实现的方法还包括用观察和目标信息训练神经网络。该神经网络基于观察和目标信息输出至少一个时空代价地图。该计算机实现的方法还包括基于该至少一个时空代价地图确定自我意识代理的最佳路径。该计算机实现的方法还包括控制自我意识代理以基于自我意识代理的最佳路径自主地操作。
附图说明
7.被认为是本公开的特性的新颖特征在所附权利要求中提出。在下面的描述中,在整个说明书和附图中,相似的部分分别用相同的数字标记。为了清楚和简洁起见,附图未必按比例绘制,并且某些附图可以以夸大或概括的形式示出。然而,当结合附图阅读时,通过
参照说明性实施方案的以下详细说明,将最好地理解本公开本身及其优选的使用方式、其进一步的目的和进步,其中:
8.图1是根据本公开的示例性实施方案的用于为模型预测控制提供时空代价地图推断的示例性系统的示意图;
9.图2是根据本公开的示例性实施方案的由预测控制应用程序106执行的时空代价地图学习方法的示意性概述;
10.图3是根据本公开的示例性实施方案的用于确定要输入到神经网络的观察和目标的过程流程图;
11.图4是根据本公开的示例性实施方案的用于确定基于由时空代价地图推断所确定的最佳控制策略的方法的过程流程图;并且
12.图5是根据本公开的示例性实施方案的用于为模型预测控制提供时空代价地图推断的方法的过程流程图。
具体实施方式
13.以下包括本文采用的选定术语的定义。定义包括落入某个术语的范围内的并且可用于实施方式的部件的各种示例和/或形式。这些示例并非旨在进行限制。
14.如本文所用,“总线”是指可互连的架构,其可操作地连接到在计算机内或在计算机之间的其他计算机部件。总线可以在计算机部件之间传输数据。总线可以是存储器总线、存储器控制器、外围总线、外部总线、纵横开关和/或本地总线等等。总线还可以是使用诸如面向媒体的系统传送(most)、控制器局域网(can)、本地互连网络(lin)等等协议来将在车辆内的部件互连的车辆总线。
15.如本文所用,“计算机通信”是指在两个或更多个计算设备(例如,计算机、个人数字助理、蜂窝电话、网络设备)之间的通信,并且可以是例如网络传输、文件传输、小程序传输、电子邮件、超文本传输协议(http)传输等。计算机通信可以跨例如无线系统(例如,ieee 802.11)、以太网系统(例如,ieee 802.3)、令牌环系统(例如,ieee 802.5)、局域网(lan)、广域网(wan)、点对点系统、电路交换系统、分组交换系统等等发生。
16.如本文所用,“盘”可以是例如磁盘驱动器、固态磁盘驱动器、软盘驱动器、磁带驱动器、zip驱动器、闪存存储器卡和/或记忆棒。此外,盘可以是cd-rom(压缩盘rom)、cd可记录驱动器(cd-r驱动器)、cd可重写驱动器(cd-rw驱动器)和/或数字视频rom驱动器(dvd rom)。盘可以存储控制或分配计算设备的资源的操作系统。
17.如本文所用,“存储器”可以包括易失性存储器和/或非易失性存储器。非易失性存储器可以包括例如rom(只读存储器)、prom(可编程只读存储器)、eprom(可擦除prom)和eeprom(电可擦除prom)。易失性存储器可以包括例如ram(随机存取存储器)、同步ram(sram)、动态ram(dram)、同步dram(sdram)、双倍数据速率sdram(ddr sdram)和直接ram总线ram(drram)。存储器可以存储控制或分配计算设备的资源的操作系统。
18.如本文所用,“模块”包括但不限于存储指令的非暂态计算机可读介质、在机器上执行的指令、在机器上执行的硬件、固件、软件、和/或每一者的组合以执行一个或多个功能或一个或多个动作和/或引起另一个模块、方法和/或系统执行功能或动作。模块还可以包括逻辑、软件控制微处理器、离散逻辑电路、模拟电路、数字电路、编程逻辑设备、包含执行
指令的存储器设备、逻辑门、门组合和/或其他电路部件。多个模块可组合成一个模块,并且单个模块可分布在多个模块之间。
[0019]“可操作的连接”或使实体“可操作地连接”的连接是可发送和/或接收信号、物理通信和/或逻辑通信的连接。可操作的连接可以包括无线接口、物理接口、数据接口和/或电气接口。
[0020]
如本文所用,“处理器”处理信号并且执行一般计算和算术功能。由处理器处理的信号可以包括数字信号、数据信号、计算机指令、处理器指令、消息、位、位串流或可被接收、传输和/或检测的其他手段。一般来讲,处理器可以是多种处理器,包括多个单核和多核处理器和协处理器以及其他多个单核和多核处理器和协处理器架构。处理器可以包括各种模块以执行各种功能。
[0021]
如本文所用,“运载工具”是指能够运载一个或多个人类乘员并且由任何形式的能量提供动力的任何移动运载工具。术语“车辆”包括(但不限于):汽车、卡车、面包车、小型货车、suv、摩托车、踏板车、船只、卡丁车、游乐车、铁路运输、个人水艇和飞机。在一些情况中,机动车辆包括一个或多个发动机。此外,术语“车辆”可以是指能够运载一个或多个人类乘员并且完全地或部分地由电池供电的一个或多个电动马达供电的电动车辆(ev)。ev可包括电池动力电动运载工具(bev)和插电式混合动力电动运载工具(phev)。另外,术语“车辆”可还是指由任何形式的能量提供动力的自主车辆和/或自行驾驶车辆。自动运载工具可以运载或可以不运载一个或多个人类乘员。此外,术语“车辆”可包括具有预定路径的自动化或非自动的车辆或自由移动的车辆。
[0022]
如本文所用,“值”和“水平”可包括(但不限于)数值或其他种类的值或水平,诸如百分比、非数值、离散状态、离散值、连续值等等。如整个该具体实施方式及权利要求书中所用,术语“x的值”或“x的级别”是指用于区分x的两个或更多个状态的任何数值或其他种类的值。例如,在一些情况下,x的值或级别可作为0%与100%之间的百分数给出。在其他情况下,x的值或级别可以是1与10之间的范围内的值。在再其他情况下,x的值或级别可能不是数值,而是可与给定离散状态相关联,诸如“不是x”、“略微x”、“x”、“十分x”和“极其x”。
[0023]
i.系统概述
[0024]
现在参考附图,其中所示内容用于说明一个或多个示例性实施方案,而非用于限制这些实施方案,图1是根据本公开的示例性实施方案的用于为模型预测控制提供时空代价地图推断的示例性系统的示意图。本文所讨论的系统100的部件以及其他系统、硬件架构和软件架构的部件可组合、省略或组织成各种实施方案的不同架构。
[0025]
通常,系统100包括自我意识代理102,该自我意识代理包括电子控制单元(ecu)104,该ecu执行一个或多个应用、操作系统、代理系统和子系统用户界面等。ecu 104还可执行时空代价地图推断模型预测控制应用程序(预测控制应用程序)106,其可被配置为基于时空代价地图的处理来训练神经网络108。时空代价地图可基于可在多个时间步长处学习的代价函数。代价函数可与自我意识代理102在自我意识代理102的一种或多种类型的交通环境中的操作有关。代价地图可用于处理与自我意识代理102在包括一个或多个交通代理的交通环境中的预计操作相关联的最佳控制策略。
[0026]
自我意识代理102可包括但不限于在自我意识代理102的交通环境内行驶的车辆、摩托车、机动自行车/踏板车、工程车辆、飞行器等,该交通环境可包括一个或多个交通代
理。除了一个或多个交通代理之外,自我意识代理102的交通环境可包括可以围绕自我意识代理102的预定附近区域,并且可包括自我意识代理102可以在其上行驶的一个或多个道路、路径、滑行道等。
[0027]
一个或多个交通代理可包括但不限于可位于自我意识代理102的交通环境内并在其中行驶的附加车辆(例如,汽车、卡车、公共汽车)、行人、摩托车、自行车、踏板车、工程/制造车辆/装置(例如,移动式起重机、叉车、推土机)、飞行器等。交通环境还可包括交通基础设施,该交通基础设施可包括但不限于交通灯(例如,红、绿、黄)、交通标志(例如,停车标志、让行标志、人行横道标志)、道路标记(例如,人行横道标记、停车标记、车道并线标记)、和/或附加的道路属性(例如,施工桶、交通锥、护栏、混凝土障碍物等)。
[0028]
在示例性实施方案中,预测控制应用程序106可输入与自我意识代理102和交通环境相关联的观察和目标,这些观察和目标基于由预测控制应用程序106接收的基于动态的数据和基于环境的数据来确定以训练神经网络108。基于神经网络108的训练,预测控制应用程序106可被配置为学习代价函数,该代价函数与自我意识代理102的操作以及在相应时间步长处在自我意识代理102的交通环境内操作的一个或多个交通代理的人类操作者的行为有关。每个代价函数可解释与自我意识代理102的人类操作和/或交通环境内的一个或多个交通代理的人类操作有关的演示行为,以考虑位于交通环境内的交通代理的未来状态。
[0029]
因此,当人类操作者考虑其他代理的未来状态并避免代理的轨迹路径之间的任何潜在重叠来做出决定时,预测控制应用程序106旨在以代价函数的形式隐含地学习此类决定。在一个或多个实施方案中,预测控制应用程序106将代价函数表示为图像(地图)。可输出代价函数的视觉表示以提供对人类和实时最佳控制两者和/或增强控制策略的快速和直观分析,以确定观察和目标信息。
[0030]
如下所讨论的,预测控制应用程序106可被配置为接收基于动态的数据和基于环境的数据,以确定与人类驾驶员对自我意识代理102的操作相关联的观察和目标信息。预测控制应用程序106可利用经训练的神经网络,该神经网络用从传感器获得的原始观察作为输入来实时地训练,以将线性奖励扩展为非线性奖励,而不遭受可用其他方法诸如高斯过程看到的增加的时间复杂度问题。通过用从传感器获得的原始观察作为输入来训练神经网络108,自动获得权重和特征两者,因此它不需要手工设计的状态特征。
[0031]
基于神经网络108的训练,预测控制应用程序106可学习基于与自我意识代理102的操作和交通环境相关联的观察和目标的时空代价地图,该观察和目标可基于自我意识代理102和位于交通环境内的一个或多个交通代理的人类操作。除了位于交通环境内的一个或多个交通代理的操作之外,每个时空代价地图还表示与自我意识代理的操作和每个相应时间步长的状态相关联的每个时间步长的代价函数。在学习代价地图之后,预测控制应用程序106可被配置为输出最佳控制策略和状态轨迹,该最佳控制策略和状态轨迹生成自我意识代理102在特定交通环境内要遵循的轨迹。
[0032]
换句话讲,预测控制应用程序106使用自我意识代理102遵循运动学自行车模型并且自我意识代理102和交通代理的接近完美状态估计可能在感知范围内的假设来完成代价地图学习。在一个或多个实施方案中,预测控制应用程序106可利用逆向最佳控制(ioc)和/或逆向强化学习(irl)来输出最佳控制策略和状态轨迹,以生成可在自我意识代理102的自主操作期间利用的未来轨迹,该未来轨迹类似于可由操作自我意识代理102的人类操作者
利用的轨迹。
[0033]
预测控制应用程序106可被配置为提供命令以根据最佳策略自主地控制自我意识代理102在交通环境内的操作。因此,预测控制应用程序106从在一个或多个过去时间步长处捕获的人类演示和/或实时数据中学习在一个或多个特定驾驶环境(例如,高速公路、本地道路)内操作自我意识代理102的代价函数。预测控制应用程序106通过利用目标条件代价地图学习来集中于自我意识代理102要达到的未来状态,并相对于自我意识代理102在各种类型的交通环境内的操作提高学习性能和操作性能,从而提供技术上的改进。
[0034]
继续参考图1,ecu 104可被配置为可操作地连接到自我意识代理102的多个附加部件,包括但不限于,相机系统110、激光雷达系统112、存储单元114、自主控制器116、系统/控制单元118和动态传感器120。在一个或多个实施方案中,ecu 104可包括微处理器、一个或多个专用集成电路(asic)或其他类似设备。ecu 104还可包括内部处理存储器、接口电路和总线线路以便传输数据、发送命令并且与自我意识代理102的多个部件通信。
[0035]
ecu 104还可包括通信设备(未示出)以便在自我意识代理102内(例如,在一个或多个部件之间)发送数据并且与外部托管的计算系统(例如,在自我意识代理102外部)通信。通常,ecu 104可与存储单元114通信,以执行存储单元114中存储的一个或多个应用程序、操作系统、系统和子系统用户界面等。例如,ecu 104可与存储单元114通信以执行预测控制应用程序106。
[0036]
在一个实施方案中,ecu 104可与自主控制器116通信,以执行自主驾驶命令,以基于未来状态将自我意识代理102操作为完全自主驾驶或半自主驾驶,该未来状态基于最优策略被输出以供自主代理102达到。最佳策略可用于生成在自我意识代理102的自主操作期间要遵循的轨迹,该轨迹可类似于如果人类操作者在包括类似交通代理定位、状态空间、动作空间等的类似交通环境中操作自我意识代理102时将利用的轨迹。
[0037]
如所讨论的,自主驾驶命令可基于由预测控制应用程序106提供的命令,以提供可与自我意识代理102相关联的代理自主控制,以基于未来轨迹在交通环境内导航自我意识代理102,该未来轨迹可基于通过执行ioc和/或irl输出的最佳控制策略和状态轨迹来确定。换句话讲,自主驾驶命令可基于由预测控制应用程序106提供的命令,以基于最佳控制策略和状态轨迹自主地控制自我意识代理102的一个或多个功能以在交通环境内行驶,该最佳控制策略和状态轨迹可基于与在自我意识代理102的操作的多个时间步长处学习到的代价函数相关联的代价地图。
[0038]
在一个配置中,可向一个或多个系统/控制单元118提供一个或多个命令,该系统/控制单元包括但不限于发动机控制单元、制动控制单元、变速器控制单元、转向控制单元等,以控制自我意识代理102基于由预测控制应用程序106输出的一个或多个自主命令进行自主驾驶,从而在自我意识代理102的交通环境内导航自我意识代理102。具体地,自我意识代理102的一个或多个功能可自主地受到控制,以便以可基于未来状态的方式在交通环境内行驶,该未来状态基于最佳策略被输出以供自我意识代理102到达,该最佳策略生成在自我意识代理102的自主操作期间要利用的轨迹,该轨迹类似于可模仿自然人类操作行为的轨迹。
[0039]
在一个或多个实施方案中,系统/控制单元118可操作地连接到自我意识代理102的动态传感器120。动态传感器120可被配置为接收来自一个或多个系统、子系统、控制系统
等的输入。在一个实施方案中,动态传感器120可以成为自我意识代理102的控制器局域网(can)的一部分,并且可被配置为向ecu 104提供动态数据,以用于一个或多个系统、子系统、控制系统等。动态传感器120可包括但不限于位置传感器、航向传感器、速度传感器、转向速度传感器、转向角度传感器、节气门角度传感器、加速度计、磁力计、陀螺仪、偏航速率传感器、制动力传感器、车轮速度传感器、车轮转角传感器、变速器档位传感器、温度传感器、rpm传感器、gps/dgps传感器等(未示出单独的传感器)。
[0040]
在一种配置中,在进行一个或多个驾驶操纵时并且/或者在自我意识代理102受到控制而自主地驾驶时,动态传感器120可以提供与自我意识代理102的实时动态性能相关联的呈一个或多个值(例如,数值级别)形式的动态数据。如下所述,由动态传感器120输出的动态数据可以与自我意识代理102在其在交通环境内行驶时的实时动态操作相关联。如下所讨论的,动态数据可以目标信息的形式提供给神经网络108,该目标信息可与交通环境内自我意识代理102在多个时间步长处的轨迹和操作相关联,以便被分析以确定多个时间步长中的每个时间步长的代价函数。
[0041]
续参考图1,自我意识代理102的相机系统110可包括一个或多个相机(未示出),该一个或多个相机可位于一个或多个方向和一个或多个区域,以捕捉自我意识代理102的交通环境的一个或多个图像(例如,自我意识代理102正在其上行驶的道路的图像)。相机系统110的一个或多个相机可被设置在自我意识代理102的外部前部,包括但不限于仪表板、保险杠、前照明单元、挡泥板和挡风玻璃的不同部分。在一个实施方案中,该一个或多个相机可以被配置为rgb相机,该rgb相机可以捕获rgb带,该rgb带被配置为捕获关于物体外观的丰富信息,该物体外观与道路车道标识、道路/通路标记和/或道路/路径基础设施(例如,护栏)有关。
[0042]
在其他实施方案中,该一个或多个相机可以被配置作为立体相机,该立体相机被配置为以三维图像的形式捕获环境信息。在一个或多个配置中,该一个或多个相机可被配置为从自我意识代理102的视角捕捉自我意识代理102的当前位置的一个或多个第一人称视点rgb图像/视频。在一个实施方案中,相机系统110可被配置为将一个或多个rgb图像/视频(例如,图像序列)转换为图像数据,该图像数据被传送到预测控制应用程序106以待分析。
[0043]
在示例性实施方案中,激光雷达系统112可以可操作地连接到多个激光雷达传感器(未示出)。具体地,激光雷达系统112可以包括一个或多个平面扫描激光器,该一个或多个平面扫描激光器包括相应的三维激光雷达传感器并且可以被配置为朝向自我意识代理102的周围环境的场景振荡并发射紫外光、可见光或近红外光的一个或多个激光束。该多个激光雷达传感器可以被配置为接收从一个或多个物体反射的一个或多个经反射的激光波(例如,信号),该一个或多个物体诸如位于自我意识代理102的驾驶场景内的周围车辆。换句话讲,在将一个或多个激光束传输到驾驶场景时,该一个或多个激光束可被一个或多个障碍物反射为激光波,该一个或多个障碍物包括可在一个或多个时间点位于自我意识代理102的驾驶场景内的静态对象和/或动态对象。
[0044]
在一个实施方案中,多个激光雷达传感器中的每个激光雷达传感器可以被配置为分析所反射的激光波并且将相应的激光雷达数据输出到预测控制应用程序106。激光雷达数据可包括可与可位于动态环境内的一个或多个交通代理的位置、定位、深度和/或尺寸
(例如,测量结果)相关联的激光雷达坐标。
[0045]
如下所讨论的,在一个实施方案中,可将由相机系统110和/或激光雷达系统112提供的图像数据和/或激光雷达提供给预测控制应用程序106,以利用可表示与交通环境相关联的观察的数据来训练神经网络108,该观察包括但不限于在多个时间步长期间由一个或多个交通代理完成的操作、定位和操纵。此类数据可用于训练神经网络108,并且由此输出与多个时间步长中的每个时间步长相关联的代价函数。
[0046]
在一个实施方案中,神经网络108可托管在外部服务器122上,该外部服务器可由管理与预测控制应用程序106的操作相关联的数据的oem、第三方管理员和/或数据集管理器拥有、操作和/或管理。外部服务器122可以由处理器124可操作地控制,该处理器可以被配置为执行预测控制应用程序106。具体地,处理器124可以被配置为执行一个或多个应用程序、操作系统、数据库等。处理器124还可包括内部处理存储器、接口电路和用于传输数据、发送命令和与外部服务器122的多个部件通信的总线。
[0047]
在一个实施方案中,处理器124可操作地连接到外部服务器122的存储器126。一般来讲,处理器124可以与存储器126通信以执行存储在存储器126内的一个或多个应用程序、操作系统等。在一个实施方案中,存储器126可存储与预测控制应用程序106相关联的一个或多个可执行应用文件。
[0048]
在示例性实施方案中,外部服务器122可被配置为存储神经网络108。神经网络108可被配置为卷积神经网络(cnn),其可被配置为具有跳跃连接的u-net型神经网络架构。神经网络108可执行机器学习/深度学习技术,以处理和分析与交通环境相关联的观察有关的数据点序列,包括但不限于由一个或多个交通代理在多个时间步长期间完成的操作、定位和操纵,以及可基于自我意识代理102和位于交通环境内的一个或多个交通代理的人类操作的与自我意识代理102的操作和交通环境相关联的目标。可基于人类观察和/或基于由相机系统110提供的图像数据、由激光雷达系统112提供的激光雷达数据和由动态传感器120提供的动态数据,基于预先训练到神经网络108的人类注释数据来确定观察和目标。
[0049]
在示例性实施方案中,可基于输入与观察和目标相关联的数据作为存储的数据点来训练神经网络108。数据点可存储在与自我意识代理102正在其中操作的特定交通环境相关联的记录内,并且可由特定时间戳来分类,对于该特定时间戳,获取与关于各种交通代理的观察相关联的每个数据点以及与自我意识代理102的操作相关联的目标。机器学习数据集128的存储数据点可用于训练神经网络108,并且可被进一步分析和用于处理与观察和目标有关的多个时间戳相关联的代价函数。
[0050]
图2是根据本公开的示例性实施方案的由预测控制应用程序106执行的时空代价地图学习方法的示意性概述。预测控制应用程序106可分别从自我意识代理102的相机系统110、激光雷达系统112和动态传感器120接收图像数据、激光雷达数据和动态数据。可将此类数据分析并聚集成与交通环境、交通环境内的交通代理的操作以及自我意识代理102的操作相关联的观察和目标202。在另一个实施方案中,可将基于与驾驶模拟有关的真实人类观察的数据提供作为观察和目标202。
[0051]
如图2所示,观察和目标202可被输入到神经网络108以训练神经网络108。在一种配置中,可通过在多个时间步长处用与观察和目标202相关联的数据点填充机器学习数据集128来训练神经网络108。在一种配置中,预测控制应用程序106可被配置为利用神经网络
108来分析数据点并处理由观察和目标转换的鸟瞰图2d表示,并且可利用机器学习深度学习技术来分析鸟瞰图2d表示。神经网络108由此可输出t个代价地图204,每个代价地图表示与自我意识代理102和位于交通环境内的一个或多个交通代理相关联的每个时间步长的代价函数。
[0052]
预测控制应用程序106可被配置为利用分析t个代价地图204,并且可利用ioc和/或irl来输出最佳策略206,该最佳策略可被执行以生成可在自我意识代理102的自主操作期间利用的未来轨迹208,这些未来轨迹类似于可由操作自我意识代理102的人类操作者利用的轨迹。特别地,神经网络108可用预测的代价地图和状态访问频率(svf)来处理最佳路径,以计算最佳策略206,该最佳策略可用于更新神经网络权重和未来轨迹208,该未来轨迹可用于在一个或多个未来时间步长(t+1、t+2、t+n)处自主地控制自我意识代理102的操作。
[0053]
ii.时空代价地图推断模型预测控制应用程序及相关方法
[0054]
现在将根据示例性实施方案并继续参考图1来描述预测控制应用程序106的部件。在示例性实施方案中,预测控制应用程序106可存储在存储单元114上并且由自我意识代理102的ecu 104执行。在另一实施方案中,预测控制应用程序106可存储在外部服务器122的存储器126上,并且可由自我意识代理102的远程信息控制单元(未示出)访问,以待由自我意识代理102的ecu 104执行。
[0055]
现在将讨论预测控制应用程序106的一般功能。在示例性实施方案中,预测控制应用程序106可包括多个模块130-134,该多个模块可被配置成为模型预测控制提供时空代价地图推断。多个模块130-134可包括数据接收模块130、代价地图确定模块132和代理控制模块134。然而,应当理解,预测控制应用程序106可以包括为代替模块130-134而被包括在内的一个或多个附加模块和/或子模块。
[0056]
图3是根据本公开的示例性实施方案的用于确定要输入到神经网络108的观察和目标的过程流程图。将参考图1和图2的部件来描述图3,但是应当理解,图3的方法300可与其他系统/部件一起使用。方法300可在框302处开始,其中方法300可包括接收图像数据作为与自我意识代理102的交通环境相关联的基于环境的数据。
[0057]
在示例性实施方案中,在一个或多个过去时间步长和/或当前时间步长处,预测控制应用程序106的数据接收模块130可被配置为与自我意识代理102的相机系统110通信,以收集与自我意识代理102在自我意识代理102的多个时间步长处(在过去时间步长和在当前时间步长处)的驾驶场景的未修剪图像/视频相关联的图像数据。
[0058]
在一些配置中,图像数据可与在特定时间步长处捕捉的自我意识代理102的驾驶场景的一个或多个第一人称视点rgb图像/视频相关。图像数据可被配置为包括关于物体外观的丰富信息,该物体外观与自我意识代理102在一个或多个时间步长的驾驶场景内的道路车道标志、道路/路径标记、道路/路径基础设施相关。在一些实施方案中,数据接收模块130可将图像数据打包并存储在存储单元114上,以在一个或多个时间点进行评估。
[0059]
方法300可前进至框304,其中方法300可包括接收激光雷达数据作为与自我意识代理102的交通环境相关联的基于环境的数据。在示例性实施方案中,数据接收模块130可以与自我意识代理102的激光雷达系统112通信以从自我意识代理102收集激光雷达数据,该激光雷达数据包括基于激光雷达的观察。该基于激光雷达的观察可以指示一个或多个交通代理的位置、范围和定位,经反射的激光波相对于自我意识代理102的位置/定位从该一
个或多个交通代理反射出来。在一些实施方案中,数据接收模块130可将激光雷达数据封装并存储在存储单元114上,以待在一个或多个时间点时进行评估。
[0060]
方法300可前进至框306,其中方法300可包括接收动态数据,作为与交通环境内的自我意识代理102的操作相关联的基于动态的数据。在示例性实施方案中,数据接收模块130可与自我意识代理102的动态传感器120通信,以收集动态数据,该动态数据与自我意识代理102在进行一个或多个驾驶操纵时和/或在当前时间步长和一个或多个过去时间步长处的自我意识代理102的动态性能有关。由动态传感器120输出的动态数据可以与自我意识代理102在其在多个时间步长处在交通环境内行驶时的动态操作相关联。
[0061]
方法300可前进至框308,其中方法300可包括聚合图像数据、激光雷达数据和动态数据以向神经网络108输入观察和目标。在示例性实施方案中,数据接收模块130可被配置为聚合图像数据、激光雷达数据和动态数据,该图像数据可包括关于物体外观的丰富信息,该物体外观与在一个或多个时间步长处自我意识代理102的位置内的道路车道标识、道路/路径标记和/或道路/路径基础设施有关,该激光雷达数据与可指示一个或多个交通代理的位置、范围和定位的基于激光雷达的观察有关,该动态数据与自我意识代理102在多个时间步长处在交通环境内行驶时的动态操作相关联。
[0062]
在聚合图像数据、激光雷达数据和动态数据时,数据接收模块130可将聚合的数据传送到预测控制应用程序106的代价地图确定模块132。在一个实施方案中,代价地图确定模块132可被配置为分析聚合的数据,并且可提取与观察和目标202相关联的数据,该观察和目标与自我意识代理102和根据基于动态的数据和基于环境的数据确定的交通环境相关联。此类观察和目标202可与交通环境、交通环境内的交通代理的操作以及自我意识代理102的操作相关联。
[0063]
在示例性实施方案中,在确定多个时间步长的观察和目标202后,代价地图确定模块132可被配置为将观察和目标202输入到神经网络108以训练神经网络108。在另一个实施方案中,除了或代替利用图像数据、激光雷达数据和动态数据,可将基于与驾驶模拟有关的真实人类观察的数据确定为由人类注释者输入到预测控制应用程序106和/或机器学习数据集128以训练神经网络108的观察和目标202。如上所讨论的,可通过在多个时间步长处用与观察和目标202相关联的数据点填充机器学习数据集128来训练神经网络108。
[0064]
在示例性实施方案中,通过用观察和目标202训练神经网络108,自动获得权重和特征两者。在一个实施方案中,可训练神经网络108以最大化基于传感器的数据或演示数据d和模型参数θ在估计奖励r(θ)下的联合概率:
[0065]
l(
ё
)=log p(d,
ё
|r(
ё
))
[0066]
=logp(d|r(θ))+logp(θ)=ld+lθ
[0067]
由于可利用用于训练nn的权重正则化技术来优化lθ,因此神经网络108可最大化第一项ld:
[0068]
[0069]
其中fs是将状态映射到状态特征的矩阵,并且奖励相对于权重的反向传播替换fs。
[0070]
图4是根据本公开的示例性实施方案的用于确定基于由时空代价地图推断所确定的最佳控制策略的方法400的过程流程图。将参考图1和图2的部件来描述图4,但是应当理解,图4的方法400可与其他系统/部件一起使用。方法400可在框402处开始,其中方法400可包括对观察和目标202进行分析。在示例性实施方案中,神经网络108可访问机器学习数据集128并且访问与先前训练到神经网络108的观察和目标202相关联的数据。如上所讨论的,观察和目标202可基于图像数据、激光雷达数据和动态数据的聚合和/或基于与驾驶模拟有关的真实人类观察来训练到神经网络108,该真实人类观察可由人类注释者基于观察和目标202的输入来确定。
[0071]
在一个实施方案中,神经网络108可被配置为分析与观察和目标202相关联的数据点,并将数据点归一化为交通环境的鸟瞰图2d表示,其包括在多个时间步长处自我意识代理102和位于交通环境内的交通代理的定位。鸟瞰图2d表示还可包括目标信息,诸如为自我意识代理102的未来航向/目的地的目标车道。神经网络108提供鸟瞰图2d表示以考虑交通环境内的交通代理数量的变化大小。
[0072]
在示例性实施方案中,预测控制应用程序106的代价地图确定模块132可被配置为利用神经网络108来执行机器学习/深度学习技术以将代价地图的处理逼近为推断问题和轨迹优化问题。推断问题可被定义为自我意识代理102的奖励/代价函数。给定观察o
t
(s
t
)、目标g和专家演示数据s
t
,...,t+t,模块132被配置为找到最佳地解释s
t
,...,t+t的r
t
(s
t|g
)。轨迹问题可被定义为:给定s
t
、q
t
(s
t
)、g和r
t
(s
t|g)
,找到最大化r的最佳路径和控制轨迹。
[0073]
神经网络108可按照运动学自行车模型(下面参考)来评估自我意识代理102的操作。神经网络108可评估自我意识代理102和位于感知范围内的交通环境内的交通代理。当基于关于与驾驶模拟有关的真实人类观察的人类注释来确定观察和目标202时,可做出自我意识代理102和交通代理在感知范围内的接近完美的状态估计的假设。观察和目标202可被评估为显示在交通环境内的最佳代理操作行为。
[0074]
使用irl,可用于对自我意识代理102建模并且计算用于其他基线方法的控制动作的运动学自行车模型的离散时间版本可被执行为:
[0075][0076]
x
k+1
=xk+vkcos(ψk+bk)δt
[0077]yk+1
=yk+vksin(ψk+bk)δt
[0078][0079]vk+1
=vk+akδt
[0080]
其中a和δ是控制输入:加速度和前轮转向角,β是质心的当前速度相对于自我意识代理102的纵轴的角度,(x,y)是定位,即质心在惯性坐标系(x,y)中的坐标,v是惯性航向角,并且v是车辆速度。lr和lf分别是从质量中心到车辆的前部和后部的距离。
[0081]
在一个实施方案中,神经网络108可执行目标条件irl,以使用目标信息来确定要达到哪个状态,从而通过指定目标和学习来提供目标条件代价地图学习。所学习的代价地图可排除未访问状态的伪像和噪声,并且可预测未访问状态的高代价。这种方法允许代价地图具有较少的噪声和伪像,并因此提供较少的假阳性误差,这可导致对于人类和最佳控制器两者的更好的可解释性。
[0082]
在一个实施方案中,损耗项:l
zero
=~(μd+e[μ]),其使未访问状态的奖励最小化或代价最大化。(~)表示not运算符。因此,利用监督学习,其对于未访问的状态具有0(低)奖励的标签,由演示和学习者的预期svf拉平。具有该归零损耗的总损耗被定义为:
[0083]
l(θ)=ld+l
θ
+c
zero
l
zero
[0084]
具有常数c
zero
。为了与其他损耗平衡,神经网络108可选择c
zero
=t/(代价地图大小),其中t是代价地图中的时间步长的数量,并且代价地图大小是其宽度
×
高度。附加的归零损耗以损耗反向传播的正常方式被最小化,因为它对于未访问状态具有0(奖励)的标签。
[0085]
继续参考图4的方法400,方法400可前进至框404,其中方法400可包括完成时空代价地图学习。在示例性实施方案中,代价地图确定模块132可利用神经网络108来学习和输出时空代价地图204。给定观察o
t
和目标信息g,代价地图模型将该表示作为输入并立即预测t个级联定位代价地图j
p
(x
t+1
,y
t+1
,|o
t
,g),...,j
p
(x
t
,y
t+1
,)|o
t
,g),其中j
p
是定位代价(地图)。模型输出的尺寸为t、宽度、高度。
[0086]
方法400可前进至框406,其中方法400可包括基于时空代价地图找到最佳控制策略和预测状态轨迹。在示例性实施方案中,代价地图确定模块132可将关于代价地图的数据传送到预测控制应用程序106的代理控制模块134。代理控制模块134可被配置为执行最佳控制器,该最佳控制器找到相对于预测代价地图的最佳控制和状态轨迹。给定来自irl的奖励,前向irl问题可在离散时间随机最佳控制设置中公式化,其中代理模型是随机的,即受到进入控制信道的布朗运动的干扰,并且代理控制模块134可找到最佳控制序列u
*
,使得:
[0087][0088]
其中期望是相对于具有加性布朗噪声n(o,∑)的控制u的动态而言的。变量s可表示状态(x,y,,ψ,v,β)并且可使用定位(x,y)作为代价函数来执行表示为l的任务:
[0089]
l(s
t
,u
t
|o0,g)=l(s
t
|o0,g)=j
p
(x
t
,y
t
|o0,g)
[0090]
其中是目标-条件定位代价地图。最终状态代价可被定义为:
[0091]
ж(s(t)|o0,g)=c
tjp
(x
t
,yτ|o0,g)
[0092]
其中c
t
是常数值。
[0093]
在示例性实施方案中,代理控制模块134可被配置为使用模型预测控制(mpc)来找到相对于预测代价地图的最佳控制和状态轨迹。代理控制模块134可被配置为对大量布朗噪声n(0,∑)序列进行采样,将它们注入控制信道,利用控制+采样噪声的序列来前向传播动态。代理控制模块134可利用mpc来进一步计算在
[0094][0095]
中定义的代价并且对“好的”噪声序列施加更多的权重,这导致低代价,并且可进一步用加权的噪声序列更新控制序列。模块134可迭代该过程,直到收敛为止,并由此执行第一h-时间步长的控制动作,以生成可在自我意识代理102的自主操作期间被利用的未来轨迹208,这些未来轨迹类似于可由操作自我意识代理102的人类操作者利用的轨迹。
[0096]
在一个实施方案中,可通过找到低代价区域的平均定位来从每个时间步长的代价地图的低代价区域中提取路点。可制定具有基于如由动态传感器提供的动态数据确定的自我意识代理102的动态的物理约束的复杂优化问题,以确保代价地图提取的平均路点是平滑的。在一种配置中,代价地图提取的平均路点被并入作为状态参考,并且因此该问题与形式参考跟踪问题对准,通过该形式参考跟踪问题,二次规划(qp)求解器可为适用的。凸问题可解读为:
[0097]
min j
p
(x,y,x,y)=min ade((x,y),(x,y))
[0098]
其中,u∈[u
min
,u
max
]并且其中定位状态(x,y)是控制u=(δ,a)的函数,如运动学自行车模型中所示,并且平均位移误差(ade)被定义为:
[0099][0100]
代理控制模块134可利用mpc中的附加代价项来确保自我意识代理102的自主控制期间的平滑性。所学习的代价地图可用作mpc优化以执行任务的代价之一。然而,在真实世界自主操作期间,除了目标任务(车道变换、车道保持等)完成之外,可考虑附加因素,例如用户舒适度。在一种配置中,控制和控制率代价可对节气门、制动器、转向角和它们的变化进行惩罚,以提供较少的急动和突然行为。具有额外的控制相关代价的总代价可写为:
[0101][0102]
其中j
p
是我们学习的任务相关定位代价,ja对控制、节气门和转向进行惩罚,以均方误差(mse)对它们的导数(即,急动和转向率)进行惩罚。每个代价项可以由用户用和来加权。
[0103]
在一个实施方案中,为了确保mpc相对于时空代价地图的递归可行性,如果在第k个时间步长处,如果路点沿相反方向移动或者如果路点不存在,则可忽略在第k个路点之后的路点,包括k。代理控制模块134可仅使用直至第(k-1)个路点的路点,以确保自我意识代理102的未来路径与位于交通环境内的任何交通代理的路径之间没有重叠。
[0104]
另外,代理控制模块134可在irl mpc框架的顶部添加额外的安全检查流水线。安全检查流水线可使用相同的信息,即交通代理的状态信息,其可用于预测每个代价函数,并且可检查自我意识代理102的mpc预测状态轨迹是否将潜在地与每个交通代理的预测状态轨迹在特定容限内重叠。这可通过用恒定速度模型模拟t个时间步长的每个交通代理的预计轨迹来实现。因此,基于仿真,如果代理控制模块134检测到第k(k≤t)个时间步长的mpc预测的自我意识状态与每个交通代理的状态之间的可能重叠,则模块134可简单地执行mpc
控制序列的k-1个步长。
[0105]
方法400可前进至框408,其中方法400可包括控制自我意识代理102的一个或多个系统以基于最佳控制和状态轨迹进行操作。在示例性实施方案中,代理控制模块134可被配置为分析自我意识代理102的最佳控制和状态轨迹以及t个时间步长的每个交通代理的预计轨迹。代理控制模块134可被配置为与自主控制器116通信以基于最佳控制和状态轨迹自主地控制自我意识代理102的一个或多个操作功能。因此,可自主地控制自我意识代理102以便进行操作,从而遵循所生成的可被利用的未来轨迹208,这些未来轨迹类似于那些可由操作自我意识代理102的人类操作者在特定交通环境中利用的轨迹。
[0106]
图5是根据本公开的示例性实施方案的用于为模型预测控制提供时空代价地图推断的方法500的过程流程图。将参考图1和图2的部件来描述图5,但是应当理解,图5的方法500可与其他系统/部件一起使用。方法500可在框502处开始,其中方法500可包括接收基于动态的数据和基于环境的数据,以确定与自我意识代理102和交通环境相关联的观察和目标信息。
[0107]
方法500可前进至框504,其中方法500可包括用观察和目标信息202来训练神经网络。在一个实施方案中,神经网络108基于观察和目标信息202输出至少一个时空代价地图204。方法500可前进至框506,其中方法500可包括基于至少一个时空代价地图204确定自我意识代理102的最佳路径。方法500可前进至框508,其中方法500可包括控制自我意识代理102以基于自我意识代理102的最佳路径自主地操作。
[0108]
从前面的描述中应当显而易见的是,本公开的各种示例性实施方案可在硬件中实现。此外,各种示例性实施方案可以被实现为存储在非暂态机器可读存储介质(诸如易失性或非易失性存储器)上的指令,该指令可以由至少一个处理器读取和执行以执行本文详细描述的操作。机器可读存储介质可以包括用于以机器可读的形式存储信息的任何机构,诸如个人或膝上型计算机、服务器或其他计算设备。因此,非暂态机器可读存储介质不包括暂态信号,但可包括易失性和非易失性存储器两者,包括但不限于只读存储器(rom)、随机存取存储器(ram)、磁盘存储介质、光存储介质、闪速存储器设备和类似存储介质。
[0109]
本领域的技术人员应当理解,本文的任何框图表示体现本公开的原理的示例性电路的概念视图。类似地,应当理解,任何流程图、流程示意图、状态转换图、伪代码等表示可以在机器可读介质中基本上表示并且因此由计算机或处理器执行的各种过程,无论这种计算机或处理器是否被明确示出。
[0110]
应当理解,上面公开的特征和功能以及其他特征和功能的各种实施方式或它们的替代物或变体可以理想地组合成许多其他不同系统或应用。此外,本领域的技术人员可以之后做出本文的各种目前无法预料或无法预期的替代、修改、变化或改进,这些也旨在被所附权利要求书涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1