Beyond Motion Tracking:Steerable Physical
Interaction Competence
01从 interaction intent 到物理执行
Astra 会直接 solve robotics 吗?我认为它可以成为强大的上层 policy,但仅靠 Astra 还不足以直接控制机器人。它下面仍需要具备 dynamics grounding 的 controller,通过 expressive interface 接收并执行交互意图。
需要这一层 controller,不只是因为 Astra 的推理速度:更快地产生 command,本身并不意味着具备闭环控制能力。Astra 拥有的是 spatial grounding,而非闭环控制所需要的 dynamics grounding。 它能够在较长时间尺度(1 Hz 左右)上理解准静态的空间与交互关系,但 spatial grounding 不会仅凭推理加速,就变成 dynamics grounding。 即使能以 50 Hz 输出控制信号,也不意味着它学会了在接触、负载和扰动变化中及时调整行为,具备控制所需要的 responsiveness。
Spatial grounding ≠ dynamics grounding.
这里我用 dynamics grounding 指一种来自自身物理交互的控制能力:policy 在 simulation 或真实世界中执行自己输出的 action,接收它对身体、接触和物体产生的反馈,并根据这些结果学习调整后续 action。我认为,这种闭环交互经验是建立 dynamics grounding 的必要条件。一个没有在控制时间尺度上经历这种 action–feedback 循环的 LLM/VLM,不会仅凭推理加速,就学会快速控制。
本文把生成 interaction intent 的上层 policy 称为 S1,把接收这些意图并执行动作的低层 controller 称为 S0。
尽管 LLM/VLM 还不能直接承担快速闭环控制,我认为它们的 spatial grounding 已经能够支持表达现有 S0 尚无法充分落实到物理世界的 interaction intent:S1 能够产生丰富的 interaction intent,S0 却未必能感知正在交互的物体,并根据其 dynamics 调整行为。我把这种感知物体并及时响应物理交互的能力,称为 physical interaction competence。 它需要 object awareness:既能看到物体,也能感受到物体如何影响自身的运动与接触。
弥合这个 intent–execution gap,需要 interaction competence:S0 要通过交互经验建立 dynamics grounding,执行物理交互。同时,它也需要足够 steerable,让 S1 能通过 expressive interface 指定和调用这些能力。
例如,同样的手部轨迹,可以是轻触,也可以是压紧。S1 能够理解这个区别,但如果接口只传身体 motion,S0 就无法被独立指定应该怎样接触、施加多大的力。S1 更强的理解,需要 S0 能够 faithful 地执行,也需要更 steerable 的 interface 来表达不同的 S1 intent。
下面以我主要研究的 humanoid whole-body control 为例。(下文的讨论同样适用于灵巧手。)目前,在 free space(不涉及物体交互与复杂地形)进行 motion tracking 的技术已经非常成熟。SONIC、Mimic-Lite 等 tracker 能够自然地跟随丰富的全身 motion reference;Omega-0、Delta-0、Archon 等工作进一步将它们接入 VLA,让 S1 通过接口指挥 tracker,完成移动、伸手、弯腰等全身协调的动作。
可以先看下面三个 demo。
再把它们与下面的 PHP、Workhorse 和 Boston Dynamics 的 Atlas 放在一起看。
PHP 和 Workhorse 的 policy 给人一种很强的 responsiveness:地形发生变化、操作的物体受到扰动时,它们会实时调整行为。Atlas 的抛掷则让人看到,物体的重量和运动已经成为全身动作的一部分。相比之下,一些 whole-body VLA demo 虽然能完成复杂动作,却较少展现这种随交互变化而调整的 responsiveness。
这种观感让我关注 S0 的两个限制。首先,在一类常见的 motion-centric 架构中,S1 看着环境,通过 motion interface 给 S0 发送身体运动 reference;S0 不接受 scene input,主要依靠本体状态跟踪 reference。环境发生变化后,信息需要先经过 S1,再转成新的 motion reference,才能影响 S0 执行。S0 缺少直接感知外界并响应交互的闭环。
这种系统架构,相当于一个人蒙着眼睛,另一个人看着环境,告诉他身体应该怎么动。
其次,是 S0 的训练经历。一个主要在 free space 中学会跟踪身体运动、没有经历过相应 object dynamics 的 S0,即使接收到漂亮的抛掷 reference,也不能因此就可靠地用全身抛出一个重物。物体的质量、惯性和接触会影响全身的平衡与运动;S0 需要在训练中学会应对这些影响。更快的 S1 推理或更准确的 motion reference,都不能替代这部分 dynamics grounding。
02Interaction competence:从任务专用走向通用
PHP、Workhorse 和 Boston Dynamics 的 Atlas 共同的一点是:S0 把物体和环境的 dynamics 纳入了训练或控制。 RL policy 以 scene / object 相关信息为输入,在 simulation 中执行自己输出的 action,并根据物体与环境的反馈学习后续控制;Boston 的 MPC 则显式建模物体的质量、动量与机器人施加的力,联合考虑物体和机器人接下来的运动。前者通过闭环交互经验建立 dynamics grounding,后者通过显式物理建模进行控制。两条路线都让 S0 考虑自身动作对外界的影响,而不只是复现身体动作。
但是这些 S0 都是 task-specific controller。PHP 的重点是 terrain locomotion / parkour;Workhorse 的官网明确说明,每个任务有自己的 planner 和 tracker。它们展示了有价值的能力,却还没有给出我希望的那个通用 S0:不同任务、不同物体、不同接触方式,通过同一个接口交给同一个 S0。
这里我想强调的是 responsiveness:接触、负载或环境发生变化时,S0 能否及时调整自己的行为。在我希望走的 sim-RL 路线里,S0 需要亲自经历 action 对 object/environment 的影响,并利用反馈学习调整行为。没有经历过物体交互 dynamics 的 policy,无法仅从 free-space tracking 中学会针对这些交互的闭环控制。 提高 tracking 精度,或者让 S1 生成更好的 motion reference,都无法补上这段缺失的交互经验。
A Motion-centric tracker
B Object-aware sim-RL
C Desired general S0
如何规模化获得 interaction competence?
数据肯定是最重要的。在数据之外,我最关心的是怎样设计 scalable 的 representation,让 dynamics grounding 能扩展到不同物体和环境。这里我想把 representation 分成两部分:scene awareness,S0 如何感知自己正在交互的世界;以及 interaction intent,如何表示希望 S0 学习并执行的物理行为。
03如何表征:Scene awareness 与 interaction intent
HDMI 是我一年前的工作,我希望机器人不只是模仿人的身体运动,还能真正带动物体。当时只考虑了任意单个 object 单条 motion 的 robot-object co-tracking。最近 scale up 的过程中,我开始重新思考这两种表征:用于感知外界的 scene awareness,以及用于传达期望交互的 interaction intent。
这两种表征需要满足什么要求?Scene awareness 应尽可能完整地提供外界信息,同时这些信息要能在真机上获得;interaction intent 则应尽可能完整地描述希望物体如何运动。两者都需要是 scalable 的,不能与预定义的 object frame 绑定。
Scene awareness:正在发生什么?
在 HDMI 中,我用 robot frame 下的 object pose 来表示 object information。这对单个 object 是可行的,但它依赖我们预先知道这个 object 的坐标系怎么定义。而一个 object 不应该 inherently 有一个绑定在身上的坐标系。
Point cloud、RGB、depth 提供了一种 scalable 的方案:输入不再绑定到固定的一组物体定义,既能提供更细粒度的信息,也能让 S0 通过统一的表征直接感知整个环境。Scene input 让 S0 看见外界,在 object dynamics 中的训练让它学会怎样与外界交互。 有了 scene input 持续提供的环境反馈,S0 才能根据实际发生的交互及时调整行为,形成与外界交互的闭环控制。
Interaction intent:希望发生什么?
之前,我用 object frame 表达物体的 future motion;现在改用 robot frame,去掉了对预定义 object frame 的依赖,从而能够描述任意单个物体的运动。要进一步覆盖多个物体乃至整个 scene,则需要 flow 这样的表征。S1 可以直接推理物体的各个部分应该如何移动,传达给 S0 去执行。
基于上面这两种 scalable 的 scene awareness 与 interaction intent 表征,我使用 HDMI codebase 和 Weave 提供的、经过 robot retargeting 的人–物交互示范训练了一个 policy。下方视频展示它在 simulation 中与箱子、桌椅等日常物体交互。
04如何表征 intent:从 object 到 contact
最近,我也开始被 contact-centric 的路线吸引。Object motion 描述的是希望外界怎么运动,但仅有 object motion,无法完整指定交互。有时,我们需要与物体接触并施力,却不希望它移动。例如擦黑板,我们需要与黑板接触并施力,却不希望黑板移动。如果 interface 不能 specify contact,末端执行器(EEF)可能只是轻轻掠过黑板,没有用力擦,也就擦不掉上面的字。
仅有 body motion,同样不足以确定交互方式。再比如坐到椅子上:相同的身体 motion,既可以是双腿继续受力、维持坐姿,也可以是让椅子承重、放松坐下。如果 interface 能 specify pelvis 与椅子的 contact,S0 就能明确地把重量交给椅子,而不必继续靠双腿支撑。Body motion 相同,承重的接触关系不同,执行效果也不同。 如果不能 specify 这个区别,policy 接收到的 motion reference 就是有歧义的:它无法仅凭 motion 判断,应该继续用腿支撑,还是依靠椅子承重。
显式的接触要求能为 S0 提供更完整的执行信息,包括是否保持接触、desired force/wrench、force range 或 compliance。配合 robot motion,这些目标可以区分仅靠相同 motion reference 无法区分的交互。
我不认为 object motion 和 contact intent 必须二选一:object motion 指定期望的结果,contact intent 指定交互方式,robot motion 则描述身体如何参与其中。不过,要让 contact intent 真正落地,仍需解决力的感知或估计、硬件条件以及 sim2real gap 等实际问题。
05更强的 S1,需要更 steerable 的 S0
随着 LLM/VLM 的空间理解能力增强,我相信 S1 能够 specify 更细粒度的 interaction intent。不同的 intent 应该能够由 S0 执行,并产生相应的物理效果:是否要接触,什么时候顺应、什么时候释放,以及希望物体接下来移动到哪里。
π0.7 和 Steerable Policies 都强调,通过更丰富的 conditioning,让 VLA 能够被更精细地指挥。我认为,同样的思想也适用于 S0:S0 也需要 expose 更 expressive 的 interface。
这不仅是为了让 S1 更方便地调用已有能力。对 S0 自身的学习来说,更完整的条件能够减少歧义,让它更清楚地学到不同意图所对应的执行方式,而不必从一个信息不完整的 interface 中猜测该如何交互。对 S1 来说,更丰富的 interface 则让更多、更细粒度的 interaction intent 能够传递到 S0。Steerability 既帮助 S0 学清楚,也让 S1 说清楚。
Dynamics grounding 让 S0 学会执行交互,steerability 让 S1 能够精细地指挥这些交互。 前者来自 S0 在多样物体、环境和接触条件下的闭环交互经验,建立对交互变化的 responsiveness;后者把这些能力暴露给 S1。LLM/VLM 的 spatial grounding 越强,我们就越需要这样的 S0:能够执行更精细的 interaction intent,并通过 expressive interface 接受 S1 的指挥。
LLM/VLM 的 spatial grounding 越强,越需要能够将其 interaction intent 落实到物理世界的 S0。
它需要 dynamics grounding,也需要 expressive interface,让 S1 能够精细地指挥物理交互。
能模仿动作,是一个重要的起点。接下来,我想让同一个 S0 面对更多真实交互,能够感知并及时响应交互,也能将 S1 的 interaction intent 落实到物理世界。
Citation
引用本文:
Weng, Haoyang. “Beyond Motion Tracking: Steerable Physical Interaction Competence”. (Oct 2026). https://haoyangweng.pages.dev/blog/2026-10-steerable-interaction-competence/
或使用 BibTeX:
@article{weng2026interaction,
title = {Beyond Motion Tracking: Steerable Physical Interaction Competence},
author = {Weng, Haoyang},
journal = {haoyangweng.pages.dev},
year = {2026},
month = {October},
url = "https://haoyangweng.pages.dev/blog/2026-10-steerable-interaction-competence/"
}06Q&A
Q1 · 数据从哪里来?
我的判断是,随着 agent 的空间理解能力增强,real-to-sim 会越来越 scalable:从真实场景与演示中重建可交互的仿真环境,再在其中生成训练数据。更强的 spatial grounding,不仅能产生 interaction intent,也能帮助我们规模化构建训练 dynamics grounding 所需的环境。这是我对数据扩展路径的判断,具体实现和验证仍有待展开。
Q2 · Latent interface 能传达更精细的 intent 吗?
Latent interface 曾让我期待更 fine-grained 的 control。但如果 latent 只是由已有 physical quantities encode 得到,它不会自动增加新的 intent。首先要建立能区分轻触、压紧等交互细节的 interface,再考虑怎样编码这些意图。
设 physical quantities 为 ,经 encoder 得到 ,action decoder 输出 。在相同状态和 decoder 下,S1 输出 再经过 ,与直接输出对应的 ,执行结果完全相同。改变接口的位置,没有增加原 interface 无法表达的信息。
A RL training
B Explicit interface
C Latent interface
这里的等价限于同一个 encoder–decoder,以及 encoder 可产生的 latent。由 RL 交互经验塑造的其他表示,或对原可达集合以外 latent 的搜索,需要另行讨论。
但我并不否认 latent 的价值:信息相同,不代表学习和调用的难度相同。 更有结构的空间,可以让已有能力更容易选择、插值和组合。
| What you could expect | What you should not expect |
|---|---|
A structured, smoother control space更有结构、更平滑,也更容易调用把相关的身体协调组织在一起,让 S1 更容易学习、选择、插值和优化行为。BFM-Zero 展示了 latent interpolation 与 latent search。这些性质来自具体训练与表示设计,并非任意 hidden layer 都具有。 |
Interaction competence without interaction experience没有经历 object dynamics,却获得 object awarenessLatent 可以改变能力的组织和调用方式,却不会自动补上缺失的 dynamics grounding。如果 S0 只经历过 free-space motion tracking,没有学习过物体负载、摩擦与接触变化,就不应因为接口变成 latent,而期待它自动获得物体交互能力。 |
Better generalization, potentially compositional更好的泛化,乃至组合已有能力有结构的空间可能让任务相关因素更容易复用与组合。BFM-Zero 展示了部分身体目标的组合。这是值得期待的方向,仍需要训练支持,不能直接推导出跨物体 HOI 的组合泛化。 |
New control knobs from re-encoding alone仅换一种编码,就能独立指挥更多交互细节能产生细致动作,与能独立指定动作的每个细节,是两回事。如果原 interface 不支持区分“同样的 motion,轻触还是压紧”,把它编码成 latent 不会自动增加这个可控自由度。更 fine-grained 的 control 首先需要能表达、区分并执行这些意图的 interface 的语义。这个判断针对同一 encoder–decoder 的接口转换;直接搜索原 encoder 可达集合以外的 latent,是另一项需要验证的能力。 |
因此,我更希望把 latent 看成组织和调用 interaction intent 的一种方式。先让 S0 学到交互能力,并建立足够 fine-grained 的 interface;再让 latent 的结构帮助 S1 更好地使用它。
Q3 · 我们还需要 S1,或者说 VLA 吗?
我认为,最终仍然需要一个以 5 Hz 左右的频率运行的 S1:根据当前场景,持续指定细粒度的 interaction intent,交给 S0 执行。尚不确定的是,这个角色是否需要由一个独立的 VLA 模型承担。
在我看来,当前的 LLM(这里把它看作 S2)已经在具身理解和 spatial grounding 上展现出很强的泛化能力,但输出细粒度 action 的能力和 inference 频率,还不足以承担这一角色。这也是我认为目前仍需要 VLA 的原因。
不过,两条路线正在相互靠近:LLM 正在增强 action 输出能力,VLA 也在追求更接近 LLM 的泛化能力,最终可能统一。因此,我认为需要保留的是 S1 的功能与运行频率;它是否对应一个独立模型,则是开放问题。
Q4 · 其他本体呢?桌面夹爪机器人需要 S0 吗?
关键不只是本体,而是控制能力从哪里来。LLM/VLM 在图文中学到的 spatial grounding,并不会因为接上双臂夹爪就自动变成控制能力;一个经过机器人数据训练的 VLA,则已经是另一种模型。它可以承担 S0 的角色,或把 S1 与 S0 的功能整合在一起。
灵巧手同样需要 S0 的功能:维持接触,并随交互变化调整控制。即使是夹爪,随着硬件和控制栈变化,这一功能也可能需要升级。加入 tactile sensing 或改变底层控制接口后,原有 VLA 未必学会了如何利用这些新能力,仍需要能够利用新反馈、实现 responsive 闭环控制的执行层。
具备 responsiveness、能够闭环控制的系统需要 dynamics grounding,可以通过 sim-to-real RL、大规模真机示范或 real-world RL 获得。BC 也能学会快速响应,但需要大量目标本体的数据。例如,双臂夹爪系统相对简单,也更容易 teleop,因此更容易规模化采集示范数据。自变量 WALL-B 等系统已经展示了快速的快递分拣;自动驾驶同样受益于通过 fleet learning 积累的大量车辆数据。这两类系统都比较容易积累大规模本体数据,因此基于真实数据的路线更可行。
对于灵巧手和人形,我认为同等规模的本体 teleop 数据更难获得,数据扩展仍需要大量借助无本体的 human video 等来源。这些数据可以提供空间、动作与交互意图的先验,却没有让目标 policy 亲自经历自己输出的 action 在该本体上产生什么物理后果。如果主要依靠这类数据训练,不能据此期待 VLA 自动获得本文所说的 dynamics grounding;这部分经验需要在 simulation 或真实世界的闭环交互中补上。