StarVLA-PickOrange (QwenGR00T, freeze-VLM)

针对 LeIsaac SO-101 PickOrange 任务训练的 StarVLA QwenGR00T 策略:Qwen3-VL-4B 视觉语言骨干(冻结)+ GR00T N1.5 flow-matching DiT 动作头(仅训此头,~0.47B)。 A StarVLA QwenGR00T policy (Qwen3-VL-4B VLM backbone, frozen + GR00T N1.5 flow-matching DiT action head, ~0.47B trainable) for the LeIsaac SO-101 PickOrange task.

StarVLA-PickOrange step-18k — SO-101 in Isaac Sim

🔗 项目仓库 / Project repos

TL;DR

  • 任务 / TaskGrab orange and place into plate — SO-101 单臂依次夹起 3 颗橙子并放盘子。 Single-arm SO-101 picks 3 oranges sequentially and places each into a plate.
  • 数据集 / DatasetLightwheelAI/leisaac-pick-orange — 60 episode 遥操示范。
  • 架构 / Architecture:StarVLA QwenGR00T = Qwen3-VL-4B(冻结,freeze_modules: qwen_vl_interface)+ GR00T N1.5 flow-matching DiT-B 动作头(action_horizon=16, 6-DOF)。双相机 @ 448×448(橙子只占 10-40px,224 是 vision death zone)。
  • 训练 / Training:冻 VLM 只训动作头 / batch=8 / cosine lr(head 1e-4)/ bf16 / DeepSpeed ZeRO-2 / 云端 4080-32G。
  • 评测 / Evalstrict 20-round,与 leaderboard 同口径:120s sim × 180s wall_cap × stuck 30s/0.05rad):**P(3)=10% (2/20)E(🍊)/ep=35.0% (21/60 oranges)**,avg 169.8s。
  • ⚠️ 这是偏弱档结果(negative-ish archive):60 demo + 冻 VLM 双不足;主死因是慢(17/20 轮撞 180s 墙钟放不完 3 颗),非乱动。发布以记录"此路偏弱"、防社区重踩。

关键发现 / Key findings

  • 倒 U 过拟合曲线:云端 sweep(非标准快筛口径)显示峰值 ~15k 步、>21k 塌陷(手臂晃动悬停)。step-18000 是过拟合前的现存最优。 Inverted-U overfitting curve: peak around step ~15k, collapse past ~21k (arm wobbles / hovers without committing the grasp). step-18000 is the best surviving pre-collapse checkpoint.
  • 3-round → 20-round 方差铁证:step-18000 在 3-round 快筛是 33% (1/3),strict 20-round 真值仅 10% P(3) — 3 倍偏差。所有对外数必须 ≥20-round3-round gave a misleading 33%; strict 20-round revealed the true 10%. Always report ≥20-round.
  • 同 action head 族对照:QwenGR00T 与 leaderboard 上自训 GR00T-N1.6 (46.7%) / N1.7 (68.3%) 共用 GR00T flow-matching 动作头,差别在 VLM 骨干 + 训练方式:StarVLA 冻 Qwen3-VL 只训头;GR00T-N1.x 全模型微调自家骨干。35% vs 68% 的差距主要来自此。
  • 提分杠杆 / Levers:① 解冻 VLM 顶层 N 层;② 加 demo(60 → 100+);③ 换 PI_v3 动作头(StarVLA model_zoo 上 Qwen3-VL-PI_v3 在 Bridge=69.8 > GR00T head=65.3),从 StarVLA/Qwen3VL-PI_v3-Bridge-RT_1 初始化。

评测结果 / Evaluation

Strict 20-round(60 oranges total,leaderboard 同条件):

指标 / Metric 值 / Value
E(🍊)/ep 35.0% (21/60)
P(3)(单 ep 放满 3 颗) 10% (2/20)
P(≥2) 35% (7/20)
avg round 169.8s

20-ep raw oranges:[1,3,0,1,0,0,2,3,2,1,0,2,1,1,2,0,2,0,0,0](干净 3/3 成功:ep2 @ 56s、ep8 @ 166s)。

完整横评榜单见父项目 README leaderboard:35.0% 排在自训 ACT (43.3%) 与 shadowHokage ACT (28.3%) 之间。

文件 / Files

文件 说明
checkpoints/steps_18000_pytorch_model.pt 权重(~9.97 GB,冻结的 Qwen3-VL-4B + 训练的 GR00T 动作头)
config.yaml 训练/推理重建配置(baseframework.from_pretrained 读取;base_vlm 指向 Qwen/Qwen3-VL-4B-Instruct
dataset_statistics.json 动作反归一化统计
modality.json 6-DOF state/action + 双相机 modality 映射
config_so101_qwengr00t.yaml / run_so101_train.sh 训练入口配方

推理 / Inference

StarVLA 的 PolicyServerWrapper(ckpt_path).from_pretrainedconfig.yaml(+dataset_statistics.json)重建框架并加载权重。本项目用一个 openpi msgpack-numpy websocket 适配器把它接进 LeIsaac Isaac Sim(stateless 双相机 @ 448):

# serve(starvla_eval 环境)
python LeIsaac/scripts/evaluation/serve_starvla.py \
    --ckpt checkpoints/steps_18000_pytorch_model.pt \
    --base /path/to/Qwen3-VL-4B-Instruct --port 8002 --img_size 448

# Isaac Sim 客户端 eval(与 leaderboard 同参)
python LeIsaac/scripts/evaluation/policy_inference.py \
    --task=LeIsaac-SO101-PickOrange-v0 --policy_type=starvla \
    --eval_rounds=20 --episode_length_s=120 --max_round_wall_s=180 \
    --step_hz=30 --policy_action_horizon=16 --policy_port=8002 --enable_cameras

serve + client 实现见 serve_starvla.pyStarVLAServicePolicyClient

限制 / Limitations

  • 偏弱档:P(3)=10% 在 leaderboard 上属弱档(GR00T-N1.7 = 50%)。主因 60 demo + 冻 VLM 容量/数据双不足。
  • :17/20 轮撞 180s 墙钟没放完 3 颗 —— 策略在认真抓放(35% 橙子率)但不够果断高效。
  • 小样本置信:20-round (60 ep) CI ≈ ±10%(单 ep 级 Bernoulli noise)。

引用 / Citations

License

MIT,与 StarVLA 一致(base VLM Qwen3-VL-4B 受其各自许可约束)。

Downloads last month
14
Video Preview
loading

Model tree for wsagi/StarVLA-PickOrange

Finetuned
(292)
this model

Dataset used to train wsagi/StarVLA-PickOrange

Collection including wsagi/StarVLA-PickOrange

Paper for wsagi/StarVLA-PickOrange