简介
想象一下,你正驾驶着一辆越野车穿越一片乱石岗。前方有一块尖锐、参差不齐的岩石。如果你迎头撞上去,很可能会爆胎或折断车轴。然而,如果你稍微调整角度,从侧面切入,你的轮胎可能会顺着岩石侧面平滑滚过,从而毫发无损地通过。
这个场景揭示了越野导航中的一个基本真理: 风险是依赖于状态的 。 一块地形是否可通行,往往不仅取决于地形本身的几何形状,还取决于机器人的接近角度 (angle of approach) 。
对于人类驾驶员来说,这种计算是直觉性的。但对于自主机器人来说,这却是一个巨大的计算难题。传统方法通常基于高程图将世界简化为“安全”或“不安全”的区块,忽略了接近角度的细微差别。朴素的深度学习尝试试图通过将角度作为一个简单的输入来解决这个问题,但往往以失败告终,因为它们需要海量的数据来学习旋转的连续性,或者因为速度太慢而无法用于实时规划。
在这篇文章中,我们将深入探讨一篇题为 “Learning Smooth State-Dependent Traversability from Dense Point Clouds” (从稠密点云中学习光滑的状态依赖性可通行性) 的研究论文。作者介绍了 SPARTA , 一种利用几何深度学习来解决这一问题的新颖方法。通过使用 傅里叶基函数 (Fourier basis functions) , SPARTA 强制神经网络学习光滑、周期性的风险函数。最终得到的系统能够从任何角度准确预测通行风险,在硬件上高效运行,并在复杂环境中的表现大幅优于基准方法。
背景: 为何仅有地图是不够的
要理解为什么 SPARTA 是必要的,我们需要先看看机器人目前是如何感知世界的。
高程图中的信息丢失
越野导航的标准方法涉及将激光雷达 (LiDAR) 数据处理成 2.5D 高程图。这本质上是一个网格,每个单元格包含一个高度值。虽然这种方法很高效,但高程图丢弃了关键的几何细节。
考虑一块薄而锋利的垂直板。在高程图上,这可能看起来像一个陡峭的梯度,与一个光滑但陡峭的坡道没有什么区别。然而,对于机器人的轮子来说,板是割破轮胎的危险物,而坡道则是可通行的斜坡。
图1: 右上: 稠密点云捕捉到了环境的精细几何细节,将地面与树叶等噪声区分开来。左下: 当离散化为高程图时,这些细节就丢失了。系统 (绿色圆圈) 可能会错误地将一个危险的接近角度 (品红色) 归类为安全,因为高程图将尖锐的障碍物模糊成了平滑的梯度。
如图1所示,点云保留了完整的 3D 几何结构。SPARTA 在此基础上直接处理原始点云,使模型能够“看到”高程图所隐藏的锋利边缘。
角度的问题
意识到几何结构的重要性只是第一步。第二步是理解机器人如何与该几何结构交互。如果我们同意接近角度会改变风险,我们就需要一种方法来对其进行建模。
一个朴素的深度学习工程师可能会设计一个网络,接受两个输入: 地形点云和机器人当前的偏航角 \(\phi\)。网络将输出一个风险评分。
这种方法有两个主要缺陷:
- 数据稀疏性与泛化能力: 要学习到风险随机器人转向而平滑变化的规律,你需要涵盖每一个可能岩石的每一个可能角度的训练数据。在机器人技术中,数据是昂贵的。一个标准的网络可能会过拟合,学习到 45 度是安全的,但 46 度是危险的,从而无法泛化这种交互的物理规律。
- 计算成本: 一个机器人规划器 (如我们稍后将讨论的 MPPI) 每秒会模拟数千条潜在路径。如果每次规划器查询不同角度时,网络都要运行一次完整的推理过程,那么系统就会变得太慢而无法用于实时驾驶。
SPARTA 通过改变网络预测的内容来解决这两个问题。它不预测单一的风险值,而是预测一个函数 。
核心方法: SPARTA
SPARTA 代表 Smooth Point-cloud Approach-angle Reasoning for Terrain Assessment (用于地形评估的光滑点云接近角推理) 。该论文的核心洞见是: 接近角度与风险之间的关系是周期性且光滑的。
架构概览
该流程的工作原理如下:
- 输入: 机器人扫描一块局部地形,表示为稠密点云。
- 编码器: 一个神经网络 (具体来说是 PointPillars 主干网络) 将此点云处理成特征向量。
- 解码器: 网络不输出单一的风险数值,而是输出一组傅里叶系数 。
- 重建: 这些系数用于构建一个定义在单位圆 (\(S^1\)) 上的解析函数。
- 查询: 在规划过程中,我们可以将任何角度 \(\phi\) 代入此函数,即刻得到风险分布。
图2: SPARTA 流程管道。如果是新的地形块,网络计算傅里叶系数并将其存储。对于后续查询 (即使是不同角度) ,规划器只需检索系数并使用快速解析函数计算风险。
处理不确定性: 分类分布
在深入探讨傅里叶数学之前,我们需要定义“风险”。预测单一的确定性值 (例如,“损坏程度 = 0.5”) 是危险的,因为现实世界充满噪声。这种噪声被称为偶然不确定性 (aleatoric uncertainty) ——即通过更多数据也无法减少的不确定性 (例如,轻微的车轮打滑、传感器噪声) 。
SPARTA 将风险建模为分类分布 (Categorical Distribution) 。 想象一个有 \(B\) 个箱子 (bin) 的直方图 (在本文中,\(B=8\)) ,代表不同等级的风险 (例如,轮胎变形程度) 。网络预测的是这个直方图的形状。
给定角度 \(\phi\) 下风险变量 \(\gamma\) 的概率质量函数 (PMF) 是通过归一化“集中度参数 (concentration parameters) ” \(\bar{\gamma}\) 计算得出的:

