Skip to content

Code and results of our project for the Advanced Deep Learning for Robotics Course at TUM WS2022/23 πŸ€–πŸš€

Notifications You must be signed in to change notification settings

OliEfr/Advanced_Deep_Learning_Robotics_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Advanced Deep Learning for Robotics Project πŸ€–πŸš€

This repository includes the results as well as the code for our project in the Advanced Deep Learning for Robotics course at TUM in WS2022/23.

The project

Topic: Development of a reinforcement learning based controller for a vertical take-off and landing drone.

Abstract: Developing controllers for Vertical Take-Off and Landing drones is difficult due to the complex underlying dynamics. The goal of this project is to develop a Reinforcement Learning based velocity-tracking controller for such a drone in simulation. The major contributions are to learn a controller for a drone with active wing flaps, to use information about the state history in the controller network and to incorporate gusty conditions in the simulation. As a main result, the tracking performance could be improved significantly compared to baseline by processing the last 0.5s of the state history with state dependent filters and give it as input to the controller. Beyond tracking performance, flight efficiency and stability are improved as well. Due to these benefits and ease of implementation of the network architecture, we suggest to use the presented architecture in future works.

Full results: Final paper and presentation.

It is clearly visible, that using our approach the trajectory tracking performance of the drone improves significantly. At the same time, the numer of parameters in the neural network only increases slightly. Find details in our paper and presentation.

The code

This repository contains the simulation for the drone as well as the full reinforcement learning pipeline. Use the src/reinforcement_learning/run_experiment.jl file to execute the RL-pipeline. This script will start the training process, evaluate the agent on test sets and save the resulting files automatically. Pass parameters to the run_experiment.jl file in order to define your experiments. Instructions on how to run the file exactly can be found within the file. Each experiment must have a separat folder in src/reinforcement_learning. In this folder must be a .json-file that defines the parameters for the experiment. All results for the experiment will be saved in the folder.

The code that defines the RL-pipeline is located in src\reinforcement_learning. This project uses the Julia programming language, which offers much higher performance compared to Python. Find details in the SETUP.md. Logging is done with Tensorboard.

Leave any question as Issue in this repo.

Thanks! ❀️

Authors

@chrisnarr @OliEfr @Finn-Sueberkrueb

About

Code and results of our project for the Advanced Deep Learning for Robotics Course at TUM WS2022/23 πŸ€–πŸš€

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published