UniLAP / README.md
RayYoh's picture
Release UniLAP robot policy checkpoints
830a0b9 verified
|
Raw History Blame Contribute Delete
5.48 kB
---
license: cc-by-nc-4.0
library_name: pytorch
tags:
- robotics
- robot-learning
- latent-action-policy
---
# UniLAP
**A Unified Latent Action Policy for Cross-Embodiment Manipulation**
UniLAP predicts robot action chunks from visual observations, language
instructions, and robot state. This repository provides robot-specific
checkpoints containing the latent action policy and action decoder, together
with the configuration and normalization statistics needed for inference.
[Project and paper information](https://rayyoh.github.io/UniLAP/) Β·
[Companion code](https://github.com/RayYoh/UniLAP)
## Checkpoints
| Directory | Robot | Benchmark | Tasks |
| --- | --- | --- | --- |
| `bridge/` | WidowX | SimplerEnv | Cube stacking, carrot placement, spoon placement, eggplant placement |
| `fractal/` | Google Robot | SimplerEnv | Move near, pick up a coke can, open and close drawers |
| `gr1/` | GR1 | RoboCasa | Pick-and-place tasks with a bottle, can, cup, milk, potato, and wine |
The Google Robot checkpoint is shared by the Visual Matching (VM) and
Variant Aggregation (VA) evaluations.
## Files
```text
UniLAP/
β”œβ”€β”€ README.md
β”œβ”€β”€ bridge/
β”‚ β”œβ”€β”€ config.yaml
β”‚ └── model.ckpt
β”œβ”€β”€ fractal/
β”‚ β”œβ”€β”€ config.yaml
β”‚ └── model.ckpt
β”œβ”€β”€ gr1/
β”‚ β”œβ”€β”€ config.yaml
β”‚ └── model.ckpt
└── metadata/
β”œβ”€β”€ bridge_stats.json
β”œβ”€β”€ fractal_stats.json
└── gr1_stats.json
```
- `model.ckpt`: latent policy and action decoder weights.
- `config.yaml`: model dimensions, pretrained encoder identifiers, action
representation, and normalization settings used by the inference loader.
- `metadata/*_stats.json`: action and state normalization statistics.
Keep each checkpoint beside its `config.yaml` and preserve the directory layout.
## Download
Use the [Hugging Face CLI](https://huggingface.co/docs/huggingface_hub/guides/cli).
Run these commands from the companion code directory.
Download all checkpoints:
```bash
hf download RayYoh/UniLAP --local-dir checkpoints/UniLAP
```
Or download one robot and its supporting files:
```bash
# WidowX
hf download RayYoh/UniLAP \
bridge/model.ckpt bridge/config.yaml metadata/bridge_stats.json README.md \
--local-dir checkpoints/UniLAP
# Google Robot
hf download RayYoh/UniLAP \
fractal/model.ckpt fractal/config.yaml metadata/fractal_stats.json README.md \
--local-dir checkpoints/UniLAP
# GR1
hf download RayYoh/UniLAP \
gr1/model.ckpt gr1/config.yaml metadata/gr1_stats.json README.md \
--local-dir checkpoints/UniLAP
```
## Inference and evaluation
The companion code release is being prepared at
[RayYoh/UniLAP](https://github.com/RayYoh/UniLAP). The commands below require a
code checkout containing `eval/run_lap_server.py` and `scripts/eval_paper.sh`.
Follow its installation instructions for the `unilap` policy environment and
`eval/envs/README.md` for the `simpler` and `gr1` simulator environments.
Run from the code checkout root:
```bash
conda activate unilap
CHECKPOINT_ROOT="$(pwd)/checkpoints/UniLAP"
```
To start a policy server independently, select `bridge`, `fractal`, or `gr1`:
```bash
ROBOT=bridge
python eval/run_lap_server.py \
--ckpt_path "$CHECKPOINT_ROOT/$ROBOT/model.ckpt" \
--stat_path "$CHECKPOINT_ROOT/metadata/${ROBOT}_stats.json" \
--robot "$ROBOT" \
--num_inference_steps 4 \
--device cuda \
--port 5555
```
The server loads DINOv2 ViT-B/14, SigLIP ViT-B/16
(`vit_base_patch16_siglip_224.v2_webli`), and Flan-T5-large through the companion
code. Their pretrained files must be available locally or downloadable on first use.
For closed-loop evaluation, use the following entrypoints. They start the policy
server and simulator client automatically. For SimplerEnv, set `SIMPLER_PATH` to
your checkout containing the RGB overlay assets.
```bash
export SIMPLER_PATH=/path/to/SimplerEnv
# WidowX
STAT_PATH="$CHECKPOINT_ROOT/metadata/bridge_stats.json" \
bash scripts/eval_paper.sh bridge "$CHECKPOINT_ROOT/bridge/model.ckpt"
# Google Robot: Visual Matching
STAT_PATH="$CHECKPOINT_ROOT/metadata/fractal_stats.json" \
bash scripts/eval_paper.sh fractal_vm "$CHECKPOINT_ROOT/fractal/model.ckpt"
# Google Robot: Variant Aggregation
STAT_PATH="$CHECKPOINT_ROOT/metadata/fractal_stats.json" \
bash scripts/eval_paper.sh fractal_va "$CHECKPOINT_ROOT/fractal/model.ckpt"
# GR1
STAT_PATH="$CHECKPOINT_ROOT/metadata/gr1_stats.json" \
bash scripts/eval_paper.sh gr1 "$CHECKPOINT_ROOT/gr1/model.ckpt"
```
## Citation
Please cite UniLAP when using these checkpoints in your research. See the
[project page](https://rayyoh.github.io/UniLAP/) for publication updates.
```bibtex
@misc{unilap2026,
title = {UniLAP: A Unified Latent Action Policy for Cross-Embodiment Manipulation},
author = {Lei Yao and Qiao Feng and Mutian Tong and Qihao Yun and Lap-Pui Chau and Lingjie Liu},
year = {2026},
url = {https://rayyoh.github.io/UniLAP/}
}
```
## License
The UniLAP-authored weights, configurations, and documentation in this repository
are licensed under
[Creative Commons Attribution-NonCommercial 4.0 International](https://creativecommons.org/licenses/by-nc/4.0/legalcode.en).
This permits noncommercial use, sharing, and adaptation with attribution under
the license terms.
The companion code uses the MIT License. Referenced pretrained models, datasets,
and simulators remain subject to their respective original licenses and terms.