ACAV is an automated Python framework designed to conduct causality analysis for AV accident recordings.
Our paper, "ACAV: A Framework for Automatic Causality Analysis in Autonomous Vehicle Accident Recordings" will be published at ICSE 2024 in April.
Please visit ACAV website for more information and demonstration.
protobuf
for ACAVInstall protobuf 3.19.4
for ACAV, by the following command:
pip3 install protobuf==3.19.4
cyber_record
for ACAVInstall cyber_record
, a cyber record file offline parse tool, by the following command:
pip3 install cyber_record
record_msg
for ACAVTo avoid introducing too many dependencies, save messages by record_msg
.
pip3 install record_msg -U
shapely
for ACAVInstall shapely
for ACAV, by the following command:
pip3 install shapely
Run ACAV by the following command:
cd /root_of_ACAV_SourceCode
python3 main.py -i <the directory of the original recording file>
For example:
cd /root_of_ACAV_SourceCode
python3 main.py -i record/T-2.record
Currently, only the parameter file for Lincoln 2017 MKZ are included in ACAV.
For a parameter file of a new vehicle, please add it to /root_of_ACAV-SourceCode/vehicles/
.
Currently, only the map file for San Francisco is included in ACAV.
For your own map file, please add it to /root_of_ACAV-SourceCode/maps/
If you use the project in your work, please consider citing the following work:
@inproceedings{sun2024acav,
author = {Sun, Huijia and Poskitt, Christopher M. and Sun, Yang and Sun, Jun and Chen, Yuqi},
title = {ACAV: A Framework for Automatic Causality Analysis in Autonomous Vehicle Accident Recordings},
year = {2024},
isbn = {9798400702174},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3597503.3639175},
doi = {10.1145/3597503.3639175},
booktitle = {Proceedings of the IEEE/ACM 46th International Conference on Software Engineering},
articleno = {102},
numpages = {13},
series = {ICSE '24}
}