模型的训练目标是最小化预测分布与模拟中观察到的地面真值分布之间的推土机距离 (Earth Mover’s Distance, EMD) 。EMD 在这里是一个极佳的指标,因为它不仅惩罚网络预测错误的箱子,还惩罚预测结果与现实之间的距离。

几何学的“核心秘诀”: 傅里叶基函数
这是论文中最关键的部分。接近角度 \(\phi\) 存在于 1-球体 (\(S^1\)) 上,通俗地说就是“单位圆”。
变量 \(\phi\) 是环绕的: \(0\) 弧度与 \(2\pi\) 弧度在物理上是完全相同的方向。标准的神经网络很难处理这一点。如果你将 \(0\) 和 \(6.28\) (\(2\pi\)) 作为标量输入喂给标准的 MLP (多层感知机) ,网络会将它们视为相距甚远的值,通常会导致预测出现不连续 (即“环绕不连续性”) 。
图3: (a) 朴素 MLP 模型 (橙色) 未能理解 0 度和 360 度是相同的,导致预测出现跳变 (不连续) 。SPARTA (蓝色) 使用傅里叶基函数,天然具有周期性,从而形成完美的平滑闭环。(b) 这种平滑性传播到了风险估计 (CVaR) 中。
为了强制实现周期性和平滑性,SPARTA 使用了傅里叶级数 。 圆上的任何光滑函数都可以表示为正弦和余弦的和。
网络不将 \(\phi\) 作为输入,而是输出系数 \(a\) 和 \(b\)。在角度 \(\phi\) 下,风险分布第 \(i\) 个箱子的集中度参数计算如下:

这里,\(n\) 是最大频率 (作者发现 \(n=3\) 就足够了) 。\(\sigma\) 是 Sigmoid 函数,确保输出为正值。
为什么这样做更好?
- 保证周期性: 根据定义,\(\cos(0) = \cos(2\pi)\)。从数学上讲,环绕不连续性是不可能发生的。
- 平滑性 (泛化能力) : 在机器学习中,我们通常希望模型是利普希茨连续 (Lipschitz continuous) 的——意味着输出不会随输入发生任意剧烈的变化。通过将傅里叶级数限制在低频 (\(n=3\)) ,作者为风险预测随机器人转向而变化的速度设定了一个理论上限。
作者为他们学习到的函数的利普希茨常数 \(L^i\) 提供了一个理论界限:

这个界限意味着模型会在训练数据点之间“平滑地填补空白”。如果它知道 \(10^{\circ}\) 和 \(20^{\circ}\) 处的风险,它不会预测在 \(15^{\circ}\) 处出现疯狂的峰值。
图4: 概念演示。过拟合的模型 (红色) 可能会在数据点之间产生风险峰值的幻觉。基于傅里叶的平滑模型 (蓝色) 起到了正则化器的作用,生成合理的插值。
规划中的效率
第二个主要好处是速度。在典型的模型预测控制 (MPC) 设置中,规划器可能会随着探索不同轨迹,从 50 个不同的角度观察同一块地形。
- 朴素方法: 运行深度神经网络 50 次。 (慢)
- SPARTA 方法: 运行深度神经网络一次以获得系数。然后,对于所有 50 个角度,只需执行点积运算 (公式 3) 。 (快)
图5: 运行时间对比。朴素的“AngleInput”模型 (绿色) 随着模型复杂度的增加而变慢。SPARTA (红色) 保持几乎恒定且极快,因为繁重的计算 (主干网络) 对于每块地形只运行一次。
规划器: 风险感知导航
如果不利用优秀的风险估算器来做决策,那么它就毫无用处。作者将 SPARTA 集成到了 MPPI (模型预测路径积分) 规划器中。
他们不仅使用平均风险,还使用了 CVaR (条件风险价值) 。 CVaR 关注分布的“尾部”。它问的是: “在最坏的 10% 的结果中,损坏程度有多严重?”这对于安全关键型机器人技术至关重要。如果这会导致 5% 的几率机器人被毁,那么平均通行是安全的这一事实毫无意义。
优化问题如下所示:

在这里,规划器最小化成本函数 \(C\),其中包括目标距离和每个时间步预测风险 \(\gamma_{\phi}\) 的 CVaR。
总成本函数结合了目标达成、速度限制和风险指标:

