From the paper "Traffic Density with Multi-Mode Control Barrier Functions at Scale"
Authors: Kate Sanborn, George Gunter, Daniel B. Work, Ricardo G. Sanfelice, Jonathan Sprinkle
This paper introduces a supervisory safety controller with the goal of enabling higher vehicle density at low velocities. The approach is a multi-mode supervisory controller based on a control barrier function, which modifies the behavior of a nominal controller to avoid safety violations. The use of control barrier functions as safety supervisors for adaptive cruise control systems has been previously demonstrated, including on extensive open-road tests. However, to deploy a single control mode for safety requires an additional distance parameter that adds to the desired stopping distance. This accounts for actuation delay, sensor error, and to conservatively assume that a lead car may decelerate faster than the ego vehicle. This paper introduces a multi-mode controller that shrinks the space gap margin at low speeds, in order to enable higher density. The controller transitions back to the original space gap at higher speeds. With an assumption of 100% automated vehicles in the flow, the work validates the increase in vehicle density as we explore a range of penetration rates of the single-mode control barrier function and compares it to the multi-mode one. The results demonstrate that as the additional control modes are added for low-speed driving, the density at low speeds and high penetration rates of autonomous vehicles can improve the overall density of traffic. These results are produced through simulation of lead vehicle trajectories from NGSIM, and platoons of 20 or more vehicles to estimate the density in realistic traffic conditions.
The NGSIM data files can be found at the following link: https://data.transportation.gov/Automobiles/Next-Generation-Simulation-NGSIM-Vehicle-Trajector/8ect-6jqj/about_data
The US-101-LosAngeles-CA.zip file should be downloaded. Within this folder, the us-101-vehicle-trajectory-data/vehicle-trajectory-data/0805am-0820am/trajectories-0805am-0820am.csv file should be moved to the ngsim_data folder.
Follow the instructions in INSTALL.md to create a conda environment, load the required packages, and then start jupyter notebook.
conda activate mutimode-cbf-sim
jupyter notebook
Load the file simulate_all.ipynb and download the needed files, placing them in the correct directory structure. This will generate the results of the simulation data. Then, run the notebook file density.ipynb to produce the plots.