How yasmeensarah-2312/traffic-signal-optimization-using-rl works
This repository presents an intelligent traffic-signal optimization project using DQN, SUMO, adaptive control, and ambulance priority. The evidenced runtime path is scenario selection, SUMO simulation, traffic-state observation, and traffic-light phase control; a separate perception script detects vehicles in video and writes lane counts to CSV. The tree advertises RL and ambulance subsystems, but their implementation and connections are not shown in the sampled source, so those links are omitted.
Main entry points: sumo_runner.py Scenario Runner · day2_video_detection.py YOLO Lane Detection · traffic_interface.py Traffic Interface · scenarios SUMO Scenarios
Components 13
Traffic Simulation
- SUMO Scenarios
simulation/sumo/scenarios - SUMO Network
simulation/sumo/single-intersection.net.xml - Scenario Runner
simulation/sumo/sumo_runner.py - Traffic Interface
simulation/sumo/traffic_interface.py - SUMO / TraCI
Control and Priority
- DQN Control
rl - Ambulance Priority
ambulance - Baseline Control
baseline
Video Perception
- Traffic Video
- YOLO Lane Detection
perception/day2_video_detection.py - YOLO Model
Traffic Data
- Lane Counts CSV
Other components
- Operator
Connections 14
- Operator → Scenario Runner: selects scenario
- Scenario Runner → SUMO Scenarios: loads config
- Scenario Runner → SUMO / TraCI: starts simulation
- SUMO / TraCI → Scenario Runner: provides state
- Scenario Runner → SUMO / TraCI: sets phase
- Traffic Interface → SUMO Scenarios: loads config
- Traffic Interface → SUMO / TraCI: starts simulation
- SUMO / TraCI → Traffic Interface: provides state
- Traffic Interface → SUMO / TraCI: sets phase
- SUMO / TraCI → SUMO Network: loads network
- Operator → YOLO Lane Detection: runs analysis
- YOLO Lane Detection → Traffic Video: reads frames
- YOLO Lane Detection → YOLO Model: tracks vehicles
- YOLO Lane Detection → Lane Counts CSV: writes counts