rdgarce / DDPG-design-for-lane-keeping-in-TORCS-Environment

Designing a DDPG algorithm for approaching the lane keeping problem in the autonomous ground vehicle driving.
3 stars 2 forks source link

🏎 DDPG design for lane keeping in TORCS Environment

My absolutely first repository on github!

This repository contains my bachelor's degree thesis project: Designing a DDPG algorithm for approaching the lane keeping problem in the autonomous ground vehicle driving.

Pre-requisites

Structure

The work is structured as follows.

β”œβ”€β”€ src                         #The main folder of all the code
β”‚   β”œβ”€β”€ DDPG                    #Folder containing all the classes and functions for implementing the algo.
β”‚   |   β”œβ”€β”€ noise               #Foler containing the noise classes used fro the DDPG
|   |   |   β”œβ”€β”€ OU.py           #Implementation of the Ornstein–Uhlenbeck noise with the stochastic brake mod
|   |   |   β”œβ”€β”€ GN.py           #Implementation of the Gaussian Noise
|   |   |   └── TVNoise.py      #Implementation of the Time Variant Noise
β”‚   β”‚   β”œβ”€β”€ conditioning.py     #Implementation of a utility function for interacting with TORCS env.
β”‚   β”‚   β”œβ”€β”€ networks.py         #Implementation of Actor and Critic networks
β”‚   β”‚   β”œβ”€β”€ replayBuffer.py     #Implementation of the experience replay required by DDPG
β”‚   β”‚   β”œβ”€β”€ reward.py           #Implementation of the three env. reward functions
β”‚   β”‚   β”œβ”€β”€ config.py           #Config file you need to look before running any experiment with DDPG
β”‚   β”‚   └── agent.py            #Implementation of the agent class and all of its functions
β”‚   β”œβ”€β”€ launch.py               #Main python script to launch the experiment
β”‚   └── snakeoil.py             #Implementation of the client interface for the interaction with TORCS game
β”œβ”€β”€ experiment                  #A copy of the src folder but with the final driver model in it for testing purpose
β”‚   β”œβ”€β”€ DDPG                    #Folder containing all the classes and functions for implementing the algo.
β”‚   |   β”œβ”€β”€ noise               #Foler containing the noise classes used fro the DDPG
|   |   |   β”œβ”€β”€ OU.py           #Implementation of the Ornstein–Uhlenbeck noise with the stochastic brake mod
|   |   |   β”œβ”€β”€ GN.py           #Implementation of the Gaussian Noise
|   |   |   └── TVNoise.py      #Implementation of the Time Variant Noise
|   β”œβ”€β”€ models                  #Folder containing different version of the driver. 
β”‚   β”‚   β”œβ”€β”€ conditioning.py     #Implementation of a utility function for interacting with TORCS env.
β”‚   β”‚   β”œβ”€β”€ networks.py         #Implementation of Actor and Critic networks
β”‚   β”‚   β”œβ”€β”€ replayBuffer.py     #Implementation of the experience replay required by DDPG
β”‚   β”‚   β”œβ”€β”€ reward.py           #Implementation of the three env. reward functions
β”‚   β”‚   β”œβ”€β”€ config.py           #Config file you need to look before running any experiment with DDPG
β”‚   β”‚   └── agent.py            #Implementation of the agent class and all of its functions
β”‚   β”œβ”€β”€ launch.py               #Main python script to launch the experiment
β”‚   └── snakeoil.py             #Implementation of the client interface for the interaction with TORCS game
└── docs                        #Folder containing documents
    β”œβ”€β”€ Tesi.pdf                #Thesis on DDPG design for lane keeping in TORCS Environment. Italian language
    └── latex_template          #Latex template folder of my thesis project