This repo provides the implementation of MA-IDM and Bayesian IDM in ''Bayesian Calibration of Intelligent Driver Model,'' as well as the dynamic IDM (AR+IDM) in our latest paper "Calibrating Car-following Models via Bayesian Dynamic Regression." Besides, the repo provides the implementation of the multi-vehicle ring-road simulations.
We calibrate our model on highD dataset. The preprocessed data are stored
in data/cache/*.pkl
. To implement your preprocessing procedures, please download and store the original data in
the data/highD
folder, e.g., it should contain data/highD/**_tracks.csv
, data/highD/**_tracksMeta.csv
, and data/highD/**_recordingMeta.csv
.
We develop the probabilistic graphical models (PGMs) with PyMC. Please install PyMC4 by following their instructions:
conda create -c conda-forge -n pymc_env "pymc=4"
conda activate pymc_env
The PGMs in this work are implemented
in: PGM_highD/Bayesian_IDM_(hierarchy)_(driver_type).ipynb
, PGM_highD/MA_IDM_(hierarchy)_(driver_type).ipynb
,
and PGM_highD/AR_IDM_(hierarchy)_(driver_type).ipynb
;
To visualize the result and conduct the single-vehicle stochastic
simulations: PGM_highD(_joint)/Stochastic_simulation_GP.ipynb
and PGM_highD(_joint)/Stochastic_simulation_AR.ipynb
;
To conduct the multi-vehicle ring-road simulations, run Simulator/simulation_ring.py
- Access our project via: GP+IDM [arXiv] and AR+IDM [arXiv].
- Presentation: [recording].
- What is LKJ Cholesky Covariance Priors: https://www.pymc.io/projects/examples/en/latest/case_studies/LKJ.html.
If you have any questions, please feel free to contact us: Chengyuan Zhang ([email protected]) and Lijun Sun ([email protected]).