
This part covers:
1. Install Simulation of Urban Mobility (SUMO)
2. Set Up SUMO Environment Variables
3. Install Notepad++
4. SUMO User Interfaces
5. Create a Simple Network with Car Traffic Demand
6. Add Opposite Traffic Flow
This Part Covers:
1. Add Traffic Flow
2. Intersection - Unsignalized
3. Intersection - Signalized
This part covers:
SUMO Files Explanation including
1. ".net.xml" Network (Roads and Traffic Signal)
2. ".rou.xml" Demand (Traffic for example Cars)
3. ".sumocfg" Visualization Interface
Naming Network and Demands
This part covers:
1. SUMO Files and Configuration
2. Edge and Junction
3. Element of Edge (Street including number of lanes)
4. Elements of Junction (including traffic light, connections, right of way)
5. File of *.net.xml
6. NetEdit Modules (Inspect, Target Lane, Create Sidewalk, Bus Lane, HOV lane)
7. NetEdit Modules (Compute Junctions, Reset junction shape, Change Width )
This part covers:
1. SUMO Delay which is Simulation Speed
2. SUMO Step Length which is Simulation Frequency
This part covers:
1. Import a Real-World GIS Map - A Real Intersection in North America
2. Georeferencing the GIS in SUMO
3. Develop Intersection including lanes, storage, upstream/downstream.
This part covers:
1. Connect Python to SUMO using TraCI
2. Exercise 1: Read and print the speed of a vehicle
3. Exercise 2: Take control of a vehicle and move it through code
4. Exercise 3: Extract average speed or speed limit information from SUMO links
This bonus lecture includes links to additional SUMO traffic simulation tutorials and learning resources for continued study beyond this course
This course provides a practical introduction to Simulation of Urban MObility (SUMO), a popular open-source tool for modeling and analyzing traffic scenarios. I explain from scratch - from installation to creating a road network on a GIS map - and extend all the way to Python-based external control using TraCI.
Part 1: SUMO Quick Start
Part 1.1: Installation and Creating a Simple Network Learn how to install SUMO on your system and set up a basic traffic network from scratch. This part covers:
Add Traffic Flow
Intersection - Unsignalized
Intersection - Signalized
Part 1.2: Create a Simple Network: Add Cars and Intersection Extend your network with traffic demand, including cars, and set up both unsignalized and signalized intersections. This part covers:
Add Traffic Flow
Intersection - Unsignalized
Intersection - Signalized
Part 1.3: SUMO Files and Naming Network and Demands Understand the different SUMO file types and learn best practices for naming networks and traffic demands. This part covers:
SUMO Files Explanation:
.net.xml - Network (Roads and Traffic Signals)
.rou.xml - Demand (Traffic, e.g., Cars)
.sumocfg - Visualization Interface
Naming Conventions for Networks and Demands
Part 2: SUMO NetEdit: Road Network Creation
Part 2.1: SUMO NetEdit: QuickStart Get hands-on with NetEdit to quickly create and modify your SUMO network layout. This part covers:
SUMO Files and Configuration
Edge and Junction
Elements of Edge (Street including number of lanes)
Elements of Junction (including traffic light, connections, right of way)
File structure of *.net.xml
NetEdit Modules (Inspect, Target Lane, Compute Junctions, Reset Junction Shape, Change Width)
Part 2.2: SUMO Step Length, Delay, and Lane Changing Explore how to customize simulation parameters to capture realistic traffic flows. This part covers:
SUMO Delay - Simulation Speed
SUMO Step Length - Simulation Frequency
Part 2.3: SUMO NetEdit: How to Create and Edit Network on a GIS Map Discover how to import and overlay GIS data into NetEdit, enabling you to design and adjust your network directly on a real-world map. This part covers:
Import a Real-World GIS Map - A Real Intersection in North America
Georeferencing the GIS in SUMO
Develop Intersection including Lanes, Storage, Upstream/Downstream
Part 3: SUMO TraCI: External Python Control
Part 3.1: SUMO TraCI (External Python Code) Learn how to connect Python to SUMO using the Traffic Control Interface (TraCI) for dynamic, programmatic simulation control. This part covers:
Connect Python to SUMO using TraCI
Exercise 1: Read and print the speed of a vehicle
Exercise 2: Take control of a vehicle and move it through code
Exercise 3: Extract average speed or speed limit information from SUMO links
Part 4: Bonus Resources
Part 4.1: Bonus Lecture: More SUMO Tutorials
This bonus lecture includes additional SUMO tutorials and learning resources for continued study beyond this course.
There are several other parts but free course is max two hours according to Udemy policy (check my website in profile)