论文笔记(五十二)Transformer-Based Model Predictive Control: Trajectory Optimization via Sequence Modeling

文章概括

引用:

@article{
    
    celestini2024transformer,
  title={
    
    Transformer-based Model Predictive Control: Trajectory Optimization via Sequence Modeling},
  author={
    
    Celestini, Davide and Gammelli, Daniele and Guffanti, Tommaso and D'Amico, Simone and Capello, Elisa and Pavone, Marco},
  journal={
    
    IEEE Robotics and Automation Letters},
  year={
    
    2024},
  publisher={
    
    IEEE}
}
Celestini, D., Gammelli, D., Guffanti, T., D'Amico, S., Capello, E. and Pavone, M., 2024. Transformer-based Model Predictive Control: Trajectory Optimization via Sequence Modeling. IEEE Robotics and Automation Letters.

原文:https://ieeexplore.ieee.org/abstract/document/10685132
代码、数据和视频:


系列文章:
请在 《 《 文章 》 》 专栏中查找


摘要

模型预测控制(MPC)已经成为受限控制的主要方法论,使通用机器人在各种真实世界场景中实现自主性。然而,对于大多数感兴趣的问题,MPC 依赖于递归解决高度非凸的轨迹优化问题,导致计算复杂度高且严重依赖于初始化。在这项工作中,我们提出了一个统一框架,将基于优化的方法和基于学习的方法的主要优势结合用于MPC。我们的方法包括在轨迹生成的优化过程中嵌入高容量的基于变压器的神经网络模型,其中变压器提供一个近乎最优的初始猜测或目标计划,以解决非凸优化问题。我们在仿真中以及实际世界中的自由飞行平台上进行的实验,展示了我们的框架改进MPC收敛性和运行时间的能力。与纯粹基于优化的方法相比,结果显示我们的方法可以将轨迹生成性能提高高达75%,减少求解器迭代次数高达45%,并在不损失性能的情况下将整体MPC运行时间提高7倍。

索引术语:优化和最优控制,深度学习方法,机器人控制的机器学习。


I. 介绍

轨迹生成对于实现可靠的机器人自主性至关重要,赋予自主系统同时满足约束并优化任务目标的状态和控制轨迹的能力。因此,轨迹生成问题已在许多实际领域中得到了表述,包括空间和航空器[2]、[3]、机器人运动规划[4]、化学过程[5]等。关键的是,能够实时解决轨迹生成问题对于安全地在现实世界场景中操作至关重要,允许自主系统基于最新信息快速重新计算最优计划。

受其广泛应用的启发,存在一系列高效的轨迹生成问题解决策略。例如,数值优化提供了一个系统的数学框架,用于将任务目标指定为成本或奖励,并通过约束来强制执行状态和控制规范[6]。然而,对于大多数感兴趣的问题,轨迹优化问题几乎总是非凸的,导致计算复杂性高,依赖于初始化强,并且无法保证获得解决方案或证明解决方案不存在的[7]。以上限制在模型预测控制(MPC)公式中进一步加剧,其中需要反复且实时解决轨迹生成问题,因为任务不断发展,对计算时间要求很高。此外,MPC公式通常需要通过手工试错定义临时约束和成本条款,例如,以实现递归可行性或表现出与完整轨迹生成问题一致的短期行为。

除了基于数值优化的方法,机器学习(ML)的最新进展激发了将基于学习的方法应用于轨迹生成问题的兴趣[8]。ML方法通常具有很高的计算效率,并且可以针对来自高维数据(例如,图像)的(潜在的非凸的)性能指标进行优化。然而,基于学习的方法通常以不可预测的方式对分布变化敏感,而基于优化的方法则更容易在鲁棒性和超出分布行为方面进行表征。此外,ML方法通常在这些问题上表现较差,因为它们的高维动作空间增加了方差,例如,在策略梯度算法[9]、[10]中。因此,基于学习的方法在安全关键应用中的实际部署到目前为止受到了限制。

在这项工作中,我们提出了一个框架,利用优化和基于学习的方法的特定优势,用于轨迹生成,特别是针对MPC公式(图1)。通过扩展[1]中引入的框架,我们提出了一种预训练加精调策略,训练变压器生成近乎最优的状态和控制序列,并展示如何(i)用近乎最优的初始猜测启动优化,提高性能并加快收敛速度,以及(ii)为MPC公式中的短期问题提供长期指导,避免优化过程中昂贵的成本条款或约束调整。关键地,我们展示了提出的精调方案如何显著提高由闭环执行引起的分布变化的鲁棒性,并如何通过在MPC公式中注入基于学习的指导,显著降低由于规划范围减小而导致的性能损失,使得在不牺牲性能的情况下解决更小的优化问题成为可能。

贡献有三方面:

  1. 我们提出了一个框架,将离线学习和在线优化的优势结合起来,用于MPC公式中的高效轨迹生成。
  2. 我们在框架内调查设计和学习策略,评估精调对MPC执行的影响以及学习终端成本定义的好处,以减轻短期MPC公式中固有的近视。
  3. 通过在模拟中(即航天器会合和四旋翼控制)以及实际世界机器人平台(即自由飞行器测试台)进行的实验,假设完美的状态和场景估计,我们展示了我们的框架如何显著提高现成的轨迹优化方法的性能,从成本、运行时间和收敛率方面,证明其在非线性动态和约束的现实世界场景中的适用性。

在这里插入图片描述图1. 我们提出了一个框架,将高容量序列模型与优化结合用于MPC。核心思想是训练一个变压器模型生成接近最优的轨迹(顶部),这些轨迹可以用来在推断时为最优控制问题(OCP)提供热启动(底部)。我们利用在[1]中介绍的方法作为预训练步骤,其中一个变压器在预收集的(开环)轨迹数据(左上)上进行训练,以为完整的OCP提供一个初始猜测(左下)。为了有效的MPC,我们通过闭环修正(红色)对模型进行微调(右上),并用它来为OCP提供一个初始猜测以及一个目标状态,以在短视问题中近似未来的成本(右下)。


II. 相关工作

我们的工作与之前结合学习和优化进行控制的方法密切相关[11]、[12]、[13],这些方法利用高容量神经网络进行控制[14]、[15]、[16],以及为非线性优化问题提供热启动的方法[1]、[17]、[18]、[19],提供了一种训练通用轨迹生成模型的方法,这些模型指导内部优化问题的解决方案。

已经开发了许多策略,通过利用优化为基础的规划作为内部组件来学习控制。例如,之前的工作集中于开发层次化的表述,其中一个高层(基于学习的)模块为低层规划器生成类似路径点的表示,例如基于采样的搜索[11]、轨迹优化[13]或基于模型的规划[12]。在这种情况下,基于学习的组件通常通过(在线)强化学习或模仿神谕指导算法来训练。另一种策略包括直接通过内部控制器进行优化。大量的工作集中于利用(凸)优化问题在固定点的精确解的梯度[20]、[21],允许内部优化被用作可微计算图中的通用组件(例如神经网络)。与此相反,我们的方法针对非凸问题,并利用基于学习的模块的输出作为未修改的轨迹优化问题的输入。这简化了非凸轨迹规划,避免了由中间问题表述引起的潜在错位,这些表述不一定与下游任务相关(例如,在价值函数学习中的固定点迭代)。

我们的方法与最近利用高容量生成模型进行控制的工作密切相关。例如,之前的工作展示了如何通过在预收集的轨迹数据上通过监督学习训练的变压器[14]、[15]和扩散模型[16]来进行无模型反馈控制[14]或(离散的)基于模型的规划[15]。这些方法有两个主要缺点:(i)它们通常忽略了非平凡的状态依赖约束,这在实践中既极其常见又对纯基于学习的方法具有挑战性;(ii)它们没有利用系统设计者通常包括的系统动力学的近似知识。如[1]中所述,我们的方法通过(i)利用在线轨迹优化来强制执行非平凡约束的满足,以及(ii)采用基于模型的视角来进行基于变压器的轨迹生成,并利用系统动力学的现成近似来改善自回归生成,从而缓解了这两个缺点。

最后,之前的工作探索了使用机器学习来热启动优化问题的解决方案。虽然从原理上讲,热启动优化求解器的概念是有吸引力的,但当前的方法通常(i)受到ML模型输出表述选择的限制(例如,固定度的多项式)[17]、[18],(ii)限于开环规划设置[1],因此忽略了由闭环执行[22](例如,模型不匹配、随机性等)引起的分布偏移的影响,以及(iii)仅限于线性约束[19]。为了解决这些限制,我们提出了[1]的扩展和修订版本,其中我们(i)基于以前的工作并使用变压器网络进行有效的轨迹建模,(ii)引入预训练加微调学习策略以最大化闭环性能,(iii)开发MPC公式,使变压器能够为短期问题提供长期指导,以及(iv)增强轨迹表述和变压器架构以处理以目标状态为条件。我们充分利用了变压器在递减视界控制公式中的自回归生成能力,使同一模型可以用于不同的计划视界规范。


III. 问题陈述

我们考虑一个时间离散的最优控制问题(OCP):

min ⁡ x ( t i ) , u ( t i ) imize J = ∑ i = 1 N J ( x ( t i ) , u ( t i ) ) (1a) \min\limits_{\text{x}(t_i), \text{u}(t_i)} \text{imize}\quad \mathcal{J}= \sum_{i=1}^{N} J(\text{x}(t_i), \text{u}(t_i)) \tag{1a} x(ti),u(ti)minimizeJ=i=1NJ(x(ti),u(ti))(1a)

subject to x ( t i + 1 ) = f ( x ( t i ) , u ( t i ) ) ∀ i ∈ [ 1 , N ] (1b) \text{subject to} \quad \text{x}(t_{i+1}) = \text{f}(\text{x}(t_i), \text{u}(t_i)) \forall i \in [1, N] \tag{1b} subject tox(ti+1)=f(x(ti),u(ti))i[1,N](1b)
x ( t i ) ∈ X t i , u ( t i ) ∈ U t i ∀ i ∈ [ 1 , N ] (1c) \text{x}(t_i) \in \mathcal{X}_{t_i}, \quad \text{u}(t_i) \in \mathcal{U}_{t_i} \forall i \in [1, N] \tag{1c} x(ti)Xti,u(ti)Utii[1,N](1c)

其中, x ( t i ) ∈ R n x \text{x}(t_i) \in \mathbb{R}^{n_x} x(ti)Rnx u ( t i ) ∈ R n u \text{u}(t_i) \in \mathbb{R}^{n_u} u(ti)Rnu 分别是 n x n_x nx 维的状态向量和 n u n_u nu 维的控制向量。函数 J : R n x + n u → R J: \mathbb{R}^{n_x+n_u} \rightarrow \mathbb{R} J:Rnx+nuR 定义了运行成本,函数 f : R n x + n u → R n x \text{f}: \mathbb{R}^{n_x+n_u} \rightarrow \mathbb{R}^{n_x} f:Rnx+nuRnx 表示系统动力学, X t i \mathcal{X}_{t_i} Xti U t i \mathcal{U}_{t_i} Uti 是通用的状态和控制约束集, N ∈ N N \in \mathbb{N} NN 定义了整个 OCP 时间范围 T T T 内的离散时间瞬间 t i t_i ti 的数量。

特别地,我们考虑了问题(1)的滚动视野重构形式,通过递归解决一个特征为移动(通常是较短)视野 H = [ h , h + H ] ⊆ [ 1 , N ] H=[h, h + H] \subseteq [1, N] H=[h,h+H][1,N] 的最优控制问题(OCP),其中 h h h 是移动的初始时间步, H ∈ ( 0 , N ] \mathcal{H} \in (0, N] H(0,N] 是视野的长度。为了确保从一系列短视野问题的解决方案中获得理想的长视野行为,模型预测控制(MPC)公式通常需要定义终端成本 J T J_\text{T} JT 或约束集 X h + H \mathcal{X}_{h+H} Xh+H。具体来说,我们将考虑以下形式的成本函数:

这个公式表示的是:

J = J T ( x ( t h + H ) ) + ∑ i = h h + H − 1 J ( x ( t i ) , u ( t i ) ) , (2) \mathcal{J} = J_\text{T}(\text{x}(t_{h+H})) + \sum_{i=h}^{h+H-1} J(\text{x}(t_i), \text{u}(t_i)), \tag{2} J=JT(x(th+H))+i=hh+H1J(x(ti),u(ti)),(2)

其中, J \mathcal{J} J 是整个路径规划期间的总成本, J T J_\text{T} JT
是在终点的终端成本函数, x ( t h + H ) \text{x}(t_{h+H}) x(th+H) 是在时间 h + H h+H h+H 的状态, J ( x ( t i ) , u ( t i ) ) J(\text{x}(t_i), \text{u}(t_i)) J(x(ti),u(ti)) 是在每一时间步 i i i 的成本函数, x ( t i ) \text{x}(t_i) x(ti) 是在时间 i i i 的状态,而 u ( t i ) \text{u}(t_i) u(ti) 是在时间 i i i 的控制输入。这个公式是用于计算从时间步 h h h 开始,长度为 H H H 的视野中的总成本。

其中,运行成本 J J J 仅在 H \mathcal{H} H 的范围内进行评估,而 J T : R n x → R J_\text{T} : \mathbb{R}^{n_x} \rightarrow \mathbb{R} JT:RnxR 是终端成本函数。

在这项工作中,我们探索了解决问题(2)的方法,通过将高容量神经网络模型整合到轨迹生成的优化过程中,明确针对闭环性能进行了定制。


IV. 通过序列建模优化轨迹

我们考虑了一种轨迹生成策略,其中状态序列 X = ( x 1 , . . . , x N ) \text{X}=(\text{x}_1, ..., \text{x}_N) X=(x1,...,xN) 和控制序列 U = ( u 1 , . . . , u N ) \text{U}=(\text{u}_1, ..., \text{u}_N) U=(u1,...,uN) 是通过两个组件的组合得到的,

  1. 对于预测的状态和控制序列:
    ( X ^ , U ^ ) ∼ p θ ( X , U ∣ σ 0 ) (3) (\hat{\text{X}}, \hat{\text{U}}) \sim p_θ(\text{X}, \text{U} \mid \sigma_0) \tag{3} (X^,U^)pθ(X,Uσ0)(3)

  2. 对于最终的状态和控制序列:
    ( X , U ) = Opt ( x ( t 1 ) , X ^ , U ^ ) , (4) (\text{X}, \text{U}) = \text{Opt}(\text{x}(t_1), \hat{\text{X}}, \hat{\text{U}}), \tag{4} (X,U)=Opt(x(t1),X^,U^),(4)

这里 ∼ \sim 表示“服从于”, p θ p_θ pθ 是某个参数化的概率分布,而 Opt \text{Opt} Opt 是指用某种优化算法求解的过程。

  • 公式 (3) 表示预测的状态和控制序列 ( X ^ , U ^ ) (\hat{\text{X}}, \hat{\text{U}}) (X^,U^) 是依据概率分布 p θ p_θ pθ 从给定的 ( X , U ) (\text{X}, \text{U}) (X,U) 和参数 σ 0 \sigma_0 σ0 中采样得到的。
  • 公式 (4) 表示真实的状态和控制序列 ( X , U ) (\text{X}, \text{U}) (X,U) 是通过优化函数 Opt,基于初始状态 x ( t 1 ) \text{x}(t_1) x(t1) 和预测的序列 ( X ^ , U ^ ) (\hat{\text{X}}, \hat{\text{U}}) (X^,U^) 来计算得出的。

其中, p θ ( ⋅ ) p_{\theta}(\cdot) pθ() 表示在初始条件 σ 0 \sigma_0 σ0 给定的情况下,由参数为 θ \theta θ 的 transformer 模型学习到的轨迹的条件概率分布,Opt 表示轨迹优化问题, X ^ \hat{\text{X}} X^ U ^ \hat{\text{U}} U^ 表示作为优化问题输入的预测(状态和控制)轨迹。初始条件 σ 0 \sigma_0 σ0 用于指导轨迹生成,例如可以是初始状态 x ( t 1 ) \text{x}(t_1) x(t1),到轨迹末尾要达到的目标状态 x ( t N ) \text{x}(t_N) x(tN),或者其他与性能相关的参数。在本节中,我们将首先深入探讨用于序列建模的轨迹表示细节。然后,我们将讨论该方法的开环预训练和 MPC 微调的实现形式,并介绍适用于开环规划和 MPC 的具体推理算法。

A. 轨迹表示

在我们的方法中,轨迹数据被视为一个序列,由变换器模型进行建模[1]。具体来说,给定一个预先收集的轨迹数据集,形式为 τ raw = ( x 1 , u 1 , r 1 , … , x N , u N , r N ) \tau_{\text{raw}} = (\text{x}_1, \text{u}_1, r_1, \ldots, \text{x}_N, \text{u}_N, r_N) τraw=(x1,u1,r1,,xN,uN,rN),其中 x i \text{x}_i xi u i \text{u}_i ui 分别表示时间 t i t_i ti 的状态和控制, r i = − J ( x ( t i ) , u ( t i ) ) r_i = -J(\text{x}(t_i), \text{u}(t_i)) ri=J(x(ti),u(ti)) 是瞬时奖励或负成本,我们定义了以下轨迹表示:

τ = ( T 1 , R 1 , C 1 , x 1 , u 1 , … , T N , R N , C N , x N , u N ) , (5) \tau = (\mathcal{T}_1, \mathcal{R}_1, \mathcal{C}_1, \text{x}_1, \text{u}_1, \ldots, \mathcal{T}_N, \mathcal{R}_N, \mathcal{C}_N, \text{x}_N, \text{u}_N), \tag{5} τ=(T1,R1,C1,x1,u1,,TN,RN,CN,xN,uN),(5)

这表示一个轨迹向量 τ \tau τ,由目标状态( T i \mathcal{T}_i Ti)、出发奖励( R i \mathcal{R}_i Ri)、违反约束预算( C i \mathcal{C}_i Ci)、状态( x i \text{x}_i xi)和控制( u i \text{u}_i ui)的序列组成,每个时间步从 1 到 N N N

其中 T i ∈ R n x \mathcal{T}_i \in \mathbb{R}^{n_x} TiRnx R i ∈ R \mathcal{R}_i \in \mathbb{R} RiR C i ∈ N + \mathcal{C}_i \in \mathbb{N}^+ CiN+ 表示一组用于有效轨迹生成的性能参数。具体来说,我们定义 T i \mathcal{T}_i Ti 为目标状态,即我们希望在轨迹结束时达到的状态,这可能在整个轨迹中保持不变或是时间依赖的。我们进一步定义 R i \mathcal{R}_i Ri C i \mathcal{C}_i Ci 分别为在时间 t i t_i ti 的预期奖励和约束违反预算。正式地,如文献 [1] 中所述,我们定义 R i \mathcal{R}_i Ri C i \mathcal{C}_i Ci 来表达轨迹的未来最优性和可行性:

这个公式定义了在时间 t i t_i ti的累计奖励 R ( t i ) \mathcal{R}(t_i) R(ti)和累计约束违规 C ( t i ) \mathcal{C}(t_i) C(ti)如下:

R ( t i ) = ∑ j = i N r j , C ( t i ) = ∑ j = i N C j , \mathcal{R}(t_i) = \sum_{j=i}^{N} r_j, \quad \mathcal{C}(t_i) = \sum_{j=i}^{N} \mathbf{C}_j, R(ti)=j=iNrj,C(ti)=j=iNCj,

C j = { 1 , if  ∃   ( there exists )   x j , u j ∉ X i , U j 0 , otherwise . (6) \mathbf{C}_j = \begin{cases} 1, & \text{if} \ \exists\ (\text{there exists})\ \text{x}_j, \text{u}_j \notin \mathcal{X}_i, \mathcal{U}_j \\ 0, & \text{otherwise}. \end{cases} \tag{6} Cj={ 1,0,if  (there exists) xj,uj/Xi,Ujotherwise.(6)

其中, C j C_j Cj的定义为:

C j = { 1 , 如果存在    x j , u j    不符合    X i , U j 0 , 否则 \mathbf{C}_j = \begin{cases} 1, & \text{如果存在} \; \text{x}_j, \text{u}_j \; \text{不符合} \; \mathcal{X}_i, \mathcal{U}_j\\ 0, & \text{否则} \end{cases} Cj={ 1,0,如果存在xj,uj不符合Xi,Uj否则

这个公式用于计算从时间 t i t_i ti开始到轨迹结束的所有奖励的总和和所有约束违规的总和。这样可以在轨迹优化问题中考虑未来的优化性和可行性。

这种定义性能参数的方式具有两个优点:(i) 在训练期间,性能参数可以通过应用方程(6)从原始轨迹数据中简单推导出来,用于计算 R i \mathcal{R}_i Ri C i \mathcal{C}_i Ci,并设置 T i = x N \mathcal{T}_i = \text{x}_N Ti=xN;(ii) 在推断时,根据方程(3),它允许通过用户定义的初始条件 σ 0 \sigma_0 σ0来引导预测状态和控制轨迹 X ^ \hat{\text{X}} X^ U ^ \hat{\text{U}} U^的生成。具体来说,给定用户定义的 σ 0 = ( T 1 , R 1 , C 1 , x 1 ) \sigma_0 = (\mathcal{T}_1, \mathcal{R}_1, \mathcal{C}_1, \text{x}_1) σ0=(T1,R1,C1,x1),一个训练成功的变压器模型应能够生成一个从 x ( t 1 ) \text{x}(t_1) x(t1)开始的轨迹 ( X ^ , U ^ ) (\hat{\text{X}}, \hat{\text{U}}) (X^,U^),这个轨迹实现 R 1 \mathcal{R}_1 R1的奖励, C 1 \mathcal{C}_1 C1的约束违反,并最终达到状态 T 1 \mathcal{T}_1 T1

B. 开环预培训

在接下来的部分,我们将介绍用于获取能够在开环设置中生成接近最优轨迹 X ^ = ( x ^ 1 , . . . , x ^ N ) , U ^ = ( u ^ 1 , . . . , u ^ N ) \hat{\text{X}} = (\hat{\text{x}}_1, . . ., \hat{\text{x}}_N), \hat{\text{U}} = (\hat{\text{u}}_1, . . ., \hat{\text{u}}_N) X^=(x^1,...,x^N),U^=(u^1,...,u^N) 的变压器模型的预训练策略。

数据集生成: 第一步是生成一个有效的变压器训练数据集。为此,我们通过重复解决问题(1)并随机化初始条件和目标状态,然后根据(5)重新排列原始轨迹,来生成 N D N_D ND 轨迹。我们构建的数据集包括问题(1)的解决方案以及它的放松方案的解决方案。我们观察到,可用轨迹的多样性对于使变压器学习性能指标的影响至关重要;例如,问题(1)的放松方案的解通常会产生成本低且约束违规非零(即高 R \mathcal{R} R C \mathcal{C} C > > > 0 0 0)的轨迹,而问题(1)的直接解则会表现出更高的成本和零约束违规(即较低的 R \mathcal{R} R C \mathcal{C} C = = = 0 0 0),使得变压器能够从性能参数的规格中学习广泛的行为。

在此部分中,"数据集生成"描述的是为变压器模型训练准备和构建数据集的过程,旨在通过生成多样化的轨迹数据来训练模型。这个步骤涉及以下关键组成部分:

  1. 生成轨迹:通过重复解决给定的优化控制问题(OCP),并在每次解决时随机化初始条件和目标状态,生成多条轨迹。这种方法确保了生成的轨迹数据集覆盖广泛的初始条件和目标状态,从而提高模型的泛化能力。

  2. 轨迹重排:根据公式(5)的定义,对原始轨迹数据进行重新排列和格式化,使其适合于变压器模型的训练。这可能涉及到选择特定的轨迹特征或重新格式化数据以适应模型的输入需求。

  3. 包括放松的问题解:数据集不仅包括直接解决优化问题的轨迹,还包括所谓的“放松”问题的解决方案。在放松问题中,某些约束可能被减轻或修改,这允许模型探索在不同约束条件下的解决方案行为。

  4. 轨迹多样性的重要性:生成的数据集必须具有高度多样性,以确保模型可以学习在不同性能指标(如成本和约束违规)下的行为。例如,放松问题的解可能具有低成本和非零的约束违规,而直接问题的解通常成本更高但约束完全满足。这种多样性是关键,因为它使模型能够学习如何在广泛的条件下生成有效的轨迹,包括那些可能在实际应用中遇到的极端或不寻常的情况。

训练: 我们使用标准的教师强制过程来训练变压器,该过程用于训练序列模型。具体来说,表示为 L2-范数的 ∣ ∣ ⋅ ∣ ∣ 2 || \cdot ||_2 ∣∣2,我们优化以下均方误差(MSE)损失函数:

L ( τ ) = ∑ n = 1 N D ∑ i = 1 N ( ∥ x i ( n ) − x ^ i ( n ) ∥ 2 2 + ∥ u i ( n ) − u ^ i ( n ) ∥ 2 2 ) , (7) \mathcal{L}(\tau) = \sum_{n=1}^{N_D} \sum_{i=1}^N \left( \| \text{x}_i^{(n)} - \hat{\text{x}}_i^{(n)} \|_2^2 + \| \text{u}_i^{(n)} - \hat{\text{u}}_i^{(n)} \|_2^2 \right), \tag{7} L(τ)=n=1NDi=1N(xi(n)x^i(n)22+ui(n)u^i(n)22),(7)

其中, N D N_D ND 是数据集中轨迹的数量, N N N 是每条轨迹中的时间步数, x i ( n ) \text{x}_i^{(n)} xi(n) u i ( n ) \text{u}_i^{(n)} ui(n) 分别表示第 n n n 条轨迹在时间步 i i i 的状态和控制向量, x ^ i ( n ) \hat{\text{x}}_i^{(n)} x^i(n) u ^ i ( n ) \hat{\text{u}}_i^{(n)} u^i(n) 表示预测的状态和控制向量。


公式 (7) 定义了在训练变压器模型时使用的均方误差 (MSE) 损失函数,用于优化预测的状态和控制序列与真实数据之间的误差。这里的 L ( τ ) \mathcal{L}(\tau) L(τ) 表示整个数据集上的损失,是对每个轨迹的每个时间步的状态和控制向量的预测误差的累积。具体来说:

  • N D N_D ND 是数据集中轨迹的总数。
  • N N N 是每条轨迹的时间步数。
  • ∥ ⋅ ∥ 2 \|\cdot\|_2 2 表示 L2 范数,用于计算向量之间的欧几里得距离。
  • x i ( n ) \text{x}_i^{(n)} xi(n) u i ( n ) \text{u}_i^{(n)} ui(n) 分别代表第 n n n 条轨迹的第 i i i 个时间步的实际状态和控制向量。
  • x ^ i ( n ) \hat{\text{x}}_i^{(n)} x^i(n) u ^ i ( n ) \hat{\text{u}}_i^{(n)} u^i(n) 分别是相应的预测状态和控制向量。

该损失函数的目的是通过最小化预测序列和真实序列之间的误差,来优化模型的参数,从而提高轨迹预测的精度。通过这种方式,模型可以更准确地生成符合系统动态和控制要求的状态和控制序列。

这里, n n n 代表数据集中的第 n n n 条轨迹样本, x ^ i ( n ) ∼ p θ ( x i ( n ) ∣ τ < t i ( n ) ) \hat{\text{x}}_i^{(n)} \sim p_\theta(\text{x}_i^{(n)} | \tau_{<t_i}^{(n)}) x^i(n)pθ(xi(n)τ<ti(n)) u ^ i ( n ) ∼ p θ ( u i ( n ) ∣ τ < t i ( n ) , x i ( n ) ) \hat{\text{u}}_i^{(n)} \sim p_\theta(\text{u}_i^{(n)} | \tau_{<t_i}^{(n)}, \text{x}_i^{(n)}) u^i(n)pθ(ui(n)τ<ti(n),xi(n)) 分别是状态向量和控制向量的单步预测。这里我们使用 τ < t i \tau_{<t_i} τ<ti 来表示时间步在 [ t 1 , t i − 1 ] [t_1, t_{i-1}] [t1,ti1] 范围内的轨迹。

推理: 一旦训练完成,变压器就可以用来 自回归地生成开环轨迹,即 ( X ^ , U ^ ) ∼ p θ ( X , U ∣ σ 0 ) (\hat{\text{X}}, \hat{\text{U}}) \sim p_\theta(\text{X}, \text{U} | \sigma_0) (X^,U^)pθ(X,Uσ0),从给定的初始条件 σ 0 = ( T 1 , R 1 , C 1 , x 1 ) \sigma_0 = (\mathcal{T}_1, \mathcal{R}_1, \mathcal{C}_1, \text{x}_1) σ0=(T1,R1,C1,x1) 开始,该初始条件编码了初始状态、目标状态和所需的性能指标。给定 σ 0 \sigma_0 σ0,自回归生成过程定义如下:(i) 变压器生成一个控制输入 u 1 \text{u}_1 u1,(ii) 依据 [1] 的发现,我们采用基于模型的视角来进行自回归生成,其中下一个状态 x 2 \text{x}_2 x2 是根据一个(已知的)近似动态模型 f ^ ( x , u ) \hat{f}(\text{x}, \text{u}) f^(x,u) 生成的——这是我们调查的问题设置中的一个合理假设,(iii) 性能指标通过减去即时奖励 r 1 r_1 r1 和约束违规 C ( t 1 ) \mathbf{C}(t_1) C(t1) 来更新奖励剩余 R 1 \mathcal{R}_1 R1 和约束违规预算 C 1 \mathcal{C}_1 C1,(iv) 目标状态 T 1 \mathcal{T}_1 T1 要么保持不变,要么更新为新的目标状态,(v) 重复前四步,直到达到预定的时间范围。为了指定性能参数,我们选择 R 1 \mathcal{R}_1 R1 作为最优成本的(负的)量化下界, C 1 = 0 \mathcal{C}_1 = 0 C1=0,激励生成接近最优且可行的轨迹。

C. 模型预测控制的长期指导

我们方法的核心依赖于利用序列模型中的递归计算来实现有效的模型预测控制。具体来说,给定一个规划时域 H H H,我们对变压器进行微调,以生成轨迹 X ^ h : h + H = ( x ^ h , . . . , x ^ h + H ) \hat{\text{X}}_{h:h+H} = (\hat{\text{x}}_h,..., \hat{\text{x}}_{h+H}) X^h:h+H=(x^h,...,x^h+H) U ^ h : h + H = ( u ^ h , . . . , u ^ h + H ) \hat{\text{U}}_{h:h+H} = (\hat{\text{u}}_h,..., \hat{\text{u}}_{h+H}) U^h:h+H=(u^h,...,u^h+H)。在我们的公式中,生成的轨迹用来为轨迹优化问题提供热启动,就像在开环规划场景中一样,但更重要的是,用来指定有效的终端成本 J T J_\text{T} JT。因此,我们使用变压器来 (i) 通过使解决较小的优化问题成为可能来提高运行时间,以及 (ii) 定义学习的终端成本项,并避免昂贵的成本调整策略。

闭环微调: 与其在MPC设置中盲目应用在开环数据上训练的变压器,我们设计了一个微调方案来实现有效的闭环行为。众所周知,基于模仿学习的方法在闭环应用时容易出现严重的错误累积 [22]。这种错误累积的主要原因是协变量偏移问题,即实际的策略性能取决于它自己的状态分布,而训练性能仅受到专家的状态分布(即用于生成数据的策略)的影响。为解决这个问题,我们采用迭代算法,即DAGGER [23],在这个算法中,当前策略与训练环境交互以收集轨迹数据,并根据专家的纠正来定义一个新的训练数据集。在我们的框架中,我们在模拟中根据用于预训练的同一个近似模型 f ^ ( x , u ) \hat{f}(\text{x}, \text{u}) f^(x,u) 对变压器进行微调,因此状态分布的变化仅源于开环和闭环成本函数之间的差异——见(1a)与(2)。我们的定制 DAGGER 算法根据三个主要设计选择定义(算法 1)。首先,为了激励变压器学习全时域 OCP 的最优解,我们将专家策略定义为全时域问题(1)的解决方案。其次,为了促进在各种规划时域 H H H 上的成功泛化,我们从一个均匀跨越短期至全时域问题公式的离散集合中随机抽取探索策略参数 H H H。第三,如 DAGGER 实施通常的做法,我们在两种探索策略之间交替:上一个 DAGGER 迭代的变压器和专家策略。注意,从头开始使用 DAGGER 会降低探索的效率并增加陷入局部最优策略的风险。


在这里插入图片描述


推理:微调之后,我们使用变压器根据在开环情景中定义的相同五步骤过程生成轨迹 ( X ^ h : h + H , U ^ h : h + H ) ∼ p θ ( X h : h + H , U h : h + H ∣ τ < h ) (\hat{\text{X}}_{h:h+H}, \hat{\text{U}}_{h:h+H}) \sim p_\theta(\text{X}_{h:h+H}, \text{U}_{h:h+H} | \tau_{<h}) (X^h:h+H,U^h:h+H)pθ(Xh:h+H,Uh:h+Hτ<h),其中自回归生成在 H H H 步骤中执行,而不是对整个 OCP 水平 N N N。我们进一步使用生成的轨迹来(i)为短水平 OCP 提供热启动,以及(ii)定义以下形式的成本函数:

J = J T ( x ( t h + H ) , x ^ ( t h + H ) ) + ∑ i = h h + H J ( x ( t i ) , u ( t i ) ) , (8) \mathcal{J} = J_\text{T}(\text{x}(t_{h+H}), \hat{\text{x}}(t_{h+H})) + \sum_{i=h}^{h+H} J(\text{x}(t_i), \text{u}(t_i)), \tag{8} J=JT(x(th+H),x^(th+H))+i=hh+HJ(x(ti),u(ti)),(8)

其中 J T ( x h + H , x ^ h + H ) J_\text{T}(\text{x}_{h+H}, \hat{\text{x}}_{h+H}) JT(xh+H,x^h+H) 是一个距离度量,用于惩罚与预测终端状态的偏差,从而激励生成的解决方案更好地与长期问题对齐。

其中函数 J T ( x h + H , x ^ h + H ) J_\text{T}(\text{x}_{h+H}, \hat{\text{x}}_{h+H}) JT(xh+H,x^h+H) 定义为一个距离度量,用来惩罚与预测终端状态 x ^ h + H \hat{\text{x}}_{h+H} x^h+H 的偏差。由于这种形式的设定,我们利用变压器——训练生成完整 OCP 的近最优轨迹——来激励解决方案更好地与长时间范围问题对齐。


V. 实验

在这一部分中,我们将展示我们框架在三个轨迹优化问题上的表现:两个在模拟中(即太空飞船会合和四旋翼飞行器控制场景),以及一个真实世界的机器人平台(即自由飞行器测试平台)。我们将基于以下通用公式考虑问题(1)的三种实例化:

min ⁡ x i , u i imize ∑ i = 1 N ∥ u i ∥ p q (9a) \min\limits_{\text{x}_i, \text{u}_i} \text{imize}\quad \sum_{i=1}^{N} \|\text{u}_i\|_p^q \tag{9a} xi,uiminimizei=1Nuipq(9a) subject to x i + 1 = f ^ ( x i , u i ) ∀ i ∈ [ 1 , N ] (9b) \text{subject to} \quad \text{x}_{i+1} = \hat{f}(\text{x}_i, \text{u}_i) \quad \forall i \in [1, N] \tag{9b} subject toxi+1=f^(xi,ui)i[1,N](9b) Γ ( x i ) ≥ 0 ∀ i ∈ [ 1 , N ] (9c) \Gamma(\text{x}_i) \geq 0 \quad \forall i \in [1, N] \tag{9c} Γ(xi)0i[1,N](9c) x 1 = x start , x N + 1 = x goal (9d) \text{x}_1 = \text{x}_{\text{start}}, \quad \text{x}_{N+1} = \text{x}_{\text{goal}} \tag{9d} x1=xstart,xN+1=xgoal(9d)

  • 约束 (9a): 这一表达式定义了优化问题的目标函数,目的是最小化控制向量 u i \text{u}_i ui p p p-范数的 q q q 次幂之和。这里: ∥ u i ∥ p \|\text{u}_i\|_p uip 表示 u i \text{u}_i ui p p p-范数,是一个度量控制向量各分量的大小的方式,常用于衡量控制向量的“力度”或“作用强度”。将 p p p-范数的 q q q 次幂进行累加,是为了构造一个能量或成本函数,这个函数通过惩罚大的控制输入来促使控制策略尽可能经济或高效。约束 (9a) 的目的是通过优化控制输入的强度来寻找一个在满足动态和其他约束条件的前提下,能量或成本最小的控制策略。这在许多工程和科研领域中都是常见的做法,例如在自动驾驶、飞行器控制或机器人路径规划中,减小控制输入可以帮助降低能源消耗或提高系统的操作效率。

  • 约束 (9b): x i + 1 = f ^ ( x i , u i ) \text{x}_{i+1} = \hat{f}(\text{x}_i, \text{u}_i) xi+1=f^(xi,ui),这表示系统的下一个状态 x i + 1 \text{x}_{i+1} xi+1 是通过应用动力学模型 f ^ \hat{f} f^ 来计算得出的,其中 x i \text{x}_i xi 是当前状态, u i \text{u}_i ui 是当前的控制输入。这个约束确保了系统状态的演变遵循已定义的物理或数学模型,适用于每一个时间步 i i i

  • 约束 (9c): Γ ( x i ) ≥ 0 \Gamma(\text{x}_i) \geq 0 Γ(xi)0,指出对于每一个时间步 i i i,系统的状态 x i \text{x}_i xi 必须满足由函数 Γ \Gamma Γ 定义的条件或约束。这些条件通常用于确保系统运行的安全性,例如,可能包括避免过度加速或确保系统不进入禁止的区域。

  • 约束 (9d): x 1 = x start , x N + 1 = x goal \text{x}_1 = \text{x}_{\text{start}}, \text{x}_{N+1} = \text{x}_{\text{goal}} x1=xstart,xN+1=xgoal,这一约束设定了优化问题的边界条件,即优化过程必须从初始状态 x start \text{x}_{\text{start}} xstart开始,并确保在时间步 N + 1 N+1 N+1 时到达目标状态 x goal \text{x}_{\text{goal}} xgoal。这确保了轨迹优化问题的解决方案从给定的起始状态出发,并且能够达到期望的终点状态。

这些约束合在一起确保了生成的轨迹不仅符合系统的动力学规律,还满足操作过程中的安全和性能要求,同时从指定的起始状态出发并达到预定的目标状态。这是确保模型预测控制在实际应用中既可靠又实用的关键因素。

在这里,目标函数(9a)表示最小化控制力度(其中 p p p q q q为依赖于应用的参数),(9b)表示(可能是非线性的)近似系统动力学,(9c)通过非线性距离函数 Γ : R m × n x → R m \Gamma: \mathbb{R}^{ {m×n}_x}→\mathbb{R}^m Γ:Rm×nxRm 定义障碍物避让约束,相对于 m ∈ [ 1 , M ] m ∈ [1, M] m[1,M]的非凸保持区域,而(9d)表示初始和终端状态约束。

实验设计: 虽然轨迹优化问题的具体公式化将必然依赖于各个应用,我们设计我们的实验设置以遵循一些共同的期望。

首先,我们关心隔离以下的益处:(i) 初始猜测(在开环和MPC设置中)以及(ii) 学习MPC的终端成本;因此,我们保持OCP的公式和解决算法固定,只评估不同初始化的效果。特别是,我们采用序列凸规划(SCP)方法解决轨迹优化问题,并比较提供给序列优化器的不同初始猜测方法(或对于MPC,也是终端成本的规定)。其次,在开环设置中,我们始终将我们的方法,标识为轨迹优化变压器(TTO),与以下方法类别进行比较:(i) 一个可量化成本下界(LB),通过解决放宽了完全时域问题(9)的放松(REL)得到,该放松忽略了(9c)中的障碍物避让约束,因此代表了完整问题的(可能不可行的)成本下界;(ii) 一种最新的SCP方法,其中问题(9)的初始猜测由(i)中描述的REL放松的解决方案提供。第三,在模型预测控制设置中,我们总是考虑形式为 J T ( x h + H , x ˉ ) = ∥ x h + H − x ˉ ∥ P J_\text{T}(\text{x}_{h+H}, \bar{\text{x}}) = \|\text{x}_{h+H} − \bar{\text{x}}\|_P JT(xh+H,xˉ)=xh+HxˉP 的终端成本项,其中 ∥ ⋅ ∥ P \|\cdot\|_P P 表示相对于对角矩阵 P P P的加权范数,并比较不同的 x ˉ \bar{\text{x}} xˉ P P P的选择。最后,如IV-B节所介绍,为了获得离线训练的多样化轨迹,我们解决了400,000个轨迹优化问题的实例,其中 N d 2 \frac{N_d}{2} 2Nd是完整非凸问题(9)的解决方案, N d 2 \frac{N_d}{2} 2Nd是其REL放松的解决方案。

在我们的实验中,我们关注三个主要性能指标:成本、优化速度(以SCP迭代次数表示)和总运行时间。如[1]中所述,我们的实验假设对固定运行环境有完整的了解,并且始终具备完美的状态估计。我们进一步假设目标状态可以在 N N N个离散时间点内到达。

变压器架构:我们的模型是一个为连续输入和输出设计的变压器架构。给定一个输入序列和一个预定义的最大上下文长度 K K K,我们的模型将最后的 5 K 5K 5K序列元素作为输入,每种模态一个:目标状态、待达成的奖励、违约预算、状态和控制。序列元素通过模态特定的线性转换进行投影,获得 5 K 5K 5K个嵌入。如[15]中所述,我们进一步为序列中的每个时间步编码一个嵌入,并将其添加到每个元素嵌入中。结果序列的嵌入通过由六层和六个自注意力头组成的因果GPT模型进行处理。最后,GPT架构自回归地生成一系列潜在嵌入,这些嵌入通过模态特定的解码器投影到预测的状态和控制上。

A. 问题描述

在本节中,我们将描述我们的实验场景、成本、状态和控制变量的定义,以及(9b-9d)中约束的具体实施。

太空飞行器交会和近距离操作:我们考虑执行一个自动交会、近距离操作和对接(RPOD)任务,其中一艘装备了冲动推进器的服务飞行器接近并与目标飞行器对接。服务器相对于目标的相对运动使用准非奇异相对轨道元素(ROE)公式描述,即 x : = δ œ ∈ R 6 \text{x} := \delta œ \in \mathbb{R}^6 x:=δœR6,[1],[25]。径向切向法向(RTN)框架中的笛卡尔坐标可以通过时间变化的线性映射[1]获得,并用于施加几何约束。

问题(9)的具体内容如下:(i)在(9a)中,我们选择 p = 2 p = 2 p=2 q = 1 q = 1 q=1,以适应与所需控制输入对齐的冲动推进器;(ii)在(9d)中, x start \text{x}_{\text{start}} xstart 由相对于目标的随机被动安全相对轨道定义,而 x goal \text{x}_{\text{goal}} xgoal 则从位于 T \text{T} T 轴上的两个可能的对接口中选择,如图 2(a) 所示;(iii)在(9b)中, δ œ i + 1 = Φ i ( Δ t ) ( δ œ i + B i u i ) \delta œ_{i+1} = \Phi_i(\Delta t)(\delta œ_i + B_i \text{u}_i) δœi+1=Φi(Δt)(δœi+Biui) 用于强制执行动力学约束,其中 Φ i ( Δ t ) ∈ R 6 × 6 \Phi_i(\Delta t) \in \mathbb{R}^{6 \times 6} Φi(Δt)R6×6 B i ∈ R 6 × 3 B_i \in \mathbb{R}^{6 \times 3} BiR6×3 是线性时变状态转移和控制输入矩阵[1], Δ t \Delta t Δt 是时间离散化, u i = Δ v i ∈ R 3 \text{u}_i = \Delta v_i \in \mathbb{R}^3 ui=ΔviR3 是由服务器施加的冲动增量速度;(iv)在(9c)中,我们考虑以目标为中心的椭圆形禁入区(KOZ),将时间指标 i i i 限制在 [ 1 , N wp ] [1, N_{\text{wp}}] [1,Nwp] 范围内。我们进一步考虑了两个附加的领域特定约束:(v)在 i = N wp i = N_{\text{wp}} i=Nwp 时达到的零相对速度的预对接航点;(vi)二阶锥约束,强制服务飞船在 N wp ≤ i ≤ N N_{\text{wp}} \leq i \leq N NwpiN 期间从锥形的内部接近对接口,锥形的顶点角为 γ cone \gamma_{\text{cone}} γcone,轴线 n cone ∈ R 3 \text{n}_{\text{cone}} \in \mathbb{R}^3 nconeR3 和顶点 δ r cone ∈ R 3 \delta \text{r}_{\text{cone}} \in \mathbb{R}^3 δrconeR3 根据选定的对接口相应确定。


在这里插入图片描述图 2. 本研究中考虑的三种情况的可视化图示。对于 (a) 航天器会合、(b) 四旋翼飞行器和 © 自由飞行器控制任务,我们展示了通过放松完整 OCP(蓝色)或我们提出的方法(青色)热启动 SCP 所获得的三个轨迹示例。红色阴影区域表示禁飞区和障碍物。


四旋翼控制: 我们考虑的是自主四旋翼飞行的任务,在这个任务中,四旋翼机器人必须在穿越障碍场的同时到达目标状态,见图 2(b)。我们使用笛卡尔参考坐标系 O xyz \text{O}_{\text{xyz}} Oxyz ,其中 z 轴向上,来定义 x : = ( r , v ) ∈ R 6 \text{x} := (\text{r}, \text{v}) \in \mathbb{R}^6 x:=(r,v)R6 u : = T ∈ R 3 \text{u} := \text{T} \in \mathbb{R}^3 u:=TR3,其中 r , v , T ∈ R 3 \text{r}, \text{v}, \text{T} \in \mathbb{R}^3 r,v,TR3 分别是四旋翼的位置、速度和推力向量。

我们针对问题(9)定义以下元素:(i)在(9a)中,我们选择 p = q = 2 p = q = 2 p=q=2 以符合控制输入的连续性;(ii)在(9d)中,我们从预定的起始和目标区域采样 x start \text{x}_{\text{start}} xstart x goal \text{x}_{\text{goal}} xgoal;(iii)在(9b)中,系统动力学由非线性模型 r i + 1 = r i + v i Δ t \text{r}_{i+1} = \text{r}_i + \text{v}_i \Delta t ri+1=ri+viΔt v i + 1 = v i + 1 m ( − β drag ∥ v i ∥ 2 2 + u i ) Δ t \text{v}_{i+1} = \text{v}_i + \frac{1}{m} (-\beta_{\text{drag}} \|\text{v}_i\|_2^2 + \text{u}_i) \Delta t vi+1=vi+m1(βdragvi22+ui)Δt 给出,其中 m m m β drag \beta_{\text{drag}} βdrag 分别是无人机的质量和阻力系数;(iv)在(9c)中,我们考虑多个分布在起始和目标区域之间的球形禁入区(KOZ)。

自由飞行器试验台: 最后,我们考虑一个真实世界的自由飞行器平台,该平台上的漂浮机器人——自由飞行器——可以在无摩擦的花岗岩台面上移动,模拟太空飞行。我们考虑的任务是控制装备有八个开关推进器的自由飞行器,通过穿越障碍场来达到一个目标状态,这些推进器允许双向旋转-平移运动。模拟场景和真实世界试验台分别在图2 (c)和图3中报道。我们使用全局笛卡尔坐标系 O xy \text{O}_{\text{xy}} Oxy 来定义 x : = ( r , ψ , v , ω ) ∈ R 6 \text{x} := (\text{r}, \psi, \text{v}, \omega) \in \mathbb{R}^6 x:=(r,ψ,v,ω)R6 u : = R GB ( ψ ) Λ Δ V ∈ R 3 \text{u} := {R}_{\text{GB}}(\psi)\Lambda \Delta V \in \mathbb{R}^3 u:=RGB(ψ)ΛΔVR3,其中 r , v ∈ R 2 \text{r}, \text{v} \in \mathbb{R}^2 r,vR2 ψ , ω ∈ R \psi, \omega \in \mathbb{R} ψ,ωR 分别是自由飞行器的位置、速度、航向角和角速率, Δ V ∈ R 8 \Delta \text{V} \in \mathbb{R}^8 ΔVR8 包括每个推进器施加的脉冲速度变化, Λ ∈ R 3 × 8 \Lambda \in \mathbb{R}^{3 \times 8} ΛR3×8 是推进器的配置矩阵, R GB ∈ R 3 × 3 {R}_{\text{GB}} \in \mathbb{R}^{3 \times 3} RGBR3×3 是从自由飞行器的本体参考框架到 O xy \text{O}_{\text{xy}} Oxy的旋转矩阵。


在这里插入图片描述图 3. 自由飞行器测试台和FT-TTO轨迹的真实世界执行,如图 2(c)所示。透明度表示从起点(淡化)到终点(不透明)的时间进程。


问题(9)的具体说明如下:(i)在(9a)中,我们选择 p = q = 1 p = q = 1 p=q=1,因为开关推进器与控制输入不对齐;(ii)在(9d)中, x start \text{x}_{\text{start}} xstart x goal \text{x}_{\text{goal}} xgoal 从预定的起始和目标区域采样;(iii)在(9b)中,动力学通过脉冲模型传递,即 x i + 1 = x i + diag ( [ Δ t , Δ t , Δ t , 1 , 1 , 1 ] ) u i \text{x}_{i+1} = \text{x}_i + \text{diag}([\Delta t, \Delta t, \Delta t, 1, 1, 1])\text{u}_i xi+1=xi+diag([Δt,Δt,Δt,1,1,1])ui;(iv)在(9c)中,我们考虑多个分布在起始和目标区域之间的球形禁入区(KOZ),包括障碍物和自由飞行器的半径。我们进一步考虑两个领域特定的约束:(v)由 0 ≤ Λ − 1 R GB − 1 u ≤ Δ V max 0 \leq \Lambda^{-1}{R}_{\text{GB}}^{-1}\text{u} \leq \Delta V_{\text{max}} 0Λ1RGB1uΔVmax 定义的非线性激励限制,其中 Δ V max = T Δ t m \Delta \text{V}_{\text{max}} = \frac{T\Delta t}{m} ΔVmax=mTΔt T T T m m m 分别表示推进器的推力水平和自由飞行器的质量;(vi)状态边界,即 x ∈ X table \text{x} \in \mathcal{X}_{\text{table}} xXtable X table \mathcal{X}_{\text{table}} Xtable 定义了桌面区域。

B. 开环规划

在第一个实验中,我们旨在在开环环境中解决轨迹生成问题。如图 2 所示,这导致了一个单一的最优轨迹,该轨迹可以被下游控制系统稳定跟踪。具体来说,作为一种比较形式,我们使用以下方式生成的轨迹来热启动SCP:(i) 解决问题(9)的REL放松 [17],[24] (ii) 微调前的变压器(TTO),和 (iii) 微调后的变压器(FT-TTO)。为了初始化生成过程,我们将性能参数 R 1 \mathcal{R}_1 R1 设置为REL解决方案的负成本, C 1 = 0 \mathcal{C}_1 = 0 C1=0。对于每个场景,我们评估在40,000个随机问题规范中生成的轨迹性能,这些规范按照非凸性因子 C 1 j C max \frac{\mathcal{C}^j_1}{\mathcal{C}_{\text{max}}} CmaxC1j 排序,其中 C 1 j \mathcal{C}_1^j C1j 是在每个问题规范 j ∈ [ 1 , 40 , 000 ] j \in [1, 40,000] j[1,40,000] 中观察到的KOZ约束违规的数量, C max = max ⁡ j C 1 j \mathcal{C}_{\text{max}} = \max_j \mathcal{C}_1^j Cmax=maxjC1j 是场景中观察到的最大约束违规。实际上,我们使用非凸性因子作为考虑场景难度的直接度量,其中因子为0的场景代表存在凸解的OCP,因此REL的解决方案对于整个问题是最优的;而因子为1的场景代表最接近的凸松弛高度不可行,更好的热启动选择可以对非凸问题的解决产生更大的影响。

图 4 的结果证实了 [1] 的发现,并明确显示了使用TTO热启动非凸问题的明显优势,它在成本和SCP迭代次数方面都显著优于基于问题松弛的初始猜测。此外,图 4 明确强调了所提出的微调策略对开环性能的好处。特别是,图 4(顶部)显示了FT-TTO在与微调前的模型相比时,如何减小与下限的次优性差距:FT-TTO在航天器RPOD(峰值75%)和四旋翼控制(峰值20%)的情况下,实现了大约2倍的成本改进,而在自由飞行器测试台模拟中则表现出类似的成本性能。此外,在所有考虑的场景中,与基于REL的初始猜测相比,使用变压器热启动始终能减少SCP迭代次数。具体来说,图 4(底部)显示了TTO和FT-TTO在所有场景和非凸性水平中至少实现了10%的SCP迭代次数减少,对于非凸性因子的高值,改进达到40%。关键是,显著的成本降低和在SCP迭代次数方面的可比结果表明,从开环角度来看,FT-TTO的微调没有导致性能退化,改善了开环行为。


在这里插入图片描述图 4. 以SCP开始,相对于REL,通过使用FT-TTO和TTO提高成本次优性(顶部)和SCP迭代次数(底部)的百分比改善。每个条形图代表平均在非凸性因子大于或等于对应的x轴值的改进。


C. 模型预测控制

我们实验的第二部分集中于在MPC方案中解决轨迹生成问题。我们将两种最先进的方法与我们基于变压器的框架进行比较,用于生成热启动和定义终端成本 J T ( x h + H , x ˉ ) = ∣ ∣ x h + H − x ˉ ∣ ∣ 2 J_\text{T}(\text{x}_{h+H}, \bar{\text{x}}) = ||\text{x}_{h+H} - \bar{\text{x}}||_2 JT(xh+H,xˉ)=∣∣xh+Hxˉ2
(i) REL-MPC 解决全时域REL问题,并将 x ˉ \bar{x} xˉ 定义为在时间 t h + H t_{h+H} th+H 通过REL解获得的状态,即 x ˉ : = x h + H ( R E L ) \bar{\text{x}} := \text{x}^{(REL)}_{h+H} xˉ:=xh+H(REL) [24],
(ii) DIST-MPC 将 J T J_\text{T} JT 定义为与目标的距离,即 x ˉ : = x goal \bar{\text{x}} := \text{x}_{\text{goal}} xˉ:=xgoal,并使用REL解决这个短时域问题作为热启动 [26],
(iii) TTO-MPC 和
(iv) FT-TTO-MPC 分别在DAGGER微调前后使用变压器模型生成短时域热启动并定义 x ˉ : = x ^ h + H \bar{\text{x}} := \hat{\text{x}}_{h+H} xˉ:=x^h+H

对于三个模拟场景中的每一个,我们在均匀分布在非凸性因子上的500个问题实例上评估所有方法。每条轨迹被离散化为100个时间步,并根据从10到100不等的十个不同规划时域解决,间隔为10。为了便于跨任务比较,我们通过计算标准化成本增量为 cost − lowerbound maxcost − lowerbound \frac{\text{cost} - \text{lowerbound}}{\text{maxcost}-\text{lowerbound}} maxcostlowerboundcostlowerbound 将成本归一化到0到1的范围内。标准化成本增量为0对应于与下限性能相匹配的轨迹。标准化成本增量为1对应于在所有规划时域中观察到的最差性能匹配的轨迹。最后,变压器模型的轨迹生成过程初始化设置参数 R 1 \mathcal{R}_1 R1 C 1 \mathcal{C}_1 C1 如第 V-B 节所述。图 5 和 6 中的综合结果显示,FT-TTO-MPC 能够在成本和运行时间方面显著优于所有其他方法。特别是,图 5 强调了几个关键的收获。首先,由于终端成本的短视定义,DIST-MPC 表现出最大的性能下降,展示了启发式定义终端成本的限制。其次,TTO-MPC(仅在开环数据上训练)受到协变量偏移问题的严重影响,这严重影响了其闭环性能,使其表现不如REL-MPC。最后,FT-TTO-MPC 展示了为MPC微调变压器模型的重要性,带来了比所有其他方法都显著的优势。特别是,FT-TTO-MPC 引起的成本在不同规划时域中保持稳定,使用 H = 10 H=10 H=10 的结果与其他方法使用 H = 30 H=30 H=30 的结果相当,允许解决显著更小的OCP。


在这里插入图片描述图 5. 相对于问题下限的平均标准化成本增量。



在这里插入图片描述图 6. 单个MPC迭代的平均最大运行时间。运行时间定义为生成热启动和解决感兴趣时间范围内的OCP所需的总计算时间。

图 6 中的结果进一步强调了FT-TTO-MPC的运行时间优势,它在所有规划时域中优于其他非学习方法。关键地,通过评估图 5 中的成本性能的运行时间结果,一些相关的发现浮现出来。在REL-MPC的背景下,需要使用 H = 30 H=30 H=30 的规划来达到FT-TTO-MPC使用 H = 10 H=10 H=10 获得的性能。比较相应的计算时间,我们看到FT-TTO引入的长期指导导致相同性能的运行时间大约减少了7倍。

D. 真实世界的实验

最后,我们通过第 V-A 节描述的自由飞行器测试台,评估我们方法在真实世界中的有效性。具体来说,我们使用自由飞行器的八个推进器的累积点火时间作为性能指标,来比较 FT-TTO 和 REL。在开环设置中,我们分别使用 PID 控制器跟踪通过 FT-TTO 和 REL 热启动 SCP 得到的解决方案。在 MPC 框架中,我们直接使用计划时域 H = 10 的 FT-TTO-MPC 和 REL-MPC 控制自由飞行器。

图 7 和表 I 展示了自由飞行器实验的定性和定量结果,重点关注高非凸 OCP。在开环设置(O-L)中,FT-TTO 促进了到达解决方案的收敛,解决方案具有减少的急转弯次数(图 7)——从而,推进剂消耗也减少了(表 I)——明显优于 REL。在 MPC 框架中,FT-TTO-MPC 导致闭环执行紧密地模仿开环解决方案,限制推进剂消耗的增加约 20%,即与模拟中的数值分析一致的值。另一方面,REL-MPC 导致的终端成本积极地驱动自由飞行器向目标靠近,导致与开环解决方案有显著偏差,并在障碍物附近出现突然转弯。此外,在我们的实验中,为了使 REL-MPC 成功到达目标同时考虑更高的计算时间和防止碰撞,必须将目标获取时间加倍并将控制频率减半——这是我们在使用 REL-MPC 进行实验时一致遇到的情况。结果,增加的目标获取时间导致总体点火时间减少,如表 I 所示。关键地,FT-TTO-MPC 是唯一一个能在不需要放松时间限制的真实世界场景中部署的 MPC 算法。


在这里插入图片描述图 7. 通过FT-TTO(青色)和REL(蓝色)在开环(虚线)和MPC(实线)设置中获得的实验结果的定性表示。视频:https://transformermpc.github.io



在这里插入图片描述



VI. 结论

尽管具有潜力,但迄今为止,出于轨迹优化目的使用基于学习的方法受到了缺乏安全保证和分布外行为表征的限制。同时,依赖数值优化的方法通常会导致高计算复杂性和强初始化依赖性。在这项工作中,我们通过提出一个框架来利用高容量神经网络模型的灵活性,同时提供实际操作所需的安全保证和计算效率来解决这些缺点。我们通过定义一个结构来实现这一点,其中一个训练有素的变压器模型——被训练用于生成近最优轨迹——用于在 MPC 方案中提供初始猜测和预测的目标状态作为长时域指导。这种分解,结合预训练加精细调校的学习策略,导致开环规划和模型预测控制公式的性能、运行时间和收敛速率大幅提高。

在未来的工作中,我们计划扩展我们的公式来处理多任务随机优化问题,采用可泛化的场景和输入表示。具体来说,当前的限制,如未建模和分布外动态,将通过量身定制的学习策略(例如数据增强和动态模型的元学习)和结构化的不确定性处理来解决。此外,虽然我们已经调查了基于(迭代)监督学习的微调的影响,但探索其他微调策略(例如,基于强化学习)是一个非常有前景的方向,值得未来工作研究。更一般地说,我们相信这项研究开辟了几个有希望的方向,以利用基于学习的方法来优化安全关键型机器人应用中的轨迹优化。

鸣谢

本文仅反映其作者的观点和结论,并非任何Blue Origin或NASA实体的意见。

猜你喜欢

转载自blog.csdn.net/xzs1210652636/article/details/143316905