Instructions to use 2sin0/dynamic-vla-r1lite-bread-bag-100k with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use 2sin0/dynamic-vla-r1lite-bread-bag-100k with LeRobot:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
DynamicVLA R1Lite bread-bag policy โ 100k
DynamicVLA fine-tuned from hzxie/dynamic-vla-DOM for the R1Lite task
pick up the bread bag. This is the completed 100,000-step checkpoint,
with both arms represented as end-effector poses and gripper states.
Use the adapted DynamicVLA code. Both this model repository and the linked source-code repository are public. The upstream DOM simulation inference script assumes a different robot/action layout; use the R1Lite deployment server described below.
Files
model.safetensors: complete policy weights, including fine-tuned normalization buffers.config.json: model architecture and action representation.normalization.json: training-only statistics, split IDs, vector layout, and dataset hashes.training_config.json: complete training configuration.evaluation.json: held-out action error report.requirements.txt,environment.json: dependencies and recorded package versions.manifest.json: file sizes, SHA-256 hashes, and source-code commit.LICENSE: original S-Lab License 1.0.
Download and serve
Run in the model environment from the linked source repository. The model can be downloaded without authentication.
from huggingface_hub import snapshot_download
snapshot_download(
repo_id="2sin0/dynamic-vla-r1lite-bread-bag-100k",
local_dir="runs/pretrained/r1lite-bread-bag-100k",
)
python scripts/serve_r1lite.py \
--checkpoint runs/pretrained/r1lite-bread-bag-100k \
--host 0.0.0.0 --port 5555
The server loads the checkpoint normalization buffers automatically. It does not need the original dataset. The SmolLM2 configuration/tokenizer used by the architecture must be available from Hugging Face or the local Hub cache.
Run dynamicvla_ros2_adapter_ee.py on the robot with
configs/r1lite_ros2.yaml. The default adapter mode is dry_run: true.
See the deployment guide
for environment setup, ROS2 topics, command publication, and timing parameters.
The server and adapter use a custom JSON/NumPy ZeroMQ protocol, not the GR00T RPC protocol.
Input and action contract
- Cameras:
observation.images.head_rgb,observation.images.left_wrist_rgb,observation.images.right_wrist_rgb; RGB uint8 from the native cameras. - History: two observations, offsets
[-2, 0]at 31 FPS, approximately 64.5 ms apart. - Image preprocessing: torchvision uint8 resize to
216x384, then float/255; the model pads to384x384and applies its image preprocessing. - State: 20 dimensions, ordered
[left_gripper, right_gripper, left_EE_xyz_rot6d(9), right_EE_xyz_rot6d(9)]. No joint positions are included. - Absolute EE coordinates:
torso_link3, in meters. rot6d is the first two rows of the rotation matrix; ROS quaternions use xyzw. - Model action: 30 steps of relative SE(3), independently per arm,
inverse(T_state_latest) @ T_action[k]; both grippers remain absolute, native 0โ100 units. - The deployment server converts predictions to absolute EE actions using
T_state_latest @ T_relative[k]. Its output must not be converted a second time. - Typical language instruction:
pick up the bread bag.
Training
The local LeRobot v2.1 dataset 260826_pick_up_the_bread_bag_gr00t_fk contains
100 episodes and 57,272 frames at 31 FPS. Seed 42 selected 90 training episodes
(51,369 frames) and 10 held-out episodes (5,903 frames). The dataset itself is
not included in this model repository.
Training used batch size 16, chunk size 30, a 100,000-update limit, cosine
scheduling, and 5,000 warmup steps. Vision/text learning rate was 1e-6;
connector/action expert/projections used 1e-5. Backbones were not frozen.
With one GPU and dropped incomplete batches, training completed 31 full epochs
plus 490 updates in epoch 32. Normalization uses only training episodes and
excludes episode-end padded actions. Near-constant dimensions use standard deviation 1.
The stored training configuration contains the original machine's absolute paths. Change dataset, checkpoint, output, and statistics paths when retraining on another machine; regenerate statistics if the data or split changes.
Validation and limitations
Held-out evaluation covers 5,903 observations and 172,740 valid chunk targets;
see evaluation.json for per-dimension errors and aggregation details. The
reported aggregate action L1 mixes translation, rot6d, and gripper units and is
not a task success rate.
Recorded episode 18 replay confirmed exact preprocessing parity with the training loader and fixed-seed absolute prediction parity. Three native-image inference requests on an H200 took approximately 0.30โ0.36 seconds round trip over local TCP. Robot-network transfer latency is additional. The code passed 16 tests, including ROS message stand-ins and real TCP worker tests. Actual DDS communication, controller acceptance, and physical closed-loop task success have not been validated.
License
The inherited S-Lab License 1.0 is included unchanged. Refer to its terms for use and redistribution.
- Downloads last month
- 28