← 返回 PaperDaily 前沿研究

机器狗真实自主跑酷超1公里:MulDP仿真成功率89.7%

论文基本信息 原文标题: MulDP: Multimodal Diffusion Policy for Autonomous Quadruped Parkour Navigation across Complex Terrains 首次公开: 2026 年 9 月 3 日 发表单位: 复旦大学智能机器人与先进制造学院 原论文: https://arxiv.o

论文基本信息

原文标题:MulDP: Multimodal Diffusion Policy for Autonomous Quadruped Parkour Navigation across Complex Terrains
首次公开:2026 年 9 月 3 日
发表单位:复旦大学智能机器人与先进制造学院
原论文:https://arxiv.org/abs/2609.03984

龙哥导读

会跳箱子、跨沟、上下楼梯的机器狗已经不少,但“能跑酷”和“能自己决定怎么跑”是两回事。MulDP 最让我惊喜的,不是又做出一个漂亮动作,而是把深度视觉、身体状态、目标和历史决策压进同一个扩散策略,让机器人在真实户外连续自主跟随超过 1 公里。它把四足机器人从被人遥控的运动员,往能预判、能选路的行动者推进了一步。

先看最抓人的结果。真实测试中,Unitree Go1 跟随动态目标穿过广场、台阶、草地、沟槽和障碍物,最后还完成跨栏;论文称整个过程超过 1 公里,没有人工介入高层导航。这不是一段孤立的跳跃,而是一条需要持续判断“该绕、该跨、该加速还是该转向”的长链路。

图 1|论文的一公里真实户外实验:橙、蓝、绿框分别对应环形广场与缓坡台阶、陡阶与草地避障、跨沟与跨栏等阶段;右侧给出俯视路线。来源:MulDP 论文图 5。

01 真问题不是“会不会跳”,而是“何时跳、跳向哪”

传统四足跑酷通常把高层决定交给人:操作者选方向、给速度,底层策略负责把腿迈好。这样可以展示很强的运动能力,却回避了更难的问题——机器人眼前是一条沟时,要提前多久加速?旁边还有一条窄路时,是跨过去还是绕开?摄像头看起来能过,身体宽度、落脚空间和当前姿态真的允许吗?

普通视觉导航更习惯输出航点或朝向,轮式机器人照着绕障碍通常够用。跑酷却要求连续调节线速度与角速度:跨越宽沟要在边缘之前积累动量,落地后又要及时减速;狭窄通道不能只看镜头中心有没有障碍,还必须知道身体会不会擦碰。

所以 MulDP 的核心改写是:不把导航当成一个“下一个点在哪里”的几何题,而把它变成“未来一段速度序列应当长什么样”的生成题。一个地形往往不只有唯一解,扩散模型的价值就在于表达多种可行方案,而不是把几条路线平均成一条谁也走不通的中间路线。

02 一张图看懂:三路条件,生成一段未来

系统输入分成三路。第一路是历史深度图与本体感觉,负责回答“刚才看到了什么、身体如何运动”;第二路只看当前深度帧,保留突然出现的箱子、台阶边缘等细粒度空间结构;第三路保存最近 5 步控制和目标向量,让策略记得自己原来想往哪走。

图 2|MulDP 方法总览。左侧历史深度图、本体感觉、当前深度图与目标/决策记忆分别编码;中部把条件送入扩散模型;右侧生成未来速度命令序列。系统每秒更新 5 次,每次只执行序列的第一条命令,然后重新观察与规划。来源:论文图 1。

历史编码器把 44×56 的深度图切成 4×4 patch,共形成 154 个视觉 token,再与 45 维本体感觉共同送进多模态 Transformer,得到 128 维融合条件。这里的本体感觉不是附属信息:它让视觉中的“距离”与机器人真实姿态、速度、关节状态发生联系。

当前空间编码器是一条浅层 CNN 支路。为什么不把所有视觉都交给 Transformer?因为历史特征擅长建模趋势,却可能把眼前突然出现的小障碍压成抽象表征;当前帧支路保留局部几何细节,相当于给长期记忆再配一双盯紧脚下的眼睛。

决策记忆编码器则用 MLP 处理最近 5 步控制与目标变化。它的作用不是保存无限历史,而是维持短期意图:刚才正在绕过桌角,就不要下一帧又被另一条看似可行的路线拉回去。三个编码器分别守住时间连续性、眼前几何和目标一致性,最后才进入生成未来动作的扩散过程。

03 扩散模型不是画图,而是在“擦除错误动作”

