--- license: other tags: - robotics - vla - manipulation - robotwin - robodojo library_name: a1 --- # A1 — RoboDojo joint-delta VLA (step88000) A1 是基于 AllenAI **Molmo** 的视觉-语言-动作(VLA)模型。本仓库提供在 **RoboTwin 3.0 / RoboDojo**(ARX5 双臂)上训练的 **joint-delta** checkpoint,以及一套**开箱即用的部署代码**(XPolicyLab socket server),下载后即可起服务、被仿真器调用。 A1 is a Molmo-based Vision-Language-Action model. This repo ships a RoboDojo (ARX5 dual-arm) **joint-delta** checkpoint plus a ready-to-run serving stack (XPolicyLab socket server). ## 仓库内容 / Contents | 路径 | 说明 | |------|------| | `checkpoint/step88000-unsharded/model.pt` | 模型权重(~32GB,unsharded) | | `checkpoint/step88000-unsharded/config.yaml` | 该 checkpoint 的训练配置 | | `assets/robodojo_joint_delta.json` | 反归一化统计(`bounds_q99`),与该 checkpoint 配套 | | `code/XPolicyLab_a1_robodojo_full.tar.gz` | 完整 XPolicyLab 部署代码(含 vendor 的 delta-capable A1、含 `.git`) | ## 模型规格 / Model spec - 机器人 / robot: ARX5 双臂 (dual-arm) - 动作 / action: 14 维关节 `[L_arm(6), L_grip(1), R_arm(6), R_grip(1)]` - **joint-delta**: 双臂关节预测的是 delta,夹爪是绝对值 → `delta_mask = "6,-1,6,-1"` - 归一化 / normalization: `bounds_q99` - chunk 长度 / action chunk: 50,序列长度 / sequence length: 600 ## 快速使用 / Quick start ```bash # 1) 下载本仓库(用 hf-mirror 更快;国内环境关掉代理) pip install -U "huggingface_hub[cli]" HF_ENDPOINT=https://hf-mirror.com \ hf download D-eon/a1-robodojo-joint-delta --local-dir ./a1_robodojo # 2) 解压部署代码 cd a1_robodojo tar -xzf code/XPolicyLab_a1_robodojo_full.tar.gz # 得到 XPolicyLab/ # 3) 准备 conda 环境(参考 XPolicyLab/policy/A1/README.md 与 A1 安装说明) # 需要 torch==2.6.0 / transformers<5 等;环境名假设为 a1 # 4) 起 A1 策略服务(指向下载的 checkpoint 目录) MODEL_PATH="$PWD/checkpoint/step88000-unsharded" \ bash XPolicyLab/policy/A1/serve_a1.sh # 可选: PORT=32180 GPU=0 CONDA_ENV=a1 ... # norm stats 默认用 XPolicyLab/policy/A1/assets/robodojo_joint_delta.json(已随代码包提供) ``` 服务以**端口进入 LISTEN** 为就绪标志(checkpoint ~32GB,加载需几分钟)。详见解压后的 `XPolicyLab/policy/A1/README.md`(「独立部署 / 开环验证」一节)。 ## 开环验证 / Open-loop check ```bash python XPolicyLab/policy/A1/test_openloop_client.py \ --episode /abs/.../RoboDojo//arx_x5/data/episode_0000007.hdf5 \ --host 127.0.0.1 --port 32180 --chunk 50 --max_frames 400 ``` 在 `arrange_largest_number` 上整体 L1 ≈ 0.02–0.03(关节空间绝对动作)属正常范围。 ## 关键对齐点 / Notes - **delta 还原**在 server 端完成(`policy/A1/model.py`):按 `delta_mask` 把原始 state 加回臂关节。 - 输入图像保留**原分辨率**(交给模型自带预处理),相机顺序 `cam_head / cam_left_wrist / cam_right_wrist`,需 **RGB**。 - obs 必须带真实 `instruction`,否则精度明显下降。