From b7e98ab0a52e1173b36eda4aa39c9504933a3e24 Mon Sep 17 00:00:00 2001
From: Erik Nygren <erik.nygren@sbb.ch>
Date: Fri, 5 Jul 2019 16:06:06 -0400
Subject: [PATCH] fixed shortest path predictor to handle exception when no
 path to target is possible.

---
 flatland/envs/predictions.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/flatland/envs/predictions.py b/flatland/envs/predictions.py
index d471596b..671b349a 100644
--- a/flatland/envs/predictions.py
+++ b/flatland/envs/predictions.py
@@ -147,6 +147,9 @@ class ShortestPathPredictorForRailEnv(PredictionBuilder):
                             if target_dist < min_dist:
                                 min_dist = target_dist
                                 new_direction = direction
+                    if new_direction == None:
+                        prediction[index] = [index, *agent.position, agent.direction, RailEnvActions.STOP_MOVING]
+                        continue
                     new_position = get_new_position(agent.position, new_direction)
                 else:
                     raise Exception("No transition possible {}".format(cell_transitions))
-- 
GitLab