Uvod
SUMO je besplatni program otvorenog koda namijenjen mikroskopskoj simulaciji prometa koja uključuje vozila, javni prijevoz i pješake. Osim osnovne mogućnosti stvaranja i simulacije prometnih eksperimenata, SUMO pruža sijaset alata koji pružaju funkcionalnosti poput vizualizacije, unošenja javno dostupnih podataka, te analizu zagušenosti ili emisija.
Prominentniji/tipični slučajevi uporabe:
- Prognoza prometa u gradu Köln 2005. godine uoči posjeta Pape Benedikta 16.
- Izrada i procjena rasporeda signalizacije prometnim svjetlima
- Analiza i razvoj ekološki optimalnijih ruta temeljem simulacije zagušenosti
- Analiza utjecaja individualnih ili flota autonomnih vozila na promet
Dostupne verzije
verzija | modul | paralelna okolina |
---|
1.14.1 | sumo/1-14-1 | - |
Primjeri korištenja
Ispod su navedeni primjeri korištenja:
- Hello SUMO - Osnovna Hello SUMO simulacija
- Grid test - Simulacija prometa na mreži raskrižja
- Grid test array - Simulacija prometa na mreži raskrižja putem polja poslova
Hello SUMO
#$ -cwd
#$ -e output/
#$ -o output/
# activate
module load sumo/1-14-1
# prepare net
netconvert \
--node-files hello.nod.xml \
--edge-files hello.edg.xml \
--output-file hello.net.xml
# run
sumo -c hello.sumocfg \
--statistic-output hello.statistic.out \
--tripinfo-output hello.tripinfo.out
<nodes>
<node id="1" x="-250.0" y="0.0" />
<node id="2" x="+250.0" y="0.0" />
<node id="3" x="+251.0" y="0.0" />
</nodes>
<edges>
<edge from="1" id="1to2" to="2" />
<edge from="2" id="out" to="3" />
</edges>
<configuration>
<input>
<net-file value="hello.net.xml"/>
<route-files value="hello.rou.xml"/>
</input>
<time>
<begin value="0"/>
<end value="10000"/>
</time>
</configuration>
Grid test
#$ -cwd
#$ -e output/
#$ -o output/
# activate
module load sumo/1-14-1
# generate grid
netgenerate --grid \
--grid.number 4 \
--grid.length 50 \
--output-file grid.net.xml
# randomTrips
python3 $SUMO_HOME/tools/randomTrips.py \
-n grid.net.xml \
-o grid.flows.xml \
--begin 0 \
--end 1 \
--period 1 \
--flows 200
# routes
jtrrouter \
--route-files grid.flows.xml \
--net-file grid.net.xml \
--output-file grid.rou.xml \
--begin 0 \
--end 10000 \
--randomize-flows true \
--remove-loops true \
--accept-all-destinations
# generateContinuousRerouters
python3 $SUMO_HOME/tools/generateContinuousRerouters.py \
--end 10000 \
-n grid.net.xml \
-o grid.rerouter.xml
# run
sumo -W -c grid.sumocfg --duration-log.statistics
<configuration>
<input>
<net-file value="grid.net.xml"/>
<route-files value="grid.rou.xml"/>
<additional-files value="grid.rerouter.xml"/>
</input>
<time>
<begin value="0"/>
<end value="10000"/>
</time>
</configuration>
Grid test array
#$ -cwd
#$ -e output/
#$ -o output/
#$ -t 10:10:500
# activate
module load sumo/1-14-1
# generate grid
netgenerate --grid \
--grid.number 4 \
--grid.length 50 \
--output-file grid.net.xml
# randomTrips
python3 $SUMO_HOME/tools/randomTrips.py \
-n grid.net.xml \
-o grid.flows.xml \
--begin 0 \
--end 1 \
--period 1 \
--flows $SGE_TASK_ID
# routes
jtrrouter \
--route-files grid.flows.xml \
--net-file grid.net.xml \
--output-file grid.rou.xml \
--begin 0 \
--end 10000 \
--randomize-flows true \
--remove-loops true \
--accept-all-destinations
# generateContinuousRerouters
python3 $SUMO_HOME/tools/generateContinuousRerouters.py \
--end 10000 \
-n grid.net.xml \
-o grid.rerouter.xml
# run
sumo -W -c grid.sumocfg --duration-log.statistics
Rezultati
Broj vozila | Srednja brzina |
---|
100 | 5.62 |
200 | 5.91 |
300 | 4.72 |
400 | 3.23 |
500 | 3.12 |