Giter Site home page Giter Site logo

autonomous_bike_carla's Introduction

Autonome Mikromobilität: Reinforcement Learning für ein Fahrrad in CARLA

Dieses Projekt geht darum, einem Fahrrad im CARLA-Verkehrssimulator mit Reinforcement Learning autonomes Fahren beizubringen. Dazu wird eine Tiefenkamera verwendet.

Lernressourcen

Mehr

Einstieg Reinforcement Learning

https://spinningup.openai.com/en/latest/spinningup/rl_intro.html

Einstieg Stable Baselines 3

https://stable-baselines3.readthedocs.io/en/master/

Installation

Details

Anforderungen:

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

CARLA:

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  

Stable Baselines 3

https://stable-baselines3.readthedocs.io/en/master/guide/install.html#stable-release Installation inklusive Tensorboard und OpenCV:

pip3 install stable-baselines3[extra] 

Gymnasium

pip3 install gym

Verwendete Versionen:

  • 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

Training

Details Es sollten sich alle Python Dateien in einem Ordner (hier: autonomous_bike) befinden.

CARLA starten

cd /opt/carla-simulator
./CarlaUE4.sh

Environment checken

Bei Anpassungen der Environments sollten diese vor dem Training auf Implementierungsfehler gecheckt werden.

cd ./autonomous_bike
python3 check_env.py
python3 doublecheck_env.py

Training starten

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.

Nutzung von Tensorboard

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.

Models laden

Um trainierte Models zu laden muss load_model.py entsprechend angepasst und folgender Befehl ausgeführt werden.

python3 load_model.py

autonomous_bike_carla's People

Contributors

julianmatthiesen avatar ll7 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.