PI0(π0)是 LeRobot 框架中用于通用机器人控制的视觉-语言-动作流模型。它结合了视觉感知、语言理解和流匹配技术,能够基于多模态输入(图像、语言指令和机器人状态)生成精确的机器人动作。在此介绍 PI0 策略系统的架构、实现和使用方法。

请添加图片描述

概述

PI0 策略旨在通过流匹配方法弥合自然语言指令、视觉观察和机器人控制之间的差距。它利用预训练的视觉-语言模型 (PaliGemma) 结合专家网络(基于 Gemma)来为机器人生成动作序列。

添加图片注释,不超过 140 字(可选)

架构

PI 0 采用分层架构,由多个关键组件协同工作:

添加图片注释,不超过 140 字(可选)

主要组件

PI 0 Policy - 包装类,用于:
处理输入和输出的规范化
管理用于多步预测的动作队列
与 LeRobot 框架接口
提供针对特定机器人的适配功能(例如,针对 Aloha 机器人)

PI0 FlowMatching - 核心模型实现:
实现用于动作生成的流匹配算法
管理视觉语言模型和专家模型
处理时间嵌入和噪声采样
处理输入并生成动作轨迹

PaliGemma With Expert - 视觉语言动作模型:
使用 PaliGemma 进行多模态理解
与 Gemma Expert 结合用于动作生成
处理注意力机制和键值缓存

流匹配方法

PI0 使用流匹配,这是一种生成式建模技术,通过学习矢量场将噪声分布转换为目标分布。其实现包括:
嵌入输入:将图像、语言token和机器人状态嵌入到共享表示空间中
噪声采样:对高斯噪声进行采样,并根据时间步长将其与目标动作混合
时间调节:正弦余弦位置编码表示流中的时间步长
矢量场预测:模型预测将噪声转换为动作的矢量场
去噪:在推理过程中,欧拉步骤将噪声转换为动作

训练与推理

训练
在训练过程中,PI0 计算预测向量场与实际噪声-动作向量场之间的损失函数:

推理
在推理过程中,PI0 使用欧拉步骤将噪声转化为动作:

输入处理

PI0 使用专门的预处理方法处理各种输入:

图像:
调整大小至 224x224 并保持宽高比
针对 SigLIP,将像素值从 [0,1] 缩放至 [-1,1]
通过遮罩功能支持多摄像头或缺失摄像头

语言:
使用 PaliGemma token 化器对指令进行 token 化
处理填充和注意掩码

机器人状态:
填充并投射状态向量
处理特定于机器人的转换(例如,用于 Aloha 机器人)

注意机制

PI0 使用专门的注意机制:
前缀嵌入:图像和语言token嵌入并可相互关注
后缀嵌入:状态和动作token嵌入包含时间步信息
因果注意机制:只有合适的 token 才能使用自定义掩码相互关注
K-V缓存:为了实现高效推理,K-V对会被缓存

机器人适配

PI0 包含针对不同机器人平台(尤其是 Aloha 机器人)的特殊处理:

与 LeRobot 框架集成

PI 0 与更广泛的 LeRobot 框架集成:

技术要求

要使用 PI0,需要安装以下依赖项:
pip install -e “.[pi0]”

这将安装 PI0 策略所需的软件包,例如 transforms 和其他特定依赖项。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