news 2026/10/2 21:05:29

Psi0真机部署指南:SONIC全身控制器+PICO的4进程部署架构详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Psi0真机部署指南:SONIC全身控制器+PICO的4进程部署架构详解

Psi0真机部署指南:SONIC全身控制器+PICO的4进程部署架构详解

【免费下载链接】Psi0[RSS'26] Welcome to Psi-Zero, a Humanoid VLA towards Universal Humanoid Intelligence.项目地址: https://gitcode.com/gh_mirrors/ps/Psi0

Psi0(Ψ₀)是一个开源的人形机器人视觉-语言-行动(VLA)基础模型,在 Unitree G1 真机上通过 SONIC 全身控制器实现行走与操作,并支持 PICO VR 头显进行遥操作示教与视觉回传。本文将完整拆解 Psi0 真机部署的核心:一套4进程 RTC(Real-Time Chunking)部署架构,帮你从零理解每个进程的职责、启动顺序与安全操作,快速把模型跑在真机上。

一、Psi0 真机部署全景:VLA 大脑 + SONIC 小脑

Psi0 的部署分为三个层级:负责"想"的 VLA 模型(System-2 视觉语言骨干 + System-1 动作专家)、负责"动"的 SONIC 全身控制器(System-0 低层跟踪控制),以及提供第一视角画面的机器人相机。

模型内部结构上,Qwen3-VL 视觉语言骨干输出特征,条件化一个约 500M 参数的多模态扩散 Transformer 动作专家,预测全身动作块(action chunks);底层则由 SONIC 全身控制器实时执行下肢与手臂指令,保证稳定站立与运动。

💡 想先了解训练侧细节,可阅读发布说明 examples/psi0_for_sonic.md,其中解释了 SONIC 版 checkpoint 为什么要在 80 维 SONIC 动作空间上重新后训练。

二、部署前准备:一键克隆与环境检查

1️⃣ 克隆仓库并初始化 SONIC 子模块(SONIC 即 GR00T-WholeBodyControl 全身控制器):

git clone https://gitcode.com/gh_mirrors/ps/Psi0 cd Psi0 git submodule update --init --recursive third_party/GR00T-WholeBodyControl

2️⃣ 准备两套运行环境:

  • Psi0 策略环境:基于uv管理的.venv-psi(依赖见 pyproject.toml),用于策略服务器;
  • sonic conda 环境:包含 TensorRT、C++ 控制器依赖,用于 SONIC 全身控制器与 RTC 客户端,初始化脚本见 real/SONIC/scripts/sonic_conda_env.sh。

3️⃣ 机器人侧准备一台运行相机服务的机器(G1 自带 PC),安装pyrealsense2等依赖,详见 real/README.md。

三、4 进程架构详解:谁负责什么?

Psi0 官方 RTC 部署流由4 个独立进程组成,每个进程运行在自己的终端里:

进程运行位置职责入口脚本
① 相机服务器机器人 PC采集 RealSense 第一视角(ego view)并推送real/SONIC/realsense_server.py
② Psi0 策略服务器工作站 GPU加载 checkpoint,RTC 模式推理动作块scripts/deploy/serve_psi0-rtc-sonic.sh
③ SONIC 全身控制器工作站C++/TensorRT 低层控制,接收动作 token 驱动机器人real/scripts/deploy_psi0-sonic-rtc-robot.sh
④ Psi0 RTC 客户端工作站汇聚相机与本体状态,请求策略并下发动作real/scripts/deploy_psi0-sonic-rtc-client.sh

下面按启动顺序逐个说明。

进程 1:相机服务器(机器人在环的"眼睛")

在机器人 PC 上启动相机服务,把第一视角图像经 ZMQ 推送到工作站:

python -m gear_sonic.camera.composed_camera \ --ego-view-camera realsense \ --port 5555

该视角既是策略推理的输入,也会经 SIMPLE 的 Remote Vision 通道回传到 PICO 头显,让你以机器人"第一视角"观察作业过程。

进程 2:Psi0 策略服务器(RTC 模式)

在工作站上启动推理服务,核心参数为--rtc(实时分块执行)与--action_exec_horizon 30:

export CHECKPOINT_DIR=/path/to/psi0-sonic-run export CHECKPOINT_STEP=40000 bash scripts/deploy/serve_psi0-rtc-sonic.sh
  • 服务默认监听0.0.0.0:8014,出现Application startup complete即就绪;
  • RTC(Real-Time Chunking)机制让模型在动作块执行到一半时就能用最新观测预测下一块,显著提升失败恢复能力——这也是官方 SONIC 训练配方中--model.no-rtc测试时 RTC 的设计来源;
  • checkpoint 可从 HuggingFace 的USC-PSI-Lab/psi-model仓库下载,SONIC 版目录为psi0/sonic-checkpoints/multi-task.psi-dream.2609092156,下载工具见 scripts/data/download.py。

进程 3:SONIC 全身控制器(C++ 实时控制)

bash real/scripts/deploy_psi0-sonic-rtc-robot.sh real

这个启动器做了很多"脏活":自动探测192.168.123.x机器人网络接口、检查 TensorRT 与 ONNX 模型文件、用just构建并运行g1_deploy_onnx_ref。关键交互:

  • 出现Init done.后按一次],等待机器人回到默认站立姿态;
  • 此时不要开启 ZMQ 流,等客户端就绪再激活;
  • 正常结束时按Enter回到默认参考姿态,按O退出;紧急情况下立即按 O 停止。

