DPC技术:机器人跳过中间接口直接生成关节动作

当机器人能稳稳坐上卡丁车完成赛道漂移,曾经科幻里的具身智能场景正一步步落地。近日,一支机器人研发团队公开了全新的演示视频,展示了人形机器人驾驶卡丁车完成弯道操控、原地甩尾的完整过程。这套演示背后的核心技术,正是团队推出的Direct Perception Control,简称DPC系统。
视频里,机器人先压低身体,将四肢挪进卡丁车狭窄的驾驶座舱,随后驶上赛道。它能根据眼前的弯道实时调整方向盘角度,右脚控制油门、左脚调控刹车,最终在终点完成了原地甩尾漂移动作,整套动作颇具专业车手的风范。
不过这段演示真正想要解答的,并非机器人的车技水平,而是一个更基础的行业痛点:当机器人已经能够识别赛道环境、看懂弯道信息后,如何让这份感知判断及时转化为全身关节的精准动作?
为了解决这个问题,团队推出了DPC系统。不同于传统方案,它取消了需要独立全身追踪器生成的中间运动表示,而是让模型直接结合视觉画面、任务指令和身体实时反馈,计算出最终的关节与手部动作目标。为了训练这套系统,团队还整理了共计15010小时的具身智能训练数据。
机器人开卡丁车,难在哪里?
首先是上车环节。卡丁车的座舱低矮又狭窄,机器人需要压低躯干,重新调整髋部、膝盖和四肢的位置,同时还要为双手握住方向盘预留足够的空间,整个过程需要精准的全身姿态规划。
而当车辆启动后,挑战会变得更多。机器人需要一边根据赛道画面判断弯道走向,一边连续协调手脚动作:双手调整方向盘方向,右脚控制油门开度,左脚管控刹车力度。随着车速和转向角度变化,车身反馈的物理状态也会实时改变,机器人必须立刻调整下一步动作,确保操控的稳定性。
换句话说,这项任务的难点并不只是“会转方向盘”或“会踩油门”,而是让感知、决策和全身控制在连续的动态运动中实现无缝衔接。这也暴露了当前人形机器人系统中一个长期存在的问题:负责理解任务的模型,与真正控制身体执行动作的模型之间,依然存在明显的断层。
传统分层控制的核心限制是什么?
当前主流的人形机器人控制方案,通常会将“理解任务目标”和“执行身体动作”拆分为两层独立的系统。比如Figure Helix用一套系统处理低频语义推理,另一套系统负责高频的实时控制;Gemini Robotics 2则分别使用具身推理模型与VLA模型,完成任务推理和全身动作执行。这类分层设计已经相当成熟,但DPC团队希望进一步突破:让负责认知理解的模型与直接生成关节动作的运动专家,在统一的训练流程中联合优化,让任务理解与全身控制相互适配,共同提升性能。
我们可以从三个维度分析分层架构的痛点:
Motion goal 说清了姿态,还缺少什么?
传统方案中,Motion goal仅描述了身体大致的姿态方向,在实际执行时,全身追踪器还需要结合当前的身体状态,计算出具体的关节目标。即便上层模型能够更好地理解任务,也无法自动掌握追踪器在不同接触条件和平衡状态下学会的动作逻辑。决定身体如何发力、如何维持支撑的关键决策,依然发生在Motion Interface之后,无法与上层任务理解形成联动。
实机上连续执行,训练时能否一起调整?
在实机运行时,Latent Policy和System 0会依次工作:前者负责学习生成运动表示,后者单独学习追踪与稳定控制。两套模型直到部署阶段才通过接口连接,低层动作产生的误差和画面变化,无法同时用于调整上层策略,导致训练和实际运行的效果存在偏差。
当低层控制器被冻结,机器人的动作能力还能扩展吗?
机器人最终能够完成的动作范围,取决于低层控制器在训练阶段接触过的数据集。如果低层先验主要学习行走类动作,那么新增的移动操作任务依然需要依赖这套先验执行。坐进卡丁车需要在狭小空间内重新规划全身姿态,而驾驶过程又要求上肢和下肢持续配合,这些动作都超出了传统行走训练数据的覆盖范围,会成为能力扩展的瓶颈。
这并非DPC独有的问题,ω-0、MotionWAM和Ψ₀等模型同样将视觉信息与身体状态用于动作生成,但依然采用分层控制架构:前两者先预测全身动作的隐空间表示,再交由底层控制器执行;Ψ₀则将上下肢解耦,分别生成下肢运动指令和上肢关节命令。相比之下,DPC直接以Joint Target作为训练目标,在学习关节动作的过程中始终参考任务信息和实时身体反馈。
DPC,怎样把画面直接变成关节动作?
既然中间的Motion Interface是限制之一,DPC的解决方案并非继续扩充这层表示,而是直接绕过它。按照官方说明,DPC取消了独立全身追踪器的依赖,系统会直接读取视觉画面和任务语言指令,同时接收身体的实时状态反馈,结合过往的动作记录和执行反馈,最终直接输出关节与手部的动作目标。这里的“Direct”指的就是直接输出Joint Target,电机依然由PD控制和硬件执行层驱动,关节限制等安全防护措施也完整保留。
DPC内部包含感知专家和运动专家两个核心模块:前者负责理解场景和任务需求,后者处理高频的身体反馈信息。两者通过Symbiotic Attention机制实现信息交换,并在同一个动作目标函数下完成联合训练。这样一来,感知专家会主动留意那些可能改变动作策略的画面差异,而运动专家在计算关节目标时,也能使用最新的任务信息和身体状态。
不同于传统方案需要频繁重复计算相机画面,DPC采用异步更新视觉结果的方式,同时连续读取本体反馈数据。运动专家在每次计算动作时,都能获取到最新的画面信息和身体状态,确保动作的实时性和准确性。
直接输出关节动作打通了完整的训练链路,但也要求模型能够主动处理实机运行中不断积累的状态偏移。为此,DPC先通过Offline BC完成模型初始化,再进入DriftDistill的第二阶段训练:Student模型在在线部署测试中遇到容易产生偏移的状态时,Frozen Teacher模型会为这些状态提供恢复动作;训练过程中,在线部署的测试数据与离线演示数据会被共同用于更新Student模型。经过反复的在线测试与迭代,Student模型会逐步学会应对各类实机状态,并在发生偏移后快速恢复,继续完成任务。
15010小时数据,怎样适配不同机器人平台?
直接输出关节动作的设计,也对训练数据提出了更高的要求:不同来源的训练记录必须先被转换为统一的“关节语言”。人类第一视角视频和不同机器人的原始数据,由于身体结构和控制方式存在差异,无法直接混合训练。因此DPC团队将每一类数据都转换为G1可执行、时间对齐的joint action,再统一用于模型训练。
最终构建的训练数据集共计15010小时,具体分为四类:
- 6781小时的人类第一视角数据
- 4024小时的带臂机器人数据
- 3660小时的轮式人形机器人数据
- 545小时的双足人形机器人数据
数据转换完成后,视觉画面、任务语言、身体状态、动作历史和后续关节动作会被整合到同一条时间轴上,所有数据最终统一到同一个execution space,为DPC模型提供统一的Joint Target监督信号。
不只开车,DPC还演示了哪些场景?
卡丁车漂移的演示最受关注,但并非DPC的全部展示内容。官方还公开了移动抓取与放置、受限姿态下的全身操作等多个演示场景。
在移动抓取演示中,机器人走到目标桩前,弯腰下蹲后单手拿起目标物体,随后转身移动到指定位置完成放置。在这个过程中,抓取动作会改变机器人的负重状态,转身动作则会改变身体的支撑关系,机器人需要一边完成任务目标,一边根据实时变化的身体状态调整全身动作,确保姿态稳定。
而坐进卡丁车的演示,则将这种能力拓展到了更受限的空间环境中;驶上赛道后,实时变化的画面进一步将环境反馈纳入控制闭环。这些演示场景共同指向了DPC的核心优势:当机器人感知到环境变化后,不再先生成一份运动参考再等待独立追踪器翻译,而是结合当前的身体状态,直接计算出下一步的关节动作。
当然,一段漂移视频并不代表机器人已经掌握了通用驾驶技能。DPC展示的重点也并非车技的成熟度,而是验证了任务理解与全身控制能否在同一个训练目标下实现真正的无缝衔接。
回到最初的演示场景:机器人看见弯道后,立刻调整方向盘和油门;车身状态发生变化时,下一步的关节动作也随之实时调整。从“看懂环境”到“动起来”,中间少掉的不只是一层运动接口,更是让感知与控制在同一套系统中共同学习完成任务的可能性。

