在机器人技术和自动系统的世界里, 远见 (Foresight)反应速度 (Reaction Speed) 之间始终存在着一场拉锯战。想象一下高速驾驶赛车。为了实现最佳驾驶,你需要向远处看 (远见) ,预判几百米外的弯道。然而,你也需要瞬间做出决定 (反应速度) 。如果你花了太多时间计算接下来十个弯道的完美路线,那么在转动方向盘之前,你就已经撞上第一堵墙了。

这就是模型预测控制 (Model Predictive Control, MPC) 面临的根本挑战。对于自动驾驶汽车、步行机器人和生物医学设备等复杂系统来说,MPC 是最流行的控制策略之一。然而,MPC 的计算成本非常高昂。

在最近的一篇论文中,研究人员提出了一种名为 ZipMPC 的新颖解决方案。他们的框架允许机器人运行一个“廉价”、快速且短视的控制器,但表现得就像它拥有计算昂贵的控制器的深远洞察力一样。它通过将长期上下文“压缩 (zipping) ”到一个学习到的成本函数中来实现这一点。

在这篇文章中,我们将剖析 ZipMPC 的工作原理、背后的技术,以及它如何使自动驾驶赛车以极小的计算量实现接近最佳的单圈时间。

MPC 的困境: 视界的权衡

要理解 ZipMPC,我们需要先了解模型预测控制的机制。

本质上,MPC 是一个在实时环境中反复求解的优化问题。在每个时间步 (例如,每 30 毫秒) ,控制器会查看机器人的当前状态,并求解一个优化问题,以找到未来特定时间段内的最佳控制输入序列 (如转向和油门) 。这个时间段被称为预测视界 (Prediction Horizon, \(N\))

从数学角度看,MPC 求解以下问题:

标准 MPC 公式,展示了在受动力学和约束条件限制下的成本函数最小化。

在这里,控制器试图最小化成本函数 \(\ell\) (该函数惩罚诸如偏离赛道中心或过度消耗燃料等行为) ,同时遵守系统动力学 \(f\) (物理规律) 和约束条件 (不要撞墙) 。

信息鸿沟

问题就出在这里。

  • 长视界 (Long Horizon, \(N_L\)) : 如果 \(N\) 很大,控制器能看到很远的未来。它知道前方有急转弯并尽早做准备。这能产生高性能,但计算量巨大。
  • 短视界 (Short Horizon, \(N_S\)) : 如果 \(N\) 很小,优化速度快,适合实时芯片。然而,控制器是“短视的”。它可能会在直道上加速,结果发现发夹弯迫在眉睫时已经太晚了,从而导致次优表现或违反约束条件。

传统的解决方法包括“学习剩余成本 (cost-to-go) ” (估算视界之外的剩余成本) 或使用神经网络完全克隆策略 (显式 MPC) 。然而,显式 MPC 通常无法满足硬性安全约束,因为神经网络天生不遵守物理规律。

ZipMPC: 两全其美

ZipMPC 提出了一种混合方法。它不是用神经网络替换 MPC (这会失去安全保证) ,也不仅仅是调整静态成本函数,而是使用神经网络根据环境动态调整短视界 MPC 的成本函数

如图 1 所示,ZipMPC 恰好位于高效的模仿学习和稳健的优化之间。

图 1: 长视界 MPC、短视界 MPC 和 ZipMPC 的比较。ZipMPC 结合了短视界的计算速度和长视界的上下文感知能力。

核心概念

其主要思想是使用模仿学习 (Imitation Learning) 。 我们将缓慢的长视界 MPC (\(MPC_{N_L}\)) 视为“专家”或“老师”。我们要让快速的短视界 MPC (\(MPC_{N_S}\)) 来模仿老师。

由于短视界在物理上无法看到未来的赛道曲率,我们将这些信息 (上下文) 提供给神经网络。网络压缩这些长期上下文,并输出短视界 MPC 成本函数的特定参数。

理想情况下,如果神经网络工作得当,由这个“智能”成本函数指导的短视界 MPC 将产生与长视界 MPC 几乎相同的轨迹。