进程 4:Psi0 RTC 客户端(数据流调度中枢)

export SONIC_CONDA_PREFIX="$HOME/miniconda3/envs/sonic" bash real/scripts/deploy_psi0-sonic-rtc-client.sh \ --host 127.0.0.1 --port 8014 \ --camera-address tcp://192.168.123.164:5558 \ --network enp4s0 \ --instruction 'Pick up the object and place it in the container.'

客户端从 real/SONIC/run_psi0_rtc_sonic_dex1.py 启动,它通过 DDS 订阅机器人本体状态、从相机服务器取图,组装成策略输入发往 8014 端口的策略服务器,再把预测的 80 维 SONIC 动作 token 经 ZMQ 发布给 C++ 控制器。当终端打印recv_action interval与Received action后,回到控制器终端按一次Enter,看到ZMQ STREAMING MODE: ENABLED即开始执行。

四、PICO 接入:VR 遥操作与第一视角回传

Psi0 的示教数据采集基于 PICO 头显(XRoboToolkit 方案),部署阶段同样可用:

  1. 工作站的psi_deploy环境中编译安装 PICO 流式 Python SDK(步骤见 real/README.md 的 "PICO Only Setup" 章节);
  2. PICO 与工作站连同一 WiFi,PC Service 中填入工作站 IP;
  3. Tracking Session 勾选Head、Controller、Hand并打开Send开关,PICO 会自动进入手部跟踪模式(可见虚拟双手);
  4. Remote Vision Session 选择ZEDMINI,点Listen并输入 PC IP,即可在头显中看到机器人第一视角画面(H.264 码流,连接<workstation-ip>:13579)。

遥操作按键约定(与 SONIC 官方状态机一致):长按右摇杆单击 0.6 秒切换策略开关、Left Grip + A开始/结束一个 episode、Left Grip + Y丢弃 episode、A + X切换 Planner 与全身 POSE 模式。完整采集流程见 real/SONIC/README.md 的 real/SONIC/scripts/collect_psi0-sonic-data.sh。

五、启动顺序速查清单

✅正确顺序(每步一个独立终端):

  1. 机器人 PC:启动相机服务器(进程 1)
  2. 工作站:启动策略服务器,等待Application startup complete(进程 2)
  3. 工作站:启动 SONIC 控制器,Init done.后按]让机器人站稳(进程 3)
  4. 工作站:启动 RTC 客户端,看到Received action后在控制器终端按Enter开启 ZMQ 流(进程 4)

✅收尾顺序:按Enter回默认姿态 → 客户端 Ctrl+C → 控制器终端按O退出。

⚠️安全提醒:机器人作业期间所有人员保持安全距离;任何异常先在控制器终端按O紧急停止。完整官方部署文档见 real/SONIC/DEPLOYMENT.md。

