SUMO Traffic Simulator, Learning Traffic Simulation in Just a Few Sessions..
Course Description
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)
