Tools/LISASUMO
LISASumo is a program that allows the exchange of data between LISA+ and SUMO helping to execute more complex traffic controls on the intersections than SUMO originally permits.
LISASumo was built on Java and thus can be run on any operating system. LISASUMO is licensed under the GPL and its current version is the 1.0.0.
Contents
Getting started
The first step consists of creating a LISASumo simulation, which is a directory containing:
- SUMO files (*.add.xml, *.net.xml, *.rou.xml, *.sumocfg, etc)
- A LISASumo configuration file (lisasumo.xml)
- A directory with the LISA+ control units files (exported from LISA+ for Vissim)
You can find a sample project in the current workspace in sampleSimulation.
Configuration file
The LISASumo configuration file is a XML file (always named lisasumo.xml) which contains all necessary information used to control the way that LISA+ communicates with SUMO during the execution of a simulation.
It is basically composed of the mandatory elements input and controlUnits that is composed of the two non-mandatory tags controlUnits and detectors.
Since LISA+ and SUMO use different naming conventions for their elements, the fields controlUnits and detectors tell LISASumo how are they called in each system.
Example:
<simulation>
<input>
<lisa>lisaDirectory</lisa>
</input>
<controlUnits>
<controlUnit lisa="z1_fg1" sumo="gneJ1" >
<signalGroups>
<signalGroup lisa="K1" sumo="0" />
<signalGroup lisa="K2" sumo="1" />
<signalGroup lisa="K3" sumo="2" />
<signalGroup lisa="K4" sumo="3" />
</signalGroups>
<detectors>
<detector lisa="D1" sumo="myLoop1" />
</detectors>
</controlUnit>
<controlUnit lisa="z1_fg2" sumo="gneJ2" >
<signalGroups>
<signalGroup lisa="K1" sumo="0,1,2" />
<signalGroup lisa="K2" sumo="3,4" />
<signalGroup lisa="K3" sumo="5,6,7"/>
<signalGroup lisa="K4" sumo="8" main="K3" />
</signalGroups>
</controlUnit>
</controlUnits>
</simulation>
The configuration file shown above declares the following:
- The LISA+ control unit files are in the directory <SIMULATION_DIRECTORY>/lisaDirectory.
- There are two control units where...
- the first control unit...
- is called z1_fg1 in LISA+ and gneJ1 in SUMO.
- contains one detector.
- matches the LISA+'s control unit z1_fg1 with gneJ1 in SUMO.
- is composed of four signal groups for LISA+ and four for SUMO, it contains one detector too.
- the second control unit...
- is called z1_fg2 in LISA+ and gneJ2 in SUMO.
- contains also four signal groups for LISA+ and 9 for SUMO, where, for example, the LISA+ signal group K2 controls the SUMO signal groups 3 and 4.
- the fourth signal group contains the attribute ifOff set to K3. This means that if the LISA+ signal group K4 is disabled (OFF) at any time of the cycle the SUMO signal group 8 will take the state of K3.
- the first control unit...
Tools
Control Units Management
Use the Control Units Management dialog to set how you want the control units to operate (Menu: Toos -> Control Units Management or Ctrl+M). You can browse the control units by using the first combo box and once selected you can change, for example, its active program or make ir traffic dependent (Verkehrsabhänhig).
If you want to deactivate the communication with LISA+ unclick the check box right of the control units combo box (image below). Per default, the controls units that do not have any Sumo intersection assigned are disabled.
LISA RESTful Server
When starting a simulation an instance of a LISA RESTful server must be running. Per default the LISA RestFUL server files can be found in the directory OmlFgServer. This can be changed in the System Preferences Window (Menu: Tools -> Preferencies). To start an instance go to Menu: Tools -> Start LISA+ RESTful Server.
Simulations directory
Per default, LisaSumo looks for simulations in the simulations directory, which can be found in the instalation directory (.../DLR/LisaSumo/). The simulations directory can be changed in the System Preferences Window (Menu: Tools -> System Preferences).
Miscellaneous
The green problem
While LISA+ only has with one type of green phase, SUMO has two different: g (no priority) and G (priority). When LISA+ reports a green phase for a certain signal group, LISASumo decides which green phase color will send to SUMO by counting the number of Gs and gs in the simulation's net.xml file and choosing the largest one (G has priority).
