1. Psi-0项目概述:人形机器人移动操作的新范式
人形机器人的移动操作(loco-manipulation)是当前机器人领域最具挑战性的前沿方向之一。想象一下,让一个双足机器人在行走的同时完成开门、搬运物品甚至冲泡咖啡这样的复杂任务——这需要机器人同时协调数十个关节的自由度,处理移动与操作之间的动态耦合关系。传统方法往往将移动和操作分开处理,导致动作僵硬、效率低下且容易失败。
Psi-0项目的突破性在于提出了一种全新的训练范式和技术架构,成功实现了人形机器人的全身协调控制。这个开源基础模型的核心创新可以概括为三点:
- 解耦的三阶段训练策略:将传统的端到端训练拆分为视觉理解、动作学习和任务适配三个阶段,大幅提升了知识迁移效率
- 分层控制系统设计:模仿人类神经系统的分层结构,将高级决策、精细控制和基础反射分离处理
- 实时动作分块机制:独创的RTC技术解决了大模型推理延迟与实时控制需求之间的矛盾
在实际测试中,Psi-0仅用800小时人类视频和30小时机器人数据,就在复杂任务上超越了使用10倍数据量的基线模型40个百分点的成功率。这种"少数据、高性能"的特点使其特别适合实际机器人应用场景。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心技术解析:分阶段训练范式
2.1 视觉语言模型预训练阶段
第一阶段使用829小时的EgoDex人类第一视角视频数据集,训练一个20亿参数的视觉语言模型(VLM)。这个阶段的关键在于:
- 任务空间表示法:采用48自由度的统一表示(手腕9DOF+指尖15DOF),而非直接学习关节角度
- 语义理解优先:模型学习的是"抓取"、"放置"等高级概念,而非具体控制信号
- 跨平台兼容性:这种抽象表示使得人类知识能迁移到不同构型的机器人
技术细节:模型输入为640x480的RGB图像,通过ViT-L/14架构提取视觉特征,与语言指令嵌入拼接后预测下一步动作。损失函数采用交叉熵,优化器使用AdamW(lr=3e-5,β1=0.9,β2=0.98)
2.2 动作专家后训练阶段
第二阶段冻结VLM参数,引入全新的5亿参数MM-DiT网络,专门学习从语义空间到36维关节空间的映射:
- 数据特异性:使用31小时Humanoid Everyday机器人数据集
- 控制精细化:输出包含灵巧手(14D)、手臂(14D)、躯干(3D)等完整控制指令
- 动力学适配:学习机器人特有的关节限制、执行器响应等物理特性
这个阶段的创新点在于采用了流匹配(flow matching)框架进行训练,相比传统扩散模型,其采样速度提升3倍,更适合实时控制。
2.3 任务特定微调阶段
第三阶段每个任务仅需约80条演示轨迹(约15分钟数据),通过:
- 保持VLM完全冻结
- 仅微调MM-DiT的最后3层
- 使用余弦退火学习率调度(初始lr=1e-4)
这种设计使得模型能快速适应新任务,同时保留之前学到的通用技能。在开门任务上的测试显示,微调后成功率从45%提升至82%。
3. 系统架构设计精要
3.1 三系统分层控制
Psi-0借鉴人类神经系统结构,将控制分为三个层次:
| 系统层级 | 功能类比 | 技术实现 | 运行频率 |
|---|---|---|---|
| System 2 | 大脑皮层 | Qwen3-VL-2B模型 | 3Hz |
| System 1 | 小脑 | MM-DiT网络 | 30Hz |
| System 0 | 脊髓 | AMO控制器 | 100Hz |
这种分层架构的关键优势在于:
- 高层系统可以专注决策,不必处理底层细节
- 各系统可独立优化和升级
- 故障隔离性强,单个系统失效不会导致完全瘫痪
3.2 动作空间设计哲学
36维动作空间的精心设计体现了几个重要考量:
- 上肢精细控制:28维用于手臂和手部,支持复杂操作
- 下肢抽象控制:将行走抽象为速度指令,复用成熟控制器
- 躯干协调:3维姿态控制实现全身运动协调
- 实时性保障:动作块预测未来5步(约166ms),缓冲处理延迟
实际测试表明,这种设计比直接输出全部关节角度的方案稳定率高37%。
4. 关键技术创新:MM-DiT与RTC机制
4.1 多模态扩散Transformer详解
MM-DiT的核心创新在于其联合注意力机制:
python复制class MM_DiT_Block(nn.Module):
def __init__(self, dim):
super().__init__()
self.norm1 = nn.LayerNorm(dim)
self.attn = Attention(dim, num_heads=8)
self.norm2 = nn.LayerNorm(dim)
self.mlp = MLP(dim, dim*4)
def forward(self, x, c):
# x: [B, T, D] 动作token
# c: [B, L, D] 视觉语言特征
x = torch.cat([x, c], dim=1) # 联合序列
x = x + self.attn(self.norm1(x))
x = x + self.mlp(self.norm2(x))
return x[:, :T] # 只返回动作部分
这种设计使得动作生成能直接关注到相关视觉线索,例如:
- 抓取动作关注目标物体位置
- 避障动作关注障碍物边缘
- 放置动作关注目标平面
4.2 实时动作分块(RTC)实现方案
RTC机制通过训练时模拟推理场景来解决延迟问题:
-
训练策略:
- 随机掩码动作块前1-6个时间步
- 只计算未掩码部分的损失
- 使用课程学习,逐步增加掩码比例
-
推理流程:
- 每生成一个动作块(含5步)
- 执行前3步后即触发下一块生成
- 新旧块重叠部分加权融合
实测显示,RTC将动作切换时的碰撞率从23%降至6%,运动流畅度提升显著。
5. 数据策略与实操建议
5.1 数据收集最佳实践
基于Psi-0经验,推荐的数据采集规范:
-
人类视频:
- 使用头戴式相机确保第一人称视角
- 保持场景光照均匀(>300lux)
- 包含任务失败和恢复的示例
-
机器人数据:
- 遥操作采样频率≥60Hz
- 记录完整的关节状态和力觉数据
- 每个任务至少20个成功演示
5.2 实际部署注意事项
在真实机器人上部署Psi-0时需注意:
-
硬件校准:
- 相机-机械臂标定误差<2mm
- 关节零位校准每周一次
- 网络延迟测试(应<50ms)
-
安全措施:
- 设置关节力矩阈值(额定值的80%)
- 紧急停止按钮双重备份
- 工作空间限制区域
-
性能优化:
- 使用TensorRT加速推理
- 将VLM运行在边缘服务器
- 动作预测模块部署在本地
我们在Unitree H1机器人上的实测显示,经过上述优化后,系统可持续运行4小时以上无故障。
