This is the project for the fourth course in the Udacity C++ Nanodegree Program: Concurrency.
Throughout the Concurrency course, we developed a traffic simulation in which vehicles were moving along streets and crossing intersections. However, with increasing traffic in the city, traffic lights were required for road safety. Each intersection will therefore be equipped with a traffic light. Here, we built a thread-safe communication protocol between vehicles and intersections to complete the simulation.
- cmake >= 2.8
- All OSes: click here for installation instructions
- make >= 4.1 (Linux, Mac), 3.81 (Windows)
- Linux: make is installed by default on most Linux distros
- Mac: install Xcode command line tools to get make
- Windows: Click here for installation instructions
- OpenCV >= 4.1
- The OpenCV 4.1.0 source code can be found here
- gcc/g++ >= 5.4
- Linux: gcc / g++ is installed by default on most Linux distros
- Mac: same deal as make - install Xcode command line tools
- Windows: recommend using MinGW
- Clone this repo.
- Make a build directory in the top level directory:
mkdir build && cd build
- Compile:
cmake .. && make
- Run it:
./traffic_simulation
.