LingBot-VLA 2.0 โ ManiGuard datagen-v1 clutter (joint, 2-cam)
LingBot-VLA 2.0 post-trained on the ManiGuard clutter family, one of five base models
evaluated on ManiGuard-Bench under identical data, cameras, and controller.
- Warm start:
robbyant/lingbot-vla-v2-6bโ the pretrain release (not the RoboTwin post-trained variant). - Data:
IDEAS-Lab-Northwestern/datagen-clutter-v1-joint-5cam(LeRobot v2.1, consumed directly โ no format conversion). - Inputs: 2 cameras (
camera_top= theleftoverview,camera_wrist_left= wrist), 8-D joint state (7 arm + gripper) mapped into the 55-D unified vector. - Actions: absolute joint targets (
subtract_state: falseon both features, per LingBot's own simulation recipe) โ apply directly to a JointController, no delta step. - Recipe: upstream post-training config unchanged (MoE + depth/DINO distillation on); global batch 256 = micro 32 x 8 GPUs, lr 5e-5 cosine, 2 epochs (7,100 steps).
- Ladder: checkpoints every 1,775 steps.
Files needed to serve
Everything a rollout needs is in this repo:
| Path | What it is |
|---|---|
maniguard/norm_stats.json |
this family's normalization statistics |
maniguard/robot_config.yaml |
the feature mapping the policy was trained with; its norm_stats: points at the file above |
vlm/config.json |
the Qwen/Qwen3-VL-4B-Instruct config (Apache-2.0), vendored unchanged โ LingBot builds the VLM skeleton from it before loading these weights |
tokenizer*.json, *preprocessor_config.json, merges.txt, vocab.json, added_tokens.json, special_tokens_map.json, chat_template.jinja |
the processor / tokenizer, byte-identical to training |
Serve it with ManiGuard's shim, which reads all of the above from the checkpoint directory and passes the norm statistics explicitly:
python maniguard/serve/lingbot_native.py \
--checkpoint <this repo, downloaded> --qwen-config <dir holding vlm/config.json> \
--device cuda:0 --port 8000
- Downloads last month
- 65
Model tree for IDEAS-Lab-Northwestern/lingbot-vla2-datagen-v1-clutter-joint-2cam-yanZ
Base model
robbyant/lingbot-vla-v2-6b