From 81ae9c09042eb72fadd2885e01e4eacbf5e31704 Mon Sep 17 00:00:00 2001 From: MLErik <baerenjesus@gmail.com> Date: Wed, 30 Oct 2019 15:06:06 -0400 Subject: [PATCH] backward compatible with version 2.1.8: Reintroduced some malfunction parameters but are not used. --- flatland/envs/agent_utils.py | 6 ++++-- flatland/envs/schedule_generators.py | 8 ++++---- flatland/envs/schedule_utils.py | 3 ++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/flatland/envs/agent_utils.py b/flatland/envs/agent_utils.py index 01ce2908..f5b84a7d 100644 --- a/flatland/envs/agent_utils.py +++ b/flatland/envs/agent_utils.py @@ -39,7 +39,7 @@ class EnvAgentStatic(object): # number of time the agent had to stop, since the last time it broke down malfunction_data = attrib( default=Factory( - lambda: dict({'malfunction': 0, 'nr_malfunctions': 0, + lambda: dict({'malfunction': 0, 'malfunction_rate': 0, 'next_malfunction': 0, 'nr_malfunctions': 0, 'moving_before_malfunction': False, 'fixed': True}))) status = attrib(default=RailAgentStatus.READY_TO_DEPART, type=RailAgentStatus) @@ -62,8 +62,10 @@ class EnvAgentStatic(object): malfunction_datas = [] for i in range(len(schedule.agent_positions)): malfunction_datas.append({'malfunction': 0, + 'malfunction_rate': schedule.agent_malfunction_rates[ + i] if schedule.agent_malfunction_rates is not None else 0., + 'next_malfunction': 0, 'nr_malfunctions': 0, - 'moving_before_malfunction': False, 'fixed': True}) return list(starmap(EnvAgentStatic, zip(schedule.agent_positions, diff --git a/flatland/envs/schedule_generators.py b/flatland/envs/schedule_generators.py index 58a7be34..d3c5d78a 100644 --- a/flatland/envs/schedule_generators.py +++ b/flatland/envs/schedule_generators.py @@ -79,7 +79,7 @@ def complex_schedule_generator(speed_ratio_map: Mapping[float, float] = None, se speeds = [1.0] * len(agents_position) return Schedule(agent_positions=agents_position, agent_directions=agents_direction, - agent_targets=agents_target, agent_speeds=speeds) + agent_targets=agents_target, agent_speeds=speeds,agent_malfunction_rates=None) return generator @@ -165,7 +165,7 @@ def sparse_schedule_generator(speed_ratio_map: Mapping[float, float] = None, see speeds = [1.0] * len(agents_position) return Schedule(agent_positions=agents_position, agent_directions=agents_direction, - agent_targets=agents_target, agent_speeds=speeds) + agent_targets=agents_target, agent_speeds=speeds,agent_malfunction_rates=None) return generator @@ -263,7 +263,7 @@ def random_schedule_generator(speed_ratio_map: Optional[Mapping[float, float]] = agents_speed = speed_initialization_helper(num_agents, speed_ratio_map, seed=_runtime_seed) return Schedule(agent_positions=agents_position, agent_directions=agents_direction, - agent_targets=agents_target, agent_speeds=agents_speed) + agent_targets=agents_target, agent_speeds=speeds,agent_malfunction_rates=None) return generator @@ -307,6 +307,6 @@ def schedule_from_file(filename, load_from_package=None) -> ScheduleGenerator: else: agents_speed = None return Schedule(agent_positions=agents_position, agent_directions=agents_direction, - agent_targets=agents_target, agent_speeds=agents_speed) + agent_targets=agents_target, agent_speeds=speeds,agent_malfunction_rates=None) return generator diff --git a/flatland/envs/schedule_utils.py b/flatland/envs/schedule_utils.py index c61d2f6b..e89f170d 100644 --- a/flatland/envs/schedule_utils.py +++ b/flatland/envs/schedule_utils.py @@ -6,4 +6,5 @@ from flatland.core.grid.grid_utils import IntVector2DArray Schedule = NamedTuple('Schedule', [('agent_positions', IntVector2DArray), ('agent_directions', List[Grid4TransitionsEnum]), ('agent_targets', IntVector2DArray), - ('agent_speeds', List[float])]) + ('agent_speeds', List[float]), + ('agent_malfunction_rates', List[int])]) -- GitLab