184 lines
4.5 KiB
Markdown
184 lines
4.5 KiB
Markdown
|
+++
|
||
|
title = "Data-Driven Dynamical Systems with Machine Learning"
|
||
|
author = ["Thomas Dehaeze"]
|
||
|
draft = false
|
||
|
+++
|
||
|
|
||
|
Tags
|
||
|
:
|
||
|
|
||
|
|
||
|
## Data-Driven Control {#data-driven-control}
|
||
|
|
||
|
|
||
|
### Overview {#overview}
|
||
|
|
||
|
|
||
|
#### Challenges {#challenges}
|
||
|
|
||
|
With modern control (LQR, LQG, H-Infinity), we work with linear system (or linearized systems) and we develop a control law that minimize some cost function.
|
||
|
|
||
|
Challenging systems where modern control is not efficient:
|
||
|
|
||
|
- Non-linear systems
|
||
|
- System with unknown dynamics
|
||
|
- High dimensional systems
|
||
|
- Limited measurements or control inputs
|
||
|
|
||
|
For these kinds of systems, data-driven control seems to be a good alternative.
|
||
|
|
||
|
|
||
|
#### What is control? {#what-is-control}
|
||
|
|
||
|
It's an optimization constrained by dynamics of the system.
|
||
|
|
||
|
The optimization is easy when the system is linear and the cost function is quadratic.
|
||
|
When the system is non-linear or when the cost function is non quadratic, the optimization becomes complicated (non closed form). Then the optimization should be rerun on the fly, which is what is done with MPC (model predictive control).
|
||
|
|
||
|
|
||
|
#### What is Machine-Learning? {#what-is-machine-learning}
|
||
|
|
||
|
Machine-learning is powerful non-linear optimization based on data.
|
||
|
|
||
|
|
||
|
#### Outline of this lecture {#outline-of-this-lecture}
|
||
|
|
||
|
|
||
|
##### Data Driven Models {#data-driven-models}
|
||
|
|
||
|
For the problem of unknown dynamics, we can use data driven models.
|
||
|
The goal is to collect data to generate of model of the system.
|
||
|
|
||
|
|
||
|
##### Machine Learning Control {#machine-learning-control}
|
||
|
|
||
|
When we use the control inputs, the system changes and the system model might be not valid anymore.
|
||
|
The idea is to use data driven machine learning directly to learn a good controller.
|
||
|
|
||
|
|
||
|
##### Sensor and actuator placement {#sensor-and-actuator-placement}
|
||
|
|
||
|
Use powerful optimization techniques from machine learning to learn what are good sensors and actuators.
|
||
|
|
||
|
|
||
|
### Linear System Identification {#linear-system-identification}
|
||
|
|
||
|
|
||
|
### The Goal of Balanced Model Reduction {#the-goal-of-balanced-model-reduction}
|
||
|
|
||
|
|
||
|
### Change of Variables in Control Systems {#change-of-variables-in-control-systems}
|
||
|
|
||
|
|
||
|
### Change of Variables in Control Systems (Correction) {#change-of-variables-in-control-systems--correction}
|
||
|
|
||
|
|
||
|
### Balancing Example {#balancing-example}
|
||
|
|
||
|
|
||
|
### Balancing Transformation {#balancing-transformation}
|
||
|
|
||
|
|
||
|
### Balanced Truncation {#balanced-truncation}
|
||
|
|
||
|
|
||
|
### Balanced Truncation Example {#balanced-truncation-example}
|
||
|
|
||
|
|
||
|
### Error Bounds for Balanced Truncation {#error-bounds-for-balanced-truncation}
|
||
|
|
||
|
|
||
|
### Balanced Proper Orthogonal Decomposition {#balanced-proper-orthogonal-decomposition}
|
||
|
|
||
|
|
||
|
### BPOD and Output Projection {#bpod-and-output-projection}
|
||
|
|
||
|
|
||
|
### Balanced Truncation and BPOD Example {#balanced-truncation-and-bpod-example}
|
||
|
|
||
|
|
||
|
### Eigensystem Realization Algorithm {#eigensystem-realization-algorithm}
|
||
|
|
||
|
|
||
|
### ERA and the Discrete-Time Impulse Response {#era-and-the-discrete-time-impulse-response}
|
||
|
|
||
|
|
||
|
### Eigensystem Realization Algorithm Procedure {#eigensystem-realization-algorithm-procedure}
|
||
|
|
||
|
|
||
|
### Balanced Models with ERA {#balanced-models-with-era}
|
||
|
|
||
|
|
||
|
### Observer Kalman Filter Identification {#observer-kalman-filter-identification}
|
||
|
|
||
|
|
||
|
### ERA\_OKID Example in Matlab {#era-okid-example-in-matlab}
|
||
|
|
||
|
|
||
|
## System Identification {#system-identification}
|
||
|
|
||
|
|
||
|
### Full-State Models with Control {#full-state-models-with-control}
|
||
|
|
||
|
|
||
|
### Regression Models {#regression-models}
|
||
|
|
||
|
|
||
|
### Dynamic Mode Decomposition with Control {#dynamic-mode-decomposition-with-control}
|
||
|
|
||
|
|
||
|
### DMD Control Example {#dmd-control-example}
|
||
|
|
||
|
|
||
|
### Koopman with Control {#koopman-with-control}
|
||
|
|
||
|
|
||
|
### Sparse Nonlinear Models with Control {#sparse-nonlinear-models-with-control}
|
||
|
|
||
|
|
||
|
### Model Predictive Control {#model-predictive-control}
|
||
|
|
||
|
|
||
|
### Sparse Identification of Nonlinear Dynamics for Model Predictive Control {#sparse-identification-of-nonlinear-dynamics-for-model-predictive-control}
|
||
|
|
||
|
|
||
|
## Machine Learning Control {#machine-learning-control}
|
||
|
|
||
|
|
||
|
### Overview {#overview}
|
||
|
|
||
|
|
||
|
### Genetic Algorithms {#genetic-algorithms}
|
||
|
|
||
|
|
||
|
### Tuning a PID Controller with Genetic Algorithms {#tuning-a-pid-controller-with-genetic-algorithms}
|
||
|
|
||
|
|
||
|
### Tuning a PID Controller with Genetic Algorithms (Part 2) {#tuning-a-pid-controller-with-genetic-algorithms--part-2}
|
||
|
|
||
|
|
||
|
### Genetic Programming {#genetic-programming}
|
||
|
|
||
|
|
||
|
### Genetic Programming Control {#genetic-programming-control}
|
||
|
|
||
|
|
||
|
## Extremum Seeking Control {#extremum-seeking-control}
|
||
|
|
||
|
|
||
|
### Introduction {#introduction}
|
||
|
|
||
|
|
||
|
### Matlab {#matlab}
|
||
|
|
||
|
|
||
|
### Simulink {#simulink}
|
||
|
|
||
|
|
||
|
### Challenging Example {#challenging-example}
|
||
|
|
||
|
|
||
|
### Applications {#applications}
|
||
|
|
||
|
<./biblio/references.bib>
|