|
| 1 | +<h1> Scaling Up and Distilling Down: Language-Guided Robot Skill Acquisition</h1> |
| 2 | +<div style="text-align: center;"> |
| 3 | + |
| 4 | +[Huy Ha](https://www.cs.columbia.edu/~huy/)$^1$, [Pete Florence](https://www.peteflorence.com/)$^2$, [Shuran Song](https://shurans.github.io/)$^1$ |
| 5 | + |
| 6 | +$^1$ Columbia University, $^2$ Google DeepMind |
| 7 | + |
| 8 | +[Project Page](https://www.cs.columbia.edu/~huy/scalingup) | [Arxiv](https://arxiv.org/abs/2307.14535) | [Video](https://www.cs.columbia.edu/~huy/scalingup/static/videos/scalingup.mp4) |
| 9 | + |
| 10 | +<div style="margin:50px; text-align: justify;"> |
| 11 | +<img style="width:100%;" src="docs/assets/teaser.gif"> |
| 12 | + |
| 13 | +Scaling Up and Distilling Down is a framework for language-guided skill learning. |
| 14 | +Give it a task description, and it will automatically generate rich, diverse robot trajectories, complete with success label and dense language labels. |
| 15 | + |
| 16 | +<b>The best part?</b> It uses no expert demonstrations, manual |
| 17 | +reward supervision, and no manual language annotation. |
| 18 | + |
| 19 | +</div> |
| 20 | +</div> |
| 21 | + |
| 22 | +<br> |
| 23 | + |
| 24 | +This repository contains code for language-guided data generation and language-conditioned diffusion policy training for [Scaling Up And Distilling Down](https://www.cs.columbia.edu/~huy/scalingup). |
| 25 | +It has been tested on Ubuntu 18.04, 20.04 and 22.04, NVIDIA GTX 1080, NVIDIA RTX A6000, NVIDIA GeForce RTX 3080, and NVIDIA GeForce RTX 3090. |
| 26 | + |
| 27 | +If you find this codebase useful, consider citing: |
| 28 | + |
| 29 | +```bibtex |
| 30 | +@inproceedings{ha2023scalingup, |
| 31 | + title={Scaling Up and Distilling Down: Language-Guided Robot Skill Acquisition}, |
| 32 | + author={Huy Ha and Pete Florence and Shuran Song}, |
| 33 | + year={2023}, |
| 34 | + eprint={2307.14535}, |
| 35 | + archivePrefix={arXiv}, |
| 36 | + primaryClass={cs.RO} |
| 37 | +} |
| 38 | +``` |
| 39 | + |
| 40 | +If you have any questions, please contact [me](https://www.cs.columbia.edu/~huy/) at `huy [at] cs [dot] columbia [dot] edu`. |
| 41 | + |
| 42 | +**Table of Contents** |
| 43 | + |
| 44 | + - ⚙️[Setup](docs/setup.md) |
| 45 | + - 🚶[Codebase Walkthrough](docs/walkthrough.md) |
| 46 | + - [💡 Core Concepts](docs/walkthrough.md#-core-concepts) |
| 47 | + - [🪺 Nested Trajectories using Hierachical Actions and Policies](docs/walkthrough.md#-nested-trajectories-using-hierachical-actions-and-policies) |
| 48 | + - [🌳 Exploration Task Tree](docs/walkthrough.md#exploration-task-tree) |
| 49 | + - [🌈 Seeded Variation](docs/walkthrough.md#🌈-seeded-variation) |
| 50 | + - [🎛️ Control](docs/walkthrough.md#control) |
| 51 | + - [🏃♂️ Motion Planning](docs/walkthrough.md#️-motion-planning) |
| 52 | + - [🗣️ Language Model Queries](docs/walkthrough.md#language-model-queries) |
| 53 | + - [💿 Cache](docs/walkthrough.md#-cache) |
| 54 | + - [🔗 Linking LLM Modules Together](docs/walkthrough.md#-linking-llm-modules-together) |
| 55 | + - [🪙 Coin flips](docs/walkthrough.md#-coin-flips) |
| 56 | + - 🔬 [Reproducing](docs/reproduce.md) |
| 57 | + - 📊 [Evaluation](docs/reproduce.md#evaluation) |
| 58 | + - 🗄️ [Data Generation](docs/reproduce.md#data-generation-for-training) |
| 59 | + - 🧠 [Training](docs/reproduce.md#training) |
| 60 | +- 🔭 [Extending](docs/extend.md) |
| 61 | + - [I want to add more](docs/extend.md#i-want-to-add-more) |
| 62 | + - 🤖 [Robots](docs/extend.md#robots-) |
| 63 | + - 🪑 [Assets](docs/extend.md#assets-) |
| 64 | + - 📜 [Tools \& Scripts](docs/extend.md#tools--scripts-) |
| 65 | + - 🌏 [Environments \& Tasks](docs/extend.md#environments--tasks-) |
| 66 | + - [New Simulators](docs/extend.md#new-simulators) |
| 67 | + - [New Tasks](docs/extend.md#new-tasks) |
| 68 | + - 🦙 [Language Models](docs/extend.md#language-models-) |
| 69 | + - 🖼️ [Figure Utilities](docs/extend.md#figure-utilities-️) |
| 70 | + - [Efficiency Plot](docs/extend.md#efficiency-plot) |
| 71 | + - [Visualizing Language-conditioned Outputs](docs/extend.md#visualizing-language-conditioned-outputs) |
| 72 | + - ✅ [Development Tips](docs/extend.md#development-tips-) |
| 73 | + - 🐉 [Hydra](docs/extend.md#hydra-) |
| 74 | + - 📷 [Headless Rendering](docs/extend.md#headless-rendering-) |
| 75 | + - 🖧 [Multi-processing](docs/extend.md#multi-processing-) |
| 76 | + - 👩👦👶 [Typing](docs/extend.md#typing-) |
| 77 | + - ⏱️ [Profiling](docs/extend.md#profiling-️) |
| 78 | + - 💽 [Data Format](docs/extend.md#data-format-) |
| 79 | + - 💾 [RAM Usage](docs/extend.md#ram-usage-) |
| 80 | + - 💀 [Known Issues](docs/extend.md#known-issues-) |
| 81 | + - ✅ [Training Tips](docs/extend.md#training-tips-) |
| 82 | + - [Mixed-Precision](docs/extend.md#mixed-precision) |
| 83 | + - 📽️ [Visualizations](docs/visualization.md) |
| 84 | + |
| 85 | +# Acknowledgements |
| 86 | + |
| 87 | + |
| 88 | +We would like to thank Cheng Chi, Zeyi Liu, Samir Yitzhak Gadre, Mengda Xu, Zhenjia Xu, Mandi Zhao and Dominik Bauer for their helpful feedback and fruitful discussions. |
| 89 | + |
| 90 | + |
| 91 | +This work was supported in part by Google Research Award, NSF Award #2143601, and #2132519. |
| 92 | +We would like to thank Google for the UR5 robot hardware. |
| 93 | +The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies, either expressed or implied, of the sponsors. |
| 94 | + |
| 95 | +## Code |
| 96 | + |
| 97 | + - [Diffusion Policy](https://diffusion-policy.cs.columbia.edu/): The policy was built on top of their [Colab](https://colab.research.google.com/drive/18GIHeOQ5DyjMN8iIRZL2EKZ0745NLIpg?usp=sharing), and our real-world evaluation code was modified from [theirs](https://github.com/columbia-ai-robotics/diffusion_policy#-demo-training-and-eval-on-a-real-robot) |
| 98 | + - [Mujoco Menagerie](https://github.com/deepmind/mujoco_menagerie): UR5 and RealSense models were modified from their models. |
| 99 | + - [Mujoco Scanned Objects](https://github.com/kevinzakka/mujoco_scanned_objects): Big shout out to [Kevin Zakka](https://kzakka.com/) for all his amazing open-source work, go give him a few stars ⭐ |
| 100 | + - [3D UNet Implementation](https://github.com/wolny/pytorch-3dunet/) modified from [Adrian Wolny](https://adrianwolny.com/)'s implementation. |
| 101 | + |
| 102 | + |
| 103 | +## Coming Soon |
| 104 | + |
| 105 | + - **Data + Checkpoint Downloads**: For now, you can still run data generation and training! |
0 commit comments