引言

想象一下,一个配送机器人在繁忙的仓库中穿梭,或者一个清洁机器人在拥挤的火车站中移动。这些环境是非结构化的,更重要的是,它们是动态的 。 人类、叉车和其他机器人都在不停地移动。为了让机器人安全运行,它不能仅仅依赖静态地图;它必须预测未来。

控制此类机器人最流行的方法之一是模型预测控制 (MPC) 。 MPC 的优点在于它能展望未来几秒钟,优化出一条避免碰撞的轨迹,执行第一步,然后重复这一过程。然而,MPC 有一个盲区: 其预测范围 (horizon) 的终点。如果机器人计划了未来 5 秒的路径,什么能保证它不会在第 5.1 秒陷入困境?

为了解决这个问题,控制理论家使用了终端约束 (Terminal Constraints) ——这是一组机器人必须最终到达的“安全状态”集合,以保证长期的安全性。在动态环境中完美地计算这个安全集需要复杂的数学运算,即 Hamilton-Jacobi (HJ) 可达性分析,这对于实时机器人应用来说通常太慢了。

在这篇文章中,我们将深入探讨一篇论文,该论文提出了一种巧妙的混合解决方案: 残差神经终端约束 (RNTC-MPC) 。 研究人员结合了控制理论的严格安全性与深度学习的速度。他们没有要求神经网络从头开始学习安全性,而是教它学习简单的距离检查与复杂的真实安全值之间的差异 (即残差) 。结果如何?在动态避障方面,该规划器的成功率比最先进的基准方法高出 30%。

背景: 安全挑战

要理解这篇论文的贡献,我们需要简要解析三个概念: MPC、可达性分析和“维数灾难”。

模型预测控制 (MPC)

MPC 在每个时间步解决一个优化问题。它试图在满足约束条件 (不撞到障碍物、不超速) 的同时最小化成本函数 (如快速到达目标) 。

MPC 优化公式

在上面的公式中,方程 (3f),\(h_{k+N}(x_{k+N}) \geq 0\),就是终端约束 。 这是关键组件。它告诉优化器: “无论你选择什么路径,确保障碍物在预测范围 (\(N\)) 结束时处于‘安全’状态。”如果这个约束定义正确,机器人就能保持递归可行性——意味着它总能在下一步找到一条安全路径。

Hamilton-Jacobi 可达性

我们如何定义那个“安全状态”?黄金标准是 Hamilton-Jacobi (HJ) 可达性分析 。 该方法计算一个后向可达管 (Backward Reachable Tube, BRT) 。 从概念上讲,BRT 是所有必然导致碰撞的状态集合,无论机器人如何刹车或转向都无法避免。

这个安全集的边界由 HJ 值函数 \(V(x,t)\) 定义。

HJ 值函数定义

如果 \(V(x, t) > 0\),机器人是安全的。如果 \(V(x, t) \le 0\),机器人处于危险区域。为了找到 \(V\),必须求解 Hamilton-Jacobi-Bellman 偏微分方程:

HJB 偏微分方程

问题: 实时可行性

求解上述方程涉及在状态空间网格上进行动态规划。这受限于维数灾难 (Curse of Dimensionality) 。 仅仅增加一个移动障碍物就会显著扩展状态空间 (机器人状态 + 障碍物状态) 。在机器人有限的硬件上在线计算这通常是不可能的。

因此,研究人员经常诉诸近似方法。但是,如果你错误地近似了安全集,机器人就会发生碰撞。这篇论文提出了一个问题: 我们能否在保持安全保证的同时,使用神经网络快速近似这个值函数?

核心方法: RNTC-MPC

研究人员提出了一种方法,不仅仅是简单地试图用神经网络来解决问题。相反,他们利用 HJ 值函数的特定数学性质设计了一种更智能的架构。

洞察: 值 vs. 距离

让我们看看两个函数:

  1. \(V(x)\): HJ 值函数 (真实安全指标) 。
  2. \(F(x)\): 有向距离函数 (Signed Distance Function, SDF) 。这仅仅是到最近障碍物的几何距离。

计算 SDF (\(F(x)\)) 既快又容易。计算 \(V(x)\) 既慢又难。 至关重要的是, \(V(x) \le F(x)\)

为什么?因为 \(F(x)\) 只告诉你当前是否接触到障碍物。\(V(x)\) 告诉你最终是否接触到障碍物。如果你离墙 1 米远 (\(F(x)=1\)) ,但正以无法停止的高速冲向它,你的安全值 \(V(x)\) 可能是负的 (不安全) 。因此,真实的安全值总是小于或等于几何距离。

学习残差

研究人员没有训练神经网络直接估计 \(V(x)\) (这是一个复杂的函数) ,而是估计残差 (Residual, \(R(x)\)) 。残差是简单的几何距离与复杂的动态安全值之间的“安全缺口”。

残差方程

重新排列后,估计的值函数 \(\hat{V}\) 变为:

值估计方程

天才之处在于: **如果我们确保估计的残差 \(\hat{R}\) 始终为正 ($ \ge 0\() ,那么我们的估计安全值 $\hat{V}\) 将始终低于 SDF (\(F\)) 。 **

虽然这不能严格保证 \(\hat{V} \le V_{true}\),但它赋予了强大的安全**归纳偏置 (inductive bias) **。 网络只需要学习对 SDF 的修正,而不是从头开始学习整个函数。

架构: 超网络 (Hypernetworks)

环境在不断变化。静态神经网络无法处理障碍物随机出现的动态环境。为了处理这个问题,作者使用了**超网络 (Hypernetwork) **。

RNTC-MPC 框架