幕后机制: 学习框架

我们要如何训练神经网络来修改优化问题?该架构涉及从环境到网络,再到控制器的信息流。

1. 架构

该过程如下图所示。

  1. 输入: 系统获取当前状态 \(x(k)\) 和上下文 \(Z_{k, N_L}\) (例如,未来 50 米的赛道曲率) 。
  2. 神经网络 (\(h^\theta\)) : 一个卷积神经网络 (CNN) 处理上下文并输出短视界 MPC 的成本参数 (权重) 。
  3. 学习型成本 MPC: \(MPC_{N_S}\) 使用这些学习到的权重来求解轨迹。
  4. 损失计算: 将生成的轨迹与手动长视界 MPC 的专家轨迹进行比较。

图 2: ZipMPC 学习方法示意图。神经网络利用上下文预测成本参数,指导短视界 MPC 模仿长视界 MPC。

2. 目标函数

目标是找到神经网络参数 \(\theta^*\),使学生轨迹与老师轨迹之间的差异 (损失 \(\mathcal{L}\)) 最小化:

公式 2: 寻找最佳神经网络参数的优化目标。

这里,损失计算的是短视界 MPC (\(N_S\)) 与长视界 MPC (\(N_L\)) 的状态和输入序列的匹配程度。

3. 可微 MPC

这是技术上最具挑战性的部分。为了使用梯度下降 (标准的深度学习训练方法) 训练神经网络,我们需要计算损失相对于神经网络权重 \(\theta\) 的梯度。

使用链式法则,这看起来像:

公式 3: 通过 MPC 优化进行梯度反向传播的链式法则展开。

中间项——\(\frac{\partial [Trajectory]}{\partial [Cost Parameters]}\)——需要对优化问题本身进行微分。这就是所谓的可微 MPC (Differentiable MPC) 。 作者利用了该领域的最新进展 (特别是利用 KKT 条件和迭代求解器) ,将信息丰富的梯度从轨迹误差反向传播,穿过 MPC 求解器,进入神经网络。

这使得网络能够确切地学习如何调整成本函数以使汽车驾驶得更好。例如,如果汽车接近弯道,网络可能会学会暂时增加对速度的惩罚,实际上是在告诉短视界 MPC: “我知道你看不到弯道,但相信我,现在减速。”

实验验证: 自动赛车

研究人员使用自动赛车场景验证了 ZipMPC,这是一个远见和速度至关重要的经典问题。他们使用了两种车辆模型:

  1. 运动学自行车模型 (Kinematic Bicycle Model) : 适用于较低速度的简化模型。
  2. Pacejka 模型: 一个复杂、高保真的模型,考虑了轮胎打滑和受力,对于激进的赛车至关重要。

1. 模仿性能

首先,他们检查了 ZipMPC 是否真的能模仿老师。他们将其与 BO (贝叶斯优化,一种调整静态参数的标准方法) 和 eMPC (显式 MPC,用通用神经网络替换控制器) 进行了比较。

如表 1 所示,与长视界专家相比,ZipMPC 实现了最低的模仿误差 (RMSE) 。

表 1: 模仿损失比较。ZipMPC 始终比标准 MPC、BO 和 eMPC 基准实现更低的误差。

值得注意的是,eMPC 表现挣扎,因为标准神经网络难以输出完美满足物理约束的结构化预测。ZipMPC 通过保留 MPC 求解器,自然地确保了约束得到满足。

2. 单圈时间和速度

赛车的终极测试是秒表。研究人员在复杂的赛道上进行了模拟。

在表 3 中 (使用复杂的 Pacejka 模型) ,我们看到了显著的差异。标准的短视界 MPC (\(N_S\)) 经常甚至无法跑完一圈,因为它无法及时对急转弯做出反应。使用相同短视界的 ZipMPC 不仅跑完了全程,而且实现了非常接近长视界专家 (\(N_L\)) 的时间。

