In this project I developed a multi thread traffic simulator in which vehicles are moving along streets and crossing intersections. Each intersection is equipped with a traffic light, traffic lights are needed for road safety. In this project I built a suitable and thread-safe communication protocol between vehicles and intersections to complete the simulation.
For this project I used Modern C++ with concurrency safe guards like:
- Mutexes
- Locks
- Message Queues
- 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
.