From d0596e468f7ba44cc499d9c40cebd4f8a67f9679 Mon Sep 17 00:00:00 2001 From: fheinrich <fheinrich@techfak.uni-bielefeld.de> Date: Mon, 18 Mar 2024 13:34:25 +0100 Subject: [PATCH] Added layouts and item info from papers: gym-cooking and overcooked-ai --- .../configs/item_info_overcooked-ai.yaml | 233 ++++++++++++++++++ .../layouts/gym-cooking/1-open-divider.layout | 7 + .../gym-cooking/2-partial-divider.layout | 7 + .../layouts/gym-cooking/3-full-divider.layout | 7 + .../overcooked-ai/1-cramped-room.layout | 4 + .../2-asymmetric-advantages.layout | 5 + .../overcooked-ai/3-coordination-ring.layout | 5 + .../4-forced-coordination.layout | 5 + .../overcooked-ai/5-counter-circuit.layout | 5 + .../configs/study/gym-cooking_study.yaml | 43 ++++ .../configs/study/overcooked-ai_study.yaml | 65 +++++ 11 files changed, 386 insertions(+) create mode 100644 cooperative_cuisine/configs/item_info_overcooked-ai.yaml create mode 100644 cooperative_cuisine/configs/layouts/gym-cooking/1-open-divider.layout create mode 100644 cooperative_cuisine/configs/layouts/gym-cooking/2-partial-divider.layout create mode 100644 cooperative_cuisine/configs/layouts/gym-cooking/3-full-divider.layout create mode 100644 cooperative_cuisine/configs/layouts/overcooked-ai/1-cramped-room.layout create mode 100644 cooperative_cuisine/configs/layouts/overcooked-ai/2-asymmetric-advantages.layout create mode 100644 cooperative_cuisine/configs/layouts/overcooked-ai/3-coordination-ring.layout create mode 100644 cooperative_cuisine/configs/layouts/overcooked-ai/4-forced-coordination.layout create mode 100644 cooperative_cuisine/configs/layouts/overcooked-ai/5-counter-circuit.layout create mode 100644 cooperative_cuisine/configs/study/gym-cooking_study.yaml create mode 100644 cooperative_cuisine/configs/study/overcooked-ai_study.yaml diff --git a/cooperative_cuisine/configs/item_info_overcooked-ai.yaml b/cooperative_cuisine/configs/item_info_overcooked-ai.yaml new file mode 100644 index 00000000..ade54dfb --- /dev/null +++ b/cooperative_cuisine/configs/item_info_overcooked-ai.yaml @@ -0,0 +1,233 @@ +CuttingBoard: + type: Equipment + +Sink: + type: Equipment + +Stove: + type: Equipment + +DeepFryer: + type: Equipment + +Oven: + type: Equipment + +Pot: + type: Equipment + equipment: Stove + +Pan: + type: Equipment + equipment: Stove + +Basket: + type: Equipment + equipment: DeepFryer + +Peel: + type: Equipment + equipment: Oven + +DirtyPlate: + type: Equipment + +Plate: + type: Equipment + needs: [ DirtyPlate ] + seconds: 2.0 + equipment: Sink + +# -------------------------------------------------------------------------------- + +Tomato: + type: Ingredient + +Lettuce: + type: Ingredient + +Onion: + type: Ingredient + +Meat: + type: Ingredient + +Bun: + type: Ingredient + +Potato: + type: Ingredient + +Fish: + type: Ingredient + +Dough: + type: Ingredient + +Cheese: + type: Ingredient + +Sausage: + type: Ingredient + +# Chopped things +ChoppedTomato: + type: Ingredient + needs: [ Tomato ] + seconds: 4.0 + equipment: CuttingBoard + +ChoppedLettuce: + type: Ingredient + needs: [ Lettuce ] + seconds: 3.0 + equipment: CuttingBoard + +ChoppedOnion: + type: Ingredient + needs: [ Onion ] + seconds: 4.0 + equipment: CuttingBoard + +RawPatty: + type: Ingredient + needs: [ Meat ] + seconds: 4.0 + equipment: CuttingBoard + +RawChips: + type: Ingredient + needs: [ Potato ] + seconds: 4.0 + equipment: CuttingBoard + +ChoppedFish: + type: Ingredient + needs: [ Fish ] + seconds: 4.0 + equipment: CuttingBoard + +PizzaBase: + type: Ingredient + needs: [ Dough ] + seconds: 4.0 + equipment: CuttingBoard + +GratedCheese: + type: Ingredient + needs: [ Cheese ] + seconds: 4.0 + equipment: CuttingBoard + +ChoppedSausage: + type: Ingredient + needs: [ Sausage ] + seconds: 4.0 + equipment: CuttingBoard + +CookedPatty: + type: Ingredient + seconds: 5.0 + needs: [ RawPatty ] + equipment: Pan + +# -------------------------------------------------------------------------------- + +Chips: + type: Meal + seconds: 5.0 + needs: [ RawChips ] + equipment: Basket + +FriedFish: + type: Meal + seconds: 5.0 + needs: [ ChoppedFish ] + equipment: Basket + +Burger: + type: Meal + needs: [ Bun, ChoppedLettuce, ChoppedTomato, CookedPatty ] + equipment: ~ + +Salad: + type: Meal + needs: [ ChoppedLettuce, ChoppedTomato ] + equipment: ~ + +TomatoSoup: + type: Meal + needs: [ ChoppedTomato, ChoppedTomato, ChoppedTomato ] + seconds: 6.0 + equipment: Pot + +OnionSoup: + type: Meal + needs: [ Onion, Onion, Onion ] + seconds: 6.0 + equipment: Pot + +FishAndChips: + type: Meal + needs: [ FriedFish, Chips ] + equipment: ~ + +Pizza: + type: Meal + needs: [ PizzaBase, ChoppedTomato, GratedCheese, ChoppedSausage ] + seconds: 7.0 + equipment: Peel + +# -------------------------------------------------------------------------------- + +BurntCookedPatty: + type: Waste + seconds: 10.0 + needs: [ CookedPatty ] + equipment: Pan + +BurntChips: + type: Waste + seconds: 10.0 + needs: [ Chips ] + equipment: Basket + +BurntFriedFish: + type: Waste + seconds: 10.0 + needs: [ FriedFish ] + equipment: Basket + +BurntTomatoSoup: + type: Waste + needs: [ TomatoSoup ] + seconds: 20.0 + equipment: Pot + +BurntOnionSoup: + type: Waste + needs: [ OnionSoup ] + seconds: 20.0 + equipment: Pot + +BurntPizza: + type: Waste + needs: [ Pizza ] + seconds: 10.0 + equipment: Peel + +# -------------------------------------------------------------------------------- + +Fire: + type: Effect + seconds: 20.0 + needs: [ BurntCookedPatty, BurntChips, BurntFriedFish, BurntTomatoSoup, BurntOnionSoup, BurntPizza ] + manager: FireManager + effect_type: Unusable + +# -------------------------------------------------------------------------------- + +Extinguisher: + type: Tool + seconds: 1.0 + needs: [ Fire ] diff --git a/cooperative_cuisine/configs/layouts/gym-cooking/1-open-divider.layout b/cooperative_cuisine/configs/layouts/gym-cooking/1-open-divider.layout new file mode 100644 index 00000000..b21b3150 --- /dev/null +++ b/cooperative_cuisine/configs/layouts/gym-cooking/1-open-divider.layout @@ -0,0 +1,7 @@ +#####T# +C_____L +C_____# +$A___A# +#_____# +#_____P +#####P# \ No newline at end of file diff --git a/cooperative_cuisine/configs/layouts/gym-cooking/2-partial-divider.layout b/cooperative_cuisine/configs/layouts/gym-cooking/2-partial-divider.layout new file mode 100644 index 00000000..5d9d0d66 --- /dev/null +++ b/cooperative_cuisine/configs/layouts/gym-cooking/2-partial-divider.layout @@ -0,0 +1,7 @@ +#####T# +C__#__L +C__#__# +$A_#_A# +#__#__# +#_____P +#####P# \ No newline at end of file diff --git a/cooperative_cuisine/configs/layouts/gym-cooking/3-full-divider.layout b/cooperative_cuisine/configs/layouts/gym-cooking/3-full-divider.layout new file mode 100644 index 00000000..9bd6b29a --- /dev/null +++ b/cooperative_cuisine/configs/layouts/gym-cooking/3-full-divider.layout @@ -0,0 +1,7 @@ +#####T# +C__#__L +C__#__# +$A_#_A# +#__#__# +#__#__P +#####P# \ No newline at end of file diff --git a/cooperative_cuisine/configs/layouts/overcooked-ai/1-cramped-room.layout b/cooperative_cuisine/configs/layouts/overcooked-ai/1-cramped-room.layout new file mode 100644 index 00000000..49655d1c --- /dev/null +++ b/cooperative_cuisine/configs/layouts/overcooked-ai/1-cramped-room.layout @@ -0,0 +1,4 @@ +##U## +NA_AN +#___# +#P#$# \ No newline at end of file diff --git a/cooperative_cuisine/configs/layouts/overcooked-ai/2-asymmetric-advantages.layout b/cooperative_cuisine/configs/layouts/overcooked-ai/2-asymmetric-advantages.layout new file mode 100644 index 00000000..3b87f3e5 --- /dev/null +++ b/cooperative_cuisine/configs/layouts/overcooked-ai/2-asymmetric-advantages.layout @@ -0,0 +1,5 @@ +######### +N_#$#N#_$ +#_A_U_A_# +#___U___# +###P#P### \ No newline at end of file diff --git a/cooperative_cuisine/configs/layouts/overcooked-ai/3-coordination-ring.layout b/cooperative_cuisine/configs/layouts/overcooked-ai/3-coordination-ring.layout new file mode 100644 index 00000000..f83c2adf --- /dev/null +++ b/cooperative_cuisine/configs/layouts/overcooked-ai/3-coordination-ring.layout @@ -0,0 +1,5 @@ +###U# +#__AU +P_#_# +NA__# +#N$## diff --git a/cooperative_cuisine/configs/layouts/overcooked-ai/4-forced-coordination.layout b/cooperative_cuisine/configs/layouts/overcooked-ai/4-forced-coordination.layout new file mode 100644 index 00000000..bc835ae3 --- /dev/null +++ b/cooperative_cuisine/configs/layouts/overcooked-ai/4-forced-coordination.layout @@ -0,0 +1,5 @@ +###U# +N_#AU +N_#_# +PA#_# +###$# diff --git a/cooperative_cuisine/configs/layouts/overcooked-ai/5-counter-circuit.layout b/cooperative_cuisine/configs/layouts/overcooked-ai/5-counter-circuit.layout new file mode 100644 index 00000000..6c583950 --- /dev/null +++ b/cooperative_cuisine/configs/layouts/overcooked-ai/5-counter-circuit.layout @@ -0,0 +1,5 @@ +###UU### +#A_____# +P_####_$ +#_____A# +###NN### \ No newline at end of file diff --git a/cooperative_cuisine/configs/study/gym-cooking_study.yaml b/cooperative_cuisine/configs/study/gym-cooking_study.yaml new file mode 100644 index 00000000..e3320473 --- /dev/null +++ b/cooperative_cuisine/configs/study/gym-cooking_study.yaml @@ -0,0 +1,43 @@ +levels: + - config_path: CONFIGS_DIR/environment_config.yaml + layout_path: LAYOUTS_DIR/gym-cooking/1-open-divider.layout + item_info_path: CONFIGS_DIR/item_info.yaml + name: "Level 1: Open Divider" + config_overwrite: + game: + time_limit_seconds: 10 + plates: + clean_plates: 3 + dirty_plates: 0 + return_dirty: false + + - config_path: CONFIGS_DIR/environment_config.yaml + layout_path: LAYOUTS_DIR/gym-cooking/2-partial-divider.layout + item_info_path: CONFIGS_DIR/item_info.yaml + name: "Level 2: Partial Divider" + config_overwrite: + game: + time_limit_seconds: 10 + plates: + clean_plates: 3 + dirty_plates: 0 + return_dirty: false + + + - config_path: CONFIGS_DIR/environment_config.yaml + layout_path: LAYOUTS_DIR/gym-cooking/3-full-divider.layout + item_info_path: CONFIGS_DIR/item_info.yaml + name: "Level 3: Full Divider" + config_overwrite: + game: + time_limit_seconds: 10 + plates: + clean_plates: 3 + dirty_plates: 0 + return_dirty: false + + + + +num_players: 1 +num_bots: 0 diff --git a/cooperative_cuisine/configs/study/overcooked-ai_study.yaml b/cooperative_cuisine/configs/study/overcooked-ai_study.yaml new file mode 100644 index 00000000..b5cd79f6 --- /dev/null +++ b/cooperative_cuisine/configs/study/overcooked-ai_study.yaml @@ -0,0 +1,65 @@ +levels: + - config_path: CONFIGS_DIR/environment_config.yaml + layout_path: LAYOUTS_DIR/overcooked-ai/1-cramped-room.layout + item_info_path: CONFIGS_DIR/item_info_overcooked-ai.yaml + name: "Level 1: Cramped Room" + config_overwrite: + game: + time_limit_seconds: 120 + plates: + clean_plates: 3 + dirty_plates: 0 + return_dirty: false + + - config_path: CONFIGS_DIR/environment_config.yaml + layout_path: LAYOUTS_DIR/overcooked-ai/2-asymmetric-advantages.layout + item_info_path: CONFIGS_DIR/item_info_overcooked-ai.yaml + name: "Level 2: Asymmetric Advantages" + config_overwrite: + game: + time_limit_seconds: 120 + plates: + clean_plates: 3 + dirty_plates: 0 + return_dirty: false + + - config_path: CONFIGS_DIR/environment_config.yaml + layout_path: LAYOUTS_DIR/overcooked-ai/3-coordination-ring.layout + item_info_path: CONFIGS_DIR/item_info_overcooked-ai.yaml + name: "Level 3: Coordination Ring" + config_overwrite: + game: + time_limit_seconds: 120 + plates: + clean_plates: 3 + dirty_plates: 0 + return_dirty: false + + - config_path: CONFIGS_DIR/environment_config.yaml + layout_path: LAYOUTS_DIR/overcooked-ai/4-forced-coordination.layout + item_info_path: CONFIGS_DIR/item_info_overcooked-ai.yaml + name: "Level 4: Forced Coordination" + config_overwrite: + game: + time_limit_seconds: 120 + plates: + clean_plates: 3 + dirty_plates: 0 + return_dirty: false + + - config_path: CONFIGS_DIR/environment_config.yaml + layout_path: LAYOUTS_DIR/overcooked-ai/5-counter-circuit.layout + item_info_path: CONFIGS_DIR/item_info_overcooked-ai.yaml + name: "Level 5: Counter Circuit" + config_overwrite: + game: + time_limit_seconds: 120 + plates: + clean_plates: 3 + dirty_plates: 0 + return_dirty: false + + + +num_players: 1 +num_bots: 0 -- GitLab