一句话定位
用一个统一的神经网络控制器,把人穿动捕套装的实时全身动作映射成真机人形机器人(Unitree G1)平衡的关节命令,让操作者能实时遥操作出「蹲下搬箱、踢球、侧身走、和人跳华尔兹」这类此前遥操作系统做不出的协调全身技能——靠 RL 训特权 teacher + RL+BC 蒸馏出只看当前帧的 student 来实现。
背景与定位
TWIST 属于「从人类动捕数据学人形全身控制 + 实时遥操作」这条线(humanoid whole-body teleoperation / motion imitation),是 gmt、asap、hover、omniretarget 的同期姊妹工作(作者 Zixuan Chen、Yanjie Ze、Xue Bin Peng 与 gmt 重叠)。范式是 实时 motion retargeting + goal-conditioned motion tracking:把遥操作问题形式化成「实时把人类动作重定向成人形目标,再由一个跟踪控制器逐帧追踪」。
作者在相关工作里明确对标前作的短板:
- 经典模块化控制器(icub 系列等)把遥操作与平衡分开处理,限制了全身能力与鲁棒性;
- homie、Mobile-TV 把上/下半身解耦,用手柄/脚踏板发下半身指令,做不了踢球、钻障碍这类真正的全身任务;
- humanplus 用摄像头姿态估计,根位置不准,影响行走保真;
- omnih2o 用 VR 关键点,只抓上半身,缺全身控制。
TWIST 的主张是单个统一控制器 + 高质量动捕输入 + 鲁棒训练管线三者一起,做出前人没有的「协调全身」技能。它和 gmt 共享很多设计(G1、23 DoF、约 2 秒未来帧、teacher-student),区别在 TWIST 强调实时遥操作闭环(在线动捕+在线重定向+人在环)而非离线数据集上的通用跟踪。已开源(CoRL 2025),发布的 student checkpoint 就是一个「通用动作跟踪器」(general motion tracker)。
模型架构
任务形式:实时运动跟踪。控制器接收实时重定向后的人形参考动作,输出目标关节位置(target joint positions),下发给机器人 PD 控制。跟踪目标在机器人局部坐标系(local frame)而非世界系表达,用于 1) 缓解累积跟踪误差与不完美重定向;2) 与真机遥操作设置一致。
两段式 teacher–student(核心):
- 特权 teacher
π_tea:观测里含一段未来参考帧序列(约 2 秒),让 teacher 能预判、规划出更平滑的步态。配置里tar_obs_steps = [1,5,10,…,90,95],即 20 个未来帧、最远第 95 个策略步(95×0.02s≈1.9s)。PPO 训练。 - 可部署 student
π_stu:部署时拿不到特权信息,只有本体感受 + 当前单帧参考目标。用 RL+BC 混合从 teacher 蒸馏(下节详述)。
观测/网络维度(据开源 G1 config,一手):
num_actions = 23:控制 23 个驱动关节(论文正文称 G1「29 DoF」是整机自由度,实际发布策略驱动 23 关节,排除腕/手)。n_proprio = 74:root 角速度(3) + root roll/pitch(2) + [关节位置, 关节速度, 上一动作] 3×23。- 9 个 key body:双 rubber hand、双 ankle roll、双 knee、双 elbow、head_mocap。
- Student 堆叠
history_len=10(共 11 帧本体感受历史)。 - Actor / Critic MLP [512, 512, 256, 128],激活 SiLU,
layer_norm=True,motion_latent_dim=128。 init_noise_std=1.0,action_std=[0.7]×12+[0.4]×3+[0.5]×8(23 维)。
控制频率:sim dt=0.002(500 Hz),decimation=10 → 策略/PD 命令 50 Hz;action_scale=0.5,clip_actions=5.0;PD 增益按关节组设置(如 hip_yaw stiffness=100 / damping=2)。
实时重定向(reference 来源):真机用 OptiTrack 以 120 Hz 采人类动作,在线重定向成人形动作以 50 Hz 输出。在线重定向器用 IK 调整朝向与足位,并联合优化 3D 关节位置 + 朝向(而非只优化朝向),缩小离线-在线质量差。
数据
训练动作数据集(重定向到人形格式后用于 RL):
- 公开动捕库:AMASS + OMOMO,合计 >15,000 clips(约 42 小时),滤掉真机做不了的动作(如爬楼梯)。用类 PHC 的离线重定向器(优化 key body 位置 + 额外优化时序平滑),质量高但需迭代优化、不适合实时。
- 自采小规模动捕:用自家动捕系统采 150 clips(约 0.5 小时),刻意用在线动捕 + 在线重定向的设置采集,以复现真机遥操作时的噪声、标定漂移、不平滑。动作是随机采的,并未按遥操作任务设计。
- 评测集:另采一个不参与训练的小规模动捕集 50 clips 做消融评测。
关键数据发现(Key Finding 2):只加这一小撮(150 clips)在线重定向的自采动捕数据,就能在未见动作上显著降低跟踪误差——因为它把「干净公开库」与「遥操作时的真实不完美」之间的分布差桥接上了。
Booster T1 的迁移用训练数据里采样的目标做 sim2sim 评测(无新数据)。
训练方法
目标函数:纯运动跟踪奖励。teacher 奖励 r_tea = r_track + r_penalty,PPO 优化。
Reward 项与权重(论文 Table 1,一手):
- 跟踪奖励:KeyBody 位置 2.0、关节位置 0.6、关节速度 0.2、Root Pose 0.6、Root 速度 1.0;
- 惩罚项:足接触 -5e-4、足滑 -0.1、关节速度 -1e-4、Action Rate -0.01、Feet Air Time 5.0。
student 蒸馏损失(RL+BC 混合,核心公式):
L(π_stu) = L_RL(π_stu) + λ·D_KL(π_stu ‖ π_tea),其中 L_RL 是与 teacher 同奖励的 PPO 损失,D_KL 鼓励模仿 teacher,权重 λ 随训练逐渐衰减。因为 teacher/student 输入模态不同(特权未来帧 vs 单帧),标准模仿方法(如 DAgger)无法完全弥合,故用 RL+BC。作者报告 RL+BC 显著优于纯 BC 和纯 RL(更平滑、泛化更好)。
学会施力(Key Finding 3):纯跟踪目标下,需要施力的任务(搬箱)是 OOD,控制器会抖。方法是训练时施加大末端执行器扰动(Push End-Effector [0, 20] N),显著提升接触/施力任务的稳定性。
域随机化(论文 Table 2):Base Mass [-3,3] kg、Friction [0.1,2.0]、Motor Strength [0.8,1.2]、Gravity Change [-0.1,0.1] m/s²、Push Base [-0.1,0.1] m/s、Push End-Effector [0,20] N。靠这套域随机化,student zero-shot 部署到真机。
训练超参(config,一手):num_envs=4096、entropy_coef=0.005、std_schedule=[1.0,0.4,4000,1500]、grad_penalty_coef_schedule=[0.0,0.0,700,1000]、max_iterations=30002 次策略更新。
Infra(训练 / 推理工程)
- 仿真器:训练在 IsaacGym(4096 并行环境),评测在 MuJoCo 做 sim2sim(含 Booster T1 迁移)。RL 框架
rsl_rl+legged_gym。 - 训练算力:可在**单张 Nvidia RTX 4090(24 GB)**上 1~2 天跑完(README 明示)。GPU-hours 未逐项披露,但单卡 1–2 天即整体规模。
- 推理 / 部署:student 导出为 JIT 模型;策略在单张 RTX 4090 上以 50 Hz 输出关节命令,下发给机器人 1000 Hz 的 PD 控制。系统把高层控制(遥操作 motion server)与低层控制(RL 策略)解耦,中间用 redis 流式通信。
- 动捕链路:OptiTrack 120 Hz 采集 → 在线重定向 50 Hz。后续升级为独立的 GMR(General Motion Retargeting) 做实时重定向。
- 遥操作延迟:端到端约 0.9 秒——其中生成跟踪目标(重定向)约 0.7 秒是大头,策略推理约 0.2 秒。
- 硬件可靠性:G1 电机连续运行 5–10 分钟后(尤其蹲姿)会过热,需冷却间隔;这是主要失败来源。
评测 benchmark
论文以系统能力展示 + 定性/半定量消融为主,没有跨方法的大表标准分数(作者自陈定位是「先把强遥操作系统建出来」)。核心量化/对比结论:
- RL+BC ≫ RL ≫ BC(DAgger)(Key Finding 1,在自采 MoCap 测试集上):RL+BC 跟踪精度与平滑度最好;纯 RL 因无法预判未来目标而足滑;DAgger 因缺任务奖励引导,偶尔追不稳未见动作。对标 humanplus(单段 RL)与 omnih2o(DAgger)。
- 加自采动捕数据显著降低未见动作跟踪误差(Key Finding 2)。
- 末端扰动训练显著改善静止位姿的漂移/不稳(Key Finding 3,见持箱 rollout 曲线)。
- 更好的在线重定向器(联合优化 3D 位置+朝向)产出更平滑参考动作,对「带/不带动捕数据」两种控制器都降低总跟踪误差(Key Finding 4)。
- 跟踪误差按身体部位分布:末端(手、足)误差最大;下半身(足、膝)普遍高于上半身(肘、手),印证下半身接触动力学更难跟。
- 可达性(reachability):靠全身 DoF,机器人几乎能用手够到脚尖,可达范围显著超过 humanplus、omnih2o 等前作。
- 跨本体泛化:在 Booster T1 上 sim2sim 成功跟踪摆臂协调全身、深蹲、行走。
技能覆盖(真机 G1):全身操作(扶正垃圾桶、蹲下搬箱、桌到人搬玩偶)、腿部操作(踢门、踢球、用脚运箱)、移动(侧步、后退走、蹲行钻障碍)、表达性动作(拳击、和人跳华尔兹)。
创新点与影响
- 单一统一控制器做协调全身遥操作:不再上下半身解耦,用一个网络覆盖全身操作/腿部操作/移动/表达性动作,做出前人遥操作系统做不到的协调技能,并展示极端可达性。
- teacher(特权未来帧) → student(单帧) 的 RL+BC 蒸馏:把「未来帧带来的平滑」蒸给「只看当前帧的低延迟可部署策略」,系统性证明 RL+BC 优于纯 RL / DAgger。这条路线被 gmt 等后续沿用。
- 在线重定向数据 + 末端扰动两个工程点:用一小撮在线重定向的自采动捕桥接 sim/离线到真机遥操作的分布差;用末端扰动让纯跟踪策略学会施力——都是可复用的小而有效的 trick。
- 完整开源:数据集、teacher/student 训练码、sim2sim/sim2real 脚本、通用动作跟踪器 checkpoint 全开放(CoRL 2025)。
作者自陈的局限:1) 无机器人第一视角视觉/触觉回传,遮挡时难遥操作、抓握无反馈;2) 现有人形硬件不能长时间连续运行(电机 5–10 分钟过热);3) 依赖动捕系统,不便携、难普及(计划转向 RGB 姿态估计)。下一步是用 TWIST 采的遥操作数据 + 第一视角人类数据学 visuomotor 自主策略。
原始链接
- arXiv abs: https://arxiv.org/abs/2505.02833
- arXiv PDF: https://arxiv.org/pdf/2505.02833
- 项目主页: https://humanoid-teleop.github.io/ (镜像 https://yanjieze.com/projects/TWIST/)
- 代码 (GitHub): https://github.com/YanjieZe/TWIST
- 实时重定向 (GMR): https://github.com/YanjieZe/GMR
- 视频 (YouTube): https://youtu.be/QgA7jNoiIZo
一手源存档(sources/)
- twist—github-readme — GitHub README(安装/训练/部署流程、单卡 4090 1–2 天、redis 解耦、开源清单)快照
- twist—project-page — 项目主页(技能清单、四大 Key Findings、系统延迟、Booster T1、Q&A/局限)快照
- twist—g1-config — 开源 G1 config
g1_mimic_distill_config.py关键超参(4096 env、23 DoF、20 未来帧、MLP [512,512,256,128]、reward/域随机化)摘录 - arXiv 原文 PDF(2505.02833)不入 git,见上方 arXiv 链接