From 510f825edb471010ddf199cf74b90308facc9efb Mon Sep 17 00:00:00 2001 From: Dipam Chakraborty <dipam@aicrowd.com> Date: Wed, 1 Dec 2021 13:53:49 +0530 Subject: [PATCH] malfunction to stopped state machine fix --- flatland/envs/rail_env.py | 1 - flatland/envs/step_utils/state_machine.py | 11 +++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/flatland/envs/rail_env.py b/flatland/envs/rail_env.py index 9dc05894..91fab9ca 100644 --- a/flatland/envs/rail_env.py +++ b/flatland/envs/rail_env.py @@ -568,7 +568,6 @@ class RailEnv(Environment): for agent in self.agents: i_agent = agent.handle - ## Update positions if agent.malfunction_handler.in_malfunction: movement_allowed = False diff --git a/flatland/envs/step_utils/state_machine.py b/flatland/envs/step_utils/state_machine.py index e899e4b3..e1ebf17b 100644 --- a/flatland/envs/step_utils/state_machine.py +++ b/flatland/envs/step_utils/state_machine.py @@ -67,12 +67,11 @@ class TrainStateMachine: self.next_state = TrainState.STOPPED def _handle_malfunction(self): - if self.st_signals.malfunction_counter_complete and \ - self.st_signals.valid_movement_action_given: - self.next_state = TrainState.MOVING - elif self.st_signals.malfunction_counter_complete and \ - (self.st_signals.stop_action_given or self.st_signals.movement_conflict): - self.next_state = TrainState.STOPPED + if self.st_signals.malfunction_counter_complete: + if self.st_signals.valid_movement_action_given: + self.next_state = TrainState.MOVING + else: + self.next_state = TrainState.STOPPED else: self.next_state = TrainState.MALFUNCTION -- GitLab