/Traffix

Dynamic Traffic Light Control and Traffic Simulation

Primary LanguageC++GNU General Public License v3.0GPL-3.0

SE 101 Fall 2017

Group 22 - Brooke Mackenzie Dolny (bmdolny), Navraj Singh Chhina (nschhina), Wesley Alexander Ting-Zhang Leung (watleung)

Deadlines

  • Thursday, October 5th: Purchase Orders Placed
  • Thursday, October 12th, 12:30pm: Draft Proposal and Prototype Plane
  • Thursday, October 12th, 9:00pm: Revised Proposal and Prototype Plan
  • Thursday, October 26th, 11:30am: Git Assignment (Merging)
  • Thursday, October 26th, 11:30am: First Prototype (Tagged in Git)
  • Thursday, November 23rd, 11:30am: Final Project

Tasks

Stage 1: Framework

Target Date: Sunday, October 22nd

  • create structures for roads, intersections, traffic lights (Wesley)
  • create structures for Graph (Wesley)
  • implement algorithms Dijkstra's Shortest Path (Wesley)
  • develop first iteration of optimization algorithm to determine traffic light timing, taking into account the flow of traffic, 3-way intersections, left turn signals (Navraj)
  • mapped out grid layout for prototype (Brooke)

Stage 2: Basic Prototype

Target Date: Thursday, October 26th

  • create structure for cars (Wesley)
  • random car spawner and random destinations (Wesley)
  • implement pre-timed traffic light system (Wesley)
  • implement grid layout of city (Brooke)
  • display traffic map of city in console (Wesley)
  • working simulation

Stage 3: Prototype Improvements

Target Date: Sunday, November 5th

  • efficiency calculator (Wesley)
  • take one-way roads into account (Wesley)
  • develop model for speed of cars based on congestion (Navraj)
  • small random factor of speed of cars (Wesley)
  • implement first iteration of optimization algorithm (Wesley)
  • basic display of flow of vehicles on roads (Brooke)

Stage 4: Graphical Display and Traffic Light Synchronization

Target Date: Sunday, November 19th

  • program should be able to run from a Raspberry Pi connected to an LCD screen (Brooke)
  • display traffic map of city on an LCD screen (Brooke)
  • display additional information such as the volume of vehicles, average travel time, congestion level of a specific roads (Brooke)
  • improve optimization algorithm to synchronize traffic lights (Wesley)
  • non grid layouts supported (Wesley and Brooke)
  • scrolling map (Brooke)
  • U-Turns (Wesley)

Stage 5: Final Demo, Optimizing Performance

Target Date: Thursday, November 23rd

  • improve graphical display (Brooke)
  • increased random factor of cars (Wesley)
  • increase city size (Brooke and Wesley)
  • optimize performance of simulation (Wesley)

Stretch Tasks

Only if there is time

  • connect secondary display
  • implement secondary display for city
  • allow user to control speed of simulation
  • allow user to add cars, select destination, change road layout
  • allow user to make slight modifications to the algorithm (such as how quickly it responds to changes in the environment)
  • allow user to follow a vehicle
  • pedestrian traffic
  • non-controlled intersections (no traffic lights)
  • accidents, road closures, weather
  • drivers not following rules
  • add option to model traffic based on time of day