5 of the available layouts. New layouts are easy to hardcode or generate programmatically.
Overcooked-AI is a benchmark environment for fully cooperative human-AI task performance, based on the wildly popular video game Overcooked.
The goal of the game is to deliver soups as fast as possible. Each soup requires placing up to 3 ingredients in a pot, waiting for the soup to cook, and then having an agent pick up the soup and delivering it. The agents should split up tasks on the fly and coordinate effectively in order to achieve high reward.
You can try out the game here (playing with some previously trained DRL agents). To play with your own trained agents using this interface, you can use this repo. To run human-AI experiments, check out this repo. You can find some human-human and human-AI gameplay data already collected here.
Check out this repo for the DRL implementations compatible with the environment and reproducible results to our paper: On the Utility of Learning about Humans for Human-AI Coordination (also see our blog post).
For simple usage of the environment, it's worthwhile considering using this environment wrapper.
- Carroll, Micah, Rohin Shah, Mark K. Ho, Thomas L. Griffiths, Sanjit A. Seshia, Pieter Abbeel, and Anca Dragan. "On the utility of learning about humans for human-ai coordination." NeurIPS 2019.
- Charakorn, Rujikorn, Poramate Manoonpong, and Nat Dilokthanakul. “Investigating Partner Diversification Methods in Cooperative Multi-Agent Deep Reinforcement Learning.” Neural Information Processing. ICONIP 2020.
- Knott, Paul, Micah Carroll, Sam Devlin, Kamil Ciosek, Katja Hofmann, Anca D. Dragan, and Rohin Shah. "Evaluating the Robustness of Collaborative Agents." AAMAS 2021.
- Nalepka, Patrick, Jordan P. Gregory-Dunsmore, James Simpson, Gaurav Patil, and Michael J. Richardson. "Interaction Flexibility in Artificial Agents Teaming with Humans." Cogsci 2021.
- Fontaine, Matthew C., Ya-Chuan Hsu, Yulun Zhang, Bryon Tjanaka, and Stefanos Nikolaidis. “On the Importance of Environments in Human-Robot Coordination” RSS 2021.
- Zhao, Rui, Jinming Song, Hu Haifeng, Yang Gao, Yi Wu, Zhongqian Sun, Yang Wei. "Maximum Entropy Population Based Training for Zero-Shot Human-AI Coordination". NeurIPS Cooperative AI Workshop, 2021.
- Sarkar, Bidipta, Aditi Talati, Andy Shih, and Dorsa Sadigh. “PantheonRL: A MARL Library for Dynamic Training Interactions”. AAAI 2022.
You can install the pre-compiled wheel file using pip.
pip install overcooked-ai
Note that PyPI releases are stable but infrequent. For the most up-to-date development features, build from source
It is useful to setup a conda environment with Python 3.7 (virtualenv works too):
conda create -n overcooked_ai python=3.7
conda activate overcooked_ai
Clone the repo
git clone https://github.com/HumanCompatibleAI/overcooked_ai.git
Finally, use python setup-tools to locally install
pip install -e overcooked_ai/
When building from source, you can verify the installation by running the Overcooked unit test suite. The following commands should all be run from the overcooked_ai
project root directory:
python testing/overcooked_test.py
If you're thinking of using the planning code extensively, you should run the full testing suite that verifies all of the Overcooked accessory tools (this can take 5-10 mins):
python -m unittest discover -s testing/ -p "*_test.py"
overcooked_ai_py
contains:
mdp/
:
overcooked_mdp.py
: main Overcooked game logicovercooked_env.py
: environment classes built on top of the Overcooked mdplayout_generator.py
: functions to generate random layouts programmatically
agents/
:
agent.py
: location of agent classesbenchmarking.py
: sample trajectories of agents (both trained and planners) and load various models
planning/
:
planners.py
: near-optimal agent planning logicsearch.py
: A* search and shortest path logic
One can adapt a version of this file in order to be able to play games in terminal graphics with custom-defined agents.
If you have issues or questions, don't hesitate to contact either Micah Carroll at mdc@berkeley.edu or Nathan Miller at nathan_miller23@berkeley.edu