Skip to content
Snippets Groups Projects
Commit 80d4a184 authored by Erik Nygren's avatar Erik Nygren :bullettrain_front:
Browse files

fixed errors in random node distribution

parent f8154794
No related branches found
No related tags found
No related merge requests found
......@@ -37,8 +37,8 @@ env = RailEnv(width=50,
min_node_dist=15, # Minimal distance of nodes
node_radius=4, # Proximity of stations to city center
seed=15, # Random seed
grid_mode=True,
connection_points_per_side=3,
grid_mode=False,
max_connection_points_per_side=2,
max_nr_connection_directions=4,
),
schedule_generator=sparse_schedule_generator(),
......
......@@ -533,7 +533,7 @@ def random_rail_generator(cell_type_relative_proportion=[1.0] * 11) -> RailGener
def sparse_rail_generator(num_cities=5, num_trainstations=2, min_node_dist=20, node_radius=2,
grid_mode=False, connection_points_per_side=4,
grid_mode=False, max_connection_points_per_side=4,
max_nr_connection_directions=2,
seed=0) -> RailGenerator:
"""
......@@ -598,7 +598,7 @@ def sparse_rail_generator(num_cities=5, num_trainstations=2, min_node_dist=20, n
# Set up connection points for all cities
connection_points, connection_info = _generate_node_connection_points(node_positions, node_radius,
connection_points_per_side,
max_connection_points_per_side,
max_nr_connection_directions)
# Connect the cities through the connection points
......@@ -821,7 +821,11 @@ def sparse_rail_generator(num_cities=5, num_trainstations=2, min_node_dist=20, n
# Connect train station to random nodes
rand_corner_nodes = np.random.choice(range(len(connection_points[trainstation_node])), 2, replace=False)
if len(connection_points[trainstation_node]) > 1:
rand_corner_nodes = np.random.choice(range(len(connection_points[trainstation_node])), 2,
replace=False)
else:
rand_corner_nodes = [0]
for corner_node_idx in rand_corner_nodes:
connection = connect_nodes(rail_trans, grid_map,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment