mirror of
https://github.com/janishutz/eth-summaries.git
synced 2026-05-30 16:21:19 +02:00
[AMR] Intro to planning and control section
This commit is contained in:
@@ -1,2 +1,6 @@
|
||||
\subsection{SISO \& MIMO}
|
||||
\bi{S{\scriptsize ingle-}I{\scriptsize nput-}S{\scriptsize ingle-}O{\scriptsize utput}}: $r$ Reference
|
||||
\bi{S{\scriptsize ingle-}I{\scriptsize nput-}S{\scriptsize ingle-}O{\scriptsize utput}}: $r$ Reference (e.g. speed), $u$ Sys. Input (e.g. gas pedal pos),
|
||||
$z$ Sys. Out. (e.g. speed of car)
|
||||
|
||||
\bi{M{\scriptsize ultiple-}I{\scriptsize nput-}M{\scriptsize ultiple-}O{\scriptsize utput}}: $r$ Reference (typ: trajectory), $u$ Sys. Input (e.g. 4 rotor speeds),
|
||||
$x$ internal states (pos, orient, speed, rot. speed), $z$ Sys. Output (e.g. speed of car)
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
\subsection{Proportional-Integral-Differential (PID)}
|
||||
$u(t) = k_p e(t) + k_i \int_{t_0}^{t} e(\tau) \dx \tau + k_d \frac{\dx e(t)}{\dx t}$, where params $k_p$ (curr), $k_i$ (long-term), $k_d$ (trend) reduce corresp. errors
|
||||
|
||||
\bi{Drone Control} ${_B}\vec{F}$ and ${_B}\vec{M}$ as in sect. \ref{sec:rigid-body-dynamics}, use $\vec{u}' = {_B}\vec{M}$.
|
||||
@@ -0,0 +1,14 @@
|
||||
\subsection{Linear Quadratic Regulator (LQR)}
|
||||
For lin. cont.-time dyn. $\dot{\vec{x}}(t) = \vec{F}_c \vec{x}(t) + \vec{G}_c \vec{u}(t)$.
|
||||
|
||||
We try to minimise cost functional (for $\vec{u}(t) = -\mat{K}\vec{x}(t)$)
|
||||
\[
|
||||
J = \int_{t}^{\8} \vec{x}(\tau)^\top \vec{Q}\vec{x}(\tau) + \vec{u}(\tau)^\top \vec{R} \vec{u}(\tau) \dx \tau
|
||||
\]
|
||||
Solution: $\mat{K} = \mat{R}^{-1} (\mat{G}_c^\top \mat{P})$, with $\mat{P}$ found from
|
||||
\[
|
||||
\mat{F}_c^\top \mat{P} + \mat{PF}_c - (\mat{PG}_c) \mat{R}^{-1} + \mat{Q} = \mat{0}
|
||||
\]
|
||||
Finding $\mat{K}$ is expensive, but \textit{offline}, at runtime only $\vec{u}(t)$.
|
||||
|
||||
\bi{Non-Lin}: Approx, $\delta\dot{\vec{x}}(t) = \vec{F}_c \delta \vec{x}(t) + \mat{G}_c \delta \vec{u}(t)$
|
||||
@@ -0,0 +1,16 @@
|
||||
\subsection{MPC}
|
||||
\bi{Cost function} ($p(\vec{x}_N)$ \textit{terminal cost}, sum the \textit{stage cost})
|
||||
\[
|
||||
J_{0 \rightarrow N}(\vec{x}_0, \vec{u}_0, \ldots, \vec{u_{N - 1}}) = p(\vec{x}_N) + \sum_{k = 0}^{N - 1} q(\vec{x}_k, \vec{u}_k)
|
||||
\]
|
||||
We minimize the above s.t. for $k \in \{ 0, \ldots, N - 1 \}$ we have $\vec{x}_{k + 1} = \vec{f}(\vec{x}_k, \vec{u}_k)$, $\vec{g}(\vec{x}_k, \vec{u}_k) \leq \vec{0}$
|
||||
and $\vec{x}_N \in \cX_f$ and $\vec{x}_0 = \vec{x}(0)$
|
||||
|
||||
\bi{Finite-Horizon Lin-Quad Control}
|
||||
Quad. Cost:
|
||||
\[
|
||||
J_{0 \rightarrow N}(\vec{x}_0, \vec{u}_0, \ldots) =
|
||||
\vec{x}_N^\top \vec{P} \vec{x}_N + \sum_{k = 0}^{N - 1} \vec{x}_k^\top \mat{Q} \vec{x}_k + \vec{u}_k^\top \mat{R} \vec{u}_k
|
||||
\]
|
||||
without constraints, \bi{State Feedback Law} $\vec{u}^*_0 = -\mat{K}\vec{x}(0)$.
|
||||
With constraints, minimize as above.
|
||||
Reference in New Issue
Block a user