MulDP 要生成的不是关节角,而是一段长度为 H 的高层命令序列。每一步命令包含线速度增量 Δv 和角度增量 Δθ。低层跑酷策略继续负责把这些命令翻译成四条腿的具体动作,高层扩散策略专注于“以怎样的速度和方向接近目标”。

根据论文方法整理的伪代码

输入:历史深度图、当前深度图、本体感觉、目标、最近5步决策
h1 = 时间编码器(历史视觉, 本体感觉)
h2 = 空间编码器(当前深度图)
h3 = 决策记忆编码器(目标, 最近控制)
c  = 融合(h1, h2, h3)
U  = 高斯噪声初始化的未来速度序列
重复10次:U = 条件去噪(U, c)
执行 U 的第一条速度命令
等待下一次5Hz更新,重新观察并生成整段U

最关键的是最后两行。模型虽然预测一整个未来窗口,却不盲目执行到底,只取第一条命令;0.2 秒后拿到新观测,再把整段未来重算一遍。这与模型预测控制的滚动时域思想相似:长序列提供前瞻性,短执行步保证能及时纠偏。

论文的去噪公式可以读成三步:先从当前带噪动作序列 Uk 出发;噪声网络 εθ 根据条件 ct 判断哪些成分不像合理动作;调度系数 λ、μ、σ 决定本轮擦掉多少噪声、保留多少随机性。连续 10 轮后得到 U0,也就是平滑且与地形、身体、目标相容的速度计划。

训练目标同样直接:给专家速度序列加上某一强度的噪声,让网络预测这份噪声,最小化真实噪声与预测噪声的平方误差。它学到的不是一条固定轨迹,而是条件给定时“哪些动作序列可能来自专家”。生成式策略的优势不是更有想象力,而是能保留多解,同时维持动作的时间连贯性

04 QPND:31公里轨迹,专门教机器狗自己做决定

没有合适数据,再漂亮的策略也只能停在结构图里。论文构建 QPND:总导航距离 31.0 公里、6400 条轨迹、约 25 万张深度图,地形覆盖宽 0.4–0.7 米的沟、0.4–0.5 米高的跨栏、单级 0.15–0.2 米的台阶,以及可通行和不可通行的箱体、碎石与平地。

数据并非全由一种“老师”采集。简单地形随机生成 50 组起终点,用脚本策略给出固定线速度和角速度;复杂障碍存在绕行、跨越、减速等多种解,改用专家遥操作留下多模态示范。这个分工很务实:规则能覆盖的地方不浪费人工,真正需要选择的地方才投入专家数据。

传感器设计也刻意贴近真实部署。仿真机器人使用前向深度相机和本体感觉,不依赖激光雷达或局部完整三维地图;深度相机参考 RealSense D435i,10Hz 更新、最远 2 米,并随机加入 10 毫米位置扰动与 ±5° 姿态扰动。

此外,轨迹被切成连续短片段,数据利用率提升近 50%;深度边缘会裁切重缩放,还加入 1% 随机深度噪声、方差 0.01 的高斯噪声,本体感觉也被扰动。这里真正重要的不是“数据多”,而是训练接口与部署接口尽量一致,并主动把真实传感器的不完美教给模型

05 89.7%成功率,优势来自哪里

仿真基准包含沟、跨栏、上楼、下楼、碎石和箱体六类地形,每类又分两个难度。每个场景随机 50 个起点,目标距离 5–8 米,单次最长 60 秒。评价不只看有没有到,还看路径效率 SPL、探索区域比例 TR 和成功用时 TTR。

图 3|MulDP 与 NavDP、ViNT、PointNav 等基线的比较。对比同时区分在 QPND 上训练的版本和直接使用官方检查点的版本,避免把训练域差异藏进一个总分。来源:论文图 2。

MulDP 的平均成功率为 89.7%,SPL 为 71.9%,成功到达平均用时 4.9 秒。相同 QPND 上训练的 NavDP* 成功率为 59.0%,ViNT* 为 71.5%;直接使用原检查点的 NavDP 与 ViNT 在高难地形分别只有 38.4% 和 35.8%,更倾向保守绕障,难以利用机器狗本身的跨越能力。

三项指标要放在一起看。SR 回答最终是否到达,SPL 会惩罚不必要的绕路,TTR 则反映成功需要多久。一个方法可能靠慢速搜索获得不错的 SR,却让 SPL 和 TTR 变差;MulDP 三项同时占优,说明提升不只是“愿意多试几次”,而是更常以较短路径、更少时间完成目标。

分地形结果也有启发。平地和简单箱体不是区分度最大的部分,沟槽、台阶与复杂障碍组合才真正检验策略能否调用跑酷能力。若评测只放普通走廊,保守绕行与主动跨越可能得到相似分数,也就看不出多模态速度规划的价值。

