TRON 2 DOCS
Products/TRON 2/VLA · project development
TRON 2 · DOCUMENTATION

Example · deployment scripts

Check scope below

This page has not been translated and displays the Chinese reference. Navigation and search are available in English. Operational details must be checked against the applicable manual.

按环境配置 → 权重下载 → 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.运行客户端后机械臂会从竖直侧身状态平滑过渡到小臂垂直侧身的,随后即可以将手心向上放置在相机视角推理验证。

NEXTCollection · connect & record