Welcome to the SUMO Project! Skip to whatever section pertains to you.
Installing a C++ compiler (Cigwin or MinGW):
- Download the installer at https://cygwin.com/install.html
- (Alternative, MinGW at http://www.mingw.org/category/wiki/download works)
- Run the installer and when picking packages make sure to actually select them (most are selected like Davel)
- Add the directory where it was installed to the Path environment variable (default was c:\cygwin\bin)
- Check correct installation on terminal with some command (e.g. "g++ --version")
Installing eclipse (if you want it as an editor):
- Get “Eclipse IDE for C/C++ Developers� at: http://www.eclipse.org/downloads/
- You might have to install Java Development Kit:
- In Eclipse install the required packages:
- Help => Install New Software => Under the "Work with" drop down menu select "Mars - http://download.eclipse.org/releases/mars"
- Under "Name", expand "Programming Language" => Get any language packages you want (C++, Ruby, Python)
Setting up SUMO:
- Get the downloads at the link below and unzip then:
- Add “dir/sumo/bin� to the environment variable
- Here is a tutorial for learning SUMO:
- For eclipse: Unzip it onto the Eclipse workspace, then create a new C++ project from within eclipse using the same name as the source folder and it will create the project with all the source files.
- This is only necessary if you want to change the SUMO source code
Network Specifics:
After downloading the GitHub package, simply run the simulation using the SUMO GUI by opening the file ‘huntcol.sumocfg’ in the network folder.
You can run and produce various types of output files using command line. Some examples:
- sumo –c huntcol.sumocfg --netstate-dump file.dump
- for raw vehicle location (pretty efficient and readable representation)
- sumo –c huntcol.sumocfg --emission-output file.dump
- extremely large file with emission information, not included in zip
If modifying the network itself, you can re-build it using the following command:
- netconvert –c huntcol.netccfg
Change Simulation
You can set simulation parameters using the 'ParameterGUI.shy' application. In some systems, it is denied from creating a file, in which case you can use the Shoes ruby toolkit to run 'ParameterGUI.rb', or edit the file 'parameters.txt' directly.
- This allows you to set what percent of vehicles are autonomous vs. manual, in addition to setting various properties for both groups of vehicles.
Afterwards, you can create the new route file by running the 'inputConverter.rb' file where the first argument is the network name and the second argument is the duration of the simulation:
- ruby inputConverter.rb huntcol 7200
You can change the range for which the simulation runs by editing the huntcol.sumocfg file lines with ‘begin value’ and ‘end value’
- If lowering the end time from 3600 ticks, there are no issues.
- However, if raising to simulate for longer, you have to generate a longer traffic file using the 'inputConverter.rb' script.
You can reduce the size of the output file by about 60 percent (without sampling) by using the outputProcessor.rb file. The first argument is the network name and the second is the sampling rate (default is 10):
- ruby outputProcessor.rb huntcol 1
Files for traffic signal control will be added in a couple days. There is a placeholder "runner-example.py" file that shows how to do it in a general sense.
Files for platoon formation and control will also be added soon.