这组对比支持一个明确判断:跑酷导航不能把视觉表征、规划和身体执行彼此隔开。NavDP* 使用预训练 DepthAnything 从 RGB 提特征,表征域与跑酷任务存在错配;MulDP 直接吃前向深度图,并让视觉编码器与导航策略联合训练,因此更容易学到“这个几何结构对这副身体意味着什么”。

06 消融里最意外的结果:走得多,可能只是迷路

去掉本体感觉后,成功率从 89.7% 降到 69.5%,成功用时从 4.9 秒增至 7.5 秒。视觉知道前面有沟,却不知道身体此刻的速度、姿态与运动状态,就很难判断该加速还是刹车。

更夸张的是去掉决策记忆编码器:成功率只剩 7.4%,TR 却升到 90.3%。TR 高看似“探索充分”,实际上机器人到处走却不能收敛到目标。这个反差提醒我们,导航指标必须组合解释;只看覆盖范围,甚至会把迷路包装成勇于探索。

去掉当前空间编码器的影响相对小,成功率仍有 82.0%,说明历史多模态特征已承担大部分工作;但在突然出现障碍、细窄通道等场景,它仍会造成错误决策。去掉轨迹增强更严重:成功率降到 32.5%,SPL 降到 23.7%;不加传感器噪声,成功率也降到 75.0%。

图 4|真实窄通道中的数据噪声消融。绿色框中完整 MulDP 穿过通道并处理突然出现的箱体;红色框中未使用数据噪声训练的版本误判障碍几何并发生碰撞。来源:论文图 3。

最有工程价值的消融不是证明模块越多越好,而是指出了真实迁移的三根支柱:身体状态、短期目标记忆、带噪数据。模型结构负责表达能力,数据扰动负责让这种能力在真实相机上不至于崩掉。

07 它真的会“提前想”吗?速度曲线给出证据

论文在未见过的 16×16 米仿真环境中设置相距 13 米的固定目标。相同起终点下,扩散策略能采样出多条不同但可行的路线。这正是多模态分布的意义:左绕、右绕或跨越都可能合理,策略不必被迫输出平均动作。

图 5|未见过的 16×16 米 Isaac Sim 场景,不同颜色轨迹展示相同起终点下的多条可行跑酷路线。红球为目标,图中同时包含台阶、沟槽与箱体。来源:论文图 4。

更直接的证据来自速度曲线。机器人接近沟边前主动加速,峰值接近 2 米/秒,落地后才减速;在密集障碍中,线速度平均约 1.1 米/秒,主要通过角速度峰值改变朝向,而不是频繁急停。

图 6|MulDP 的线速度和角速度随地形阶段变化。跨沟前线速度先升高,密集避障时主要调整角速度;这支持策略具有前瞻性速度调节,但不能单独证明它形成了可解释的地形语义。来源:论文图 6。

这比单纯展示“跳过去了”更有信息量。动作发生在接触之前,说明模型利用视觉历史预测即将到来的地形变化;线速度保持平滑,说明滚动重规划没有把每次新观测变成剧烈抖动。所谓前瞻,在这里不是拟人化想象,而是可以从动作时序中检查的行为模式

08 和三条相近路线相比,MulDP补上了哪一环

Diffusion Policy 把条件扩散引入视觉操作,证明动作序列可以通过迭代去噪生成,优势是多解表达和训练稳定。MulDP 延续这条思想,但把动作层级上移到导航速度,并加入长时历史、当前几何和目标记忆,服务于四足跑酷而非桌面操作。

NavDP 已经探索用扩散策略做视觉导航,重点是从视觉预测导航行为。MulDP 的差异不只是换成机器狗,而是让深度视觉与本体感觉联合编码,并允许策略选择跨越而非只绕开障碍。论文中 NavDP 的保守行为恰好说明,轮式导航的“安全路径”定义不能直接搬到跑酷。

ANYmal Parkour 展示了强化学习如何获得敏捷地形技能,是“身体能做什么”的代表。MulDP 更关心“何时调用这些能力、朝哪个目标连续前进”。前者打牢运动技能,后者补高层自主决策,两者更像上下游而不是简单替代关系。

把三条路线放在一起看,四足自主跑酷需要完整链路:低层运动策略提供跨、跳、爬的动作能力;多模态感知把地形与身体状态对齐;生成式局部规划在多条可行路线中形成连续速度计划。MulDP 的贡献主要落在第三环,并通过 QPND 把第二环与第三环连接起来。

