Dieses Projekt geht darum, einem Fahrrad im CARLA-Verkehrssimulator mit Reinforcement Learning autonomes Fahren beizubringen. Dazu wird eine Tiefenkamera verwendet.
Details
https://carla.readthedocs.io/en/latest/start_quickstart/#before-you-begin
- Windows oder Linux System
- mindestens 6GB GPU (für den CARLA-Server und Machine Learning)
- Python 2.7 oder Python 3.0 für Linux, Python 3.0 für Windows
- mindestens pip 20.3 (bzw. pip3 20.3)
Außerdem sollte numpy installiert sein.
Windows:
pip3 install --user pygame numpy
Linux:
pip install --user pygame numpy &&
pip3 install --user pygame numpy
https://carla.readthedocs.io/en/latest/start_quickstart/#a-debian-carla-installation
Einrichtung des APT-Repositories:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1AF1527DE64CB8D9
sudo add-apt-repository "deb [arch=amd64] http://dist.carla.org/carla $(lsb_release -sc) main"
CARLA installieren:
sudo apt-get update # Update the Debian package index
sudo apt-get install carla-simulator # Install the latest CARLA version, or update the current installation
cd /opt/carla-simulator # Open the folder where CARLA is installed
CARLA Client-Library installieren (in Virtual Environment empfohlen): Download von https://pypi.org/project/carla/ (kompatibel mit Python 2.7, 3.6, 3.7, und 3.8.)
pip3 install carla
https://stable-baselines3.readthedocs.io/en/master/guide/install.html#stable-release Installation inklusive Tensorboard und OpenCV:
pip3 install stable-baselines3[extra]
pip3 install gym
- numpy 1.23.5
- pygame 2.1.3
- carla 0.9.13
- gym 0.21.0
- gymnasium 0.28.1
- stable-baselines3 1.8.0
Details
Es sollten sich alle Python Dateien in einem Ordner (hier: autonomous_bike) befinden.cd /opt/carla-simulator
./CarlaUE4.sh
Bei Anpassungen der Environments sollten diese vor dem Training auf Implementierungsfehler gecheckt werden.
cd ./autonomous_bike
python3 check_env.py
python3 doublecheck_env.py
Je nach importierter Environment wird ein anderer Agent trainiert (go_to_goal_env.py, go_to_goal_env_2.py, collision_avoidance_env.py oder collision_avoidance_env_modified.py).
python3 train.py
Um alte Models weiterzutrainieren oder eine eigene Learning Rate zu verwenden, muss train.py angepasst werden.
Das Training kann im Anschluss über Tensorboard analysiert werden. Dafür muss im Ordner in dem der Ordner logs angelegt wurde, folgender Befehl im Terminal ausgeführt werden.
tensorboard --logdir=logs
Über den zurückgegebenen Link lässt Tensorboard sich öffnen.
Um trainierte Models zu laden muss load_model.py entsprechend angepasst und folgender Befehl ausgeführt werden.
python3 load_model.py