图 1 所示,该架构分两个阶段工作:

  1. 超网络: ** 它将环境观测 (基于障碍物预测的未来有向距离函数序列) 作为输入。它输出安全值。相反,它输出权重 (参数) **。
  2. **主网络 (Main Network) : ** 这是一个微型的、轻量级的多层感知机 (MLP) 。它使用超网络生成的权重。它接收机器人的状态 \(x\) 并输出残差 \(R\)。

这种设置允许系统即时适应新环境。随着障碍物移动,SDF 序列发生变化,超网络更新权重,主网络随之改变其形状以表示新的安全集。

确保非负性

为了满足残差 \(R(x)\) 始终非负的要求,研究人员在主网络的输出端使用了特定的激活函数:** ELU + 1 **。

ELU 激活函数

标准的 ELU (指数线性单元) 可以是负的。通过加上 +1,最小值的下限变为 0。与 ReLU (也是非负的,但对于负输入梯度为零) 不同,ELU+1 确保了处处都有非零梯度,使训练更加稳定。

使用 CME 损失进行训练

训练这个系统需要基准真值 (ground-truth) 数据集。研究人员模拟了数千个随机场景,并使用离线 HJ 求解器 (耗时数小时) 生成真实的 \(V(x)\) 标签。

训练图解

为了训练网络,他们引入了一种自定义损失函数,称为 **CME (均方误差与指数结合) 损失 **。

CME 损失函数

  • **MSE 项: ** 确保预测接近真实值。
  • **指数项: ** 严厉惩罚不安全的误差。

这种混合损失函数有助于网络更快收敛,并优先考虑关键区域 (安全集边界附近) 的安全性。

实验与结果

团队在 Gazebo 仿真和真实硬件上验证了 RNTC-MPC,并将其与三个基准进行了比较:

  1. SDF-MPC: 使用简单的距离约束 (通常不安全) 。
  2. DCBF-MPC: 使用离散控制障碍函数 (Discrete Control Barrier Functions) 。
  3. VO-MPC: 使用速度障碍法 (Velocity Obstacles,一种经典的机器人技术) 。

仿真性能

在仿真中,机器人必须在一个有 6 个移动障碍物来回弹跳的走廊中导航。

**成功率: ** 最关键的指标是成功率——机器人有多少次在没有碰撞的情况下到达目标?

成功率

如**图 3 (左) **所示,RNTC-MPC (绿线) 即使在预测范围很短的情况下也实现了接近 100% 的成功率。像 SDF-MPC 这样的基准方法在预测范围较短时会发生灾难性的失败,因为它们无法“看到”预测范围之外即将发生的碰撞。RNTC-MPC 学习到的终端约束实际上赋予了它“无限”的预见性。

**移动时间 vs. 安全性: ** 安全往往以牺牲速度为代价 (“机器人冻结”问题) 。

移动时间权衡

图 4 展示了这种权衡。理想的规划器位于右下角 (高成功率,低移动时间) 。绿色十字 (RNTC-MPC) 比竞争对手更好地占据了这个最佳平衡点 (sweet spot) ,表明它在安全导航的同时并不过分保守或缓慢。

消融实验: 为什么要学习残差

学习残差 (\(F - V\)) 真的比直接学习 \(V\) (NTC) 更好吗?作者将他们的方法 (RNTC) 与直接学习 \(V\) 的版本 (NTC) 进行了比较。

安全集视觉对比

图 7 直观地展示了差异。

  • **黑线: ** 真实安全集边界。
  • **红线: ** SDF 边界 (几何距离) 。
  • 绿线 (RNTC): 提出的方法。它紧贴着真实安全集。
  • 橙线 (NTC): 直接学习方法。注意橙线是如何漂移进入危险区域的吗?

因为 NTC 试图从头开始学习函数,所以它会犯危险的错误。RNTC 锚定在 SDF 上,只减去一个正残差,使其在结构上更加安全。

硬件实验

仿真固然好,但现实世界是混乱的。团队将代码部署在配备了 LiDAR 和摄像头的机器人上。任务是: 穿过房间,同时有行人故意试图与机器人的路径交叉。

硬件结果表

表 1 显示了 1 秒预测范围的结果。

  • SDF-MPC 经常碰撞 (40% 成功率) 。
  • RNTC-MPC 实现了 **100% 成功率 **。
  • 值得注意的是,RNTC-MPC 的平均移动时间也是最低的 (12.76秒) ,证明机器人并没有停下来等待人通过——它是主动绕过他们的。

现实世界可视化

图 13 让我们得以一窥实验期间的“机器人大脑”,显示了预测的终端集 (左上) 与摄像头视图中检测到的人类 (左下) 相匹配。

结论与启示

残差神经终端约束 (RNTC) 代表了安全机器人导航向前迈出的重要一步。通过将 Hamilton-Jacobi 可达性的理论严谨性与超网络的灵活性相结合,作者创建了一个既能满足实时使用速度要求,又能在动态环境中保持足够安全性的系统。

主要收获:

  1. **不要从头学习: ** 利用有向距离函数和值函数之间的关系 (\(V \le F\)) 简化了学习问题。
  2. **结构性安全: ** 强制非负残差确保网络倾向于保守 (安全) 的估计。
  3. **用于适应的超网络: ** 将环境编码 (超网络) 与状态评估 (主网络) 分离,使得系统能够快速适应移动障碍物。

这种方法为未来的研究提供了蓝图: 我们不应试图用黑盒神经网络取代控制理论,而应使用深度学习来近似控制理论中计算昂贵的部分,同时保持数学上的保证。未来的工作可能会集中在将其扩展到更高维度的系统,如无人机或机械臂,在这些系统中,“维数灾难”更为严重。