This project presents an autonomous intersection management (AIM) system designed for an isolated intersection with mixed traffic, including both Connected and Automated Vehicles (CAVs) and Human-driven Vehicles (HVs). The core of the method is a novel control strategy based on a Dynamic Vehicle Priority Tree (DVPT) and the concept of Shadow Vehicles to guide vehicle trajectories.
This code is an implementation of the research described in our paper. If you use this code in your work, please cite:
[Author Name(s)] (Year). [Paper Title - An Autonomous Intersection Management (AIM) Approach...]. [Journal/Conference]. [Link to be updated]
-
Clone the repository:
git clone https://github.com/Piyono/IntersectionShadow.git cd IntersectionShadow -
(Optional) Create and activate a virtual environment using Anaconda. The recommended Python version is 3.10 or higher.
conda create -n IntersectionShadow python=3.10 conda activate IntersectionShadow
-
Install the required dependencies:
pip install -r requirements.txt
You can run the simulation using main.py.
Alternatively, you can directly download the compiled executable file from the releases page (currently only supports Windows systems).
There are two main methods available: dvpt (the proposed AIM method) and atsc (Adaptive Traffic Signal Control). The atsc method is a conventional signal-based method for comparison, implemented based on the following paper:
@ARTICLE{8643726,
author={Kamal, Md Abdus Samad and Hayakawa, Tomohisa and Imura, Jun-ichi},
journal={IEEE Transactions on Intelligent Transportation Systems},
title={Development and Evaluation of an Adaptive Traffic Signal Control Scheme Under a Mixed-Automated Traffic Scenario},
year={2020},
volume={21},
number={2},
pages={590-602},
doi={10.1109/TITS.2019.2896943}
}
To run the simulation with the default dvpt method:
python main.pyTo run with the atsc method for comparison:
python main.py --method atscYou can specify various parameters to control the simulation. For example, to run with a higher traffic volume and save a video of the output:
python main.py --method dvpt --volume 700 --penetration_rate 0.6 --total_time 300 --save_video TrueFor a full list of available parameters and their descriptions, run:
python main.py --helpThe simulation can generate different types of videos to visualize the results for both the DVPT and ATSC methods.
The proposed DVPT method offers a variety of visualization modes:
- Default View: This view provides a clean overview of vehicle movements without extra informational overlays.
- Detailed View: For a more in-depth analysis, this view displays all simulation elements, including the dynamic vehicle priority tree and the corresponding shadow vehicles.
For comparison, the visualization for the ATSC method shows the traffic flow managed by traffic lights.