注意 \(v_t C_{risk}\) 这一项。这是按速度缩放风险——你越快驶过障碍物,惩罚就越高。
实验与结果
作者在高度逼真的仿真环境和物理机器人上验证了 SPARTA。他们专注于将轮胎变形作为车辆损坏的代理指标。
仿真: 巨石场
终极压力测试是一个 40 米宽的场地,里面充满了 1500 个随机放置的巨石。机器人必须穿过它而不超过轮胎变形阈值 (这模拟了爆胎或车轴断裂) 。
图6: 巨石场。(a) 俯视图显示起点 (橙色) 和终点 (蓝色) 。(b) 驾驶员视角。这是一个密集、混乱的环境。
作者将 SPARTA 与以下方法进行了对比:
- AngleInput: 一个将角度作为输入的标准网络。
- AngleFree: 一个忽略角度的网络 (将障碍物视为各向同性) 。
- Elev: 一个基于高程图使用启发式规则的基准方法。
结果:
表1: SPARTA 达到了 91% 的成功率,显着优于基准方法。请注意,具有角度感知能力的模型 (Ours 和 AngleInput) 优于那些角度不可知的模型。
为什么基准方法失败了?
- AngleFree 和 Elev 无法区分可以正面攀爬的岩石和需要斜向接近的岩石。因此,它们将安全的障碍物视为危险 (导致不必要的减速) ,或将危险的障碍物视为安全 (导致碰撞) 。
- AngleInput 表现尚可,但受限于前面提到的“过拟合”和“环绕”问题,导致成功率较低 (85% 对比 91%) 。
我们可以可视化这种行为差异:
图7: (a) 设置: 危险障碍物 (红色) 和安全障碍物 (蓝色) 。(b) SPARTA 正确识别了危险区域 (亮黄/绿色 CVaR) 并减速或避开它们。(c) AngleFree 将所有东西都视为大致均匀的风险团块。(d) 高程基准也无法区分这种细微差别。
泛化能力: 学习曲线
一个关键假设是几何结构 (傅里叶基) 作为一个强先验,有助于模型在数据较少的情况下更好地泛化。这一假设通过分析训练期间的测试损失得到了证实。
图8: 与 AngleInput 基准 (绿色/橙色) 相比,SPARTA (红色/蓝色) 实现了显著更低的测试误差。基准模型很快过拟合 (误差上升或在高位停滞) ,而 SPARTA 继续学习有效的特征。
现实世界硬件测试
仿真固然好,但在真正的机器人上有效吗?作者在一台 AgileX Scout Mini 上部署了 SPARTA。
他们设计了一个巧妙的实验: 两条路径。
- 左侧路径: 一个障碍物,机器人可以接近其光滑的一面。
- 右侧路径: 完全相同的障碍物,但旋转了 180 度,因此机器人会撞上锋利、具有破坏性的边缘。
对于高程图或角度不可知的方法,这两个障碍物在高度和大小上看起来完全相同。
图9: 硬件演示。机器人必须在两条路径之间做出选择。障碍物完全相同但方向旋转了。SPARTA (绿色轨迹) 识别出左侧接近是安全的,右侧接近是危险的。高程基准 (橙色轨迹) 无法分辨差异,经常选择导致碰撞的路径。
SPARTA 在 5/5 次试验中成功识别了安全路径。高程基准失败了 3/5 次,选择了危险路径,因为它只看高度变化,而不看交互几何。
可视化学习到的函数
最后,观察模型实际学到了什么是非常有趣的。在下面的图 10 中,我们看到了障碍物的点云和围绕它们的一个“环”。环的颜色代表了从该特定角度接近时的预测风险 (CVaR) 。
图10: 可视化学习到的风险。中心点是障碍物点云 (按高度着色) 。周围的环是 SPARTA 针对该接近角度预测的风险。注意模型如何预测光滑接近方向为低风险 (紫色/蓝色) ,而尖锐、锯齿状的接近方向为高风险 (绿色/黄色) 。
结论
SPARTA 论文代表了越野自主领域向前迈出的重要一步。它摆脱了将障碍物简单视为“障碍物”的观点,转而对交互有了细致入微的理解。
通过将风险视为接近角度上的连续、周期性函数,作者实现了三大胜利:
- 几何一致性: 使用傅里叶基函数解决了环绕不连续性问题。
- 数据效率: 通过强制平滑性 (利普希茨连续性) 提高了泛化能力。
- 计算速度: 通过解耦繁重的神经网络推理和轻量级的角度查询,实现了极快的规划查询速度。
对于机器人技术的学生和研究人员来说,SPARTA 是几何深度学习的一个绝佳范例——即与其向通用模型投喂更多数据,不如将物理定律和几何学编码到神经网络架构中,这样做往往更强大。
无论是火星上的探测器还是灾区的救援机器人,理解如何接近障碍物与知道障碍物在哪里同样重要。SPARTA 赋予了机器人做出这一判断的数学直觉。
](https://deep-paper.org/en/paper/2506.04362/images/cover.png)