09 训练与部署:一个值得复用的分层方案

MulDP 没有试图用一个网络同时解决目标理解、局部导航和腿部控制。高层策略输出线速度与角度增量,低层跑酷控制器负责稳定落脚。这种分层降低了学习难度,也让新导航策略可以复用已有运动技能。对真实机器人来说,模块边界清楚往往比端到端形式更容易调试。

训练时,作者使用 AdamW 优化器,学习率 10-4、批大小 512,共训练 1000 个 epoch,并用余弦调度与 warm-up 稳定训练。扩散策略采用 DDPM 训练,条件去噪设为 10 步,在保留序列生成能力的同时把在线计算压到机器人可用范围。论文没有披露完整训练时长和训练显卡配置,因此暂时无法比较训练成本。

部署链路也很具体:RealSense D435i 提供前向深度,Unitree Go1 提供本体状态,NVIDIA Orin NX 16GB 运行高层策略。模型以 5Hz 生成规划,低层控制频率更高。高层不需要追上每一个关节控制周期,只需在地形和目标显著变化前及时刷新意图。

图 7|真实长距离测试中的连续台阶片段。系统根据前向深度与目标方向持续调整速度,而不是由操作者逐段指定动作。图片裁自论文图 5,未新增文字。

这里有一个常被忽略的工程取舍。扩散步数太多,动作还没生成,机器人可能已经走到沟边;压成一次回归虽然快,又会丢掉多解表达。MulDP 用 10 步条件去噪和只执行首个动作的滚动方式,在采样质量、响应速度与纠错能力之间取得可运行的平衡。

也要再次区分两类证据:89.7% 是六类仿真地形的平均成功率,超过 1 公里是一次真实动态目标跟随演示。前者便于重复对比基线,后者验证系统能在真实传感器、真实算力和连续地形变化下运行;两者共同增强可信度,但不能互相替代。

这套分层最值得复用的地方,是允许每一层使用适合自己的时间尺度:关节控制追求毫秒级稳定,局部规划以 0.2 秒为周期更新,目标系统只在任务变化时刷新。不是所有智能都需要塞进同一个频率、同一个模型。

10 如果要复现,先检查这五件事

第一,先统一坐标与时间。 深度帧、本体状态、目标向量和专家命令如果错开一两个采样周期,模型会学到“看到障碍后继续加速”的伪因果。真实系统中应记录硬件时间戳,明确插值方式,并单独统计传感、推理、通信和执行延迟。

第二,不要只收成功轨迹。 多模态策略要知道同一地形可绕可跨,也要见过接近边界后放弃、落脚不稳后减速等恢复片段。若数据全是最短路线,生成模型再强也只会模仿单一答案。

第三,把形态参数纳入条件。 QPND 面向 Go1,换成更宽、更重或腿长不同的平台,可通行边界都会变化。直接迁移视觉策略可能把“看起来相同”的沟误判成同一种动作。后续可以显式加入机身尺寸、负载和摩擦估计,让策略对平台差异可条件化。

第四,评测必须包含失败方式。 除了 SR、SPL、TR 和 TTR,还应记录碰撞部位、滑落、超时、反复振荡、目标定位异常及人为急停。两个方法成功率相同,一个只是偶尔停住,另一个会高速撞击,产品意义完全不同。

第五,先做影子模式再开放控制。 让新策略在真实机器人上只输出建议,与现有安全策略并行比较,积累分歧样本;确认关键地形的速度和安全边界后,再逐步接管。扩散模型的随机性可以带来路线多样性,也要求团队对最坏采样而非平均采样负责。

11 由这篇论文还能挖出哪些新思路

一个直接方向是风险条件扩散。在地形、身体和目标条件之外,再输入允许风险等级或剩余电量。同一条沟,救援任务可以选择快速跨越,日常巡检则选择低冲击绕行。这样,多模态不只表示环境有多种解,也表示任务偏好有多种解。

第二个方向是把失败预测作为去噪引导。额外训练一个轻量模型,估计候选速度序列在未来两秒内碰撞、打滑或失稳的概率,再像 classifier guidance 一样修正扩散采样。它可能比事后硬裁剪更柔和,同时保留跨越等积极动作。

第三个方向是主动数据闭环。不是平均收更多轨迹,而是让机器人找出扩散模型分歧最大的地形:多次采样如果路线差异巨大,说明当前数据不足或条件表达含糊,优先请求专家示范。这样可以把昂贵人工遥操作集中在真正增加决策边界的信息上。

