NAAIMS is a modular automated intersection management (AIM) simulator. This package aims to support different priority policies, tiling strategies, intersection shapes, counts, lane changing, and stochastic vehicle movements while maintaining otherwise consistent behavior to allow for direct comparisons between simulator setups.
This (hopefully) readable and extensible open source implementation is intended to encourage collaborative, rapid development of new ideas in autonomous intersection management.
Run NAAIMS by selecting one of the scenarios in scenarios/
, which will build an intersection configuration, load it, and start the simulator.
Development goals ordered loosely by priority
- Simulate a single intersection using
- square tiles and the FCFS priority policy (complete)
- traffic signal phases
- a newly developed priority auction policy
- using a modified Carlino 2013 auction
- a new reservation system that allows for stochastic reservations to account for imprecise (human-controlled) trajectories
- conflict arc tiles
- Scale up simulation size
- Simulate a small cluster of intersections (i.e., implement connected intersections and associated lane-changing behavior)
- Simulate a large network of intersections (i.e., city-scale)
- Develop an extensible API to hook into other open-source traffic simulators like SUMO
This project follows PEP8 style using the following linters and formatters:
- pylint
- mypy
- pycodestyle
- autopep8