Added modern control and material
This commit is contained in:
parent
2d9820c650
commit
d424d2e7aa
98
docs/Chapters/MODERN-CONTROL.md
Normal file
98
docs/Chapters/MODERN-CONTROL.md
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
# Modern Control
|
||||||
|
|
||||||
|
Normally speaking, we know much about classical control, in the form
|
||||||
|
of:
|
||||||
|
|
||||||
|
$$
|
||||||
|
\dot{x}(t) = ax(t) + bu(t) \longleftrightarrow sX(s) - x(0) = aX(S) + bU(s)
|
||||||
|
$$
|
||||||
|
|
||||||
|
With the left part being a derivative equation in continuous time, while the
|
||||||
|
right being its tranformation in the complex domain field.
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
>
|
||||||
|
> $$
|
||||||
|
> \dot{x}(t) = ax(t) + bu(t) \longleftrightarrow x(k+1) = ax(k) + bu(k)
|
||||||
|
> $$
|
||||||
|
>
|
||||||
|
> These are equivalent, but the latter one is in discrete time.
|
||||||
|
>
|
||||||
|
|
||||||
|
## A brief recap over Classical Control
|
||||||
|
|
||||||
|
Be $Y(s)$ our `output variable` in `classical control` and $U(s)$ our
|
||||||
|
`input variable`. The associated `transfer function` $G(s)$ is:
|
||||||
|
|
||||||
|
$$
|
||||||
|
G(s) = \frac{Y(s)}{U(s)}
|
||||||
|
$$
|
||||||
|
|
||||||
|
### Root Locus
|
||||||
|
<!-- TODO: write about Root Locus -->
|
||||||
|
|
||||||
|
### Bode Diagram
|
||||||
|
|
||||||
|
### Nyquist Diagram
|
||||||
|
|
||||||
|
## State Space Representation
|
||||||
|
|
||||||
|
### State Matrices
|
||||||
|
A state space representation has 4 Matrices: $A, B, C, D$ with coefficients in
|
||||||
|
$\R$:
|
||||||
|
- $A$: State Matrix `[x_rows, x_columns]`
|
||||||
|
- $B$: Input Matrix `[x_rows, u_columns]`
|
||||||
|
- $C$: Output Matrix `[y_rows, x_columns]`
|
||||||
|
- $D$: Direct Coupling Matrix `[y_rows, u_columns]`
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{cases}
|
||||||
|
\dot{x}(t) = Ax(t) + Bu(t) \;\;\;\; \text{Dynamic of the system}\\
|
||||||
|
y(t) = C{x}(t) + Du(t) \;\;\;\; \text{Static of the outputs}
|
||||||
|
\end{cases}
|
||||||
|
$$
|
||||||
|
|
||||||
|
This can be represented with the following diagrams:
|
||||||
|
|
||||||
|
Continuous Time:
|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
Discrete time:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### State Vector
|
||||||
|
This is a state vector `[x_rows, 1]`:
|
||||||
|
$$
|
||||||
|
x(t) = \begin{bmatrix}
|
||||||
|
x_1(t)\\
|
||||||
|
\dots\\
|
||||||
|
x_x(t)
|
||||||
|
\end{bmatrix}
|
||||||
|
|
||||||
|
\text{or} \:
|
||||||
|
|
||||||
|
x(k) = \begin{bmatrix}
|
||||||
|
x_1(k)\\
|
||||||
|
\dots\\
|
||||||
|
x_x(k)
|
||||||
|
\end{bmatrix}
|
||||||
|
$$
|
||||||
|
|
||||||
|
Basically, from this we can know each next step of the state vector, represented
|
||||||
|
as:
|
||||||
|
|
||||||
|
$$
|
||||||
|
x(k + 1) = f\left(
|
||||||
|
x(k), u(k)
|
||||||
|
\right) = Ax(k) + Bu(k)
|
||||||
|
$$
|
||||||
|
|
||||||
|
|
||||||
|
### Case Studies
|
||||||
|
<!-- TODO: Complete case studies -->
|
||||||
|
- PAGERANK
|
||||||
|
- Congestion Control
|
||||||
|
- Video Player Control
|
||||||
|
- Deep Learning
|
||||||
BIN
docs/Images/Modern-Control/state-space-discrete.png
Normal file
BIN
docs/Images/Modern-Control/state-space-discrete.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 84 KiB |
BIN
docs/Images/Modern-Control/state-space-time.png
Normal file
BIN
docs/Images/Modern-Control/state-space-time.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 85 KiB |
1258
docs/Images/excalidraw/Modern-Control/state-space-1.excalidraw.json
Normal file
1258
docs/Images/excalidraw/Modern-Control/state-space-1.excalidraw.json
Normal file
File diff suppressed because it is too large
Load Diff
1294
docs/Images/excalidraw/Modern-Control/state-space-2.excalidraw.json
Normal file
1294
docs/Images/excalidraw/Modern-Control/state-space-2.excalidraw.json
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user