| --- |
| license: mit |
| task_categories: |
| - robotics |
| tags: |
| - robotics |
| - diffusion-policy |
| - imitation-learning |
| - kinder |
| - mujoco |
| library_name: kinder-diffusion-policy |
| --- |
| |
| # KinDER — Diffusion Policy (DP) Checkpoints |
|
|
| Trained [Diffusion Policy](https://diffusion-policy.cs.columbia.edu/) checkpoints |
| for the [KinDER](https://prpl-group.com/kinder-site/) |
| physical-reasoning benchmark (RSS 2026). |
|
|
| Each checkpoint is an imitation learning policy trained from **~100 human |
| demonstrations** per environment using RGB image observations. |
| The training code lives in |
| [kinder-diffusion-policy](https://github.com/Princeton-Robot-Planning-and-Learning/kinder-diffusion-policy) |
| (a fork of [diffusion_policy](https://github.com/real-stanford/diffusion_policy)). |
| Demonstrations are available at |
| [kinder-bench/kinder-datasets](https://huggingface.co/datasets/kinder-bench/kinder-datasets). |
|
|
| --- |
|
|
| ## Checkpoints |
|
|
| | Path | KinDER environment | Trained epochs | Final train loss | |
| |------|--------------------|---------------|-----------------| |
| | `motion2d/epoch=1000-train_loss=0.000.ckpt` | `Motion2D-p0` | 1 000 | 0.000 | |
| | `stickbutton2d/epoch=2000-train_loss=0.001.ckpt` | `StickButton2D-b1` | 2 000 | 0.001 | |
| | `dynobstruction2d/epoch=2000-train_loss=0.000.ckpt` | `DynObstruction2D-o1` | 2 000 | 0.000 | |
| | `dynpushpullhook2d/epoch=0900-train_loss=0.001.ckpt` | `DynPushPullHook2D-o5` | 900 | 0.001 | |
| | `basemotion3d/epoch=2000-train_loss=0.000.ckpt` | `BaseMotion3D` | 2 000 | 0.000 | |
| | `shelf3d/epoch=0300-train_loss=0.000.ckpt` | `Shelf3D` | 300 | 0.000 | |
| | `sweep3d/epoch=0300-train_loss=0.001.ckpt` | `SweepIntoDrawer3D` | 300 | 0.001 | |
| | `transport3d/epoch=0100-train_loss=0.000.ckpt` | `Transport3D-o2` | 100 | 0.000 | |
|
|
| --- |
|
|
| ## Method |
|
|
| **Diffusion Policy (DP)** learns a visuomotor policy by training a diffusion model |
| to denoise action sequences conditioned on RGB image observations. |
|
|
| - **Input**: RGB image(s) at 224 × 224 (single overhead camera for 2D envs; |
| base + wrist + overview cameras for 3D TidyBot envs) |
| - **Output**: action chunk predicted by iterative DDPM denoising |
| - **Training data**: ~100 human demonstrations per environment |
| (collected via PS5 controller for 2D; iPhone / VR headset for 3D) |
|
|
| --- |
|
|
| ## Usage |
|
|
| ### 1. Install dependencies |
|
|
| ```bash |
| # Clone and set up kinder-diffusion-policy |
| git clone git@github.com:Princeton-Robot-Planning-and-Learning/kinder-diffusion-policy.git |
| cd kinder-diffusion-policy |
| # Follow the environment setup instructions in the repo README |
| mamba activate robodiff |
| ``` |
|
|
| ```bash |
| # Install the kinder-imitation-learning inference utilities |
| cd kinder-baselines/kinder-imitation-learning |
| uv pip install -r prpl_requirements.txt |
| uv pip install -e ".[develop]" |
| ``` |
|
|
| ### 2. Launch the policy server |
|
|
| ```bash |
| cd ~/kinder-diffusion-policy |
| mamba activate robodiff |
| python policy_server.py --ckpt-path /path/to/sweep3d/epoch=0300-train_loss=0.001.ckpt |
| ``` |
|
|
| ### 3. Run evaluation |
|
|
| ```bash |
| cd kinder-baselines/kinder-models/scripts |
| python inference.py \ |
| --env-name kinder/SweepIntoDrawer3D-o5-v0 \ |
| --save-videos \ |
| --num-seeds 1 \ |
| --num-episodes 5 \ |
| --max-steps 200 |
| ``` |
|
|
| Replace `--env-name` and `--ckpt-path` with the environment and checkpoint of your choice. |
|
|
| --- |
|
|
| ## Training from scratch |
|
|
| To retrain a checkpoint on your own data: |
|
|
| ```bash |
| # Convert raw teleoperation recordings to HDF5 |
| cd kinder-baselines/kinder-models/scripts |
| python demos_to_hdf5.py \ |
| --teleop_data_dir $YOUR_DATA_DIR \ |
| --output_path $OUTPUT_HDF5_PATH \ |
| --render_images |
| |
| # Train (example config for SweepIntoDrawer3D) |
| cd ~/kinder-diffusion-policy |
| mamba activate robodiff |
| python train.py --config-name=train_sweep3d_image |
| ``` |
|
|
| --- |
|
|
| ## Related resources |
|
|
| | Resource | Link | |
| |----------|------| |
| | KinDER benchmark | [kindergarden](https://github.com/Princeton-Robot-Planning-and-Learning/kindergarden) | |
| | Training code | [kinder-diffusion-policy](https://github.com/Princeton-Robot-Planning-and-Learning/kinder-diffusion-policy) | |
| | Demonstration datasets | [kinder-bench/kinder-datasets](https://huggingface.co/datasets/kinder-bench/kinder-datasets) | |
| | DP + Environment States (DPES) checkpoints | kinder-bench/kinder-DPES-checkpoints | |
| | Finetuned π0.5 VLA checkpoints | [kinder-openpi](https://github.com/Princeton-Robot-Planning-and-Learning/kinder-openpi) | |
|
|
| --- |
|
|
| ## Citation |
|
|
| If you use these datasets, please cite the paper: [KinDER: A Physical Reasoning Benchmark for Robot Learning and Planning](https://huggingface.co/papers/2604.25788): |
|
|
| ```bibtex |
| @inproceedings{huang2026kinder, |
| title = {KinDER: A Physical Reasoning Benchmark for Robot Learning and Planning}, |
| author = {Huang, Yixuan and Li, Bowen and Saxena, Vaibhav and Liang, Yichao and Mishra, Utkarsh and Ji, Liang and Zha, Lihan and Wu, Jimmy and Kumar, Nishanth and Scherer, Sebastian and Xu, Danfei and Silver, Tom}, |
| booktitle = {Robotics: Science and Systems (RSS)}, |
| year = {2026} |
| } |
| ``` |
|
|