PAPER DEEP DIVE
Contact-UAN:以无监督执行器网络作为人形机器人控制的残差世界模型
Contact-UAN 把人形机器人执行器的仿真差距建模为叠加在关节目标上的残差动作,并用真实本体感觉轨迹训练这一模型。为避免残差学习去修补错误的回放初态,方法先从接触状态与站立脚位姿估计出与硬件接触力一致的仿真复位状态,再冻结该残差模型用于下游强化学习,部署时只保留任务策略。仅用 6.5 分钟真实行走数据,该方法在奔跑中降低约 20% 力矩、将力跟踪误差降低 42.8%,并支持柔顺控制、阻抗控制与动态跳跃。
论文信息:Nolan Fey、Khai Nguyen、Yash Prabhu、Gabriel B. Margolis、Pulkit Agrawal,MIT Improbable AI Lab;发表于 CoRL 2026。论文链接:arXiv:2610.18991。项目页:contact-uan.csail.mit.edu。代码:nolie-rolie/contact-uan。代码仓库公开了训练、数据重标定、部署与流水线实现,但没有附带预训练策略或硬件数据集。
一句话总结
Contact-UAN 先从本体感觉恢复与硬件接触力一致的仿真复位状态,再学习一个只修改关节目标命令的执行器残差模型;该模型冻结后参与策略训练,最终部署的仍然只有任务策略,却能让奔跑、力控、柔顺交互和跳跃获得更准确的力与冲量响应。
核心判断:人形机器人“动作看起来会了”并不代表策略真正跨过了仿真到现实差距。只要地面反力、关节力矩和冲击吸收的幅值或时刻不一致,策略就可能以更高能耗换取相同的视频效果,甚至在落地和高负载阶段失效。论文把问题从“全身轨迹是否相似”推进到“接触过程是否物理一致”,这是理解其方法价值的关键。
研究背景:动作迁移掩盖了动力学误差
近年来的腿足与人形机器人策略已经能够在仿真中生成复杂的全身动作,并通过域随机化迁移到硬件。常见评估关注速度、步态、是否摔倒以及动作轮廓,这些指标当然重要,但它们主要描述运动学层面的相似性。一个人形机器人即使脚能按同样节奏摆动、躯干也能维持姿态,仍可能在支撑阶段产生完全不同的力矩分布。
这种差异在慢速、准静态动作中不一定明显。到了高速奔跑、持续负载、末端执行器施力、柔顺接触和跳跃落地时,接触力会同时影响关节摩擦、传动效率、力矩饱和与热量积累。执行器模型若低估了某些方向上的负载效应,强化学习就会把这个错误当成可被利用的规则:它可能学会用更大的指令换取期望速度,或者在不该施力时持续抵抗环境。
论文没有把问题简化为“补一个全身动力学网络”。完全学习的世界模型虽然可以拟合更复杂的数据,却必须重新学习刚体动力学、接触求解和数值积分等已有物理结构,也更容易在策略优化时被模型误差诱导。Contact-UAN 选择的路线更克制:保留现成物理仿真器,只让学习模块介入执行器命令通道。
另一条常见路线是监督式执行器网络,以测量到的输出力矩作为标签。现实中,许多人形机器人并没有可靠的关节输出力矩传感器;即使有,力矩测量也不等于完整执行器动态。论文因此研究无监督轨迹回放:在仿真中重现硬件轨迹,并让残差模型缩小状态转移差异。这里真正困难的地方不是优化本身,而是如何保证回放的起点与硬件处于相同的接触条件。
第一,执行器在负载、速度和摩擦下偏离理想模型;第二,带接触的硬件轨迹若被随意放入仿真器,复位时就会生成错误的支撑力。若只处理前者,训练出的残差可能实际上在学习修补后者。
为什么毫米级接触误差不能忽略
论文用接触敏感性实验说明,仿真接地并不存在“脚底刚好碰到地面”这样一个天然正确状态。MuJoCo 的软接触模型依靠微小穿透和脚底姿态产生支撑力;因此,回放硬件站立数据时,需要的不是机器人绝对高度,而是能够复现硬件支撑力矩的仿真侧站立脚位姿。
在论文给出的接触模型中,根节点高度只增加 $2\,\mathrm{mm}$,法向力就可能下降约 50%;根节点俯仰变化 $-2^\circ$ 时,支撑力矩可改变约 45%。这些数字解释了为什么直接使用运动捕捉位姿也未必足够:外部位姿通常追求几何位置准确,而残差学习需要的是接触求解器内部产生正确力所需的“有效位姿”。
图 1:论文的接触敏感性诊断。小于厘米的根高误差与几度的俯仰误差,就足以显著改变接触力矩。
三阶段框架:先校准回放,再学习残差,最后训练任务策略
Contact-UAN 的整体流程分为三阶段。第一阶段从硬件本体感觉中估计基座速度、足部接触与站立脚位姿,重标定每个回放窗口的仿真初态。第二阶段在该重标定数据上训练 UAN,使仿真轨迹接近硬件轨迹。第三阶段冻结 UAN,把它作为增强仿真器的一部分训练下游任务策略。硬件上只运行最终策略,不需要在线运行状态估计器或 UAN。
flowchart LR
A["多帧本体感觉
关节状态与历史目标"] --> B["六个状态估计器
速度、接触、足部位姿"]
B --> C{"接触概率
是否不低于 0.8"}
C -- "否" --> D["丢弃该回放窗口"]
C -- "是" --> E["接触加权融合
根高与投影重力"]
E --> F["接触一致硬件回放"]
F --> G["PPO 训练 UAN
输出关节目标残差"]
G --> H["冻结 UAN
加入名义仿真器"]
H --> I["PPO 训练任务策略"]
I --> J["仅部署任务策略"]
图 2:论文原图给出的训练链路。UAN 在回放阶段学习,在任务策略训练中冻结,部署时不随机器人运行。
预备知识:从转移误差到可执行残差
设机器人状态为 $s_t$、动作为 $a_t$,真实硬件转移为 $f(s_t,a_t)$,名义仿真器转移为 $f_{\mathrm{sim}}(s_t,a_t)$。最直接的想法是用一个网络预测状态修正量,但这样会破坏仿真器内部已有的刚体、接触与积分结构。论文改为学习输入侧修正 $\mu(o_t^\mu)$,优化目标写成:
$$\min_{\mu}\mathbb{E}_{(s_t,a_t)}\left[\left\|f(s_t,a_t)-f_{\mathrm{sim}}\bigl(s_t,a_t+\mu(o_t^\mu)\bigr)\right\|_2^2\right].$$
这里的连续性很重要。由于 $f_{\mathrm{sim}}$ 仍然完整执行接触求解和数值积分,UAN 不能绕过物理约束直接“画”出目标轨迹;它只能改变送进执行器的命令,让原仿真器自己产生更接近硬件的状态。这个限制既是归纳偏置,也是防止策略利用任意世界模型的保护栏。
实际实现中,动作是关节位置目标残差,而不是输出力矩。基础目标 $q_t^{base}$ 与残差 $\delta q_t$ 合成为:
$$q_t^{cmd}=q_t^{base}+\delta q_t,\qquad \delta q_t=\mu(o_t^\mu).$$
训练 UAN 时,$q_t^{base}$ 是硬件记录的目标 $q_t^{hw}$;训练下游策略时,它换成策略刚产生的目标。这样无需修改部署接口,也不要求机器人具备力矩传感。
状态估计:先识别接触,再估计接触敏感量
硬件轨迹的回放初态由六类独立信号构成:基座线速度、左脚接触概率、右脚接触概率、左右支撑脚高度,以及左右支撑脚的投影重力。它们共同由较短的观测历史预测。论文的模型只使用关节位置、关节速度、上一时刻目标、基座角速度和投影重力,不依赖动作捕捉或外部相机。
一个容易被忽视的设计是:足部高度和足部投影重力网络只对处于支撑阶段的样本训练,而不是在摆动和站立样本混合后直接回归。摆动脚的运动范围远大于接触阶段的毫米级变化,如果混合训练,均方误差会被摆动样本主导,模型学到的是动作相位,而不是负载导致的细小接触几何变化。
接触概率并非只用于分类。对两只脚,论文定义阈值化权重:
$$w_{i,t}=\hat p_{i,t}\mathbf{1}[\hat p_{i,t}\ge p_{th}],\qquad \alpha_{i,t}=\frac{w_{i,t}}{\sum_j w_{j,t}+\varepsilon}.$$
其中 $i\in\{L,R\}$,$\hat p_{i,t}$ 是接触概率,实验中 $p_{th}=0.8$。没有任何一只脚达到阈值时,整个窗口不进入 UAN 初始状态缓存,因为此时无法从支撑几何恢复接触一致的根位姿。
每个可信支撑脚都能通过前向运动学给出一份根高度候选。若 $\hat h_{i,t}$ 表示估计的足部相对地形高度,$h^{fk}_{i,t}(z=0)$ 表示根高度置零时的足部前向运动学高度,则:
$$\hat z_t^{(i)}=\hat h_{i,t}-h^{fk}_{i,t}(z=0),\qquad \hat z_t=\sum_i\alpha_{i,t}\hat z_t^{(i)}.$$
姿态恢复使用同一组接触权重,但融合对象变成投影重力。每只支撑脚先预测自身坐标系中的重力向量,再通过前向运动学旋转到根坐标系,最后归一化加权结果:
$$\hat g_t^{(i)}=\operatorname{normalize}\left(R_{R\leftarrow F_i}(q_t)\hat g_{i,t}^{F_i}\right),\qquad \hat g_t=\operatorname{normalize}\left(\sum_i\alpha_{i,t}\hat g_t^{(i)}\right).$$
在平面地形与偏航不变局部坐标的假设下,融合后的投影重力给出横滚和俯仰,根高度与基座线速度共同完成回放复位。作者刻意不把绝对基座高度输入足部位姿估计器,否则网络可能直接复制高度,而忽略真正能反映负载的本体感觉线索。
| 模块 | 网络输出 | 在回放中的作用 | 论文设置 |
|---|---|---|---|
| 基座速度估计 | 三维线速度 | 补全浮动基座初始状态 | 三层 256 单元 MLP,MSE |
| 接触状态估计 | 左右脚接触概率 | 筛掉无法定义根位姿的窗口 | 两层 128 单元 MLP,BCE-logits |
| 支撑脚高度 | 每只脚一个相对高度 | 通过前向运动学得到根高候选 | 仅支撑样本,三层 256 单元 MLP |
| 支撑脚姿态 | 每只脚三维投影重力 | 得到根横滚与俯仰候选 | 仅支撑样本,三层 256 单元 MLP |
| 融合规则 | 根高与根投影重力 | 接触概率至少 0.8 才参与加权 | 所有估计器共享 3 帧历史 |
UAN 网络:三个控制周期内的局部执行器记忆
UAN 不需要长历史。论文让每个关节观察目标位置误差和关节速度,历史长度取 $H_\mu=3$,在文中约为 60 ms:
$$o_t^\mu=\left[(q^{base}-q)_{t-H_\mu+1:t},\dot q_{t-H_\mu+1:t}\right].$$
输入刻意不包含整身状态、接触状态或未来目标。这样做的原因不是模型容量不足,而是为了避免残差网络把局部执行器动态与任务状态混在一起。一个只根据当前跟踪误差和速度学习执行器响应的模型,更可能迁移到它没有见过的奔跑、施力和跳跃策略。
Unitree G1 的 29 个关节按硬件型号分成五组,每组使用一个带 ELU 激活的两层 $(128,128)$ 多层感知机。同名执行器共享参数,使网络容量集中在负载—摩擦—力矩响应,而不是逐关节记住硬件轨迹。代码将两组观测展平成 174 维,再通过按关节索引的 einsum 运算调用所属执行器族的权重。
UAN 本身不是监督回归器,而是在 4096 个并行回放环境中用 PPO 学习。每个窗口先输入 3 帧历史,再滚动 24 个记录目标,对应 480 ms。残差被限制在 $\pm1.0\,\mathrm{rad}$,防止优化初期产生不可执行的大幅命令。
回放奖励由关节位置误差、关节速度误差和残差变化率组成:
$$r_t=-1000\left\|\bar q_t^{sim}-\bar q_t^{hw}\right\|_2^2-0.1\left\|\bar{\dot q}_t^{sim}-\bar{\dot q}_t^{hw}\right\|_2^2-0.01\left\|\delta q_t-\delta q_{t-1}\right\|_2^2.$$
残差本身的平方项权重设为 0,变化率却保留很小的惩罚。这意味着论文不要求残差尽量小,而希望它必要时能持续补偿系统偏差;惩罚的是高频抖动,因为执行器残差若在每个控制周期剧烈变化,会破坏策略学习并增加机械磨损。
下游训练:冻结残差,去掉执行器随机化
进入任务训练后,UAN 参数冻结,只作为确定性模块叠加在策略输出上。策略每一步先生成基础关节目标,再经过 UAN 残差修正,随后由仿真器的 PD 控制、执行器和接触模型前向。与环境交互产生的奖励仍然只更新策略,UAN 不会在任务阶段继续拟合当前训练分布。
这带来两个直接后果。首先,UAN 是离线学到的执行器模型,不会随着策略探索而漂移;其次,下游任务可以移除一部分机器人特定随机化,例如关节编码器偏置和躯干质心偏置,把原本用于“覆盖不确定性”的容量转给任务本身。论文仍保留地面摩擦和外部推力随机化,因为环境变化并不是执行器模型应吸收的部分。
奔跑和跳跃策略还采用力矩—转速包络。令关节 $j$ 的堵转力矩为 $\bar\tau_j$,空载转速为 $\bar{\dot q}_j$,归一化转速为 $r_j=\dot q_j/\bar{\dot q}_j$,命令力矩需满足:
$$-\bar\tau_j\left[1+\max(\min(r_j,0),-1)\right]\le\tau_j\le\bar\tau_j\left[1-\max(\min(r_j,1),0)\right].$$
该区间不对称:制动方向保留更多可用力矩,而沿运动方向随速度提高而收紧。论文先对名义 PD 目标施加该包络,再把 UAN 残差接入仿真,部署时也保留相同裁剪,因此训练与硬件的可执行范围一致。
图 3:状态估计器从三帧观测中提取接触、足部几何和基座速度,再通过接触权重融合出回放初态。
代码对应:论文设计如何落到实现
第一处关键对应在 src/mjlab/rl/uan_actor.py。文件开头直接写明模型由五个共享的 6-128-128-1 ELU 执行器网络构成;构造函数强制要求 29 个关节、五个执行器组、3 帧历史、两个观测块和 174 维输入。_per_joint_forward 不是为每个关节单独建 MLP,而是用 joint_to_actuator 映射先选出所属执行器族的权重,再通过 einsum 在批次、关节和隐藏维上并行计算。
第二处对应在 src/mjlab/tasks/uan/mdp/actions.py。ReplayResidualJointPositionAction.process_actions 先乘残差尺度、执行对称裁剪,再读取当前记录目标并计算 command.current_target + residual;apply_actions 最后把合成为目标写入仿真机器人。这与论文“只修正命令、不修正状态”的定义完全一致。
第三处对应在 src/mjlab/tasks/uan/mdp/replay_command.py 与 scripts/uan_pipeline/stance_root_height.py。前者把 history_horizon=3、require_contact_at_reset=True 和 contact_threshold=0.8 写成默认配置;后者在 compute_contact_geometry_root_z 中用接触概率筛选两只脚跟,分别减去根高为零时的前向运动学足高,再按归一化权重融合。代码不是概念示意,而是逐项实现了表 1 和正文公式。
| 配置项 | 数值 | 设计意图 |
|---|---|---|
| 机器人关节与执行器组 | 29 关节、5 组 | 按硬件执行器型号共享参数 |
| 观测块、历史与维度 | 2 块、3 帧、174 维 | 局部跟踪误差与速度,约 60 ms |
| 每组网络 | 128—128—1,ELU | 拟合负载相关非线性而不混入任务状态 |
| 回放规模与长度 | 4096 环境、24 步、480 ms | 覆盖短时接触与执行器响应 |
| 残差范围 | $\pm1.0\,\mathrm{rad}$ | 抑制优化早期的不可执行命令 |
| 正样本条件 | 至少一只脚接触概率不低于 0.8 | 保证初态能定义一致接触力 |
| 物理与控制频率 | 200 Hz;抽帧 4;策略 50 Hz | 让仿真器承担细粒度接触与积分 |
实验结果:接触一致性先解决复位污染
论文首先做硬仿真到仿真评估,目标仿真器使用训练时未见过的确定性执行器参数扰动。接触高度估计器若直接在所有相位上训练,摆动脚的大幅变化会主导误差;只对支撑样本训练后,接触高度均方根误差降低约一个数量级。这个结果不是单纯比较两个回归器,而是在验证“接触状态筛选”是否让网络关注真正决定接触力矩的变量。
更关键的是固定残差的复位消融。直接使用估计器复位时,训练后的策略在目标仿真器中 20 秒存活率为 49.8%;换成接触一致估计复位后升至 96.7%;使用部分真值或全部真值的上界为 96.6% 到 98.4%。估计方案已经接近 oracle,说明剩余误差没有继续主导策略迁移,而接触一致性本身贡献了主要增益。
作者还检验了“增益是否只是补偿错误的初态”。在配对的硬仿真到仿真实验中,关闭残差时关节位置均方根误差为 0.0750 rad,启用后降到 0.0239 rad;即使把初态换成真值,残差仍把误差从 0.0720 rad 降到 0.0184 rad。两组对比都保留明显下降,因此不能把全部收益解释为状态估计器的修修补补。
在留出的硬件奔跑回放上,两个仿真器使用同样的重标定初态和记录命令,UAN 将全关节聚合的命令力矩使用量失配降低 69.2%。这个指标关注整个回放窗口内力矩绝对值的累计,而不只是几个瞬时曲线。它说明残差模型确实改善了接触运动中的力矩总量与时间分布。
| 条件 | 关键指标 | 结果 | 含义 |
|---|---|---|---|
| 直接估计复位 | 目标仿真器 20 秒存活率 | 49.8% | 初态接触力矩不匹配会污染后续学习 |
| 接触一致估计复位 | 目标仿真器 20 秒存活率 | 96.7% | 仅用本体感觉即可接近 oracle |
| 部分或全部 oracle | 目标仿真器 20 秒存活率 | 96.6% 至 98.4% | 状态估计已不是主要瓶颈 |
| 估计初态,关闭 / 开启 UAN | 24 步关节位置 RMSE | 0.0750 / 0.0239 rad | 残差改善真实转移误差 |
| 真值初态,关闭 / 开启 UAN | 24 步关节位置 RMSE | 0.0720 / 0.0184 rad | 收益并非只来自初态补偿 |
| 留出硬件奔跑回放 | 全关节聚合力矩使用失配 | 降低 69.2% | 接触阶段的力矩规模更接近硬件 |
硬件迁移:效率、力控与动态动作同时受检验
算法最有说服力的地方在于,同一个由真实行走数据训练的 UAN 被用于多种对力敏感的任务。数据采集策略在硬件上运行 6.5 分钟,期间改变步态频率和抬脚高度,以产生不同的支撑时长、摆动速度和冲击。论文没有为奔跑、力控和跳跃分别采集大规模目标任务数据。
奔跑实验在固定 30 英尺路径上比较 1.0、2.0、2.5 m/s 的基础策略与 UAN 策略,每个条件五次硬件试验。UAN 保持在相近速度跟踪水平的同时减少约 20% 力矩使用。更明显的是 3.0 m/s 条件:基础策略在数秒后触发电机过热保护并进入安全阻尼,UAN 策略实际达到 $3.13\pm0.06\,\mathrm{m/s}$。这说明收益不只是“更省一点电”,而是决定了高速动作是否可持续。
力跟踪实验通过弹力带把机器人末端与测力计连接,命令力每次增加 5 N,每个条件做四次硬件试验。UAN 策略平均降低 $42.8\pm12.1\%$ 的跟踪误差,高力区改善最大;这些工况需要腿和躯干共同调整姿态,因此对执行器模型误差尤其敏感。零力命令时,机器人还能表现被动柔顺,被拉动时不会僵硬抵抗。
论文进一步把力控策略与本体感觉末端位置估计和 PD 外环组合,完成仅依赖机载传感的圆形阻抗轨迹。跳跃任务则先跟踪参考动作,再按跳跃高度奖励微调。两个策略都能上硬件,但 UAN 版本跳得更高,微调后基础版本落地失败,而 UAN 版本能在外部推力下稳定落地。值得注意的是,该 UAN 仍然只使用行走数据。
图 4:论文展示的五类硬件能力。它们共同要求准确的力矩、负载和冲量响应,而不是单一的运动学模仿。
| 任务或实验 | 比较对象 | 结果 |
|---|---|---|
| 奔跑能耗 | 基础策略与 UAN 策略 | UAN 在相近速度下降低约 20% 力矩使用 |
| 3.0 m/s 高速奔跑 | 基础策略与 UAN 策略 | 基础策略过热进入安全阻尼;UAN 达到 3.13 ± 0.06 m/s |
| 末端力跟踪 | 基础策略与 UAN 策略 | 平均误差降低 42.8 ± 12.1% |
| 位置残差模型 | 回放、存活率、位置、偏航、功率 | 0.00349 rad;97.34%;0.391 m/s;0.185 rad/s;69.29 W |
| 力矩残差模型 | 回放、存活率、位置、偏航、功率 | 0.00571 rad;98.17%;0.387 m/s;0.214 rad/s;69.25 W |
| 监督力矩模型 | 回放、存活率、位置、偏航、功率 | 0.00565 rad;97.56%;0.394 m/s;0.215 rad/s;71.90 W |
数据效率与结构选择
在受控的目标仿真器中,UAN 使用 5 分钟目标数据就把归一化回合长度提升到 100%。论文给出的一种离线全学习世界模型基线大约需要 33 小时数据,约多 400 倍;而从头训练或微调的全学习模型只达到 6.8% 与 38.2%,名义仿真器策略为 32.6%。这里应谨慎理解:全学习世界模型并非不可行,关键是它要承担完整动力学建模,样本复杂度与残差方法不在同一层级。
论文还比较了位置残差、力矩残差和带力矩监督的执行器模型,三者在匹配仿真中的下游速度、偏航和功率表现接近。位置残差回放拟合最好,但优势不意味着其他表示无效。它真正的工程优点是不依赖输出力矩标签,并保持部署时的关节位置控制接口,适合没有可靠力矩传感的人形平台。
对传感器退化的测试同样重要。固定 0.5°、1°、2° 的 IMU 俯仰偏置,或对速度使用 20、10、5 Hz 因果低通滤波后重新训练,20 秒存活率仍为 97.1% 到 100%;关节位置与速度回放误差分别保持在干净条件的 8% 与 11% 以内。结果说明方法并非建立在完美估计器上,但它是针对结构化小扰动,不应外推为任意传感器故障都能处理。
跳跃中的弹道高度奖励使用起跳质心竖直速度来设定目标峰值:
$$h_{\mathrm{ballistic}}=\frac{\max(v^{takeoff}_{COM,z},0)^2}{2g}.$$
这个项把任务目标与真实物理量连接起来,但最终仍要通过仿真执行器与接触模型实现。UAN 的作用不是直接控制跳跃高度,而是让策略在训练中看到的力矩、速度和落地冲量更接近硬件,从而减少策略利用错误动力学获得虚假高度的机会。
局限性与需要保留的判断
作者明确写出两个限制。第一,当前 UAN 不捕捉关节之间的耦合执行器效应。每个网络按执行器族独立作用于一个关节,这有利于样本效率和接口简洁,却无法表达一个关节的负载或速度对另一个关节传动响应的显著影响。作者建议用整身观测或跨关节注意力扩展。
第二,模型不包含电机温度相关效应。温度按分钟乃至更长时间尺度变化,而控制回路与论文数据窗口都短得多;仅靠短时本体感觉轨迹很难识别温升造成的内阻和可用力矩变化。要覆盖这一点,需要热模型、额外的长期传感器,或者专门设计的热状态估计。
从方法结构看,还有两个不应被作者摘要掩盖的边界。状态估计依赖平面地形和偏航不变局部坐标,站立脚位姿用于接触力一致复位;在楼梯、斜坡或强地形交互中,足部接触几何与地形高度的可辨识性明显更难。论文的硬件任务主要在平地完成,因此跨复杂地形的泛化仍需验证。
此外,UAN 的输入只用三个控制步的局部目标误差和速度,这对负载变化属于合适的时间尺度,但不能表达由温度、长期磨损或任务历史引起的变化。残差还被限制在 $\pm1.0\,\mathrm{rad}$,它适合补偿执行器偏差,不是修复严重机械故障或大幅未知动力学的万能模块。
数据方面,硬件 UAN 由 6.5 分钟行走数据训练;这在效率上非常突出,但数据来自单一 Unitree G1 和有限步态变化。不同机器人、不同地面、不同负载范围的迁移需要重新采集并重标定。公开仓库没有预训练策略和硬件数据集,这也意味着复现论文硬件结果需要完整的采集、标定和部署条件。
结论与展望
Contact-UAN 的主要贡献不是“用神经网络替代仿真器”,而是找到了残差世界模型在有接触的人形数据上可学习的前提:先让回放初态在仿真器中产生与硬件一致的接触力矩,再让残差只处理执行器误差。这个顺序避免了两个误差源相互混淆,使 6.5 分钟的真实行走数据可以影响后续奔跑、力控、阻抗和跳跃训练。
结果同时说明,评估具身策略时只观察动作相似性会漏掉最有价值的差异。相同速度、相似步态和可接受视觉轨迹背后,力矩使用可能相差 20%,高负载力控可能相差 42.8%,错误复位甚至能把策略存活率从 96.7% 拉到 49.8%。这些指标直接决定机器人能否持续运行、稳定施力和安全吸收冲击。
下一步最自然的方向是把局部执行器族网络扩展为能表达跨关节耦合与热状态的模型,同时保留现有仿真器的物理骨架。另一个方向是把平面接触估计扩展到复杂地形,并研究在长期运行中在线更新哪些慢变量、固定哪些快变量。Contact-UAN 给出的路线是:不要把全动力学都交给网络,而要把学习放在物理先验最薄弱、又对任务成败最敏感的执行器通道上。
金句:真正的仿真到现实差距,往往不在动作看起来像不像,而在地面是否在相同时刻收到了相同大小的力。
资料可追溯性:本文依据 arXiv:2610.18991v1 全文、官方项目页与提交 55de136 的开源代码撰写。所有实验数字均来自论文正文、图 5 至图 8、附录表 15 或官方代码配置。



