Restructuring

This commit is contained in:
steffen-illium 2021-06-17 16:23:35 +02:00
parent 7b4060a042
commit 7893e1131e
2 changed files with 8 additions and 7 deletions

View File

@ -209,7 +209,7 @@ if __name__ == '__main__':
allow_square_movement=True, allow_square_movement=True,
allow_no_op=False) allow_no_op=False)
env = SimpleFactory(dirt_properties=dirt_props, movement_properties=move_props, n_agents=N_AGENTS, pomdp_radius=2, max_steps=400, omit_agent_slice_in_obs=False) env = SimpleFactory(dirt_properties=dirt_props, movement_properties=move_props, n_agents=N_AGENTS, pomdp_radius=2, max_steps=400, omit_agent_slice_in_obs=False)
env = DummyVecEnv([lambda: env]) # env = DummyVecEnv([lambda: env])
print(env) print(env)
from stable_baselines3.dqn import DQN from stable_baselines3.dqn import DQN

View File

@ -210,12 +210,13 @@ class BaseFactory(gym.Env):
# Step the door close intervall # Step the door close intervall
agents_pos = [agent.pos for agent in self._agent_states] agents_pos = [agent.pos for agent in self._agent_states]
for door_i, door in enumerate(self._door_states): if self.has_doors:
if door.is_open and door.time_to_close and door.pos not in agents_pos: for door_i, door in enumerate(self._door_states):
door.time_to_close -= 1 if door.is_open and door.time_to_close and door.pos not in agents_pos:
elif door.is_open and not door.time_to_close and door.pos not in agents_pos: door.time_to_close -= 1
door.use() elif door.is_open and not door.time_to_close and door.pos not in agents_pos:
self._state[self._state_slices.by_name(h.DOORS)] = 1 if door.is_closed else -1 door.use()
self._state[self._state_slices.by_name(h.DOORS)] = 1 if door.is_closed else -1
reward, info = self.calculate_reward(self._agent_states) reward, info = self.calculate_reward(self._agent_states)