Included method to tackle emergence in two_rooms_one_door_modified + Better access of different settings in marl_adapted + Added and modified a lot of config files

This commit is contained in:
Julian Schönberger
2024-05-10 11:57:26 +02:00
parent 89ce723690
commit a25b04e092
15 changed files with 376 additions and 119 deletions

View File

@@ -19,31 +19,21 @@ Agents:
Sigmund:
Actions:
- Move4
#- Clean
- Noop
Observations:
# - Walls
# - Other
- DirtPiles
- Self
Positions:
- (9,1)
#- (9,9)
#- (4,5)
Wolfgang:
Actions:
- Move4
#- Clean
- Noop
Observations:
# - Walls
# - Other
- DirtPiles
- Self
Positions:
- (9,5)
#- (9,9)
#- (4,5)
Entities:
DirtPiles:

View File

@@ -22,8 +22,6 @@ Agents:
#- Clean
#- Noop
Observations:
# - Walls
# - Other
- DirtPiles
- Self
Positions:
@@ -39,8 +37,6 @@ Agents:
#- Clean
#- Noop
Observations:
# - Walls
# - Other
- DirtPiles
- Self
Positions:

View File

@@ -14,40 +14,30 @@ General:
# In "two rooms one door" scenario 2 agents spawn in 2 different rooms that are connected by a single door. Their aim
# is to reach the destination in the room they didn't spawn in leading to a conflict at the door.
Agents:
Wolfgang:
Actions:
- Move8
- DoorUse
- Noop
Observations:
- DirtPiles
- Self
#Positions:
#- (1,1)
#- (2,1)
#- (3,1)
#- (4,1)
#- (5,1)
#- (6,1)
Sigmund:
Actions:
- Move8
- Move4
- DoorUse
- Noop
Observations:
- DirtPiles
- Self
#Positions:
#- (1,13)
#- (2,13)
#- (3,13)
#- (4,13)
#- (5,13)
#- (6,13)
Positions:
- (3,1)
Wolfgang:
Actions:
- Move4
- DoorUse
- Noop
Observations:
- DirtPiles
- Self
Positions:
- (3,13)
Entities:
DirtPiles:
coords_or_quantity: (3,12), (3,2) # This order is required, because agent 0 needs to reach (3, 12) and agent 1 (3, 2)
coords_or_quantity: (2,1), (3,12), (2,13), (3,2) # Static form: auxiliary pile, primary pile, auxiliary pile, ...
initial_amount: 0.5 # <1 to ensure that the robot which first attempts to clean this field, can remove the dirt in one action
clean_amount: 1
dirt_spawn_r_var: 0
@@ -58,8 +48,8 @@ Entities:
Rules:
# Environment Dynamics
DoorAutoClose:
close_frequency: 10
#DoorAutoClose:
#close_frequency: 10
# Utilities
# This rule defines the collision mechanic, introduces a related DoneCondition and lets you specify rewards.

View File

@@ -14,19 +14,19 @@ General:
# In "two rooms one door" scenario 2 agents spawn in 2 different rooms that are connected by a single door. Their aim
# is to reach the destination in the room they didn't spawn in leading to a conflict at the door.
Agents:
Wolfgang:
Sigmund:
Actions:
- Move8
- Move4
- DoorUse
- Noop
Observations:
- DirtPiles
- Self
Positions:
- (3,1) # Agent spawnpoint
Sigmund:
- (3,1)
Wolfgang:
Actions:
- Move8
- Move4
- DoorUse
- Noop
Observations:
@@ -37,7 +37,7 @@ Agents:
Entities:
DirtPiles:
coords_or_quantity: (3,12), (3,2)
coords_or_quantity: (3,12), (3,2) # Static form: auxiliary pile, primary pile, auxiliary pile, ...
initial_amount: 0.5 # <1 to ensure that the robot which first attempts to clean this field, can remove the dirt in one action
clean_amount: 1
dirt_spawn_r_var: 0
@@ -48,8 +48,8 @@ Entities:
Rules:
# Environment Dynamics
DoorAutoClose:
close_frequency: 10
#DoorAutoClose:
#close_frequency: 10
# Utilities
# This rule defines the collision mechanic, introduces a related DoneCondition and lets you specify rewards.
@@ -58,5 +58,5 @@ Rules:
# Done Conditions
#DoneOnAllDirtCleaned:
#DoneAtMaxStepsReached:
#max_steps: 100
#DoneAtMaxStepsReached: # Mayne Required since door blocking will result in infinite loop
#max_steps: 1000