六、常见问题(Troubleshooting)

  • 找不到 192.168.123.x 网络接口:机器人需设置为开发模式(遥控器 L2+B 后 L2+R2),工作站 IP 手动配置为192.168.123.123/24;
  • 相机画面推不过来:确认--camera-address指向机器人 PC 的正确 IP 与端口,机器人 PC 上realsense_server.py是否存活;
  • 模型文件缺失:控制器启动器会逐项检查 ONNX 模型与配置,缺失时执行git lfs pull拉取;
  • TensorRT 未找到:设置export TensorRT_ROOT=$HOME/TensorRT并写入~/.bashrc;
  • 数据格式转换问题:SONIC 采集的原始数据需先用 scripts/data/raw_sonic_to_psi_lerobot.py 转为 Psi0 的 LeRobot 格式,再计算统计量后微调训练。

小结

Psi0 的真机部署本质上是一个清晰的四层分工:相机服务器提供视觉、策略服务器输出"意图"、SONIC 控制器负责"落地"、RTC 客户端居中调度。理解了这 4 个进程的边界与启动顺序,你就能复现官方部署流,并进一步替换为自己的 checkpoint、指令或夹爪适配层(如 Dex1-1 双夹爪虚拟手映射,源码见 real/SONIC/psi0_vla_dex1_bridge.py)。

【免费下载链接】Psi0[RSS'26] Welcome to Psi-Zero, a Humanoid VLA towards Universal Humanoid Intelligence.项目地址: https://gitcode.com/gh_mirrors/ps/Psi0

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/2 21:03:06

别让 AI 替你做设计:视传博士论文从开题到包装原型的工具分工 ✏️

如果你是视觉传达设计方向的博士生&#xff0c;大概很熟悉这种“分裂感”&#xff1a; 一边要做设计实践——海报、包装、字体、品牌系统、交互原型&#xff1b;另一边又要写博士论文&#xff0c;得把视觉决策放进理论框架、用户研究和实验数据里。很多同学的卡点不是“不会做设…

作者头像 李华
网站建设 2026/10/2 20:55:10

C语言链表实现图书管理信息系统:数据结构课程设计实战与避坑指南

简介&#xff1a;这份数据结构课程设计报告面向通信工程、物联网及计算机相关专业学生&#xff0c;围绕图书管理信息系统的设计与实现展开&#xff0c;可作为课程设计、期末大作业或数据结构综合练习的完整参考方案。报告以图书采编、编目、查询及借还流通为主线&#xff0c;系…

作者头像 李华
网站建设 2026/10/2 20:54:32

.NET Framework 4.8官方下载与安装验证:避开第三方陷阱完整指南

前两天帮一个朋友装一套老旧的行业软件&#xff0c;安装包走到一半弹出提示&#xff1a;需要 .NET Framework 4.8。他习惯性地打开浏览器去搜&#xff0c;排在前面的全是第三方下载站&#xff0c;页面堆满“高速下载”“安全下载”“一键安装”的大按钮。下载下来一个只有几兆的…

作者头像 李华
网站建设 2026/10/2 20:53:57

东钱湖国庆首日“中国红”拉满 多元玩法点燃假期

国庆假期首日&#xff0c;东钱湖已被浓浓的“中国红”包裹。湖畔国旗招展&#xff0c;国庆主题美陈装置前人头攒动&#xff0c;满眼都是喜庆和热烈。一帆酒店前的大喇叭装置成了今天最热门的合影点位&#xff0c;游客们自觉排起长队&#xff0c;只为在大喇叭前留下一张属于这个…

作者头像 李华
网站建设 2026/10/2 20:51:26

Webpack的分包策略面试题

一、什么是 Webpack 的代码分割&#xff1f;有什么好处&#xff1f;有哪些策略&#xff1f; 1. 核心思路&#xff08;一句话&#xff09;代码分割就是把原本需要一起加载的模块拆成多个 Chunk&#xff0c;让“首屏必需代码”和“非首屏代码”按需加载&#xff0c;同时把稳定的公…

作者头像 李华
网站建设 2026/10/2 20:51:26

STM32F103C8T6 CAN 通讯

1.硬件原理图2.CAN初始化void main_can(void) { //SystemInit(); //设置系统时钟为72MKeyInit(); //按键管脚初始化//LED_GPIO_Config();//LED管脚初始化CAN_GPIO_Config();//CAN管脚初始化CAN_NVIC_Configuration(); //CAN中断初始化 CAN_INIT();//CA初始化N模块 // …

作者头像 李华