Instructions to use Aikwed/lingbot-vla-pick-and-place-toys with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use Aikwed/lingbot-vla-pick-and-place-toys with LeRobot:
- Notebooks
- Google Colab
- Kaggle
LingBot-VLA Pick-and-Place Toys
This is a post-trained LingBot-VLA 1.0 checkpoint for the
AlvinAi/pick_and_place_toys LeRobot v3.0 dataset.
Training
- Base model:
robbyant/lingbot-vla-4b - Dataset: 80 episodes, 70,588 frames, 30 FPS
- Robot: SO follower, 5 arm joints + 1 gripper
- Cameras:
frontandside - Action horizon: 50
- Normalization: mean/std
- Optimizer steps: 10,000
- Global batch size: 16
- Learning rate: 2e-5, constant
- Hardware: 4 x NVIDIA GH200
- Training time: 4:24:44
The five arm actions were trained as deltas relative to the current arm state. The gripper action remained absolute.
No held-out validation or real-robot success-rate evaluation has been performed yet. The final training loss should not be interpreted as a deployment success rate.
Exact embodiment mapping
The raw LeRobot observation.state and action vectors both have six
dimensions in this exact order:
| Raw index | Dataset name | Unified LingBot-VLA feature | Training action representation |
|---|---|---|---|
| 0 | shoulder_pan.pos |
arm.position[0] |
delta |
| 1 | shoulder_lift.pos |
arm.position[1] |
delta |
| 2 | elbow_flex.pos |
arm.position[2] |
delta |
| 3 | wrist_flex.pos |
arm.position[3] |
delta |
| 4 | wrist_roll.pos |
arm.position[4] |
delta |
| 5 | gripper.pos |
effector.position[0] |
absolute |
For every predicted horizon step t, the model's arm training target was:
action.arm.position[t] = raw_action[t, 0:5] - observation.state[0:5]
The gripper target was:
action.effector.position[t] = raw_action[t, 5:6]
During deployment, LingBot-VLA's FeatureTransform.unapply() adds the
current arm state back to the predicted arm deltas. The returned raw action
therefore has shape [horizon, 6] and is again in the dataset's original
absolute joint/gripper convention.
Camera mapping
| Raw LeRobot key | Raw shape | Unified LingBot-VLA key | Model camera order |
|---|---|---|---|
observation.images.front |
480 x 640 x 3 |
observation.images.camera_top |
0 |
observation.images.side |
480 x 640 x 3 |
observation.images.camera_side |
1 |
Both cameras are RGB. At runtime they are resized and padded to the model's
224 x 224 visual input.
Padding and masks
The five physical arm dimensions are placed in an arm.position slot of
size 6, so that slot has one padding dimension. The one gripper dimension is
placed in an effector.position slot of size 1. This seven-dimensional
grouped representation is then padded to max_state_dim=75 and
max_action_dim=75; joint_mask ensures that only the six physical
dimensions contribute as real joints. Runtime state and returned action
vectors remain six-dimensional.
Runtime observation keys
After calling reset("pick_and_place_toys"), the policy server expects an
observation containing at least:
observation = {
"observation.state": state_float32, # shape (6,)
"observation.images.front": front_rgb_uint8, # shape (H, W, 3)
"observation.images.side": side_rgb_uint8, # shape (H, W, 3)
"task": "pick and place toys",
}
The complete machine-readable mapping is included as robot_config.yaml.
Do not change the joint order, camera mapping, delta-action rule, or
normalization statistics without retraining or explicitly converting the
inputs and outputs.
Additional files
norm_stats.json: normalization statistics for this embodimentrobot_config.yaml: LingBot-VLA feature mappinglingbotvla_cli.yaml: complete training configuration and provenance
The original training configuration contains local absolute paths as provenance. Use the explicit paths shown below when deploying elsewhere.
Download
hf download Aikwed/lingbot-vla-pick-and-place-toys \
--local-dir /path/to/lingbot-vla-pick-and-place-toys
Deployment
Use the official Robbyant/lingbot-vla codebase. Copy the included robot mapping into that checkout:
cp /path/to/lingbot-vla-pick-and-place-toys/robot_config.yaml \
configs/robot_configs/pick_and_place_toys.yaml
export QWEN25_PATH=/path/to/Qwen2.5-VL-3B-Instruct
python -m deploy.lingbot_vla_policy \
--model_path /path/to/lingbot-vla-pick-and-place-toys \
--norm_path /path/to/lingbot-vla-pick-and-place-toys/norm_stats.json \
--use_length 25
License and attribution
This checkpoint is derived from LingBot-VLA. The upstream project and
checkpoint are distributed under Apache-2.0. See LICENSE and retain the
upstream attribution when redistributing.
- Downloads last month
- 21
Model tree for Aikwed/lingbot-vla-pick-and-place-toys
Base model
robbyant/lingbot-vla-4b