View File

@@ -19,11 +19,8 @@ Agents:
#Sigmund:
#Actions:
#- Move4
#- Clean
#- Noop
#Observations:
# - Walls
# - Other
#- DirtPiles
#- Self
#Positions:
@@ -33,17 +30,13 @@ Agents:
Wolfgang:
Actions:
- Move4
#- Clean
#- Noop
Observations:
# - Walls
# - Other
- DirtPiles
- Self
Positions:
- (9,5)
#- (9,9)
#- (4,5)
- (9,9)
- (4,5)
Entities:
DirtPiles:

View File

@@ -19,11 +19,7 @@ Agents:
#Sigmund:
#Actions:
#- Move4
#- Clean
#- Noop
#Observations:
# - Walls
# - Other
#- DirtPiles
#- Self
#Positions:
@@ -36,11 +32,7 @@ Agents:
Wolfgang:
Actions:
- Move4
#- Clean
#- Noop
Observations:
# - Walls
# - Other
- DirtPiles
- Self
Positions:

View File

@@ -0,0 +1,62 @@
General:
env_seed: 69
# Individual vs global rewards
individual_rewards: true
# The level.txt file to load from marl_factory_grid/levels
level_name: two_rooms_modified
# View Radius; 0 = full observatbility
pomdp_r: 0
# Print all messages and events
verbose: false
# Run tests
tests: false
# In "two rooms one door" scenario 2 agents spawn in 2 different rooms that are connected by a single door. Their aim
# is to reach the destination in the room they didn't spawn in leading to a conflict at the door.
Agents:
#Sigmund:
#Actions:
#- Move4
#- DoorUse
#Observations:
#- DirtPiles
#- Self
#Positions:
#- (3,1)
#- (2,1)
Wolfgang:
Actions:
- Move4
- DoorUse
Observations:
- DirtPiles
- Self
Positions:
- (3,13)
- (2,13)
Entities:
DirtPiles:
coords_or_quantity: (2,13), (3,2) # (2,1), (3,12)
initial_amount: 0.5 # <1 to ensure that the robot which first attempts to clean this field, can remove the dirt in one action
clean_amount: 1
dirt_spawn_r_var: 0
max_global_amount: 12
max_local_amount: 1
Doors: { }
Rules:
# Environment Dynamics
#DoorAutoClose:
#close_frequency: 10
# Utilities
# This rule defines the collision mechanic, introduces a related DoneCondition and lets you specify rewards.
WatchCollisions:
done_at_collisions: false
# Done Conditions
#DoneOnAllDirtCleaned:
#DoneAtMaxStepsReached: # Mayne Required since door blocking will result in infinite loop
#max_steps: 1000

View File

@@ -0,0 +1,75 @@
General:
env_seed: 69
# Individual vs global rewards
individual_rewards: true
# The level.txt file to load from marl_factory_grid/levels
level_name: two_rooms_modified
# View Radius; 0 = full observatbility
pomdp_r: 0
# Print all messages and events
verbose: false
# Run tests
tests: false
# In "two rooms one door" scenario 2 agents spawn in 2 different rooms that are connected by a single door. Their aim
# is to reach the destination in the room they didn't spawn in leading to a conflict at the door.
Agents:
#Sigmund:
#Actions:
#- Move4
#Observations:
#- DirtPiles
#- Self
#Positions:
#- (3,1)
#- (1,1)
#- (3,1)
#- (5,1)
#- (3,1)
#- (1,8)
#- (3,1)
#- (5,8)
Wolfgang:
Actions:
- Move4
Observations:
- DirtPiles
- Self
Positions:
- (3,13)
- (2,13)
- (1,13)
- (3,13)
- (1,8)
- (2,6)
- (3,10)
- (4,6)
Entities:
DirtPiles:
coords_or_quantity: (2,13), (3,2) # (2,1), (3,12)
initial_amount: 0.5 # <1 to ensure that the robot which first attempts to clean this field, can remove the dirt in one action
clean_amount: 1
dirt_spawn_r_var: 0
max_global_amount: 12
max_local_amount: 1
#Doors: { }
Rules:
# Environment Dynamics
#DoorAutoClose:
#close_frequency: 10
# Utilities
# This rule defines the collision mechanic, introduces a related DoneCondition and lets you specify rewards.
WatchCollisions:
done_at_collisions: false
# Done Conditions
DoneOnAllDirtCleaned:
#DoneAtMaxStepsReached:
#max_steps: 100
AgentSpawnRule:
spawn_rule: "order"