TRON 2 DOCS
产品文档/TRON 2/VLA · 项目开发
TRON 2 · 使用与开发

案例 · 部署脚本与配置

适用条件见本页各节

按环境配置 → 权重下载 → YAML 配置 → 服务端 → 客户端 → 实机验证的顺序部署。文中“部署最低配置”见项目准备条件;场景要求见场景与数据采集。首次使用公开权重时从第一个 VLA 项目进入,无需先训练。

7. 模型部署

7.1 推理部署流程

⚠️
  1. 机器人初始姿态要求:需保证机器人处于 L1+X 标准初始状态:双臂自然竖直贴靠机身两侧。启动客户端后,机器人会自动侧展双臂,然后前伸,若非初始状态可能会直接抬起双臂,警惕前方物体风险。
  2. 在推理前必须将机器人🎮状态切换为高级开发者模式(High-Level Dev)。
    • 如果采集数据时没有改变桌子高度、支架距离桌子边缘距离、光照环境、头部角度,那么推理时需要保持一致。
  3. 其他环境相关约束可参考本文开头「部署最低配置」部分内容。
  4. 关于相机连接模式说明:
    1. Bridge 模式:通过 TRON2 Bridge 拉取图像数据,同步采用 Bridge 校正后的机器人状态信息;
    2. Legacy 本地直连模式:本地推理主机直连 RealSense 相机,并从机器人 WebSocket 获取状态【此时需要将机器人的三个相机的usb口接到推理机箱上】;
  5. 当 `client.max_steps` 为 `null` 时,需要手动停止客户端。

7.1.1 配置推理环境【同训练】

💡
说明:标题「同训练」指安装命令与【6.2.1 配置训练环境 】完全一样。如果用的是同一台电脑,环境在训练时已装好,此处无需重复安装,可直接跳到 7.1.2。
git clone https://github.com/limx-tron2/tron2_openpi.git
git clone https://github.com/limx-tron2/tron2_env.git

cd tron2_openpi

sudo apt install pkg-config
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ubuntuhandbook1/ffmpeg7 -y
sudo apt install ffmpeg libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev libavfilter-dev -y

uv sync
uv pip install -e .

source .venv/bin/activate 
uv pip install -e "../tron2_env[bridge,openpi]" 

# 验证是否正常安装成功,应输出路径:../tron2_env/src/tron2_env/__init__.py
PYTHONPATH="$(cd ../tron2_env/src && pwd)" uv run python -c "import tron2_env; print(tron2_env.__file__)"

7.1.2 权重拉取

在地址/home/xxx/xxx/tron2_openpi中新建文件夹checkpoints,在该文件夹中拉取权重:https://huggingface.co/limxdynamics/tron2-openpi-models/tree/main

cd /home/xxx/xxx/tron2_openpi
mkdir checkpoints
cd checkpoints
hf download limxdynamics/tron2-openpi-models \
  --repo-type model \
  --include "pi05_tron2_candy/**" \
  --local-dir ./checkpoints

7.1.3 部署配置

1.文件/home/linux_user_name/xxx/tron2_openpi/configs/deploy下的三个yaml文件是我们的示例配置,其中candy_server.yaml和candy_client.yaml为关于 Candy 任务的公开示例配置,其中包含各类参数,你可以根据注释自行修改。

2.用于你自己的机器人前,请**重点确认**** **checkpoint 路径、机器人地址、Bridge 地址、初始化姿态和安全流程都适用于当前部署。

3.常见的修改参数【最小本地配置示例如下所示,地址在tron2_openpi/configs/deploy/下的任意您使用的candy_server.yaml文件的policy内容(详细配置说明已写在yaml注释中)】:

policy:
  config: TASK_CONFIG_NAME # 训练配置名称,具体位置和/home/xxx/xxx/tron2_openpi/src/openpi/training/config.py中第642-653行内容一致;
  repo_id: DATASET_REPO_ID # 需要与checkpoint文件的asset子目录一致,我们的开源权重默认为input;
  checkpoint_dir: /path/to/checkpoints/TASK_CONFIG_NAME/experiment/step # checkpoint地址,可以为绝对路径或相对于 tron2_openpi 的相对路径
  default_prompt: TASK_PROMPT # 递糖果demo默认Hand out the candy
robot:
  ip: ROBOT_IP
client:
  observation_source: bridge 
  max_steps: null

7.1.4 机器人环境

1.需要确保机器人处于 L1+X 后的初始状态,即双臂竖直摆放在侧身状态;

2.切换手柄遥控器到高级开发者模式【High-Level-Develop】;

7.1.5 启动策略服务

1.在一个终端启动policy server:

```Bash
cd tron2_openpi
uv run scripts/serve_policy.py   --profile configs/deploy/candy_server.yaml
```

2.在另一个终端启动TRON2 客户端:

```Bash
cd tron2_openpi
uv run examples/tron2/pi_client_rtc.py   --profile configs/deploy/candy_client.yaml
```

3.运行客户端后机械臂会从竖直侧身状态平滑过渡到小臂垂直侧身的,随后即可以将手心向上放置在相机视角推理验证。

继续阅读采集软件 · 连接与录制