Downloads · 30 days
0
LGG100/b601-lingbotva-10k
b601-lingbotva-10k is a robotics model from LGG100. Use it for the robotics task on the model card, and read the license before you ship it in a product. It is set up for diffusers. The card lists the license as apache-2.0.
LingBot-VA post-trained on a single-arm Seeed B601 pick-and-place task: pick up the red cube and place it inside the tray. Only the transformer/ is released — the VAE, T5 text encoder and tokenizer are unchanged from…
Downloads · 30 days
0
Access
Public
Updated Aug 4, 2026
Parameters
5.1B
10.2 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors10.2 GB · 100%
From the Hugging Face model README
LingBot-VA post-trained on a single-arm
Seeed B601 pick-and-place task: pick up the red cube and place it inside the tray.
Only the transformer/ is released — the VAE, T5 text encoder and tokenizer are unchanged
from the base model and must be fetched separately (see Setup).
⚠️ This checkpoint has not been evaluated. No real-robot rollout and no held-out split were run; the training set has 50 episodes of one task and the run does 800 epochs over it, so expect heavy overfitting to that scene. Treat it as a training artifact, not a policy with known success rate.
| File | What it is |
|---|---|
transformer/diffusion_pytorch_model.safetensors | 5.09 B params, bf16, 839 tensors |
transformer/config.json | WanTransformer3DModel config. attn_mode is set to "torch" for inference — set it to "flex" if you train with this as the init |
va_b601_train_cfg.py | The LingBot-VA config this was trained with. Required at inference: it carries the action normalization stats and the channel layout, which are not stored in the checkpoint |
norm_stat.json | The same q01/q99 as in the config, standalone for non-LingBot consumers. The .py is authoritative |
huggingface-cli download robbyant/lingbot-va-base --local-dir /path/to/base
cd <this-checkpoint-dir>
ln -s /path/to/base/vae vae
ln -s /path/to/base/text_encoder text_encoder
ln -s /path/to/base/tokenizer tokenizer
Then point a serve/i2va config at this directory:
cfg.wan22_pretrained_model_name_or_path = "<this-checkpoint-dir>"
Copy the layout and action fields from va_b601_train_cfg.py verbatim and add the sampling
parameters (untuned starting points, taken from the RoboTwin/UR3 configs):
cfg.guidance_scale = 5
cfg.action_guidance_scale = 1
cfg.num_inference_steps = 25 # video
cfg.video_exec_step = -1
cfg.action_num_inference_steps = 50 # action
Two cameras, resized to 256 x 256 each (the source is 480 x 640, so the aspect ratio is squashed — do the same at inference), concatenated along width:
| Key | |
|---|---|
observation.images.top | uint8 HxWx3 RGB |
observation.images.wrist | uint8 HxWx3 RGB |
The prompt must match the training string character for character:
Pick up the red cube and place it completely inside the tray.
Actions: 7 dims, absolute joint positions in degrees, in leader convention, ordered
[shoulder_pan, shoulder_lift, elbow_flex, wrist_flex, wrist_yaw, wrist_roll, gripper].
They occupy slots [14, 15, 16, 17, 18, 19, 28] of LingBot-VA's 30-dim action vector; every
other slot is unused. One chunk is frame_chunk_size=4 latent frames x action_per_frame=8
= 32 steps at 30 Hz (~1.07 s).
⚠️ observation.state is not in the same convention as the actions. It is the follower
reading: shoulder_pan, shoulder_lift, wrist_roll and gripper are sign-flipped, and the
gripper uses a different unit (state spans [-270, 0], action [0, 57]). This conversion is
not implemented in the LingBot-VA code — a real-robot client has to do it.
Normalization is min-max over the q01/q99 below, mapped to [-1, 1] and clipped at ±1.5, so a
value far outside this range saturates:
| joint | q01 | q99 |
|---|---|---|
| shoulder_pan | -27.10 | 28.00 |
| shoulder_lift | 0.00 | 131.50 |
| elbow_flex | -109.70 | 0.00 |
| wrist_flex | 0.30 | 60.60 |
| wrist_yaw | -14.50 | 7.50 |
| wrist_roll | -9.50 | 61.30 |
| gripper | 0.00 | 56.50 |
Post-trained from robbyant/lingbot-va-base (commit 68b7bc1b35da6ddc67ea94c4ceb58d768fbb3f9c).
snr_shift 5.0 (video) / 0.05 (action); chunk size 1-4
and attention window 4-64 randomized per step.save_checkpoint does not write one, so this
checkpoint can be used to initialize training but cannot resume a run.empty_emb.pt; that is only used for CFG dropout during training. The inference server
encodes the empty string itself.Apache-2.0, inherited from the base model.