再往前一步,可以把语言任务拆成可验证的局部约束,例如“不要踩草地”“携带液体时避免跳跃”“保持与人两米距离”,由上层把约束注入动作扩散过程。相比让视觉语言模型直接输出关节动作,这种接口更容易检查,也更接近复杂机器人系统的责任分层。

12 从论文到产品,还缺三块硬骨头

第一,目标来源仍是外部定位系统。真实实验用高精度 UWB 提供机器人与目标的相对位置,因此系统解决的是给定目标下的局部自主导航,不等于机器人能靠视觉理解自然语言任务、自己寻找目标或完成全局语义规划。

第二,安全层仍不完整。论文展示了跨沟、避障与异常物体泛化,但扩散采样会保留随机性,真实产品还需要独立的碰撞预测、动作边界、紧急停止和轻量安全评估。成功跑完一公里很有说服力,却不能替代大规模失效统计。

第三,算力与复现信息还不够充分。部署硬件是 NVIDIA Orin NX 16GB,推理频率 5Hz,这说明系统具备边缘运行可能;但论文没有给出完整功耗、端到端延迟分解、长期温升、模型大小和公开代码复现闭环,暂时不能推断它已达到量产成本。

还有一个容易被忽略的边界:前向深度相机最远 2 米,策略主要做局部预测。高速、开放区域和更长制动距离下,有限视距可能成为瓶颈。论文也把语义感知、更高层规划和轻量安全模块列为后续方向,这恰好说明当前版本强在局部连续决策,不是全能自主系统。

13 龙哥点评:机器人自主性的门槛,正在从动作移到决策

过去看机器狗演示,最震撼的通常是后空翻、跨栏和抗冲击。但这些动作一旦由人选择时机,本质上仍是“人脑规划,机器身体执行”。MulDP 最值得关注的进步,是把何时加速、何时转向、绕还是跨的一部分选择权交给模型,而且用真实长距离实验而不是几秒钟片段支撑。

对研究者,它给出一条清楚路线:不要只卷更强的低层技能,要研究感知、身体状态与目标如何共同约束未来动作分布。对工程团队,最可迁移的经验反而朴素——训练时就模拟传感器噪声,保留短期决策记忆,并用组合指标识别“走了很多却没到”的假进步。

对产品来说,下一步不是让它跳得更炫,而是把 UWB 目标替换成更自然的任务接口,再补上可验证的安全壳。仓储巡检、灾害搜索、园区运输或户外跟随都需要这种能力,但商业价值取决于稳定运行数百小时后的故障率、维护成本和责任边界,而不是一条演示视频的完成度。

龙哥的最终判断是:MulDP 不是“通用机器狗大脑”,却是四足机器人从动作自主走向局部决策自主的一次扎实推进。31 公里训练轨迹、89.7% 仿真成功率、关键模块消融和一公里真实部署形成了相互支撑的证据链,这比只报一个最高分更值得看。真正值得追踪的后续,不是下一段更炫的视频,而是代码、数据与安全评测开放后,其他团队能否在不同机器狗、不同相机和更长任务上重复这条证据链。

龙迷三问

如果目标定位短暂漂移,决策记忆会帮助稳定,还是把错误意图维持得更久? 这决定了短期记忆在异常条件下究竟是缓冲器还是放大器。

扩散策略保留多条可行路线后,安全系统应该怎样约束采样而不把它重新压成保守绕障? 生成多样性与可认证安全之间仍需要新的接口。

当视觉语义、全局地图与局部跑酷策略接起来,谁负责决定“这辆自行车应绕过,而这级台阶可以跨越”? 未来真正的通用性,很可能来自分层决策契约,而不是一个模型包打天下。

相似工作:Diffusion Policy(https://arxiv.org/abs/2303.04137)、NavDP(https://arxiv.org/abs/2505.08712)、ANYmal Parkour(https://arxiv.org/abs/2306.14874)。

本文基于龙哥读论文PaperDaily数据库及PaperMiner的MCP进行汇总整理。论文图用于研究评论与方法解读,版权归原作者所有。本文仅代表个人理解,技术细节与完整实验请以原论文为准。

转发文章 微博 X LinkedIn Facebook
龙哥读论文 · PaperDaily

本文基于龙哥读论文 PaperDaily 数据库整理,结合论文原文与工程视角进行解读。

LONGGE AI COMMUNITY

把每天读到的论文,变成长期积累

加入「龙哥读论文」知识星球,持续获取 AI 论文、资讯、开源项目、招聘与研究思路。

加入龙哥读论文微信群:添加微信 kangjinlonghelper,备注“研究方向 + 地点 + 学校/公司 + 昵称”。

龙哥读论文知识星球二维码 微信扫码加入知识星球