• Stars
    star
    172
  • Rank 221,201 (Top 5 %)
  • Language
    MATLAB
  • Created about 5 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Project for the course "Statistical Learning and Stochastic Control" at University of Stuttgart

Gaussian-Process based Model Predictive Control [IN PROGRESS]

Project for the course "Statistical Learning and Stochastic Control" at University of Stuttgart

For detailed information about the project, please refer to the Presentation and Report.

Supported Matlab Version >= R2019a

Control of a Race Vehicle with unkown complex dynamics

To run the Race Car example execute:

main_singletrack.m


A Gaussian process is used to learn unmodeled dynamics

$$x_{k+1} = f_d(x_k,u_k) + B_d * ( GP(z_k) + w ) , where z_k = [Bz_x*xk ; Bz_u*uk] is the vector of selected features f_d is the dicrete nominal model w ~ N(0,\sigma_n) is the process WG noise GP is the Gaussian Process model reponsible for learning the unmodeled dynamics$$

The Gaussian Process model GP is then fed with data (X,Y+w) collected online, such that:

$$X = [x_k,u_k] Y + w = pinv(B_d) * ( x_{k+1} - f_d(x_k,u_k) )$$

and it is trained (hyperparameter optimization) by maximizing the log Likelihood p(Y|X,theta), where theta is the vector of hyperparameters.

Results

NMPC controller with unmodelled dynamics Learning-Based NMPC controller (with trained Gaussian Process)
drawing drawing

Control of an Inverted Pendulum with deffect motor

To run the Inverted Pendulum please execute

main_invertedPendulum.m

More Repositories

1

Probabilistic-Machine-Learning

Repository for the course Probabilistic Machine Learning at TΓΌbingen University
Jupyter Notebook
22
star
2

Computational-Dynamics-for-Robotics

Repository for the course "Computational Dynamics for Robotics" at University of Stuttgart
MATLAB
10
star
3

Vehicle-Dynamics-Simulator

Project in Matlab for analysing the kinematics and dynamics of a Formula vehicle
MATLAB
7
star
4

Using-Model-Knowledge-for-Learning-Forward-Dynamics

Using Model Knowledge for Learning Forward Dynamics
Python
6
star
5

Model-Structure-Selection-CBOSS

Discovering Model Structure of Dynamical Systems with Combinatorial Bayesian Optimization
Jupyter Notebook
5
star
6

Multi-Objective-Robust-Design

Multi-Objective Robust Design tool created to be used with DoEs in the CarMaker vehicle dynamics simulation environment
MATLAB
4
star
7

Adaptive-Control

Repository for the course "Introduction to Adaptive Control" at University of Stuttgart
MATLAB
4
star
8

CBOSS

Combinatorial Bayesian Optimization for Structure Selection
Jupyter Notebook
4
star
9

Optimal-Control

Repository for the course "Optimal Control" at University of Stuttgart
MATLAB
4
star
10

Linear-Control-System-Design

Repository for the course "Linear Control System Design" - SSY285 at Chalmers University of Technology
MATLAB
3
star
11

Artificial-Intelligence-in-Industrial-Applications-EA072

Repository for the course "Artificial Intelligence in Industrial Applications" - EA072 at University of Campinas
MATLAB
3
star
12

BO_ProbabilisticReparameterization

Python
2
star
13

Machine-Learning-and-Pattern-Recognition-MO444

Repository for the course "Machine Learning and Pattern Recognition" - MO444 at University of Campinas
Python
1
star
14

Modelling-and-control-of-mechatronic-systems-SSY156

Repository for the course "Modelling and control of mechatronic systems" - SSY156 at Chalmers University of Technology
MATLAB
1
star
15

Model-based-Development-of-Cyber-Physical-Systems-SSY191

Repository for the course "Model-based Development of Cyber-Physical Systems" - SSY191 at Chalmers University of Technology
C
1
star