diff --git a/backends/mcts_controller.py b/backends/mcts_controller.py index 2644419b9fe8f9ba9a85969e7e9bd2069d12b123..c5f6996a72c612ef0517cf1371e52ec97982b1da 100644 --- a/backends/mcts_controller.py +++ b/backends/mcts_controller.py @@ -106,4 +106,4 @@ class MCTSController(ControllerBase): if self.debug: print('Btw: %s' % str(p)) self.mcts.tree.reconstruct(node_after_transition) - self.set_current_node(node_after_transition) \ No newline at end of file + self.set_current_node(node_after_transition) diff --git a/high_level_policy_main.py b/high_level_policy_main.py index e24b8e96f6f57fb6247eb99c2f1b2ee0c76fcc45..b6183c05a22dc80ba340df6f7c6dc95e33efc67d 100644 --- a/high_level_policy_main.py +++ b/high_level_policy_main.py @@ -1,5 +1,5 @@ -from env.simple_intersection import SimpleIntersectionEnv -from env.simple_intersection.constants import * +from worlds.simple_intersection import SimpleIntersectionEnv +from worlds.simple_intersection.constants import * from options.options_loader import OptionsGraph from backends.kerasrl_learner import DQNLearner import os @@ -129,6 +129,9 @@ def evaluate_high_level_policy(nb_episodes_for_test=100, print("Termination reason(s):") for reason, count_list in termination_reason_list.items(): count_list = np.array(count_list) + while count_list.size != nb_trials: + count_list = np.append(count_list,0) + print("{}: Avg: {}, Std: {}".format(reason, np.mean(count_list), np.std(count_list))) diff --git a/logfile.log b/logfile.log new file mode 100644 index 0000000000000000000000000000000000000000..f46140acd730c1c1dae52c0ad8fc114b61f69bd7 --- /dev/null +++ b/logfile.log @@ -0,0 +1,1088 @@ +_________________________________________________________________ +Layer (type) Output Shape Param # +================================================================= +flatten_11 (Flatten) (None, 50) 0 +_________________________________________________________________ +dense_36 (Dense) (None, 64) 3264 +_________________________________________________________________ +dense_37 (Dense) (None, 64) 4160 +_________________________________________________________________ +dense_38 (Dense) (None, 64) 4160 +_________________________________________________________________ +dense_39 (Dense) (None, 5) 325 +================================================================= +Total params: 11,909 +Trainable params: 11,909 +Non-trainable params: 0 +_________________________________________________________________ +None + +Conducting 10 trials of 100 episodes each +Episode 0: Reward = 195.30 (0:00:29) +Episode 1: Reward = 193.37 (0:00:29) +Episode 2: Reward = 193.82 (0:01:41) +Episode 3: Reward = 90.81 (0:00:29) +Episode 4: Reward = 195.25 (0:00:58) +Episode 5: Reward = 196.16 (0:00:26) +Episode 6: Reward = 196.15 (0:00:16) +Episode 7: Reward = 141.69 (0:00:22) +Episode 8: Reward = 195.85 (0:00:49) +Episode 9: Reward = 196.69 (0:00:20) +Episode 10: Reward = 194.78 (0:00:32) +Episode 11: Reward = 195.18 (0:00:28) +Episode 12: Reward = 144.88 (0:00:13) +Episode 13: Reward = 195.28 (0:01:22) +Episode 14: Reward = 196.53 (0:00:31) +Episode 15: Reward = 195.15 (0:01:16) +Episode 16: Reward = 196.88 (0:00:15) +Episode 17: Reward = 196.49 (0:00:18) +Episode 18: Reward = 196.19 (0:00:56) +Episode 19: Reward = 195.02 (0:00:27) +Episode 20: Reward = 196.07 (0:00:25) +Episode 21: Reward = 196.61 (0:00:24) +Episode 22: Reward = 195.81 (0:00:21) +Episode 23: Reward = 144.83 (0:00:48) +Episode 24: Reward = 144.74 (0:00:25) +Episode 25: Reward = 194.39 (0:00:47) +Episode 26: Reward = 196.92 (0:00:22) +Episode 27: Reward = -251.44 (0:00:04) +Episode 28: Reward = 196.65 (0:00:20) +Episode 29: Reward = 196.73 (0:00:17) +Episode 30: Reward = 196.51 (0:00:27) +Episode 31: Reward = 196.14 (0:00:40) +Episode 32: Reward = 196.84 (0:00:24) +Episode 33: Reward = 195.97 (0:00:32) +Episode 34: Reward = 196.89 (0:00:10) +Episode 35: Reward = 197.23 (0:00:49) +Episode 36: Reward = 195.74 (0:00:14) +Episode 37: Reward = 195.36 (0:00:43) +Episode 38: Reward = 195.19 (0:00:30) +Episode 39: Reward = 195.64 (0:00:31) +Episode 40: Reward = 195.31 (0:01:08) +Episode 41: Reward = 196.19 (0:00:26) +Episode 42: Reward = 145.46 (0:00:39) +Episode 43: Reward = 196.44 (0:00:13) +Episode 44: Reward = 194.76 (0:00:54) +Episode 45: Reward = 146.20 (0:00:15) +Episode 46: Reward = 144.12 (0:00:28) +Episode 47: Reward = 196.80 (0:00:23) +Episode 48: Reward = 195.43 (0:00:21) +Episode 49: Reward = 92.85 (0:00:52) +Episode 50: Reward = 194.24 (0:01:17) +Episode 51: Reward = 141.44 (0:02:03) +Episode 52: Reward = 93.82 (0:00:59) +Episode 53: Reward = 195.31 (0:00:54) +Episode 54: Reward = 195.82 (0:01:14) +Episode 55: Reward = 194.17 (0:00:46) +Episode 56: Reward = 197.12 (0:00:52) +Episode 57: Reward = 197.11 (0:00:55) +Episode 58: Reward = 196.67 (0:00:16) +Episode 59: Reward = 195.56 (0:01:00) +Episode 60: Reward = 195.57 (0:00:26) +Episode 61: Reward = 196.19 (0:00:42) +Episode 62: Reward = 196.66 (0:00:14) +Episode 63: Reward = 197.11 (0:00:32) +Episode 64: Reward = 194.71 (0:00:30) +Episode 65: Reward = 145.49 (0:00:17) +Episode 66: Reward = 195.99 (0:01:01) +Episode 67: Reward = 92.08 (0:00:30) +Episode 68: Reward = 194.93 (0:01:42) +Episode 69: Reward = 196.46 (0:00:28) +Episode 70: Reward = 94.18 (0:00:53) +Episode 71: Reward = 195.35 (0:01:01) +Episode 72: Reward = 142.95 (0:01:17) +Episode 73: Reward = 194.91 (0:00:24) +Episode 74: Reward = 195.82 (0:00:52) +Episode 75: Reward = 193.19 (0:01:05) +Episode 76: Reward = 195.95 (0:00:18) +Episode 77: Reward = 194.60 (0:00:29) +Episode 78: Reward = 197.15 (0:00:19) +Episode 79: Reward = 146.18 (0:00:14) +Episode 80: Reward = 145.33 (0:00:11) +Episode 81: Reward = 196.58 (0:00:22) +Episode 82: Reward = 195.16 (0:00:31) +Episode 83: Reward = 193.35 (0:01:28) +Episode 84: Reward = 196.98 (0:00:24) +Episode 85: Reward = 196.63 (0:00:34) +Episode 86: Reward = 196.17 (0:00:25) +Episode 87: Reward = 195.23 (0:00:47) +Episode 88: Reward = 195.78 (0:01:34) +Episode 89: Reward = 195.52 (0:00:57) +Episode 90: Reward = 142.70 (0:01:26) +Episode 91: Reward = 145.36 (0:00:11) +Episode 92: Reward = 194.75 (0:00:28) +Episode 93: Reward = 196.03 (0:00:16) +Episode 94: Reward = 196.17 (0:00:14) +Episode 95: Reward = 195.85 (0:00:46) +Episode 96: Reward = 195.19 (0:01:23) +Episode 97: Reward = 196.30 (0:00:26) +Episode 98: Reward = 195.20 (0:01:01) +Episode 99: Reward = 196.95 (0:00:22) + +Trial 0: Reward = (Avg: 178.96, Std: 51.17), Successes: 99/100 +Trial 0 Termination reason(s): +LTL_violation: 1 + + +Episode 0: Reward = 196.71 (0:00:16) +Episode 1: Reward = 143.77 (0:00:17) +Episode 2: Reward = 195.13 (0:01:25) +Episode 3: Reward = 144.74 (0:00:30) +Episode 4: Reward = 194.81 (0:01:56) +Episode 5: Reward = 195.64 (0:00:48) +Episode 6: Reward = 145.13 (0:00:38) +Episode 7: Reward = 192.94 (0:01:48) +Episode 8: Reward = 145.84 (0:00:18) +Episode 9: Reward = 94.59 (0:00:12) +Episode 10: Reward = 193.81 (0:00:48) +Episode 11: Reward = 196.12 (0:00:17) +Episode 12: Reward = 144.54 (0:01:02) +Episode 13: Reward = 197.19 (0:00:24) +Episode 14: Reward = 89.69 (0:02:38) +Episode 15: Reward = 142.81 (0:01:27) +Episode 16: Reward = 196.71 (0:00:16) +Episode 17: Reward = 195.83 (0:01:02) +Episode 18: Reward = 196.53 (0:00:32) +Episode 19: Reward = 195.29 (0:02:09) +Episode 20: Reward = 196.49 (0:00:57) +Episode 21: Reward = 197.08 (0:00:16) +Episode 22: Reward = 196.83 (0:00:20) +Episode 23: Reward = 143.33 (0:00:46) +Episode 24: Reward = 194.44 (0:00:49) +Episode 25: Reward = 194.64 (0:00:53) +Episode 26: Reward = 195.70 (0:00:53) +Episode 27: Reward = 196.51 (0:00:22) +Episode 28: Reward = 196.86 (0:00:29) +Episode 29: Reward = 196.70 (0:00:18) +Episode 30: Reward = 196.13 (0:00:15) +Episode 31: Reward = 38.55 (0:00:45) +Episode 32: Reward = 196.34 (0:00:34) +Episode 33: Reward = 194.26 (0:01:14) +Episode 34: Reward = 144.64 (0:00:50) +Episode 35: Reward = 194.32 (0:00:55) +Episode 36: Reward = 197.01 (0:00:19) +Episode 37: Reward = 195.65 (0:00:40) +Episode 38: Reward = 196.85 (0:00:20) +Episode 39: Reward = 194.81 (0:01:02) +Episode 40: Reward = 194.94 (0:00:41) +Episode 41: Reward = 196.89 (0:00:48) +Episode 42: Reward = 195.78 (0:00:19) +Episode 43: Reward = 142.77 (0:01:33) +Episode 44: Reward = 94.32 (0:00:22) +Episode 45: Reward = 196.49 (0:00:41) +Episode 46: Reward = 146.39 (0:00:22) +Episode 47: Reward = 196.07 (0:00:16) +Episode 48: Reward = 196.34 (0:00:35) +Episode 49: Reward = 194.45 (0:00:53) +Episode 50: Reward = 195.57 (0:00:48) +Episode 51: Reward = 195.71 (0:00:17) +Episode 52: Reward = 195.73 (0:00:29) +Episode 53: Reward = 196.05 (0:00:28) +Episode 54: Reward = 94.14 (0:00:46) +Episode 55: Reward = 196.12 (0:00:31) +Episode 56: Reward = 90.82 (0:01:10) +Episode 57: Reward = 143.24 (0:00:40) +Episode 58: Reward = 166.76 (0:00:33) +Episode 59: Reward = 194.62 (0:01:07) +Episode 60: Reward = 195.78 (0:00:27) +Episode 61: Reward = 144.87 (0:00:23) +Episode 62: Reward = 194.18 (0:02:23) +Episode 63: Reward = 197.33 (0:00:29) +Episode 64: Reward = 141.97 (0:00:26) +Episode 65: Reward = 195.49 (0:00:40) +Episode 66: Reward = 196.52 (0:00:18) +Episode 67: Reward = 194.35 (0:01:51) +Episode 68: Reward = 195.44 (0:02:15) +Episode 69: Reward = 196.92 (0:00:15) +Episode 70: Reward = 194.70 (0:00:45) +Episode 71: Reward = 196.09 (0:00:27) +Episode 72: Reward = 196.70 (0:00:21) +Episode 73: Reward = 196.78 (0:00:24) +Episode 74: Reward = 196.55 (0:00:14) +Episode 75: Reward = 144.96 (0:00:29) +Episode 76: Reward = 197.04 (0:00:20) +Episode 77: Reward = 144.82 (0:01:08) +Episode 78: Reward = 195.73 (0:00:22) +Episode 79: Reward = 194.53 (0:01:47) +Episode 80: Reward = 196.55 (0:00:21) +Episode 81: Reward = 194.87 (0:02:06) +Episode 82: Reward = 196.32 (0:00:34) +Episode 83: Reward = 195.91 (0:00:57) +Episode 84: Reward = 193.11 (0:02:24) +Episode 85: Reward = 196.61 (0:00:29) +Episode 86: Reward = 145.68 (0:00:20) +Episode 87: Reward = 146.22 (0:00:21) +Episode 88: Reward = 194.88 (0:00:29) +Episode 89: Reward = 142.46 (0:01:16) +Episode 90: Reward = 195.34 (0:01:08) +Episode 91: Reward = 193.65 (0:01:06) +Episode 92: Reward = 197.07 (0:00:20) +Episode 93: Reward = 196.49 (0:00:20) +Episode 94: Reward = 195.14 (0:00:59) +Episode 95: Reward = 145.34 (0:00:51) +Episode 96: Reward = -200.80 (0:00:07) +Episode 97: Reward = 194.18 (0:02:26) +Episode 98: Reward = 196.19 (0:01:09) +Episode 99: Reward = 195.62 (0:01:08) + +Trial 1: Reward = (Avg: 175.00, Std: 49.30), Successes: 99/100 +Trial 1 Termination reason(s): +ego_collision: 1 + + +Episode 0: Reward = 143.20 (0:01:01) +Episode 1: Reward = 195.09 (0:00:47) +Episode 2: Reward = 196.86 (0:00:21) +Episode 3: Reward = 195.57 (0:00:46) +Episode 4: Reward = 145.71 (0:00:18) +Episode 5: Reward = 195.24 (0:00:24) +Episode 6: Reward = 96.30 (0:01:06) +Episode 7: Reward = 146.09 (0:00:16) +Episode 8: Reward = 194.74 (0:00:39) +Episode 9: Reward = 145.27 (0:00:27) +Episode 10: Reward = 145.32 (0:00:28) +Episode 11: Reward = 93.92 (0:00:21) +Episode 12: Reward = 143.02 (0:01:35) +Episode 13: Reward = 197.32 (0:00:13) +Episode 14: Reward = 142.90 (0:00:19) +Episode 15: Reward = 144.89 (0:00:48) +Episode 16: Reward = 195.95 (0:00:31) +Episode 17: Reward = 196.84 (0:00:18) +Episode 18: Reward = 194.94 (0:00:49) +Episode 19: Reward = 195.55 (0:01:16) +Episode 20: Reward = 137.77 (0:02:16) +Episode 21: Reward = 144.62 (0:00:44) +Episode 22: Reward = 195.62 (0:01:04) +Episode 23: Reward = 196.65 (0:00:32) +Episode 24: Reward = 195.67 (0:00:26) +Episode 25: Reward = 197.00 (0:00:38) +Episode 26: Reward = 194.30 (0:00:33) +Episode 27: Reward = 145.26 (0:00:18) +Episode 28: Reward = 145.45 (0:00:48) +Episode 29: Reward = 195.79 (0:01:15) +Episode 30: Reward = 196.01 (0:00:56) +Episode 31: Reward = 195.77 (0:00:30) +Episode 32: Reward = 195.91 (0:00:30) +Episode 33: Reward = 194.58 (0:01:03) +Episode 34: Reward = 196.40 (0:00:35) +Episode 35: Reward = 194.60 (0:00:29) +Episode 36: Reward = 143.91 (0:01:35) +Episode 37: Reward = 145.75 (0:00:27) +Episode 38: Reward = 143.89 (0:01:01) +Episode 39: Reward = 195.55 (0:00:46) +Episode 40: Reward = 144.88 (0:00:32) +Episode 41: Reward = 196.83 (0:00:23) +Episode 42: Reward = 194.49 (0:02:33) +Episode 43: Reward = 192.72 (0:01:41) +Episode 44: Reward = 196.90 (0:00:26) +Episode 45: Reward = 196.64 (0:00:29) +Episode 46: Reward = 196.41 (0:00:30) +Episode 47: Reward = 145.73 (0:00:19) +Episode 48: Reward = 195.81 (0:00:37) +Episode 49: Reward = 93.84 (0:00:24) +Episode 50: Reward = 195.93 (0:00:28) +Episode 51: Reward = 141.84 (0:00:54) +Episode 52: Reward = 196.08 (0:00:21) +Episode 53: Reward = 195.56 (0:00:25) +Episode 54: Reward = -352.91 (0:00:06) +Episode 55: Reward = 196.55 (0:00:30) +Episode 56: Reward = 196.44 (0:00:28) +Episode 57: Reward = 194.13 (0:01:23) +Episode 58: Reward = 194.19 (0:01:29) +Episode 59: Reward = 193.55 (0:01:52) +Episode 60: Reward = 195.85 (0:00:25) +Episode 61: Reward = 145.32 (0:00:29) +Episode 62: Reward = 194.00 (0:00:57) +Episode 63: Reward = 145.21 (0:00:27) +Episode 64: Reward = 196.88 (0:00:22) +Episode 65: Reward = 194.63 (0:01:14) +Episode 66: Reward = 194.86 (0:00:47) +Episode 67: Reward = 196.41 (0:00:35) +Episode 68: Reward = 145.06 (0:00:25) +Episode 69: Reward = 196.85 (0:00:39) +Episode 70: Reward = 145.12 (0:00:23) +Episode 71: Reward = 144.94 (0:00:27) +Episode 72: Reward = 196.40 (0:00:21) +Episode 73: Reward = 196.28 (0:00:30) +Episode 74: Reward = 145.44 (0:00:19) +Episode 75: Reward = 195.93 (0:00:35) +Episode 76: Reward = 194.47 (0:01:02) +Episode 77: Reward = 196.55 (0:00:17) +Episode 78: Reward = 194.25 (0:01:36) +Episode 79: Reward = 195.98 (0:00:21) +Episode 80: Reward = 144.19 (0:00:12) +Episode 81: Reward = 195.07 (0:00:57) +Episode 82: Reward = 196.11 (0:00:24) +Episode 83: Reward = 196.57 (0:00:33) +Episode 84: Reward = 91.68 (0:01:18) +Episode 85: Reward = 196.77 (0:00:14) +Episode 86: Reward = 144.56 (0:00:31) +Episode 87: Reward = 144.22 (0:00:49) +Episode 88: Reward = 195.64 (0:00:54) +Episode 89: Reward = 196.25 (0:00:21) +Episode 90: Reward = 196.91 (0:00:24) +Episode 91: Reward = 196.54 (0:00:30) +Episode 92: Reward = 95.10 (0:00:48) +Episode 93: Reward = 93.46 (0:00:46) +Episode 94: Reward = -14.61 (0:01:11) +Episode 95: Reward = 144.17 (0:00:50) +Episode 96: Reward = 195.31 (0:01:41) +Episode 97: Reward = 197.14 (0:00:21) +Episode 98: Reward = 145.13 (0:00:24) +Episode 99: Reward = 195.44 (0:01:25) + +Trial 2: Reward = (Avg: 167.17, Std: 63.41), Successes: 99/100 +Trial 2 Termination reason(s): +ego_collision: 1 + + +Episode 0: Reward = 195.64 (0:01:22) +Episode 1: Reward = 196.18 (0:00:38) +Episode 2: Reward = 38.17 (0:00:41) +Episode 3: Reward = 196.73 (0:00:20) +Episode 4: Reward = -354.39 (0:00:08) +Episode 5: Reward = 196.78 (0:00:20) +Episode 6: Reward = 144.73 (0:00:27) +Episode 7: Reward = 144.93 (0:01:15) +Episode 8: Reward = 145.62 (0:00:44) +Episode 9: Reward = 144.93 (0:00:35) +Episode 10: Reward = 195.09 (0:01:52) +Episode 11: Reward = 196.24 (0:00:48) +Episode 12: Reward = 194.81 (0:00:29) +Episode 13: Reward = 196.69 (0:00:29) +Episode 14: Reward = 196.63 (0:00:38) +Episode 15: Reward = 194.94 (0:01:04) +Episode 16: Reward = 195.82 (0:00:56) +Episode 17: Reward = 196.11 (0:00:40) +Episode 18: Reward = 192.52 (0:01:13) +Episode 19: Reward = 194.67 (0:01:03) +Episode 20: Reward = 93.74 (0:00:32) +Episode 21: Reward = 143.18 (0:00:38) +Episode 22: Reward = 194.30 (0:01:55) +Episode 23: Reward = 194.06 (0:01:34) +Episode 24: Reward = 196.75 (0:00:24) +Episode 25: Reward = 140.48 (0:00:28) +Episode 26: Reward = 196.34 (0:00:30) +Episode 27: Reward = 195.91 (0:00:20) +Episode 28: Reward = 195.16 (0:02:00) +Episode 29: Reward = 195.71 (0:00:19) +Episode 30: Reward = 145.01 (0:00:34) +Episode 31: Reward = 196.80 (0:00:23) +Episode 32: Reward = 38.71 (0:01:44) +Episode 33: Reward = 145.91 (0:00:30) +Episode 34: Reward = 195.73 (0:00:38) +Episode 35: Reward = 144.42 (0:00:58) +Episode 36: Reward = 196.23 (0:00:40) +Episode 37: Reward = 143.85 (0:01:55) +Episode 38: Reward = 195.62 (0:00:44) +Episode 39: Reward = 193.98 (0:01:02) +Episode 40: Reward = 196.78 (0:00:28) +Episode 41: Reward = 195.83 (0:00:50) +Episode 42: Reward = 195.92 (0:00:21) +Episode 43: Reward = 145.04 (0:00:27) +Episode 44: Reward = 196.68 (0:00:44) +Episode 45: Reward = 95.24 (0:00:31) +Episode 46: Reward = 195.19 (0:01:41) +Episode 47: Reward = 195.60 (0:00:33) +Episode 48: Reward = 195.13 (0:00:44) +Episode 49: Reward = 195.94 (0:00:23) +Episode 50: Reward = 195.86 (0:00:51) +Episode 51: Reward = 195.26 (0:00:56) +Episode 52: Reward = 197.06 (0:00:15) +Episode 53: Reward = 145.17 (0:00:30) +Episode 54: Reward = 194.52 (0:00:48) +Episode 55: Reward = 195.41 (0:00:59) +Episode 56: Reward = 196.58 (0:00:14) +Episode 57: Reward = 195.20 (0:00:52) +Episode 58: Reward = 194.79 (0:00:32) +Episode 59: Reward = -200.84 (0:00:02) +Episode 60: Reward = 195.42 (0:01:21) +Episode 61: Reward = -251.42 (0:00:04) +Episode 62: Reward = 142.77 (0:00:38) +Episode 63: Reward = 145.03 (0:00:49) +Episode 64: Reward = 94.40 (0:00:47) +Episode 65: Reward = 196.86 (0:00:19) +Episode 66: Reward = 94.08 (0:00:29) +Episode 67: Reward = 144.71 (0:00:54) +Episode 68: Reward = 196.54 (0:00:32) +Episode 69: Reward = 145.11 (0:00:28) +Episode 70: Reward = 196.64 (0:00:24) +Episode 71: Reward = 196.67 (0:00:20) +Episode 72: Reward = 144.74 (0:00:44) +Episode 73: Reward = 144.98 (0:00:42) +Episode 74: Reward = 144.77 (0:00:43) +Episode 75: Reward = 195.35 (0:00:23) +Episode 76: Reward = 195.37 (0:01:24) +Episode 77: Reward = 196.81 (0:00:17) +Episode 78: Reward = 195.15 (0:00:58) +Episode 79: Reward = 40.94 (0:01:37) +Episode 80: Reward = 196.47 (0:00:16) +Episode 81: Reward = 145.17 (0:00:54) +Episode 82: Reward = 196.86 (0:00:11) +Episode 83: Reward = 196.15 (0:01:51) +Episode 84: Reward = 195.40 (0:00:24) +Episode 85: Reward = 140.74 (0:00:31) +Episode 86: Reward = 143.32 (0:00:24) +Episode 87: Reward = 195.07 (0:00:26) +Episode 88: Reward = 93.92 (0:00:37) +Episode 89: Reward = 196.19 (0:00:56) +Episode 90: Reward = 195.24 (0:01:29) +Episode 91: Reward = 193.81 (0:01:31) +Episode 92: Reward = 144.10 (0:00:39) +Episode 93: Reward = 197.06 (0:00:39) +Episode 94: Reward = 196.17 (0:00:48) +Episode 95: Reward = 195.00 (0:01:03) +Episode 96: Reward = 95.22 (0:00:29) +Episode 97: Reward = 40.96 (0:00:36) +Episode 98: Reward = 196.62 (0:00:26) +Episode 99: Reward = 43.77 (0:00:33) + +Trial 3: Reward = (Avg: 156.13, Std: 86.37), Successes: 97/100 +Trial 3 Termination reason(s): +LTL_violation: 2 +ego_collision: 1 + + +Episode 0: Reward = 145.25 (0:00:54) +Episode 1: Reward = 196.17 (0:00:16) +Episode 2: Reward = 141.23 (0:01:06) +Episode 3: Reward = 196.16 (0:00:21) +Episode 4: Reward = 196.54 (0:00:23) +Episode 5: Reward = 193.99 (0:00:51) +Episode 6: Reward = 143.41 (0:01:20) +Episode 7: Reward = 138.97 (0:01:59) +Episode 8: Reward = 196.03 (0:00:32) +Episode 9: Reward = 196.31 (0:00:19) +Episode 10: Reward = 145.33 (0:01:14) +Episode 11: Reward = 94.45 (0:00:30) +Episode 12: Reward = 195.77 (0:00:16) +Episode 13: Reward = 145.48 (0:00:35) +Episode 14: Reward = 94.13 (0:00:40) +Episode 15: Reward = 144.64 (0:01:00) +Episode 16: Reward = 144.05 (0:01:12) +Episode 17: Reward = 93.12 (0:00:46) +Episode 18: Reward = 141.30 (0:00:26) +Episode 19: Reward = 92.66 (0:00:36) +Episode 20: Reward = 195.51 (0:00:53) +Episode 21: Reward = 195.73 (0:00:45) +Episode 22: Reward = 195.26 (0:01:42) +Episode 23: Reward = 194.24 (0:01:09) +Episode 24: Reward = 194.81 (0:01:45) +Episode 25: Reward = 194.27 (0:01:21) +Episode 26: Reward = 196.44 (0:00:35) +Episode 27: Reward = 144.81 (0:00:46) +Episode 28: Reward = 196.62 (0:00:14) +Episode 29: Reward = 196.29 (0:00:47) +Episode 30: Reward = 145.56 (0:00:16) +Episode 31: Reward = 196.50 (0:00:22) +Episode 32: Reward = 194.84 (0:01:10) +Episode 33: Reward = 194.41 (0:00:55) +Episode 34: Reward = 145.15 (0:00:31) +Episode 35: Reward = 194.35 (0:01:37) +Episode 36: Reward = 196.90 (0:00:13) +Episode 37: Reward = 143.53 (0:00:44) +Episode 38: Reward = 196.37 (0:00:18) +Episode 39: Reward = 195.39 (0:00:53) +Episode 40: Reward = 196.32 (0:00:14) +Episode 41: Reward = 196.02 (0:01:26) +Episode 42: Reward = 142.28 (0:01:54) +Episode 43: Reward = 195.69 (0:00:32) +Episode 44: Reward = 195.76 (0:00:19) +Episode 45: Reward = 196.36 (0:00:27) +Episode 46: Reward = 196.76 (0:00:14) +Episode 47: Reward = 194.92 (0:01:09) +Episode 48: Reward = 194.74 (0:00:55) +Episode 49: Reward = 195.97 (0:01:10) +Episode 50: Reward = 196.67 (0:00:21) +Episode 51: Reward = 195.88 (0:00:12) +Episode 52: Reward = 94.41 (0:00:25) +Episode 53: Reward = 145.39 (0:00:27) +Episode 54: Reward = 196.60 (0:00:18) +Episode 55: Reward = 142.46 (0:00:13) +Episode 56: Reward = 195.89 (0:00:16) +Episode 57: Reward = 92.15 (0:00:47) +Episode 58: Reward = 194.93 (0:00:29) +Episode 59: Reward = 93.44 (0:00:30) +Episode 60: Reward = 195.67 (0:00:31) +Episode 61: Reward = 195.51 (0:00:46) +Episode 62: Reward = 92.06 (0:00:43) +Episode 63: Reward = 196.81 (0:00:26) +Episode 64: Reward = 196.80 (0:00:18) +Episode 65: Reward = 192.84 (0:00:49) +Episode 66: Reward = 145.06 (0:00:24) +Episode 67: Reward = 195.99 (0:00:51) +Episode 68: Reward = 196.82 (0:00:34) +Episode 69: Reward = 146.29 (0:00:24) +Episode 70: Reward = 144.21 (0:00:28) +Episode 71: Reward = 195.83 (0:00:28) +Episode 72: Reward = 196.74 (0:00:35) +Episode 73: Reward = 194.44 (0:00:43) +Episode 74: Reward = 144.74 (0:00:30) +Episode 75: Reward = 196.27 (0:00:19) +Episode 76: Reward = 141.77 (0:02:09) +Episode 77: Reward = 196.58 (0:00:27) +Episode 78: Reward = 194.76 (0:01:00) +Episode 79: Reward = 195.43 (0:00:44) +Episode 80: Reward = 92.28 (0:01:08) +Episode 81: Reward = 195.06 (0:01:02) +Episode 82: Reward = 194.79 (0:01:12) +Episode 83: Reward = 194.39 (0:01:02) +Episode 84: Reward = 196.55 (0:00:28) +Episode 85: Reward = 195.96 (0:00:26) +Episode 86: Reward = 197.09 (0:00:36) +Episode 87: Reward = 94.22 (0:00:58) +Episode 88: Reward = 191.84 (0:02:17) +Episode 89: Reward = 196.57 (0:00:14) +Episode 90: Reward = 195.91 (0:00:32) +Episode 91: Reward = 196.12 (0:00:27) +Episode 92: Reward = 145.65 (0:00:19) +Episode 93: Reward = 196.35 (0:00:40) +Episode 94: Reward = -352.61 (0:00:07) +Episode 95: Reward = 196.55 (0:00:22) +Episode 96: Reward = 143.33 (0:02:11) +Episode 97: Reward = 194.61 (0:01:50) +Episode 98: Reward = 195.02 (0:01:05) +Episode 99: Reward = 93.94 (0:00:31) + +Trial 4: Reward = (Avg: 167.03, Std: 62.89), Successes: 99/100 +Trial 4 Termination reason(s): +ego_collision: 1 + + +Episode 0: Reward = 197.32 (0:00:13) +Episode 1: Reward = 196.73 (0:00:16) +Episode 2: Reward = 196.03 (0:00:19) +Episode 3: Reward = 43.44 (0:00:26) +Episode 4: Reward = 144.96 (0:00:23) +Episode 5: Reward = 144.42 (0:01:16) +Episode 6: Reward = 196.24 (0:00:34) +Episode 7: Reward = 145.72 (0:00:24) +Episode 8: Reward = 194.90 (0:01:12) +Episode 9: Reward = 93.40 (0:00:37) +Episode 10: Reward = 196.72 (0:00:20) +Episode 11: Reward = 196.16 (0:00:28) +Episode 12: Reward = 196.84 (0:00:19) +Episode 13: Reward = 195.59 (0:01:49) +Episode 14: Reward = 195.53 (0:00:58) +Episode 15: Reward = 195.57 (0:00:27) +Episode 16: Reward = 194.70 (0:01:02) +Episode 17: Reward = 143.78 (0:00:55) +Episode 18: Reward = 146.06 (0:00:16) +Episode 19: Reward = 195.91 (0:00:25) +Episode 20: Reward = 196.26 (0:00:17) +Episode 21: Reward = 145.18 (0:00:47) +Episode 22: Reward = 195.01 (0:01:04) +Episode 23: Reward = 194.79 (0:00:59) +Episode 24: Reward = 196.78 (0:00:24) +Episode 25: Reward = 194.99 (0:02:37) +Episode 26: Reward = 145.22 (0:00:51) +Episode 27: Reward = 196.44 (0:00:24) +Episode 28: Reward = 196.55 (0:00:32) +Episode 29: Reward = 197.19 (0:00:19) +Episode 30: Reward = 194.17 (0:01:07) +Episode 31: Reward = 195.49 (0:00:25) +Episode 32: Reward = 193.64 (0:01:54) +Episode 33: Reward = 138.97 (0:01:15) +Episode 34: Reward = 94.85 (0:00:34) +Episode 35: Reward = 137.37 (0:01:40) +Episode 36: Reward = 195.48 (0:01:03) +Episode 37: Reward = 145.61 (0:00:43) +Episode 38: Reward = 195.09 (0:00:48) +Episode 39: Reward = 144.26 (0:00:54) +Episode 40: Reward = 145.49 (0:00:21) +Episode 41: Reward = 145.53 (0:00:24) +Episode 42: Reward = 195.73 (0:01:08) +Episode 43: Reward = 195.95 (0:00:30) +Episode 44: Reward = 196.77 (0:00:38) +Episode 45: Reward = 94.54 (0:01:34) +Episode 46: Reward = 196.52 (0:00:32) +Episode 47: Reward = 196.95 (0:00:25) +Episode 48: Reward = 143.78 (0:01:06) +Episode 49: Reward = 194.57 (0:01:13) +Episode 50: Reward = 196.82 (0:00:32) +Episode 51: Reward = 195.87 (0:00:24) +Episode 52: Reward = 95.27 (0:00:55) +Episode 53: Reward = 194.38 (0:01:36) +Episode 54: Reward = 143.27 (0:01:08) +Episode 55: Reward = 194.05 (0:00:49) +Episode 56: Reward = 195.97 (0:00:41) +Episode 57: Reward = 43.44 (0:00:29) +Episode 58: Reward = 196.16 (0:00:14) +Episode 59: Reward = 195.96 (0:00:54) +Episode 60: Reward = 196.18 (0:00:32) +Episode 61: Reward = 195.37 (0:00:51) +Episode 62: Reward = 145.69 (0:01:00) +Episode 63: Reward = 196.57 (0:00:21) +Episode 64: Reward = 91.38 (0:01:34) +Episode 65: Reward = 196.12 (0:00:58) +Episode 66: Reward = 94.25 (0:00:22) +Episode 67: Reward = 140.71 (0:00:30) +Episode 68: Reward = 196.32 (0:00:53) +Episode 69: Reward = 196.09 (0:01:18) +Episode 70: Reward = 196.15 (0:00:16) +Episode 71: Reward = 197.00 (0:00:43) +Episode 72: Reward = 196.70 (0:00:21) +Episode 73: Reward = 144.73 (0:00:53) +Episode 74: Reward = 144.41 (0:00:32) +Episode 75: Reward = 197.09 (0:00:27) +Episode 76: Reward = 196.82 (0:00:15) +Episode 77: Reward = 192.60 (0:01:00) +Episode 78: Reward = 145.10 (0:00:40) +Episode 79: Reward = 196.63 (0:00:15) +Episode 80: Reward = 194.30 (0:01:49) +Episode 81: Reward = 194.43 (0:00:54) +Episode 82: Reward = 195.41 (0:00:54) +Episode 83: Reward = 195.29 (0:00:33) +Episode 84: Reward = 196.77 (0:00:41) +Episode 85: Reward = 144.59 (0:01:53) +Episode 86: Reward = -252.67 (0:00:07) +Episode 87: Reward = 195.14 (0:00:43) +Episode 88: Reward = 196.38 (0:00:52) +Episode 89: Reward = 142.86 (0:01:42) +Episode 90: Reward = 141.75 (0:01:06) +Episode 91: Reward = 195.78 (0:00:50) +Episode 92: Reward = 196.29 (0:00:20) +Episode 93: Reward = 196.51 (0:00:23) +Episode 94: Reward = 196.15 (0:00:36) +Episode 95: Reward = 193.63 (0:01:19) +Episode 96: Reward = 196.36 (0:00:46) +Episode 97: Reward = 195.77 (0:00:23) +Episode 98: Reward = 194.50 (0:00:54) +Episode 99: Reward = 196.28 (0:00:22) + +Trial 5: Reward = (Avg: 170.22, Std: 55.36), Successes: 99/100 +Trial 5 Termination reason(s): +ego_collision: 1 + + +Episode 0: Reward = 196.09 (0:00:29) +Episode 1: Reward = 196.69 (0:00:42) +Episode 2: Reward = 195.10 (0:00:26) +Episode 3: Reward = 145.23 (0:01:12) +Episode 4: Reward = 144.73 (0:01:12) +Episode 5: Reward = 196.66 (0:00:39) +Episode 6: Reward = 196.39 (0:00:42) +Episode 7: Reward = 193.47 (0:01:01) +Episode 8: Reward = 194.81 (0:01:03) +Episode 9: Reward = 145.95 (0:00:19) +Episode 10: Reward = 196.60 (0:00:18) +Episode 11: Reward = -251.49 (0:00:04) +Episode 12: Reward = 196.90 (0:00:20) +Episode 13: Reward = 195.80 (0:00:34) +Episode 14: Reward = 195.06 (0:01:29) +Episode 15: Reward = 197.22 (0:00:43) +Episode 16: Reward = 196.64 (0:00:49) +Episode 17: Reward = -201.49 (0:00:03) +Episode 18: Reward = 194.72 (0:00:40) +Episode 19: Reward = 92.92 (0:00:41) +Episode 20: Reward = 143.20 (0:01:15) +Episode 21: Reward = 143.85 (0:00:44) +Episode 22: Reward = 196.24 (0:00:14) +Episode 23: Reward = 195.58 (0:00:26) +Episode 24: Reward = 194.94 (0:01:15) +Episode 25: Reward = 196.84 (0:00:36) +Episode 26: Reward = 196.99 (0:00:19) +Episode 27: Reward = 195.59 (0:00:59) +Episode 28: Reward = 193.90 (0:01:01) +Episode 29: Reward = 194.86 (0:00:27) +Episode 30: Reward = 196.57 (0:01:06) +Episode 31: Reward = 143.35 (0:00:31) +Episode 32: Reward = 195.41 (0:00:40) +Episode 33: Reward = 194.83 (0:01:03) +Episode 34: Reward = 194.41 (0:01:43) +Episode 35: Reward = 195.63 (0:00:54) +Episode 36: Reward = 143.92 (0:01:57) +Episode 37: Reward = 194.86 (0:01:12) +Episode 38: Reward = 196.76 (0:00:22) +Episode 39: Reward = 145.53 (0:00:16) +Episode 40: Reward = 195.74 (0:00:42) +Episode 41: Reward = 144.46 (0:01:00) +Episode 42: Reward = 193.02 (0:01:20) +Episode 43: Reward = 144.58 (0:01:14) +Episode 44: Reward = 196.31 (0:00:29) +Episode 45: Reward = 142.19 (0:01:15) +Episode 46: Reward = 194.78 (0:00:41) +Episode 47: Reward = 142.15 (0:01:26) +Episode 48: Reward = 196.38 (0:00:47) +Episode 49: Reward = 195.83 (0:00:57) +Episode 50: Reward = 194.98 (0:01:04) +Episode 51: Reward = 144.95 (0:00:48) +Episode 52: Reward = 196.36 (0:00:23) +Episode 53: Reward = 196.04 (0:00:30) +Episode 54: Reward = 144.27 (0:01:35) +Episode 55: Reward = 144.17 (0:01:08) +Episode 56: Reward = 196.32 (0:00:12) +Episode 57: Reward = 196.54 (0:00:18) +Episode 58: Reward = 195.49 (0:00:48) +Episode 59: Reward = 41.56 (0:01:01) +Episode 60: Reward = 197.39 (0:00:13) +Episode 61: Reward = 196.77 (0:00:26) +Episode 62: Reward = 196.95 (0:00:12) +Episode 63: Reward = 194.76 (0:01:27) +Episode 64: Reward = 193.39 (0:00:53) +Episode 65: Reward = 195.47 (0:00:49) +Episode 66: Reward = 196.00 (0:00:28) +Episode 67: Reward = 196.39 (0:00:26) +Episode 68: Reward = 195.58 (0:00:26) +Episode 69: Reward = 197.00 (0:00:11) +Episode 70: Reward = 195.70 (0:00:55) +Episode 71: Reward = 196.25 (0:00:16) +Episode 72: Reward = 194.27 (0:00:55) +Episode 73: Reward = 195.71 (0:02:08) +Episode 74: Reward = 142.45 (0:01:58) +Episode 75: Reward = 194.36 (0:00:30) +Episode 76: Reward = 196.02 (0:00:22) +Episode 77: Reward = 196.04 (0:00:18) +Episode 78: Reward = 196.43 (0:00:22) +Episode 79: Reward = 196.28 (0:00:21) +Episode 80: Reward = 196.15 (0:00:21) +Episode 81: Reward = 193.05 (0:01:29) +Episode 82: Reward = 194.45 (0:01:04) +Episode 83: Reward = 144.53 (0:00:42) +Episode 84: Reward = 195.46 (0:00:48) +Episode 85: Reward = 141.99 (0:02:35) +Episode 86: Reward = -301.99 (0:00:07) +Episode 87: Reward = 196.62 (0:00:21) +Episode 88: Reward = 194.39 (0:01:23) +Episode 89: Reward = 141.27 (0:01:49) +Episode 90: Reward = 196.63 (0:00:35) +Episode 91: Reward = 197.13 (0:00:17) +Episode 92: Reward = 194.77 (0:01:12) +Episode 93: Reward = 195.79 (0:00:38) +Episode 94: Reward = 196.69 (0:00:31) +Episode 95: Reward = 194.10 (0:00:43) +Episode 96: Reward = 197.05 (0:00:24) +Episode 97: Reward = 195.62 (0:01:01) +Episode 98: Reward = 195.04 (0:00:50) +Episode 99: Reward = 193.66 (0:01:03) + +Trial 6: Reward = (Avg: 169.83, Std: 79.00), Successes: 97/100 +Trial 6 Termination reason(s): +LTL_violation: 2 +ego_collision: 1 + + +Episode 0: Reward = 196.57 (0:00:28) +Episode 1: Reward = 91.89 (0:00:16) +Episode 2: Reward = 145.10 (0:00:42) +Episode 3: Reward = 196.23 (0:00:55) +Episode 4: Reward = 145.73 (0:00:18) +Episode 5: Reward = 195.96 (0:00:21) +Episode 6: Reward = 145.16 (0:00:35) +Episode 7: Reward = 196.60 (0:00:37) +Episode 8: Reward = 196.38 (0:01:36) +Episode 9: Reward = 196.32 (0:01:20) +Episode 10: Reward = 192.94 (0:02:17) +Episode 11: Reward = 196.27 (0:00:23) +Episode 12: Reward = 139.34 (0:00:31) +Episode 13: Reward = 195.60 (0:00:59) +Episode 14: Reward = 142.94 (0:00:36) +Episode 15: Reward = 196.15 (0:00:35) +Episode 16: Reward = 196.96 (0:00:32) +Episode 17: Reward = 195.96 (0:00:20) +Episode 18: Reward = 196.48 (0:00:17) +Episode 19: Reward = 194.87 (0:01:01) +Episode 20: Reward = 197.22 (0:00:10) +Episode 21: Reward = 93.27 (0:01:04) +Episode 22: Reward = 94.49 (0:00:41) +Episode 23: Reward = 194.53 (0:01:39) +Episode 24: Reward = -354.19 (0:00:11) +Episode 25: Reward = 92.48 (0:00:44) +Episode 26: Reward = 143.47 (0:00:49) +Episode 27: Reward = 144.55 (0:01:06) +Episode 28: Reward = 196.98 (0:00:22) +Episode 29: Reward = 195.93 (0:00:36) +Episode 30: Reward = 195.34 (0:01:12) +Episode 31: Reward = 196.79 (0:00:19) +Episode 32: Reward = 145.37 (0:00:28) +Episode 33: Reward = 195.23 (0:00:37) +Episode 34: Reward = 142.85 (0:01:08) +Episode 35: Reward = 175.08 (0:00:35) +Episode 36: Reward = 195.74 (0:00:29) +Episode 37: Reward = 144.91 (0:00:31) +Episode 38: Reward = 194.55 (0:01:03) +Episode 39: Reward = 91.86 (0:00:32) +Episode 40: Reward = 144.74 (0:01:06) +Episode 41: Reward = 94.47 (0:00:36) +Episode 42: Reward = 196.74 (0:00:21) +Episode 43: Reward = 145.25 (0:00:22) +Episode 44: Reward = 196.60 (0:00:57) +Episode 45: Reward = 195.32 (0:01:14) +Episode 46: Reward = 196.42 (0:00:22) +Episode 47: Reward = 196.44 (0:00:14) +Episode 48: Reward = 140.03 (0:02:24) +Episode 49: Reward = 195.80 (0:00:47) +Episode 50: Reward = 196.36 (0:00:29) +Episode 51: Reward = 195.65 (0:01:07) +Episode 52: Reward = 144.06 (0:01:03) +Episode 53: Reward = 194.92 (0:01:04) +Episode 54: Reward = 144.86 (0:00:16) +Episode 55: Reward = 195.46 (0:00:29) +Episode 56: Reward = 194.77 (0:00:57) +Episode 57: Reward = 196.99 (0:00:21) +Episode 58: Reward = 194.21 (0:01:42) +Episode 59: Reward = 93.84 (0:00:34) +Episode 60: Reward = 196.99 (0:00:37) +Episode 61: Reward = 196.77 (0:00:13) +Episode 62: Reward = 143.71 (0:01:34) +Episode 63: Reward = 195.88 (0:00:24) +Episode 64: Reward = 94.40 (0:01:08) +Episode 65: Reward = 145.46 (0:00:26) +Episode 66: Reward = 195.85 (0:00:28) +Episode 67: Reward = 195.39 (0:00:36) +Episode 68: Reward = 194.29 (0:00:42) +Episode 69: Reward = 43.24 (0:00:27) +Episode 70: Reward = 194.91 (0:00:26) +Episode 71: Reward = 145.64 (0:00:35) +Episode 72: Reward = 196.75 (0:00:37) +Episode 73: Reward = 191.51 (0:01:30) +Episode 74: Reward = 143.55 (0:01:44) +Episode 75: Reward = 92.96 (0:00:44) +Episode 76: Reward = 94.47 (0:00:38) +Episode 77: Reward = 195.47 (0:00:45) +Episode 78: Reward = 42.77 (0:00:28) +Episode 79: Reward = 144.20 (0:00:37) +Episode 80: Reward = 196.46 (0:00:16) +Episode 81: Reward = 196.88 (0:00:37) +Episode 82: Reward = 197.28 (0:00:52) +Episode 83: Reward = 196.29 (0:00:52) +Episode 84: Reward = 197.25 (0:00:23) +Episode 85: Reward = 195.87 (0:00:56) +Episode 86: Reward = 195.49 (0:01:01) +Episode 87: Reward = 194.17 (0:01:10) +Episode 88: Reward = 196.69 (0:00:25) +Episode 89: Reward = 145.11 (0:00:31) +Episode 90: Reward = 143.90 (0:00:52) +Episode 91: Reward = 194.50 (0:01:38) +Episode 92: Reward = 196.18 (0:00:22) +Episode 93: Reward = 195.32 (0:00:56) +Episode 94: Reward = 196.22 (0:00:33) +Episode 95: Reward = 196.33 (0:00:13) +Episode 96: Reward = 195.74 (0:00:46) +Episode 97: Reward = 195.89 (0:00:18) +Episode 98: Reward = 194.90 (0:01:47) +Episode 99: Reward = 143.63 (0:00:29) + +Trial 7: Reward = (Avg: 164.91, Std: 64.86), Successes: 99/100 +Trial 7 Termination reason(s): +LTL_violation: 1 + + +Episode 0: Reward = 196.92 (0:00:26) +Episode 1: Reward = 145.90 (0:00:31) +Episode 2: Reward = 143.14 (0:01:38) +Episode 3: Reward = 142.40 (0:00:32) +Episode 4: Reward = 143.97 (0:01:23) +Episode 5: Reward = 194.62 (0:01:04) +Episode 6: Reward = 145.25 (0:00:29) +Episode 7: Reward = 144.39 (0:00:29) +Episode 8: Reward = 143.83 (0:01:22) +Episode 9: Reward = 144.29 (0:00:47) +Episode 10: Reward = 196.32 (0:00:22) +Episode 11: Reward = 193.92 (0:01:29) +Episode 12: Reward = 144.75 (0:01:00) +Episode 13: Reward = 143.66 (0:00:45) +Episode 14: Reward = 197.28 (0:00:52) +Episode 15: Reward = 196.81 (0:00:27) +Episode 16: Reward = 194.13 (0:00:48) +Episode 17: Reward = 196.09 (0:00:19) +Episode 18: Reward = 196.72 (0:00:28) +Episode 19: Reward = 195.65 (0:00:30) +Episode 20: Reward = 143.15 (0:00:27) +Episode 21: Reward = 195.48 (0:00:29) +Episode 22: Reward = 196.68 (0:00:27) +Episode 23: Reward = 145.67 (0:00:28) +Episode 24: Reward = 93.00 (0:00:43) +Episode 25: Reward = 195.82 (0:00:35) +Episode 26: Reward = 194.51 (0:01:08) +Episode 27: Reward = 197.22 (0:00:15) +Episode 28: Reward = 196.88 (0:00:15) +Episode 29: Reward = 91.18 (0:00:55) +Episode 30: Reward = 197.14 (0:00:13) +Episode 31: Reward = 145.86 (0:00:48) +Episode 32: Reward = 195.98 (0:00:16) +Episode 33: Reward = 196.14 (0:00:22) +Episode 34: Reward = 196.14 (0:00:23) +Episode 35: Reward = 196.66 (0:00:39) +Episode 36: Reward = 195.75 (0:00:44) +Episode 37: Reward = 195.04 (0:01:03) +Episode 38: Reward = 146.00 (0:00:22) +Episode 39: Reward = 194.82 (0:00:48) +Episode 40: Reward = 192.54 (0:01:56) +Episode 41: Reward = 195.02 (0:01:04) +Episode 42: Reward = 167.06 (0:00:38) +Episode 43: Reward = 142.80 (0:00:36) +Episode 44: Reward = 195.39 (0:01:50) +Episode 45: Reward = 196.87 (0:00:20) +Episode 46: Reward = 194.76 (0:00:28) +Episode 47: Reward = 194.91 (0:01:14) +Episode 48: Reward = 193.60 (0:00:58) +Episode 49: Reward = 196.21 (0:01:09) +Episode 50: Reward = 195.93 (0:00:41) +Episode 51: Reward = 196.13 (0:00:40) +Episode 52: Reward = 143.23 (0:01:00) +Episode 53: Reward = 194.83 (0:01:09) +Episode 54: Reward = 194.17 (0:01:04) +Episode 55: Reward = 194.99 (0:00:38) +Episode 56: Reward = 196.21 (0:00:28) +Episode 57: Reward = 194.93 (0:00:30) +Episode 58: Reward = 192.82 (0:01:01) +Episode 59: Reward = 93.31 (0:00:27) +Episode 60: Reward = 195.45 (0:00:54) +Episode 61: Reward = 140.21 (0:01:25) +Episode 62: Reward = 94.21 (0:00:27) +Episode 63: Reward = 196.52 (0:00:12) +Episode 64: Reward = 196.62 (0:00:21) +Episode 65: Reward = 194.95 (0:01:09) +Episode 66: Reward = 196.17 (0:00:20) +Episode 67: Reward = -201.04 (0:00:04) +Episode 68: Reward = 193.84 (0:01:28) +Episode 69: Reward = 195.89 (0:00:25) +Episode 70: Reward = 94.18 (0:00:28) +Episode 71: Reward = 145.21 (0:01:27) +Episode 72: Reward = 196.23 (0:00:18) +Episode 73: Reward = 193.48 (0:01:35) +Episode 74: Reward = 196.74 (0:00:28) +Episode 75: Reward = 195.41 (0:01:14) +Episode 76: Reward = 144.21 (0:00:35) +Episode 77: Reward = 193.59 (0:01:00) +Episode 78: Reward = 195.10 (0:01:06) +Episode 79: Reward = 195.23 (0:00:28) +Episode 80: Reward = 144.97 (0:00:31) +Episode 81: Reward = 195.96 (0:00:27) +Episode 82: Reward = 195.43 (0:00:31) +Episode 83: Reward = 195.47 (0:01:14) +Episode 84: Reward = 194.55 (0:00:32) +Episode 85: Reward = 145.21 (0:00:28) +Episode 86: Reward = 117.39 (0:00:30) +Episode 87: Reward = 141.92 (0:00:27) +Episode 88: Reward = 143.98 (0:00:42) +Episode 89: Reward = 145.08 (0:00:46) +Episode 90: Reward = 146.05 (0:00:16) +Episode 91: Reward = 195.30 (0:01:35) +Episode 92: Reward = 195.29 (0:01:06) +Episode 93: Reward = 195.43 (0:00:47) +Episode 94: Reward = 94.06 (0:00:21) +Episode 95: Reward = 196.20 (0:00:30) +Episode 96: Reward = 145.86 (0:00:38) +Episode 97: Reward = 195.50 (0:01:00) +Episode 98: Reward = 144.15 (0:00:44) +Episode 99: Reward = 145.21 (0:00:38) + +Trial 8: Reward = (Avg: 170.00, Std: 48.51), Successes: 99/100 +Trial 8 Termination reason(s): +ego_collision: 1 + + +Episode 0: Reward = 197.20 (0:00:23) +Episode 1: Reward = 196.25 (0:00:13) +Episode 2: Reward = 195.31 (0:01:00) +Episode 3: Reward = 196.24 (0:00:15) +Episode 4: Reward = 195.54 (0:00:25) +Episode 5: Reward = 93.89 (0:00:46) +Episode 6: Reward = 196.11 (0:00:18) +Episode 7: Reward = 194.63 (0:02:04) +Episode 8: Reward = 195.63 (0:00:44) +Episode 9: Reward = 196.27 (0:00:16) +Episode 10: Reward = 196.49 (0:00:22) +Episode 11: Reward = 145.70 (0:00:41) +Episode 12: Reward = 195.09 (0:00:56) +Episode 13: Reward = 194.59 (0:01:15) +Episode 14: Reward = 195.61 (0:00:43) +Episode 15: Reward = 145.17 (0:00:57) +Episode 16: Reward = 196.86 (0:00:27) +Episode 17: Reward = 194.93 (0:01:25) +Episode 18: Reward = 145.24 (0:00:37) +Episode 19: Reward = 194.85 (0:00:52) +Episode 20: Reward = 144.36 (0:00:40) +Episode 21: Reward = 138.69 (0:00:48) +Episode 22: Reward = 196.78 (0:00:43) +Episode 23: Reward = 195.73 (0:00:37) +Episode 24: Reward = 195.07 (0:01:35) +Episode 25: Reward = 196.32 (0:00:36) +Episode 26: Reward = 195.84 (0:00:32) +Episode 27: Reward = 196.71 (0:00:12) +Episode 28: Reward = 195.80 (0:00:53) +Episode 29: Reward = 195.18 (0:00:57) +Episode 30: Reward = 145.21 (0:00:28) +Episode 31: Reward = 193.98 (0:01:42) +Episode 32: Reward = 194.96 (0:00:38) +Episode 33: Reward = 140.49 (0:00:37) +Episode 34: Reward = 194.92 (0:00:28) +Episode 35: Reward = 194.40 (0:00:33) +Episode 36: Reward = 194.19 (0:01:36) +Episode 37: Reward = 145.83 (0:00:16) +Episode 38: Reward = 142.09 (0:00:29) +Episode 39: Reward = 196.02 (0:00:20) +Episode 40: Reward = 194.50 (0:01:02) +Episode 41: Reward = 195.34 (0:00:46) +Episode 42: Reward = 193.54 (0:00:35) +Episode 43: Reward = -252.05 (0:00:08) +Episode 44: Reward = 195.88 (0:01:05) +Episode 45: Reward = -8.60 (0:01:05) +Episode 46: Reward = 195.96 (0:00:31) +Episode 47: Reward = 196.87 (0:00:29) +Episode 48: Reward = 144.37 (0:00:34) +Episode 49: Reward = 195.41 (0:00:34) +Episode 50: Reward = 144.60 (0:00:34) +Episode 51: Reward = 195.04 (0:00:32) +Episode 52: Reward = 94.62 (0:00:35) +Episode 53: Reward = 196.62 (0:00:23) +Episode 54: Reward = 145.48 (0:00:58) +Episode 55: Reward = 196.82 (0:00:12) +Episode 56: Reward = 138.51 (0:00:38) +Episode 57: Reward = 194.92 (0:01:14) +Episode 58: Reward = 145.32 (0:00:35) +Episode 59: Reward = 143.48 (0:00:28) +Episode 60: Reward = 143.70 (0:00:29) +Episode 61: Reward = 195.41 (0:00:29) +Episode 62: Reward = 195.77 (0:00:17) +Episode 63: Reward = 94.25 (0:00:29) +Episode 64: Reward = 196.14 (0:00:21) +Episode 65: Reward = 195.45 (0:00:47) +Episode 66: Reward = 197.05 (0:00:22) +Episode 67: Reward = 196.70 (0:00:27) +Episode 68: Reward = 142.47 (0:02:16) +Episode 69: Reward = 195.08 (0:01:13) +Episode 70: Reward = 196.27 (0:00:43) +Episode 71: Reward = 195.79 (0:00:47) +Episode 72: Reward = 196.56 (0:00:18) +Episode 73: Reward = 195.61 (0:00:36) +Episode 74: Reward = 41.43 (0:00:39) +Episode 75: Reward = 194.98 (0:00:29) +Episode 76: Reward = 195.24 (0:00:38) +Episode 77: Reward = 196.68 (0:00:15) +Episode 78: Reward = 196.15 (0:00:20) +Episode 79: Reward = 195.81 (0:00:25) +Episode 80: Reward = 195.12 (0:01:08) +Episode 81: Reward = 143.35 (0:01:44) +Episode 82: Reward = 145.09 (0:00:25) +Episode 83: Reward = 195.24 (0:01:49) +Episode 84: Reward = 196.20 (0:00:35) +Episode 85: Reward = 144.85 (0:00:31) +Episode 86: Reward = 145.29 (0:00:36) +Episode 87: Reward = 194.61 (0:00:39) +Episode 88: Reward = 196.14 (0:00:19) +Episode 89: Reward = 146.09 (0:00:17) +Episode 90: Reward = 192.61 (0:00:59) +Episode 91: Reward = 197.36 (0:00:29) +Episode 92: Reward = 196.98 (0:00:17) +Episode 93: Reward = 95.08 (0:00:41) +Episode 94: Reward = 145.09 (0:00:24) +Episode 95: Reward = 141.89 (0:02:09) +Episode 96: Reward = 143.16 (0:01:39) +Episode 97: Reward = 196.36 (0:00:16) +Episode 98: Reward = 89.18 (0:01:58) +Episode 99: Reward = 194.82 (0:01:46) + +Trial 9: Reward = (Avg: 169.52, Std: 56.33), Successes: 99/100 +Trial 9 Termination reason(s): +LTL_violation: 1 + + +=========================== +Overall: Reward = (Avg: 168.88, Std: 63.13), Success = (Avg: 98.60, Std: 0.80) + +Termination reason(s): +LTL_violation: Avg: 0.70, Std: 0.78 +ego_collision: Avg: 0.70, Std: 0.46 diff --git a/low_level_policy_main.py b/low_level_policy_main.py index d5cded2ef0e8e3f1c7dd092dce5fbfb051aa12b1..80cff3b5869078d192ec5a526406b5f7163596b2 100644 --- a/low_level_policy_main.py +++ b/low_level_policy_main.py @@ -1,5 +1,5 @@ -from env.simple_intersection import SimpleIntersectionEnv -from env.simple_intersection.constants import * +from worlds.simple_intersection import SimpleIntersectionEnv +from worlds.simple_intersection.constants import * from options.options_loader import OptionsGraph from backends.kerasrl_learner import DDPGLearner from rl.callbacks import Callback diff --git a/mcts.py b/mcts.py index 021e37a685fe95280c529463d38fa34269096e38..f2ee401ae0570bbc5ad1de68a96e87df753901b9 100644 --- a/mcts.py +++ b/mcts.py @@ -1,4 +1,5 @@ -from env.simple_intersection import SimpleIntersectionEnv +from worlds.simple_intersection import SimpleIntersectionEnv +from worlds.simple_intersection.constants import DT from options.options_loader import OptionsGraph from backends import DDPGLearner, DQNLearner, MCTSLearner import numpy as np @@ -73,45 +74,47 @@ def mcts_evaluation(depth, debug=debug) # Evaluate - print("\nConducting {} trials of {} episodes each".format( - nb_trials, nb_episodes)) + print("\nConducting {} trials of {} episodes each".format(nb_trials, nb_episodes)) + timeout = 40 # 40 sec. timeout for each episode overall_reward_list = [] - overall_success_accuracy = [] + overall_success_percent_list = [] overall_termination_reason_list = {} for num_tr in range(nb_trials): num_successes = 0 reward_list = [] trial_termination_reason_counter = {} for num_ep in range(nb_episodes): - init_obs = options.reset() + options.reset() episode_reward = 0 - first_time = True start_time = time.time() - while not options.env.is_terminal(): - if first_time: - first_time = False - else: - # print('Stepping through ...') - features, R, terminal, info = options.controller.\ - step_current_node(visualize_low_level_steps=visualize) - episode_reward += R - # print('Intermediate Reward: %f (ego x = %f)' % - # (R, options.env.vehs[0].x)) - # print('') - if terminal: - if 'episode_termination_reason' in info: - termination_reason = info['episode_termination_reason'] - if termination_reason in trial_termination_reason_counter: - trial_termination_reason_counter[termination_reason] += 1 - else: - trial_termination_reason_counter[termination_reason] = 1 - if options.controller.can_transition(): - options.controller.do_transition() + t = 0 + while True: + options.controller.do_transition() + + features, R, terminal, info = options.controller.step_current_node(visualize_low_level_steps=visualize) + episode_reward += R + t += DT + # print('Intermediate Reward: %f (ego x = %f)' % + # (R, options.env.vehs[0].x)) + # print('') + + if terminal or t > timeout: + if t > timeout: + info['episode_termination_reason'] = 'timeout' + + if 'episode_termination_reason' in info: + termination_reason = info['episode_termination_reason'] + if termination_reason in trial_termination_reason_counter: + trial_termination_reason_counter[termination_reason] += 1 + else: + trial_termination_reason_counter[termination_reason] = 1 + break + end_time = time.time() total_time = int(end_time-start_time) if options.env.goal_achieved: num_successes += 1 - print('Episode {}: Reward = {} ({})'.format(num_ep, episode_reward, + print('Episode {}: Reward = {:.2f} ({})'.format(num_ep, episode_reward, datetime.timedelta(seconds=total_time))) reward_list += [episode_reward] @@ -121,29 +124,29 @@ def mcts_evaluation(depth, else: overall_termination_reason_list[reason] = [count] - print("\nTrial {}: Reward = (Avg: {}, Std: {}), Successes: {}/{}".\ - format(num_tr, np.mean(reward_list), np.std(reward_list), \ - num_successes, nb_episodes)) + print("\nTrial {}: Reward = (Avg: {:.2f}, Std: {:.2f}), Successes: {}/{}".\ + format(num_tr, np.mean(reward_list), np.std(reward_list), num_successes, nb_episodes)) print("Trial {} Termination reason(s):".format(num_tr)) - for reason, count_list in trial_termination_reason_counter.items(): - count_list = np.array(count_list) - print("{}: Avg: {}, Std: {}".format(reason, np.mean(count_list), - np.std(count_list))) + for reason, count in trial_termination_reason_counter.items(): + print("{}: {}".format(reason, count)) print("\n") overall_reward_list += reward_list - overall_success_accuracy += [num_successes * 1.0 / nb_episodes] + overall_success_percent_list += [num_successes * 100.0 / nb_episodes] print("===========================") - print('Overall: Reward = (Avg: {}, Std: {}), Success = (Avg: {}, Std: {})\n'.\ + print('Overall: Reward = (Avg: {:.2f}, Std: {:.2f}), Success = (Avg: {:.2f}, Std: {:.2f})\n'.\ format(np.mean(overall_reward_list), np.std(overall_reward_list), - np.mean(overall_success_accuracy), np.std(overall_success_accuracy))) + np.mean(overall_success_percent_list), np.std(overall_success_percent_list))) print("Termination reason(s):") for reason, count_list in overall_termination_reason_list.items(): count_list = np.array(count_list) - print("{}: Avg: {}, Std: {}".format(reason, np.mean(count_list), - np.std(count_list))) + while count_list.size != nb_trials: + count_list = np.append(count_list, 0) + + print("{}: Avg: {:.2f}, Std: {:.2f}".format(reason, np.mean(count_list), np.std(count_list))) + if __name__ == "__main__": parser = argparse.ArgumentParser() diff --git a/options/simple_intersection/maneuver_base.py b/options/simple_intersection/maneuver_base.py index c680f334dae91839b45a7a8580b8c5b85639f707..9f09d0dbcb52a2a8be8b79509ed2e13ba09a6be1 100644 --- a/options/simple_intersection/maneuver_base.py +++ b/options/simple_intersection/maneuver_base.py @@ -1,8 +1,8 @@ import numpy as np import gym -import env.simple_intersection.road_geokinemetry as rd -from env.simple_intersection.constants import DT, MAX_ACCELERATION, MAX_STEERING_ANGLE_RATE, MAX_STEERING_ANGLE -from env import EpisodicEnvBase +import worlds.simple_intersection.road_geokinemetry as rd +from worlds.simple_intersection.constants import DT, MAX_ACCELERATION, MAX_STEERING_ANGLE_RATE, MAX_STEERING_ANGLE +from worlds import EpisodicEnvBase class ManeuverBase(EpisodicEnvBase): diff --git a/options/simple_intersection/maneuvers.py b/options/simple_intersection/maneuvers.py index b532dcc9181458368fada05c18edc9d2f7bb03f1..b42b03d067cf56a9a2a9692defba0bd1a61548d9 100644 --- a/options/simple_intersection/maneuvers.py +++ b/options/simple_intersection/maneuvers.py @@ -1,7 +1,7 @@ from .maneuver_base import ManeuverBase -from env.simple_intersection.constants import * -import env.simple_intersection.road_geokinemetry as rd -from env.simple_intersection.features import extract_ego_features, extract_other_veh_features +from worlds.simple_intersection.constants import * +import worlds.simple_intersection.road_geokinemetry as rd +from worlds.simple_intersection.features import extract_ego_features, extract_other_veh_features from verifier.simple_intersection import LTLProperty import numpy as np @@ -94,7 +94,7 @@ class Halt(ManeuverBase): # (currently, this functionality is implemented by "not self._enable_low_level_training_properties") self._LTL_preconditions.append( LTLProperty( - "G ( (veh_ahead and before_but_close_to_stop_region) U highest_priority )", + "G ( (veh_ahead and close_to_stop_region) U highest_priority )", None, not self._enable_low_level_training_properties)) self._LTL_preconditions.append( @@ -166,10 +166,10 @@ class Stop(ManeuverBase): LTLProperty("G ( not has_stopped_in_stop_region )", self._penalty(self._reward_in_goal), not self._enable_low_level_training_properties)) - # before_intersection rather than "before_but_close_to_stop_region or in_stop_region"? + # before_intersection rather than "close_to_stop_region or in_stop_region"? self._LTL_preconditions.append( LTLProperty( - "G ( (before_but_close_to_stop_region or in_stop_region) U has_stopped_in_stop_region )", + "G ( (close_to_stop_region or in_stop_region) U has_stopped_in_stop_region )", self._penalty_in_violation)) self._LTL_preconditions.append( @@ -485,7 +485,7 @@ class Follow(ManeuverBase): def _init_LTL_preconditions(self): self._LTL_preconditions.append( - LTLProperty("G ( veh_ahead U (in_stop_region or before_but_close_to_stop_region ) )", self._penalty_for_out_of_range)) + LTLProperty("G ( veh_ahead U (in_stop_region or close_to_stop_region ) )", self._penalty_for_out_of_range)) self._LTL_preconditions.append( LTLProperty( diff --git a/ppo2_training.py b/ppo2_training.py index 269b7fdef3a88c875915697ce6a8494d00e4fb55..4560238fe5ef3057140031523b1816770491d254 100644 --- a/ppo2_training.py +++ b/ppo2_training.py @@ -1,5 +1,5 @@ -from env.simple_intersection import SimpleIntersectionEnv -from env.simple_intersection.constants import * +from worlds.simple_intersection import SimpleIntersectionEnv +from worlds.simple_intersection.constants import * from options.options_loader import OptionsGraph from backends.baselines_learner import PPO2Agent diff --git a/verifier/simple_intersection/AP_dict.py b/verifier/simple_intersection/AP_dict.py index b72fe8695d483d9473b53d85314d5b00a2769076..bb8c921050a6f815fbc4f6b6c7d68d86a56b48b8 100644 --- a/verifier/simple_intersection/AP_dict.py +++ b/verifier/simple_intersection/AP_dict.py @@ -4,7 +4,7 @@ # * in_stop_region: True if the veh. is in stop region # * has_entered_stop_region: True if the veh. has entered or passed the stop # region -# * before_but_close_to_stop_region: True if the veh. is before but close +# * close_to_stop_region: True if the veh. is before but close # to the stop region # * stopped_now: True if the veh. is now stopped # * has_stopped_in_stop_region: True if the veh. has ever stopped in the @@ -26,7 +26,7 @@ AP_dict_simple_intersection = { 'in_stop_region': 0, 'has_entered_stop_region': 1, - 'before_but_close_to_stop_region': 2, + 'close_to_stop_region': 2, 'stopped_now': 3, 'has_stopped_in_stop_region': 4, 'in_intersection': 5, diff --git a/env/__init__.py b/worlds/__init__.py similarity index 100% rename from env/__init__.py rename to worlds/__init__.py diff --git a/env/env_base.py b/worlds/env_base.py similarity index 100% rename from env/env_base.py rename to worlds/env_base.py diff --git a/env/road_env.py b/worlds/road_env.py similarity index 100% rename from env/road_env.py rename to worlds/road_env.py diff --git a/env/simple_intersection/__init__.py b/worlds/simple_intersection/__init__.py similarity index 100% rename from env/simple_intersection/__init__.py rename to worlds/simple_intersection/__init__.py diff --git a/env/simple_intersection/constants.py b/worlds/simple_intersection/constants.py similarity index 100% rename from env/simple_intersection/constants.py rename to worlds/simple_intersection/constants.py diff --git a/env/simple_intersection/features.py b/worlds/simple_intersection/features.py similarity index 100% rename from env/simple_intersection/features.py rename to worlds/simple_intersection/features.py diff --git a/env/simple_intersection/graphics/background.png b/worlds/simple_intersection/graphics/background.png similarity index 100% rename from env/simple_intersection/graphics/background.png rename to worlds/simple_intersection/graphics/background.png diff --git a/env/simple_intersection/graphics/car_agent.png b/worlds/simple_intersection/graphics/car_agent.png similarity index 100% rename from env/simple_intersection/graphics/car_agent.png rename to worlds/simple_intersection/graphics/car_agent.png diff --git a/env/simple_intersection/graphics/ego_vehicle.png b/worlds/simple_intersection/graphics/ego_vehicle.png similarity index 100% rename from env/simple_intersection/graphics/ego_vehicle.png rename to worlds/simple_intersection/graphics/ego_vehicle.png diff --git a/env/simple_intersection/graphics/ego_vehicle.svg b/worlds/simple_intersection/graphics/ego_vehicle.svg similarity index 100% rename from env/simple_intersection/graphics/ego_vehicle.svg rename to worlds/simple_intersection/graphics/ego_vehicle.svg diff --git a/env/simple_intersection/graphics/other_vehicle.svg b/worlds/simple_intersection/graphics/other_vehicle.svg similarity index 100% rename from env/simple_intersection/graphics/other_vehicle.svg rename to worlds/simple_intersection/graphics/other_vehicle.svg diff --git a/env/simple_intersection/graphics/road_texture.png b/worlds/simple_intersection/graphics/road_texture.png similarity index 100% rename from env/simple_intersection/graphics/road_texture.png rename to worlds/simple_intersection/graphics/road_texture.png diff --git a/env/simple_intersection/road_geokinemetry.py b/worlds/simple_intersection/road_geokinemetry.py similarity index 100% rename from env/simple_intersection/road_geokinemetry.py rename to worlds/simple_intersection/road_geokinemetry.py diff --git a/env/simple_intersection/road_networks.py b/worlds/simple_intersection/road_networks.py similarity index 100% rename from env/simple_intersection/road_networks.py rename to worlds/simple_intersection/road_networks.py diff --git a/env/simple_intersection/shapes.py b/worlds/simple_intersection/shapes.py similarity index 97% rename from env/simple_intersection/shapes.py rename to worlds/simple_intersection/shapes.py index d814290c023417716385c3ba45b1cd340d01ee88..f3fd3f8f5cd999fdc8e90ce25c455424d2537b0b 100644 --- a/env/simple_intersection/shapes.py +++ b/worlds/simple_intersection/shapes.py @@ -103,8 +103,7 @@ class Image(Shape): group), "car" (represents a car) """ - self.image = pyglet.image.load('env/simple_intersection/graphics/' + - image_url) + self.image = pyglet.image.load('worlds/simple_intersection/graphics/' + image_url) if anchor is None: self.image.anchor_x = self.image.width // 2 diff --git a/env/simple_intersection/simple_intersection_env.py b/worlds/simple_intersection/simple_intersection_env.py similarity index 99% rename from env/simple_intersection/simple_intersection_env.py rename to worlds/simple_intersection/simple_intersection_env.py index f310fc0490801afc256097ea6b168b0ec5f0788a..9f104fdafed99af22d636fa703d9ad7102b40d06 100644 --- a/env/simple_intersection/simple_intersection_env.py +++ b/worlds/simple_intersection/simple_intersection_env.py @@ -2,7 +2,7 @@ import pyglet import gym from copy import deepcopy -from env import RoadEnv, EpisodicEnvBase +from worlds import RoadEnv, EpisodicEnvBase from .vehicles import Vehicle from .utilities import calculate_s, calculate_v_max @@ -1238,7 +1238,7 @@ class SimpleIntersectionEnv(RoadEnv, EpisodicEnvBase): info = "Ego Attributes:" + get_APs( self, EGO_INDEX, 'in_stop_region', 'has_entered_stop_region', 'has_stopped_in_stop_region', - 'before_but_close_to_stop_region', 'intersection_is_clear', + 'close_to_stop_region', 'intersection_is_clear', 'stopped_now', 'in_intersection', 'over_speed_limit', 'on_route', 'highest_priority', 'intersection_is_clear', 'veh_ahead', 'lane') + \ diff --git a/env/simple_intersection/utilities.py b/worlds/simple_intersection/utilities.py similarity index 100% rename from env/simple_intersection/utilities.py rename to worlds/simple_intersection/utilities.py diff --git a/env/simple_intersection/vehicle_networks.py b/worlds/simple_intersection/vehicle_networks.py similarity index 100% rename from env/simple_intersection/vehicle_networks.py rename to worlds/simple_intersection/vehicle_networks.py diff --git a/env/simple_intersection/vehicles.py b/worlds/simple_intersection/vehicles.py similarity index 98% rename from env/simple_intersection/vehicles.py rename to worlds/simple_intersection/vehicles.py index a614b0a5d0f2202b3d318b593418b55f10e5d38d..3b749d532f163bc259b7101ec7946967d93f46e9 100644 --- a/env/simple_intersection/vehicles.py +++ b/worlds/simple_intersection/vehicles.py @@ -273,7 +273,7 @@ class Vehicle(VehicleState): self.APs[ 'has_entered_stop_region'] = self.APs['has_entered_stop_region'] or self.APs['in_stop_region'] self.APs[ - 'before_but_close_to_stop_region'] = True if rd.hlanes.near_stop_region <= self.x < rd.hlanes.stop_region[0] else False + 'close_to_stop_region'] = True if rd.hlanes.near_stop_region <= self.x < rd.hlanes.stop_region[0] else False self.APs[ 'parallel_to_lane'] = True if -0.1 <= self.theta <= 0.1 else False @@ -289,7 +289,7 @@ class Vehicle(VehicleState): self.APs[ 'has_entered_stop_region'] = True if rd.vlanes.stop_region[0] <= self.y else False self.APs[ - 'before_but_close_to_stop_region'] = True if rd.vlanes.near_stop_region <= self.y < rd.vlanes.stop_region[0] else False + 'close_to_stop_region'] = True if rd.vlanes.near_stop_region <= self.y < rd.vlanes.stop_region[0] else False theta_v = -np.sign(rd.vlanes.start_pos) * np.pi / 2.0 self.APs[ 'parallel_to_lane'] = True if theta_v - 0.1 <= self.theta <= theta_v + 0.1 else False