基于10k+小时真实机器人交互数据,提供开箱即用的VLA模型与全流程工具链,让机器人实现「看懂、听懂、做到」的闭环能力
OpenPI(全称Open Physical Intelligence)是由Physical Intelligence团队开源的机器人智能模型工具包,核心目标是降低机器人「感知-理解-动作」全链路技术的开发门槛。它基于10k+小时的真实机器人交互数据,提供了一系列预训练的视觉-语言-动作(VLA)模型,以及完整的训练、推理、微调工具链,支持开发者快速构建具备多模态交互能力的机器人系统。
简单来说,OpenPI就像机器人的「智能大脑」模板:通过视觉模块处理摄像头等传感器的图像信息,通过语言模块理解人类指令(如「打开保鲜盒」「折叠毛巾」),再通过动作模块生成机器人关节的具体控制信号,最终实现「看懂、听懂、做到」的闭环能力。
该项目目前已支持DROID、ALOHA、UR5等主流机器人平台,并在LIBERO等权威基准测试中达到 state-of-the-art(SOTA)性能,是机器人领域少有的兼顾开源性与实用性的VLA模型库。
OpenPI的核心优势在于「开箱即用的智能+灵活扩展的能力」,具体功能特色如下:
项目提供三款核心预训练模型,覆盖「流匹配」「自回归」等主流VLA架构,开发者可根据任务类型(如连续动作控制、高效推理)选择合适模型:
| 模型名称 | 核心架构 | 技术特点 | 适用场景 |
|---|---|---|---|
| π₀ | 流匹配(Flow Matching) | 基于流的生成模型,可生成连续、平滑的动作序列,适合高精度操作任务 | 精细操作(如拧瓶盖、组装零件) |
| π₀-FAST | 自回归+FAST动作分词器 | 采用动作「分词」技术,将连续动作离散化为可高效预测的token,推理速度提升30%+ | 实时响应任务(如动态避障、快速抓取) |
| π₀.₅ | 流匹配+知识隔离 | 升级自π₀,通过「知识隔离」技术分离通用能力与场景特异性知识,开放世界泛化能力提升25% | 跨场景迁移任务(如从实验室到家庭环境) |
OpenPI提供两类预训练模型检查点,无需从零训练即可启动任务:
项目配套完整的工具链,覆盖数据处理、训练、推理全流程:
OpenPI已针对多款主流机器人平台完成适配,包括:
开发者只需修改少量配置,即可将模型部署到不同硬件上,如 OpenARM等平台上。
OpenPI的核心技术围绕「视觉-语言-动作的协同建模」展开,以下从模型架构、训练数据、关键技术三方面解析:
三款模型均采用「Encoder-Decoder」架构,核心是实现视觉、语言、动作的统一表示:
模型训练基于大规模真实世界机器人操作数据,涵盖:
通过对这些数据的学习,模型可掌握「看到什么、听到什么,就该做什么」的映射关系。
OpenPI的模型可直接应用于各类需要「视觉-语言-动作协同」的机器人任务,典型场景包括:
OpenPI的使用流程分为「环境准备-安装-模型使用-微调」四步,以下为详细步骤:
| 任务类型 | 最低GPU要求 | 推荐GPU型号 | 显存需求 |
|---|---|---|---|
| 模型推理 | NVIDIA GPU(支持CUDA 11.7+) | RTX 4090(消费级)、A100(专业级) | >8GB |
| LoRA微调 | 同上 | RTX 4090、A100 40GB | >22.5GB |
| 全量微调 | 同上 | A100 80GB、H100 | >70GB |
克隆仓库并更新子模块(包含依赖的第三方库):
git clone --recurse-submodules git@github.com:Physical-Intelligence/openpi.git cd openpi # 若已克隆仓库,需更新子模块: git submodule update --init --recursive
使用uv管理依赖(uv是比pip更快的Python包管理器):
# 安装uv(参考https://github.com/astral-sh/uv) curl -LsSf https://astral.sh/uv/install.sh | sh # 同步依赖(跳过LFS文件下载,加速安装) GIT_LFS_SKIP_SMUDGE=1 uv sync # 安装OpenPI到当前环境 GIT_LFS_SKIP_SMUDGE=1 uv pip install -e .
构建Docker镜像:
docker build -t openpi:latest -f docker/Dockerfile .
启动容器(映射本地目录到容器,方便数据和代码共享):
docker run -it --gpus all -v $(pwd):/workspace openpi:latest
OpenPI的模型检查点默认存储在 gs://openpi-assets(Google Cloud Storage),首次使用时会自动下载并缓存到~/.cache/openpi(可通过 OPENPI_DATA_HOME 环境变量修改路径)。
例如,下载π₀.₅-DROID模型(用于桌面操作):
from openpi.shared import download
# 下载模型检查点到本地
checkpoint_dir = download.maybe_download("gs://openpi-assets/checkpoints/pi05_droid")
print(f"模型已保存到:{checkpoint_dir}")
from openpi.training import config as _config
from openpi.policies import PiPolicy
# 加载模型配置
config = _config.get_config("pi05_droid")
# 初始化策略(模型+机器人接口)
policy = PiPolicy.from_checkpoint(
checkpoint_dir=checkpoint_dir, # 模型路径
config=config,
device="cuda" # 使用GPU推理
)
# 输入:视觉数据(RGB图像)+ 语言指令
image = ... # 从机器人摄像头获取的图像(shape: [3, 224, 224])
language_instruction = "把蓝色方块推到红色圆圈里"
# 生成动作
action = policy.act(
observations={"image": image},
language_instruction=language_instruction
)
# 输出:机器人关节角度(如DROID的6自由度关节值)
print("生成的动作:", action)
若需适配特定任务(如「抓取特殊形状零件」),可在自定义数据集上微调基础模型,步骤如下:
convert_droid_data_to_lerobot.py 脚本修改;configs/finetune/ 目录下创建自定义配置文件(如 my_task.yaml),指定数据集路径、训练轮数、学习率等;python openpi/training/run.py \ --config configs/finetune/my_task.yaml \ --trainer.accelerator gpu \ --trainer.devices 1 \ --model.lora True # 启用LoRA
A:Git LFS用于下载大模型文件,需先安装:
sudo apt-get install git-lfs git lfs install
A:可手动下载模型检查点(访问 gs://openpi-assets 的公开镜像),将文件放到 ~/.cache/openpi/checkpoints/ 目录下,模型会自动识别。
A:降低输入图像分辨率(如从224×224改为112×112),或使用更小的模型(如π₀-FAST比π₀显存需求低30%)。
A:官方暂未测试,建议通过WSL2(Windows Subsystem for Linux)安装Ubuntu 22.04子系统,再按照Linux步骤配置。
OpenPI作为开源的视觉-语言-动作模型库,通过提供预训练模型、完整工具链及跨平台支持,大幅降低了机器人「感知-理解-动作」一体化系统的开发门槛。其核心模型π₀、π₀-FAST、π₀.₅覆盖了不同精度与效率需求,适配家庭、工业、实验室等多场景,无论是研究者还是工程师,都能借助它快速构建高性能机器人智能系统,推动机器人技术的普及与应用。