diff --git a/flatland/envs/rail_env.py b/flatland/envs/rail_env.py index 8a2bcf49ff2301cb47ff74acada59ca5b8ccbef8..c98b1689f95b18e5a1baa2d57c270bc2fcae14cc 100644 --- a/flatland/envs/rail_env.py +++ b/flatland/envs/rail_env.py @@ -226,10 +226,11 @@ class RailEnv(Environment): agent.moving = False self.rewards_dict[iAgent] += stop_penalty - if not agent.moving and \ - (action == RailEnvActions.MOVE_LEFT or - action == RailEnvActions.MOVE_FORWARD or - action == RailEnvActions.MOVE_RIGHT): + if not agent.moving and action == RailEnvActions.MOVE_FORWARD: + # Only allow agent to start moving by pressing forward. + #(action == RailEnvActions.MOVE_LEFT or + # action == RailEnvActions.MOVE_FORWARD or + # action == RailEnvActions.MOVE_RIGHT): agent.moving = True self.rewards_dict[iAgent] += start_penalty @@ -244,7 +245,7 @@ class RailEnv(Environment): else: # Logic: if the chosen action is invalid, # and it was LEFT or RIGHT, and the agent was moving, then keep moving FORWARD. - if action == RailEnvActions.MOVE_LEFT or action == RailEnvActions.MOVE_RIGHT and agent.moving: + if (action == RailEnvActions.MOVE_LEFT or action == RailEnvActions.MOVE_RIGHT) and agent.moving: cell_isFree, new_cell_isValid, new_direction, new_position, transition_isValid = \ self._check_action_on_agent(RailEnvActions.MOVE_FORWARD, agent)