https://github.com/tudoroancea/math_591_project
Code for my project on 'Neural system identification and control for Formula Student Driverless cars'
https://github.com/tudoroancea/math_591_project
data-driven-control deep-learning model-predictive-control neural-networks system-identification
Last synced: 22 days ago
JSON representation
Code for my project on 'Neural system identification and control for Formula Student Driverless cars'
- Host: GitHub
- URL: https://github.com/tudoroancea/math_591_project
- Owner: tudoroancea
- License: mit
- Created: 2023-06-03T11:34:12.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-02-07T17:38:01.000Z (over 2 years ago)
- Last Synced: 2024-02-07T18:42:39.382Z (over 2 years ago)
- Topics: data-driven-control, deep-learning, model-predictive-control, neural-networks, system-identification
- Language: Python
- Homepage:
- Size: 18.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Neural system identification and control for Formula Student Driverless cars
This repository contains the [report](OANCEA_TUDOR_DPC_project_report.pdf),
[final presentation](MATH_591_final_presentation.pdf) and code for my first semester
project in my Computational Science and Engieering master's degree at EPFL.
The code contains the model definitions, training and evaluation scripts for the
neural networks used in the project. Everything is written in Python 3.10 and is
based on Pytorch, Lightning Fabric and Wandb. It was designed to be very clear (although
poorly documented), modular and extensible, and can be used for other projects
as well. The data is available in the latest release of the repository.
## Codebase
### Workspace setup
To setup the workspace you can run the following commands:
```bash
git clone https://github.com/tudoroancea/math_591_project
cd math_591_project
mamba env create --file env.yml # or conda env create --file env.yml if you don't use mamba, but it's a shame not to use it since it's simply much MUCH faster
conda activate math_591_project
wget https://github.com/tudoroancea/math_591_project/releases/download/untagged-d3fb9058dc258922e9bc/dataset_v2.0.0.zip
unzip dataset_v2.0.0.zip -d .
```
Then you can use the training scripts for the [system identification](train_sysid.py) and [control](train_control.py) tasks,
and finally obtain again all the plots in my report using the evaluation scripts for the [system identification](sysid_experiments.py) and [control](control_experiments.py).