The benchmark of using polynomial chaos expansion (PCE) to solve intention-aware control of autonomous vehicles.
It is suggested to download the release
branch or the releases for a cleaned up version.
Operating system
- Windows (compatible in general, succeed on 11)
- Linux (compatible in general, succeed on 20.04)
- MacOS (compatible in general, succeed on 13.4.1)
Python Environment
- Python
3.11
- Required Packages:
numpy
,numpoly
,scipy
,treelib
,matplotlib
,importlib-metadata
.
Required Libraries
gurobipy
solver (license required, see How to Get a Gurobi License)stlpy
toolbox (see Documentation or GitHub repository)chaospy
toolbox (see Documentation or GitHub repository)
-
Install conda following this instruction;
-
Open the conda shell, and create an independent project environment;
conda create --name intentaware python=3.11
- In the same shell, activate the created environment
conda activate intentaware
- In the same shell, within the
intentaware
environment, install the dependencies one by one
conda install -c anaconda numpy
conda install -c conda-forge numpoly
conda install -c anaconda scipy
conda install -c conda-forge treelib
conda install -c conda-forge matplotlib
conda install -c conda-forge importlib_metadata
- In the same shell, within the
intentaware
environment, install the librariesgurobipy
,stlpy
, andchaospy
:
python -m pip install gurobipy
pip install stlpy
pip install chaospy
- Last but not least, activate the
gurobi
license (See How To). Note that this project is compatible withgurobi
Released version11.0.1
. Keep yourgurobi
updated in case of incompatibility.
- Lead to the
example
directory; - Lead to the
overtaking
or theintersection
folder; - Run the main script
main.py
; - Rendering constraints may take up to 1 to 2 minutes, depending on the computational performance;
- Plotted figures automatically saved in the
data
subfolder.
If using config/record
function, be sure to install ffmpeg
first and make sure its installation folder shows up in the PATH
environmental variable.
This project is with a BSD-3 license, refer to LICENSE
for details.