一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于自主驾驶的数据驱动控制的制作方法

2022-02-21 03:38:17 来源:中国专利 TAG:


1.本文献涉及确定操纵自主车辆的控制模型的技术。


背景技术:

2.自主驾驶技术可允许车辆感知自主车辆周围车辆的位置和运动,并基于该感知,导航和控制自主车辆安全地驶向目的地。基于汽车工程师协会(sae)j3016自主驾驶标准,自主驾驶根据能力分为六类,从sae0级(无自动化)到sae5级(车辆完全自动化)。


技术实现要素:

3.公开了确定控制模型的参数,并基于控制模型开发控制算法以操作自主车辆(例如自主半挂车卡车)的技术。该专利文献还描述了确定可用于sae4级自主驾驶的控制算法的技术,该sae 4级自主驾驶在受限场景下被视为完全自动化。
4.一种获取用于自主卡车的数据驱动控制器的方法可以包括至少三个步骤。在第一步,收集第一组数据,其中第一组数据与表征自主卡车随时间的运动的第一组变量和随时间提供给自主车辆的命令相关联。在第二步,解决优化问题,该优化问题是利用基于第一组数据用第一矩阵以及描述自主卡车的运动模型的向量来构件的。在第二步,向量的非零项决定或确定运动方程的有效项。在第三步,考虑到与自主卡车相关联的操作期间的干扰和不确定性,基于自主卡车的运动模型,获取鲁棒反馈控制器。
5.一种获取用于自主驾驶的数据驱动模型的方法,包括:获取第一组数据,第一组数据与表征自主车辆随时间的运动的第一组变量和随时间提供给自主车辆的命令相关联;使用至少基于第一组数据的第一矩阵来确定非零值和相关联的第二组变量,非零值和相关联的第二组变量描述用于执行自主车辆的自主驾驶操作的控制模型;以及计算反馈控制器的值,反馈控制器描述被用于执行在道路上行驶的自主车辆的自主驾驶操作的传递函数。
6.在一些实施例中,反馈控制器的值至少基于控制模型的非零值和描述自主车辆经历的驾驶相关干扰的干扰值。在一些实施例中,这些值使得与反馈控制器提供的一个或多个命令相关联的一个或多个误差最小化,以补偿驾驶相关干扰。在一些实施例中,通过以下步骤获取第一矩阵:构建第二矩阵,该第二矩阵包括第一组数据和通过对第一组数据执行数学运算而导出的第二组数据;构建包括第一组数据随时间的导数的第三矩阵;以及通过对第二矩阵和第三矩阵使用最小化函数来导出第一矩阵。
7.在一些实施例中,第二矩阵包括常数值,并且其中第二组数据包括被计算为第一组变量的多项式函数或三角函数的数据,并且相关联的第二组变量对应于第一组变量的多项式函数或三角函数中的一个或多个。在一些实施例中,第二矩阵和第三矩阵的每一行描述与同一时间相关联的数据,并且第二矩阵和第三矩阵的至少一些列描述与随时间提供给自主车辆的命令相关联的数据。在一些实施例中,表征自主车辆运动的第一组变量包括自主车辆的纵向速度和自主车辆的横向速度。
8.在一些实施例中,该方法还包括通过至少基于反馈控制器的计算值向转向马达发
送转向命令来执行自主驾驶操作。在一些实施例中,反馈控制器的值至少基于控制模型的非零值。在一些实施例中,计算值使得与反馈控制器提供的一个或多个命令相关联的一个或多个误差最小化。在一些实施例中,通过以下步骤获取第一矩阵:构建第二矩阵,该第二矩阵包括第一组数据和通过对第一组数据执行数学运算而导出的第二组数据;构建包括第一组数据随时间的导数的第三矩阵;以及通过对第二矩阵和第三矩阵使用稀疏回归技术来导出第一矩阵。
9.在一些实施例中,稀疏回归技术包括使用最小化函数。在一些实施例中,第一组数据包括从自主车辆的牵引车部分获取的第一组样本和从自主车辆的挂车部分获取的第二组样本。在一些实施例中,第二矩阵和第三矩阵的至少一些列描述与自主车辆的运动相关联的数据。在一些实施例中,表征自主车辆运动的第一组变量包括自主车辆的牵引车部分的角速度和自主车辆的挂车部分的角速度。在一些实施例中,反馈控制器的值基于控制模型的非零值、描述自主车辆在驾驶操作期间经历的驾驶相关干扰的干扰值,以及道路上参考线的频率。在一些实施例中,参考线包括道路上的车道标记。在一些实施例中,驾驶相关干扰包括风吹在自主车辆上或者自主车辆行驶通过坑洼或减速带。
10.在又一示例方面,上述方法以处理器可执行代码的形式体现,并存储在计算机可读程序介质或计算机可读存储介质中。因此,非暂态计算机可读存储介质可以存储有代码,其中当代码由处理器执行时,该代码使得处理器实现本专利文献中描述的方法。
11.在又一示例实施例中,公开了一种包括计算机的设备或装置或系统,该计算机包括处理器和存储器,该存储器包括指令,当指令由处理器执行时,该指令使处理器执行上述方法。
12.在附图、说明书和权利要求中更详细地描述了上述和其他方面及其实施方式。
附图说明
13.图1示出了基于半挂车卡车提供的数据来确定控制模型的示例系统识别过程。
14.图2还描述了用于确定在自主车辆中操作的反馈控制器的设计的示例控制设计过程。
15.图3示出了获取数据驱动控制模型和设计反馈控制器的示例技术的流程图。
16.图4示出了可以在自主车辆中操作的计算机或服务器的示例框图。
17.图5示出了对横向速度vy通道执行计算以导出控制模型的示例。
具体实施方式
18.一个多世纪前街道上开始有汽车,那时汽车完全由驾驶员控制,现在越来越多的汽车驾驶控制均由车载计算机来执行。在汽车出现后的几年里,汽车导航和控制功能越来越多的是自主执行,人类直接控制越来越少。
19.近年来,在开发能够实现在无任何人为控制的情况下驾驶汽车的完全自主车辆的软件和硬件方面进行了大量的研究和开发。汽车从早期的“手动一切”逐渐发展到不久的将来的“计算机一切”驾驶模式,有时是通过自动化水平来控制的。例如,早期由人类控制整个操作的汽车被称为“l0”级汽车。在l1自主车辆中,人类操作者仍然控制车辆,但是诸如稳定性控制、油门/巡航控制等几个功能由计算机执行。在l2车辆中,计算机承担额外的任务,例
如监控周围的车辆、观察车道控制等。对于l3车辆,预期汽车将能够完全自主导航,但如果需要,仍需要人类驾驶员在驾驶员座椅上进行干预。预期l4和l5汽车将在几乎所有环境中自主驾驶,且无需人工干预。在困难的情况下,例如恶劣天气事件或不寻常的地形,l4汽车可以听从人类驾驶员,而l5汽车将能够完全像人类驾驶员一样驾驶,或者比人类驾驶员表现更好。
20.在l4/l5自主驾驶解决方案中,车辆中不需要人类驾驶员。然而,对于自主车辆周围的其他车辆和行人来说,如果自主车辆的表现接近附近车辆驾驶员的期望,这将是有益的。
21.在本文献中描述的一些实施例中,控制系统可以在自主车辆的车载计算机系统上实现,以从周围环境以及先前的驾驶经验中学习,并使用训练来导航自主车辆。例如,可以使用基于模型的控制算法,其中模型可以基于学习的经验不断升级。
22.为了开发基于模型的控制算法,可以开发控制方程(也称为模型)来描述和预测自主车辆的运动。车辆系统的传统建模技术先从描述动量和能量开始,然后用牛顿定律或拉格朗日方程导出运动方程。方程的参数可以包括物理参数,例如摩擦系数、阻尼系数、重力常数等。基于运动方程和基于物理的参数,工程师为车辆构建控制规则。
23.然而,传统的建模技术存在几个技术问题或不足。例如,从经典力学导出的运动方程对于获取控制规则而言过于复杂。该缺点对于用于卡车(如半挂车)的模型来说尤其突出。另一个技术问题是,运动方程和车辆操作之间通常不匹配。为了减轻这种不匹配,需要手动调整控制模型,这既耗时又低效。此外,由于模型和实际车辆之间不匹配,控制算法需要基于实验进行调整以实现期望的性能。该过程也很耗时且低效。
24.为了克服传统建模技术的至少上述技术问题,本专利文献描述了一种数据驱动的控制系统,该系统包括系统识别过程和控制设计过程。自主车辆上的软件控制器可以使用控制模型的参数和对应值来向自主车辆提供命令(例如,转向命令或油门/加速命令)。在系统识别过程中,与方程中的项相关联的系数决定了车辆的控制模型。在控制器设计过程中,这些系数用于开发控制器算法,该算法用于操作自主车辆。
25.图1示出了基于半挂车卡车提供的数据来确定控制模型的示例系统识别过程。该系统识别过程使用稀疏回归(sparse regression)技术来导出控制设计过程的控制模型。对于卡车模型,控制模型的结构由与车辆动力学相关的多个项来控制。
26.如图1所示,系统识别过程的第一部分包括从真实卡车102获取数据,其中当卡车运行时,数据由车载传感器测量。收集的数据由位于卡车中的数据采集装置定时采样。因此,数据与采集或采样数据时的时间戳一起存储在卡车中的计算机中。测量数据与用于推导控制模型的多个项有关。另一计算机的系统识别模块(如图4中的425所示)从位于卡车中的计算机获取带有时间戳的数据。
27.系统识别过程使用与多个状态和多个输入(统称为多个项)相关联的测量数据。多个状态可以包括纵向速度v
x
、横向速度vy、半挂车卡车的牵引车单元的角速度ψ和半挂车卡车的挂车单元的角速度在半挂车卡车中,牵引车单元位于前部并且包括发动机和驾驶员的驾驶室,挂车单元位于牵引车单元的后部并且可以包括货物。与多个状态相关的数据可以由位于自主车辆上的惯性测量单元(imu)测量。多个输入包括命令转向角δ和命令加速
度a(也称为油门)。
28.系统识别模块在数据驱动系统识别(id)过程104(图1所示)的第二部分中获取状态变量的数据和输入,以及与何时收集或采样数据相关联的时间值。为了从该数据确定卡车控制模型,系统识别模块获取在已知或预定时间段内收集的状态数据和输入(δ,a),并且系统识别模块计算状态相对于时间的导数。由于所收集的数据是由卡车中的数据采集装置在时间t1,t2,

