diff --git a/examples/flatland_2_0_example.py b/examples/flatland_2_0_example.py index 2a6d90b02de79ca40c09bdcd0c80888386b4c8f8..7916c4e5057c5746b7d30d5ba2c9bfaab2d4b997 100644 --- a/examples/flatland_2_0_example.py +++ b/examples/flatland_2_0_example.py @@ -91,7 +91,7 @@ action_dict = dict() print("Start episode...") # Reset environment and get initial observations for all agents obs = env.reset() - +print(env.get_num_agents(), ) # Reset the rendering sytem env_renderer.reset() diff --git a/flatland/envs/schedule_generators.py b/flatland/envs/schedule_generators.py index 85fb380a3f244e870c7d233c585e8b04fe339e01..1e94ef2739282a86f266217ca977d00f02b8d904 100644 --- a/flatland/envs/schedule_generators.py +++ b/flatland/envs/schedule_generators.py @@ -89,10 +89,17 @@ def sparse_schedule_generator(speed_ratio_map: Mapping[float, float] = None) -> track_to_use = 0 else: track_to_use = 1 + for i in range(len(start_slots[current_start_node])): if start_slots[current_start_node][i][1] == track_to_use: start_station_idx = i break + else: + start_station_idx = None + + if start_station_idx is None: + warnings.warn("No slot available with required start orientation") + continue start = start_slots[current_start_node][start_station_idx] start_slots[current_start_node].pop(start_station_idx)