TinyWAM InvRobot
TinyWAM action-policy checkpoint for the InvRobot three-camera, 14-DoF setup. The repository contains only inference assets and a minimal inference runtime; no dataset or training implementation is included.
Assets
invrobot_step30000/: bf16 TinyWAM parameters at step 30,000.wan_vae/: Wan VAE used to encode the current RGB observation.dataset_stats.json: normalization constants bound to this checkpoint.prompt_embeddings/put_water_flosser_in_box_close_lid.npz: checkpoint-aligned UMT5 context for the packaged example, with self-describing provenance metadata.weights_manifest.json: byte sizes and SHA-256 for every required inference asset.TinyWAM-InvRobot-runtime.tar.gz: inference-only JAX runtime and a real smoke sample.
The model consumes a uint8[384,320,3] RGB canvas, current float32[14]
state, and a precomputed float32[128,4096] UMT5 context. It returns
float32[32,14] absolute joint targets. The 22 GB UMT5 encoder is deliberately
not bundled; callers supply its embedding, and both the runtime smoke sample and the
standalone prompt_embeddings/ asset already contain one.
Prompt embedding provenance
The bundled prompt embedding was produced with the tokenizer/ and text_encoder/
subfolders of
Wan-AI/Wan2.1-T2V-1.3B-Diffusers,
pinned to revision
0fad780a534b6463e45facd96134c9f345acfa5b.
The encoder is
text_encoder/,
loaded as transformers.UMT5EncoderModel (google/umt5-xxl architecture); the
matching
tokenizer/
uses max length 128 with padding, truncation, and special tokens enabled.
It encodes this raw instruction:
Put the water flosser into the box and close the lid.
through this complete prompt:
A video recorded from a robot's point of view executing the following instruction: Put the water flosser into the box and close the lid.
The NPZ contains context (float32[128,4096]), context_mask
(bool[128], all true), and JSON metadata. See prompt_embeddings/README.md for a
loading snippet. No UMT5 model files are duplicated in this repository.
Download and verify
hf download lealealy/invrobot TinyWAM-InvRobot-runtime.tar.gz --local-dir .
tar -xzf TinyWAM-InvRobot-runtime.tar.gz
cd TinyWAM-InvRobot-runtime-20260817
python -m pip install -U "huggingface_hub[hf_xet]"
python scripts/download_weights.py --repo-id lealealy/invrobot
python scripts/verify_weights.py
See the runtime README.md for environment pins and the inference command.
Validation
- External asset manifest: 60 data/weight objects verified by SHA-256.
- Runtime syntax and import smoke: passed.
- Orbax checkpoint and VAE restore: passed.
- Real CUDA inference: passed on an RTX 5090 with JAX/JAXLIB 0.11.0.
- Smoke output: shape
[32,14], all values finite. - Existing InvRobot open-loop Gate 1 record: passed at step 30,000.
This validation is open-loop only. It is not evidence of closed-loop robot performance or safety.