表 3: 使用 Pacejka 模型时的单圈时间比较。ZipMPC 相比标准短视界 MPC 大幅提升,并接近长视界 MPC 的理论极限。

也许最重要的是执行时间缩减 。 ZipMPC 的运行速度比长视界 MPC 快 68% 到 88%。它以“廉价”的计算代价提供了“昂贵”的性能。

3. 轨迹可视化

轨迹图证实了数据。在图 3 中,你可以看到不同控制器采取的路径。

  • 红色/失败: 标准的短视界 MPC 经常产生粗糙、锯齿状的线条或发生碰撞。
  • 绿色 (ZipMPC) : 这条路径很平滑,优化了赛车路线 (外-内-外) ,就像专家蓝色 (\(MPC_{N_L}\)) 路线一样。

图 3: 轨迹对比。ZipMPC 轨迹 (右) 使路径变得平滑,比标准短视界 MPC (左) 更好地模仿了长视界行为 (中) 。

4. 泛化能力: 未见过的赛道

基于学习的控制的一个常见缺陷是过拟合——机器人记住了训练赛道,但在新赛道上失败。

由于 ZipMPC 是基于局部曲率上下文学习成本函数 (而不是记忆特定坐标) ,它的泛化能力非常好。研究人员在两条从未见过的赛道上测试了该系统。

图 4: 泛化能力。ZipMPC 在训练期间未见过的测试赛道 1 和测试赛道 2 上表现良好。

如图 4 所示,即使在全新的赛道布局上,ZipMPC (绿色) 也几乎像长视界专家 (蓝色) 一样紧贴最佳路线。

5. 消融实验: 上下文重要吗?

研究人员问道: “神经网络是真的在使用曲率信息,还是仅仅找到了一个更好的静态成本?”

他们进行了一项消融研究,比较了“上下文感知” ZipMPC 和“无上下文”版本。

图 5: 展示上下文影响的消融研究。上下文感知模型 (橙色) 始终优于无上下文模型 (蓝色) 。

图 5(a) 中的结果表明,上下文至关重要,特别是当视界非常短 (\(N_S/N_L\) 很低) 时。图 5(b) (图片右侧) 可视化了学习到的成本参数 \(p_d\) (横向偏差成本) 。你可以看到成本会根据汽车是进入左转弯还是右转弯而动态变化。网络已经学会了通过操纵成本让车“侧倾”入弯。

现实世界硬件实验

模拟是一回事;现实是另一回事。团队在一个 1/28 比例的自动赛车平台上部署了 ZipMPC。

图 6: 用于硬件验证的微型赛车平台。

硬件结果反映了模拟结果。在标准短视界 MPC 失败 (由于缺乏远见而冲出赛道) 的挑战性场景中,ZipMPC 成功地完成了路线。

图 12 展示了并排对比。绿线 (ZipMPC) 紧密地跟随蓝线 (长视界专家) 。

图 12: 硬件轨迹对比。ZipMPC (绿色) 在现实世界中与长视界 MPC (蓝色) 非常吻合。

更令人印象深刻的是,在视界极短、标准 MPC 发生碰撞的场景中,ZipMPC 通过有效地在成本函数中“幻化”出必要的谨慎,成功完成了跑圈。

结论

ZipMPC 代表了使高级控制策略在实时系统中变得可行迈出的重要一步。通过结合 MPC 的结构性保证 (安全性、约束、物理) 和神经网络的模式识别能力 (学习上下文) ,研究人员创建了一个具备以下特点的控制器:

  1. 快速: 计算时间与短视界 MPC 相当。
  2. 有远见: 性能与长视界 MPC 相当。
  3. 安全: 保持硬性约束 (不像纯神经网络策略) 。
  4. 可泛化: 适用于训练期间未见过的环境。

对于机器人领域的学生和工程师来说,这凸显了混合人工智能 (Hybrid AI) 的力量——系统不仅仅是用深度学习取代经典工程,而是智能地融合它们以解决根本性的权衡问题。无论是对于自动赛车、无人机飞行还是步行机器人,“压缩”视界可能是实现敏捷、高性能行为的关键。