来自TRI和RPI的CoRL‘24最佳论文之一“One Model to Drift Them All: Physics-Informed Conditional Diffusion Model for Driving at the Limits“。
让自动驾驶汽车在操控极限(轮胎力饱和)下可靠运行将提高其安全性,特别是在紧急避障或恶劣天气条件等情况下。然而,由于该任务的动态性质以及对道路、车辆及其动态相互作用不确定特性的高度敏感性,释放这种能力具有挑战性。受这些挑战的启发,本文提出一个框架,使用包含不同环境中不同车辆轨迹的未标记数据集,学习用于高性能车辆控制的条件扩散模型。其设计扩散模型,通过基于物理数据驱动动力学模型的参数多模态分布,捕捉复杂数据集的轨迹分布。根据在线测量调节生成过程,将扩散模型集成到用于极限驾驶的实时模型预测控制(MPC)框架中,并表明它可以动态适应给定的车辆和环境。在丰田 Supra 和雷克萨斯 LC 500 上进行的大量实验表明,单一扩散模型可在不同道路条件下使用不同轮胎时使这两款车辆实现可靠的自动漂移。该模型的性能与特定任务的专家模型相当,同时在对未知条件的泛化方面也优于它们,为在操控极限下实现通用、可靠的自动驾驶方法铺平了道路。
如图所示:图左为条件扩散模型在两辆车上执行漂移轨迹的示例。图右为控制器架构和在线模型参数生成过程的概述。
现有的自动驾驶汽车只能以最大操控潜力的一小部分运行。设计能够可靠地控制超出这些工程极限车辆的算法将能够更快、更可靠地应对各种安全关键情况 [1, 2],例如在冰上行驶和避开突然出现的障碍物,在这些情况下,车辆可能会使用所有可用的轮胎与道路的摩擦力,导致其在道路上滑行 [3, 4, 5]。然而,由于任务的动态性质、对模型不匹配的高度敏感性以及道路、车辆及其动态相互作用的不确定性,在操控极限下驾驶具有挑战性。此外,收集极限驾驶数据集的高成本、复杂的车辆动力学和安全考虑因素,使模仿学习和强化学习策略的使用变得复杂。这些挑战促使人们开发一种能够利用物理知识和捕捉复杂形式的不确定性模型,同时适用于实时自动驾驶汽车控制。
扩散模型 [6、7、8、9] 已被证明能够很好地表示数据中的复杂、高维和多模态分布。然而,它们直接用于极限驾驶并不简单。经典扩散模型的局限性,包括如何利用先前的物理知识来提高数据效率和可解释性,以及相当长的模型推理时间,这可能是高带宽控制的瓶颈。
一些研究已经探索了在赛车 [10, 11, 12, 13] 和漂移 [14, 5, 4, 15] 的背景下,在操控极限下实现自动驾驶。这些方法确定基于物理的车辆动力学模型 [16, 17, 4, 18, 19] 的参数或训练神经网络模型 [15, 20],然后将其用于基于模型的最优控制。非线性模型预测控制 (MPC) ,是此类环境中的首选控制策略,并在具有挑战性的赛车和漂移任务中表现出高性能跟踪能力 [12, 11, 4, 15]。然而,MPC 的性能受到车辆模型保真度的限制,该模型旨在捕捉在特定道路条件下使用给定轮胎运行的单个车辆。
扩散模型已成为在连续域(例如图像 [21, 22]、3D 内容 [23, 24]、规划和控制 [25, 26, 27, 28, 29, 30, 31]、时间序列 [32, 33] 和物理过程 [34, 35, 36])中生成复杂和多模态分布的有力工具。然而,所有这些工作都以黑盒子方式学习表示在训练数据中直接获得样本的分布。
神经常微分方程(ODE) [38、39、40、41、42]、Koopman 算子 [43、44、45、46、47、48]、经典系统辨识 [49、50、51、52、53]、高斯过程 [54、55、56、57、58] 和神经随机微分方程 (SDE) [59、60、61、62、63] 已被广泛研究用于从数据建模不确定的动态系统。这些模型要么是确定性的,要么只能捕获训练数据集分布的单一模式,以及模式周围的不确定性。另一方面,对其中一些模型的参数进行贝叶斯推断,理论上可以捕获模型参数的多模态分布。然而,经典的基于蒙特卡洛方法 [64、65、66、67] 不能很好地扩展到大型模型和数据集,而基于变分推理的方法 [68、69、70] 则受到用于近似多模态后验变分族的选择限制。为了解决这些限制,最近的研究 [71、72、73、36] 强调了扩散模型在近似贝叶斯推理中后验分布时的可扩展性和表达能力。
本文的建模方法类似于元学习方法 [76、77、78],因为扩散模型离线学习预测神经 SDE 模型的参数,同时在线适应不同的车辆和环境条件。然而,与现有的元学习方法(其中数据集具有特定于任务的标签)不同,从未标记的车辆轨迹数据集用来训练模型。此外,虽然调节离线训练的扩散模型可以实现在线自适应,但不会在线执行梯度更新或任何类型的模型参数回归以进行自适应,而元学习或在线学习中通常这样做 [79, 80, 81, 82, 83]。
数据集的轨迹可能是从具有不同物理和轮胎规格的车辆收集的,这些车辆在执行不同任务时会在各种路况下行驶。因此,其轨迹的分布非常复杂,难以建模。该数据集还被描述为未标记的,因为除了状态-控制对之外,没有提供有关车辆和环境的任何信息(每个轨迹)用于模型识别。
本文介绍一种学习物理约束生成模型的方法,用于在极限条件下进行自动驾驶。主要思想是将极限驾驶的结构和现有的物理知识整合到由 θ 参数化的神经 SDE 模型的设计中。然后,训练一个由 ψ 参数化的状态控制历史条件扩散模型,输出神经 SDE 参数 θ 上的分布 pψ(θ|x, u),然后将其用于生成 MPC 控制器使用的未来状态轨迹或模型。然而,现有的训练扩散模型的方法不能直接应用于此,因为它们需要无法访问神经 SDE 参数数据集。该方法生成这样的数据集,并根据数据集 T 中的轨迹不断改进其参数,同时训练扩散模型。
神经 SDE [84, 85, 59, 60, 63] 为不确定动力系统的建模提供了一种原则性方法,因为它们能够根据第一原理对先验物理知识、其校准的不确定性进行编码,并且能够利用神经网络实现表达:
其中x是状态,u是控制输入, W是Wiener过程。f^θ 和 ∑^θ 是对应的参数漂移和扩散项。在对 fθ 、 ∑^θ 进行平滑假设 [86, 87] 的情况下,可以通过神经 SDE 的数值积分有效地采样预测轨迹的分布 [88, 89]。假设一个数值 SDE 积分器的离散时间之间近似高斯过渡,给定控制 u/t:Tf,状态序列 x/t:Tf 的负对数似然 (NLL) 损失可以通过以下方式估计
参数空间的条件扩散模型
神经SDE参数的初始估计。首先,计算整个数据集 T 上神经 SDE 参数 θ 最大后验估计。训练问题如下:
通过局部优化的参数数据集生成。接下来,用估计值 θloc 迭代生成一个数据集 D = {(τT/p :t , θt ), . . . },其中包含短的状态-控制轨迹 τ/T/p :t 和模型参数 θt,这些轨迹和模型参数与 (a) 数据序列 τ/Tp:t、(b) 近期序列 τ/t:Tf 以及 © 初始数据序列 τ/Tp:t:Tf 邻域的附加序列 τ/Tp:tk:Tf 保持一致。时间步长 t/k 是从以 t 为中心固定宽度的均匀分布 U 中采样的。添加到参数数据集 D 的局部最优参数 θt 由 θt = argmin/θ 【J/loc(τ/T/p:t, θ, θ^loc)】 给出,其中
附加序列 τ/Tp:tk:Tf 有助于改进神经 SDE 模型的不确定性估计。使用短序列 τ/Tp:tk:Tf ,其中 tk 在 t 附近的小时间窗口 W 内,有助于确保它们可以用单个参数向量 θt 来解释,因为如果 τ/Tp:t:Tf 太长,系统的属性可能会在轨迹 τ/Tp:t:Tf 上发生变化。用上面 (4) 上的梯度下降法,从 θloc 为中心的高斯分布中采样的初始猜测开始,优化 θt。对目标 (4) 中的估计 θ^loc 进行正则化可以稳定这个优化过程。
训练扩散模型。给定 D 中生成的神经 SDE 参数,像 [7] 一样使用梯度下降更新条件去噪扩散模型的参数 ψ,损失为
这里,h 是一个将历史 τ/Tp:t 映射到特征空间、调节扩散模型的函数:
迭代细化参数数据集。随着扩散模型训练的进行,其对局部参数 θt 的预测变得越来越准确,而 (3) 中计算的初始估计值 θloc 可能成为 θt 的次优初始猜测。因此,经过一定数量的扩散训练步后,用生成模型通过采样神经 SDE 参数来细化数据集 D,该参数将作为初始估计值 θ^loc 和局部优化问题 (4) 的正则化器。
在线扩散模型推理。该算法保留状态-控制对的历史记录,并将其用作生成、验证和评分神经 SDE 参数的来源。在算法的每个时间步,从历史数据集 T/hist 中采样一组状态-动作序列 T/gen,生成一组以每个 τ/Tp:t 为条件的参数 θt。这分 K 步完成,采样 θ ̄K ∼ N(0,I) ,细化 θ ̄k−1 ∼ N(μ/ψ(θ ̄k, k, h(τ/Tp:t)), Iσ/k),其中:
训练算法 1 和采样神经SDE参数的在线策略算法 2 总结如下:
在操控极限的自动驾驶应用
物理限制的神经 SDE 模型。采用常用的单轨模型 [90, 16, 91, 18, 17] 作为描述车辆非线性动力学的基础。车辆位置以相对于参考轨迹的曲线坐标系表示 [14, 19, 12]。具体而言,位置坐标由沿参考轨迹的距离 s、相对于参考航向角 φ/ref 的相对航向角 ∆φ 以及与路径的横向偏差 e 描述。提出的神经 SDE 模型由以下公式给出:
其中,先验知识来自矩阵 Mθ (·, ·),该矩阵取决于车辆参数,例如质量 mθ、横摆转动距 I/zθ、驱动链转动惯量 I/wθ、轮胎半径 Rθ 以及重心到前轴和后轴的距离 aθ 和 bθ。控制输入 u = [δ, τe ] 分别是转向角和发动机扭矩。状态 x = [r, V, β, ωr, e, ∆φ, s] 包括横摆率 r、速度 V、侧滑角 β、后轮速度 ωr、横向误差 e 和角度偏差 ∆φ。最后,Fθ = [Fθ/xf , Fθ/yf, Fθ/xr, Fθ/yr] 表示车辆和道路之间的轮胎力。 这些未知的轮胎力 F^θ 是通过状态和控制输入的函数来学习的。
对轮胎与不确定路面之间的动态相互作用进行建模,对于在操控极限下准确控制车辆至关重要。为此,将neural-ExpTanh 轮胎模型 [15] 的一个版本整合到神经 SDE 模型中,这是一个基于物理的神经轮胎模型,可以捕捉轮胎力的非线性和饱和效应,并且已被证明比文献中使用的先前模型更好地预测轮胎力。
自动漂移的MPC模型。在执行器和执行器速率约束下,通过在每个时间 t 求解如下优化问题,MPC 可以跟踪参考轨迹:
SDESolve 是任何可微分的 SDE 积分方案,在例子中是一个简单的欧拉-丸山(Euler–Maruyama)方法,使用算法 2 找到的最佳参数 θ/best 进行参数化。因此,状态 x/1:H+1 是随机变量,并且 (9a) 中的期望使用蒙特卡洛进行评估。在实验中使用 2 个粒子。系统由 ut = u/0^* 驱动,其中 u/0^* 是 (9) 的最优解,受 x0 = xt 约束。
利用两辆车总共 84 条手动的和自动驾驶和漂移的轨迹训练扩散模型。每条轨迹的持续时间在 10 到 90 秒之间。它由 5 条手动驾驶轨迹组成,将汽车推向操控极限,而其余轨迹则是自动漂移实验,包括失败和成功的尝试。数据集包括不同档位的驾驶数据(影响油门输入的有效性)和使用具有不同物理特性的轮胎(影响车辆的动力学和转向输入有效性)。数据集的组成总结如图所示。
实验中将框架部署在丰田 Supra 和雷克萨斯 LC500 上。Supra 是一款原型车,经过大量改装后成为自动漂移平台,而雷克萨斯是 2019 年商用 LC500,其动力系统、传动系统和悬架未经经销商改装。Supra 经过改装,配备 3L inline 六缸发动机,可输出 380 马力。该发动机配备了升级版涡轮增压器,可额外提供 300 马力,总功率为 680 马力。转向系统配备液压助力和电动助力的转向,提供高性能线控转向能力,扭矩高达 56.7Nm。该车辆还经过改装,提供线控刹车和线控油门功能。这些改装使该平台非常适合(自动)方程式漂移(Formula drift),因为它们可以精确快速地控制车辆的动态。另一方面,雷克萨斯的执行器性能较低,并非设计用于漂移车辆。最终,这两个平台具有完全不同的动态,这使得它们成为评估方法稳健性和泛化能力的理想选择。
用 Oxford Technical Systems (OxTS) RT4003 v2 RTK-GPS/IMU 系统对两辆车进行定位和车辆状态估计。MPC 控制器在安装在车辆上 Intel Xeon E-2278GE(基频 3.30GHz)CPU Linux 计算机上实现。计算机与 dSpace MicroAutoBoxII (DS1401) 上实现的低级 PID 控制器通信,以跟踪所需的转向角 δ 和发动机扭矩 τe。MicroAutoBoxII 通过 UDP 从 MPC 控制器接收命令,并将执行器命令发送到原始设备制造商的转向和发动机电子控制单元。所有数据均已同步并以雷克萨斯 62.5Hz 和 Supra 100Hz 的频率记录。
训练数据集包含两辆车在闭合回路上的手动和自动驾驶和漂移轨迹。该数据集总共包含 84 条轨迹,每条轨迹的持续时间在 10 到 90 秒之间。它有 5 条轨迹是从手动驾驶中收集的,目的是将汽车推到操控极限,而不计划任何特定的路径跟踪操作。其余轨迹来自自动漂移实验,其中 28 条来自 Supra,其余来自雷克萨斯。Supra 数据集包含在第一档执行甜甜圈动作和在第二档执行 8 字形动作的失败和成功尝试。雷克萨斯数据集包含在第一档执行甜甜圈动作的尝试以及非常有限(全部失败)的第一档“8 字形”动作尝试。雷克萨斯的训练数据集中没有提供二档漂移轨迹。此外,雷克萨斯的 7% 轨迹是使用Tire 2 收集的,而其余数据集使用的是Tire 3。两组轮胎之间的一个显着差异是它们的侧偏刚度,这使得两组轮胎之间的漂移启动策略和轮胎动力学不同。
在上述训练数据集中增加 7 条额外的漂移轨迹,这些轨迹是在湿滑的赛道上用与雷克萨斯 LC500 相同的车辆收集的。其中 3 条轨迹是手动收集的,其余 4 条是自动收集的。自动轨迹是仅在环形轨迹上使用二档漂移操作收集的。尽管轨迹数量有限且仅限于二档漂移,但在该数据集上训练的扩散模型可以推广到大雨中一档甜甜圈轨迹的漂移中。
标签:轨迹,SDE,模型,极限,参数,扩散,漂移 From: https://blog.csdn.net/yorkhunter/article/details/143659546