-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsimConfig_mm.py
More file actions
63 lines (52 loc) · 5.07 KB
/
simConfig_mm.py
File metadata and controls
63 lines (52 loc) · 5.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/env python
import os
results_folder_path = os.path.join("results") # path where simulation results are stored
scenarios = {
"test": os.path.join("scenarios", "taxiTesting2", "taxiTesting2.sumocfg"),
"Ingolstadt": os.path.join("scenarios", "Ingolstadt", "simulation", "scooters_5_uam_hubs_24h_sim.sumocfg"),
"Ulm": os.path.join("scenarios", "Ulm", "5_uam_hubs_osm.sumocfg"),
"Manhattan": os.path.join("scenarios", "manhattan", "5_uam_hubs_manhattan.sumocfg"),
"disconnected": os.path.join("scenarios", "Ingolstadt", "simulation", "removed_connections.sumocfg")
}
scenario = "Ingolstadt"
no_gui = False # whether sumo should be run using sumo-gui or on command line
step_length = 1 # granularity of simulation. Defines the step length in seconds
loop = False # whether the simulation should be run multiple times in a row, looping through densities
exact_distance_calculation = False # whether the exact distance should be calculated when determining the distance between an escooter to all other pedestrians on the same lane
seconds_to_simulate = 7200 # maximum amount of seconds simulated
verbosity = 2 # verbosity of command line output: 0 = NONE, 1 = SPARSE, 2 = NORMAL, 3 = VERBOSE
lateral_resolution = 0.7 # divides the lanes into x meter wide strips, necessary for bicycles to be able to pass vehicles on the right side of the road. 0.7 allows normal bicycles (width 0.65) to pass
conversion_vClasses = ['passenger', 'private', 'motorcycle', 'moped', 'evehicle', 'hov'] # list of vClasses eligible for conversion to uam/mm users
#--- Micromobility settings ---#
escooter_lane_change_duration = 10 # number of seconds the escooter stays on the selected lane
escooter_lane_find_frequency = 12 # every x seconds escooter find their most comfortable lane, should be a multiple of step_length; ; should be higher than escooter_lane_change_duration
escooter_sidewalk_occupancy_threshold = 0.033 # threshold to determine if there is a high occupancy on a sidewalk (number of pedestrians per meter) 0.033 means one ped every 30m
escooter_road_occupancy_threshold = 0.05 # threshold to determine if there is a high occupancy on a road
escooter_road_speed_threshold = 10 # threshold to determine if the traffic is fast moving (in m/s)
escooter_road_vehicle_length_threshold = 7 # threshold to determine if the vehicles on the road are considered large (in meters), default vehicle is 5m
log_escooter_ped_distance_threshold = 2 # maximum distance between any escooter and pedestrian to log the encounter
#--- loop and density settings ---#
mm_step_size = 0.0 # default step size for each loop iteration for the micromobility user density in the simulation
mm_start_density = 0.2 # default start micromobility density when looping through multiple simulations
mm_upper_bound = 0.5 # default upper bound for the micromobility user density when looping through multiple simulations
mm_density = mm_start_density
#--- Logging ---#
# The following variables decide if the appropriate result file will be written or not (after the simulation)
outputFilesActive = True # If false, turns off all following output files:
statsOutput = True # more overall statistics of the entire simulation
summaryOutput = True # information about the current state of the simulation (vehicle count etc.)
tripinfoOutput = True # aggregated information about each vehicle's journey (optionally with emission data)
vehroutesOutput = True # information about each vehicle's routes over simulation run
personsummaryOutput = True # information about the current state of persons the simulation (person count etc.)
fullOutput = False # various information for all edges, lanes and vehicles (good for visualization purposes)
ndumpOutput = False # contains detailed information for each edge, each vehicle and each simulation step
fcdOutput = False # Floating Car Data includes name, position, angle and type for every vehicle
queueOutput = False # lane-based calculation of the actual tailback in front of a junction
edgedataOutput = False # edge-based network performance measures
lanedataOutput = False # lane-based network performance measures
lanechangeOutput = False # Lane changing events with the associated motivation for changing for every vehicle
amitranOutput = False # edge/lane-based network performance measures following the Amitran standard
linkOutput = False # saves debugging data for the intersection model. This data reveals how long each vehicle intends to occupy an upcoming intersection.
personinfoOutput = False # Save person info and container info
emissionOutput = False # emission values of all vehicles for every simulation step
escooter_ped_distance_output = True # check for close encounters of escooters with pedestrians in every step, and log them