,tn采样的,因此与状态相关的数据和输入在下面以带有索引1,

,n的时间信号序列示出。所收集的状态数据描述了来自自主车辆的牵引车部分的第一组样本和来自自主车辆的挂车部分的第二组样本。
29.状态:
30.纵向速度[v
x
(1),v
x
(2),

,v
x
(n)],
[0031]
横向速度[vy(1),vy(2),

,vy(n)],
[0032]
牵引车的偏航率
[0033]
挂车角速度
[0034]
输入:
[0035]
转向角[δ(1),δ(2),

,δ(n)],
[0036]
纵向加速度[a(1),a(2),

,c(n)].
[0037]
导数:
[0038]
纵向加速度
[0039]
横向加速度
[0040]
牵引车的偏航加速度
[0041]
挂车角加速度
[0042]
在一些实施例中,可以控制用于获取数据的时间实例。例如,可以在车辆正常运行期间使用均匀采样。如果检测到临界相位,则可以调整采样实例。例如,与静止环境(例如,车辆以相对较慢的速度行驶,例如小于20英里/小时,或者在对周围环境无显著变化的高速公路环境中)相比,在快速变化的环境(例如,车辆以较高的速度行驶)中更快地数据收集。
[0043]
系统识别模块构建了一个库(或矩阵),该库可以包括状态的非线性函数和可能不包括状态导数的输入。这种非线性函数可以作为系统的候选组成部分。在这种情况下,以下示出的库ω包括常数值、状态和/或输入的多项式函数以及状态和/或输入的三角函数,其中矩阵库ω的每一行描述与同一时间相关联的数据,并且矩阵库ω的每一列描述与车辆运动或随时间提供给车辆的命令相关联的数据:
[0044]
[0045]
使用可以包括状态和输入的非线性函数的库的一个技术益处是,可将其设计为包括要包括在库中的任意数量的条目。因此,可以灵活地设计库来创建控制模型。使用库的另一个技术益处是,与传统的建模技术不同,数据驱动系统识别过程可视为是无方程的,至少是因为示例系统识别过程不使用物理定律给出的传统模型结构导出运动方程。
[0046]
系统识别模块还可以构造可以包括如下所示状态导数的另一个矩阵,其中矩阵的每一行描述与同一时间相关联的数据的导数,并且其中矩阵的每一列描述与车辆的运动或随时间提供给车辆的命令相关联的数据的导数:
[0047][0048]
数据驱动系统识别过程104包括系统识别模块使用以下等式求解参数矩阵:
[0049][0050]
其中ρ具有以下结构:
[0051][0052]
ρ中的条目(例如,ρ的参数和相关值)可用于导出控制模型(如图1中的106所示)。当ρ的一个条目为0时,ω中的相应项目将被视为无效,并且不会显示或不包括在控制模型中。使用矩阵p的技术益处是,矩阵p的非零项及其可以描述控制模型的相关值仅包括几个项,这使得矩阵ρ稀疏并且在计算上可行。
[0053]
为了求解ρ,系统识别模块使用4个优化问题来求解p1至p4,如下所示:
[0054][0055]
在这一步,系统识别问题被转换为四个lasso优化问题,可以用凸解算器求解。系统识别模块使用具有库ω和矩阵的最小化函数来导出参数矩阵ρ的最优值,如在本段以上所示的优化问题中所述。因此,通过使用最小化函数,系统识别模块使用稀疏回归技术来确定精确表示物理控制模型所需的动力学控制方程中最少的参数(或变量)。因此,系统识别模块利用包括一组非零值的参数矩阵ρ和来自库ω的相关变量获取卡车或车辆控制模型。因此,来自库ω的向量的非零项决定或确定运动方程的有效项。
[0056]
图5示出了针对横向速度vy通道执行的计算的实例,其中针对p2获取的一组非零值和来自矩阵x(以上称为库ω)的相应参数部分地描述了控制模型。因此,如图1所示,系统识别模块的输出是使用来自参数矩阵p的一组非零值和来自库ω的对应于非零值的变量来描
述的控制模型。
[0057]
图2还描述了用于确定在自主车辆中操作的反馈控制器202的设计的示例控制设计过程。该控制设计过程包括数据驱动模型201,该模型201包括从该专利文献中解释的系统识别过程中导出的参数矩阵p的非零值。该控制设计过程还包括传感器模型208,该模型208为状态v
x
,vy,提供感测值在图2中,w_ref是由位于自主车辆中的计算机确定的道路上的参考线(例如车道标记)的频率特性。致动器模型210是致动器(例如用于使自主车辆转向的电机或用于控制自主车辆的油门开度的电机)的模型。干扰204可以表征(或测量)为值,其可以由风吹在卡车上引起,或者可以由驾驶状况(例如,卡车行驶通过坑洼或减速带)引起。
[0058]
在系统识别模块识别了控制模型的参数和对应的非零值之后,计算机的控制设计模块(如图4中的430所示)可以执行μ-综合设计或h∞控制器综合,以生成反馈控制器202,如下文进一步所描述。反馈控制器202可以是在自主车辆上的计算机中操作的模块(在图4中显示为435)。反馈控制器202可视为控制系统传递函数,其可以基于传递函数和从传感器208获取的输入值输出加速命令(a
cmd
)或转向命令(δ
cmd
)。控制设计模块可以使用两个鲁棒控制器:h∞最优控制器和μ-综合控制器来执行其操作。h∞优化和μ-综合可用于识别能够稳定图2所示的示例闭环系统的控制器。
[0059]
图2示出了闭环系统中两个鲁棒控制器的设计框图。h∞控制设计可以最小化由干扰204引起的闭环系统的h∞范数,从而产生误差e1(206a)和e2(206b)。闭环系统的范数h∞(表示为||gd→e||

)被认为是干扰对跟踪误差和驱动信号的影响程度。该符号可以确定引起误差的干扰的最大g值。在图2中,反馈控制器202可以设计成使得在某些干扰值d1下,误差值e2和致动误差e1被最小化。致动误差值e1可以视为由反馈控制器202响应于干扰值d1而提供的加速命令或转向命令所引起的误差。图2的框图示出了在设计反馈控制器的设计过程中考虑了卡车模型或数据驱动模型201、传感器模型208和致动器模型210。考虑到卡车模型中的不确定性,控制设计模块使用μ-综合控制来最小化||gd→e||


