Installation
Hardware and Software Requirements
Intel Core i9 12900K (16-core)
64 GB memory and above
Ubuntu 18.04 and above
Docker-CE version 19.03 and above
Python 3.8.10 and above
NVIDIA RTX 3090 and above (Optional)
NVIDIA driver version 455.32.00 and above (Optional)
NVIDIA Container Toolkit (Optional)
Note
Graphics card and its related support are optional because the focus of this framework is on the Planning and the Prediction module of the ADS, both does not require the use of a graphics card.
Note
DoppelTest relies on running multiple instances of ADS simultanously to generate scenarios. Therefore the prerequisite varies based on 1) the minimum requirement of the ADS and 2) the number of instances you wish to run at the same time. The prerequisite listed above is capable of running 5 instances; and we have tested running 10 instances on a machine with 128GB memory.
Installing Baidu Apollo
Download the DoppelTest version of Baidu Apollo 7.0 from https://doi.org/10.5281/zenodo.7622089
Note
In this forked version, we made slight adjustments that are not related to the AD stack.
At the root directory of Baidu Apollo, create directories
data
,data/log
,data/bag
,data/core
by runningmkdir data data/log data/bag data/core
Note
This step is necessary for DoppelTest running on the host machine to delete Apollo’s log files. Our framework restarts modules being tested after every scenario, which creates a large number of unnecessary log files.
Since a lot of commands are executed as root inside of the Docker container, if those directories are created inside of the container, DoppelTest may not be able to remove those directories.
At the root directory of Baidu Apollo, start up an Apollo container via
./docker/scripts/dev_start.sh -l
Find the name of the container via
docker ps -a
Enter the container in root mode via
docker exec -it apollo_dev_your_name /bin/bash
Note
Remember to replace
apollo_dev_your_name
with the container’s actual nameIn the container, build Apollo via
./apollo.sh build
Installing DoppelTest
Install the requirement Python libraries via
pip install -r requirements.txt
Note
If you run into issues when installing Shapely library, please first run
sudo apt-get install libgeos-dev
to install its dependencies.Replace location of directories in
config.py
APOLLO_ROOT = '/xxx/xxx/apollo' DT_ROOT = '/xxx/xxx/DoppelTest'
Verify the framework is runnable via
python test_main.py
Note
You should start seeing 3 Apollo instances being started and the scenario is visualizable via a browser. DoppelTest will provide the URL to visualize each instance in the terminal.
Start the framework via
python main_ga.py
Note
After running DoppelTest for extended period of time, you should see record file of scenarios generated under
data/records
. This is also the step to replicate the results presented in the paper.