[0060]
使用μ-综合方法,控制设计模块可以通过考虑参数不确定性、动态不确定性、输入干扰和传感器噪声来设计反馈控制器202。通过预定的性能指标和数据驱动模型,控制设计过程可以自动化。
[0061]
图3示出了获取数据驱动控制模型和设计反馈控制器的示例技术的流程图。操作302包括获取与表征自主车辆随时间的运动的第一组变量和随时间提供给自主车辆的命令相关联的第一组数据。操作304包括至少基于第一组数据使用第一矩阵来确定非零值和描述用于执行自主车辆的自主驾驶操作的控制模型的相关联的第二组变量。操作306包括计算描述用于执行在道路上行驶的自主车辆的自主驾驶操作的传递函数的反馈控制器的值。在一些实施例中,反馈控制器的值至少基于控制模型的非零值。在一些实施例中,反馈控制器的值至少基于控制模型的非零值和描述道路上行驶的自主车辆所经历的驾驶相关干扰的干扰值。
[0062]
在一些实施例中,计算值使得与反馈控制器提供的一个或多个命令相关联的一个或多个误差最小化,以补偿驾驶相关干扰。在一些实施例中,通过以下步骤获取第一矩阵:构建第二矩阵,该第二矩阵包括第一组数据和通过对第一组数据执行数学运算而导出的第
二组数据;构建包括第一组数据随时间的导数的第三矩阵;以及通过对第二矩阵和第三矩阵使用稀疏回归技术来导出第一矩阵。在一些实施例中,稀疏回归技术包括使用最小化函数。
[0063]
在一些实施例中,第二矩阵包括常数值,并且其中第二组数据包括作为第一组变量的多项式函数或三角函数计算的数据,并且相关联的第二组变量对应于第一组变量的多项式函数或三角函数中的一个或多个。
[0064]
在一些实施例中,第二矩阵和第三矩阵的每一行描述与同一时间相关联的数据,并且第二矩阵和第三矩阵的至少一些列描述与随时间提供给自主车辆的命令相关联的数据。在一些实施例中,第二矩阵和第三矩阵的至少一些列描述与自主车辆的运动相关联的数据。在一些实施例中,表征自主车辆运动的第一组变量包括自主车辆的纵向速度和自主车辆的横向速度。在一些实施例中,表征自主车辆运动的第一组变量包括自主车辆的牵引车部分的角速度和自主车辆的挂车部分的角速度。在一些实施例中,表征提供给自主车辆的命令的第一组变量包括命令给自主车辆的转向角和命令给自主车辆的加速度或油门命令。在一些实施例中,图3的方法还包括通过至少基于反馈控制器的计算值向发动机发送油门命令或向转向马达发送转向命令来执行自主驾驶操作。
[0065]
图4示出了可以在自主车辆中操作的计算机或服务器400的示例框图。计算机400包括至少一个处理器410和存储有指令的存储器405。指令在由处理器410执行时使计算机400执行针对图1至3和5中描述的各种模块描述的操作,和/或在本专利文献的各种实施例或部分中描述的操作。
[0066]
与传统建模技术相比,数据驱动控制建模技术至少可以提供以下技术优势。首先,数据驱动模型可以提供从反映车辆系统真实行为的数据中提取的简洁模型,其中模型的复杂性由系统识别模块使用的算法控制。第二,数据驱动控制模型可以减少传统技术中提到的不匹配,至少是因为控制模型是从输入-输出信号(例如,状态和输入)导出的。利用系统识别模块采用的稀疏性算法,可以很容易地在模型复杂性和模型精度之间取得平衡。所提出的控制设计可以在对控制器进行最少调整的情况下实现鲁棒裕度(可以处理多少不确定性和干扰)。此外,与传统控制器相比,该控制器结构更简单。
[0067]
在本文件中,术语“示例”用于表示
“…
的实例”,除非另有说明,否则并不意味着理想或优选的实施例。
[0068]
本文描述的一些实施例是在方法或过程的一般上下文中描述的,这些方法或过程可以在一个实施例中由计算机程序产品实现,该计算机程序产品包含在计算机可读介质中,包括由联网环境中的计算机执行的计算机可执行指令,例如程序代码。计算机可读介质可以包括可移动和不可移动存储设备,包括但不限于只读存储器(rom)、随机存取存储器(ram)、光盘(cd)、数字多功能盘(dvd)等。因此,计算机可读介质可以包括非暂态存储介质。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。计算机或处理器可执行指令、相关数据结构和程序模块代表用于执行本文公开的方法的步骤的程序代码的实例。这种可执行指令或相关数据结构的特定序列表示用于实现这种步骤或过程中描述的功能的相应动作的实例。
[0069]
一些公开的实施例可以使用硬件电路、软件或其组合实现为设备或模块。例如,硬件电路实现可以包括分立的模拟和/或数字组件,这些组件例如被集成为印刷电路板的一
部分。替代地或附加地,所公开的组件或模块可以实现为专用集成电路(asic)和/或现场可编程门阵列(fpga)装置。一些实现方式可以附加地或替代地包括数字信号处理器(dsp),其是专用微处理器,具有针对与本技术公开的功能相关联的数字信号处理的操作需求而优化的架构。类似地,每个模块内的各种组件或子组件可以用软件、硬件或固件来实现。模块和/或模块内的组件之间的连接可以使用本领域已知的连接方法和介质中的任何一种来提供,包括但不限于使用适当的协议通过互联网、有线或无线网络通信。
[0070]
虽然本文献包含许多细节,但是这些细节不应解释为是对要求保护的发明或可能要求保护的范围的限制,而是对特定实施例的特定特征的描述。本文中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独实现或者以任何合适的子组合中实现。此外,尽管在上文中将特征描述为以某些组合起作用,并且甚至最初被如此要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变型。类似地,虽然在附图中以特定顺序描述了操作,但是这不应该理解为要求以所示的特定顺序或顺序执行这些操作,或者要求执行所有示出的操作,以获取期望的结果。
[0071]
仅描述了几个实施方式和实例,并且可以基于本公开中描述和示出的内容做出其他实施方式、增强和变化。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献