mirror of
https://github.com/janishutz/eth-summaries.git
synced 2026-09-10 19:15:25 +02:00
[AMR] Add feedback loops
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 36 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
Binary file not shown.
@@ -4,3 +4,6 @@ $\vec{b}_C$ const bias, $\vec{b}$ time bias, $\mat{M}$ missal., $\vec{n} \sim \c
|
|||||||
|
|
||||||
\hl{Finding}: Is in $W$-frame: may need $\mat{T}_{BW}$ or $\mat{R}_{BW}$.
|
\hl{Finding}: Is in $W$-frame: may need $\mat{T}_{BW}$ or $\mat{R}_{BW}$.
|
||||||
Also see Sec.~\ref{sec:sensors}
|
Also see Sec.~\ref{sec:sensors}
|
||||||
|
|
||||||
|
Feedback loop:
|
||||||
|
\includegraphics[width=0.6\columnwidth]{assets/loop-main.png}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
Model \bi{robot dyn} as \bi{Cont-time non-lin. system of ODE}:\\
|
Model \bi{robot dyn} as \bi{Cont-time non-lin. system of ODE}:\\
|
||||||
$\dot{\vec{x}} = \vec{f}_C(\vec{x}(t), \vec{u}(t), \vec{w}(t))$, measurement $\vec{z}(t) = \vec{h}(\vec{x}(t)) + \vec{v}(t)$.
|
$\dot{\vec{x}} = \vec{f}_C(\vec{x}(t), \vec{u}(t), \vec{w}(t))$, measurement $\vec{z}(t) = \vec{h}(\vec{x}(t)) + \vec{v}(t)$.
|
||||||
|
|
||||||
With: $\pardiff{t}\vec{x}(t) = f_C(\vec{x}(t), \vec{u}(t))$ the model for the robot state update and $\vec{h}(\vec{x}(t))$ the model for the measurements (e.g. for IMU)
|
With: $\pardiff{t}\vec{x}(t) = \vec{f}_C(\vec{x}(t), \vec{u}(t))$ the model for the robot state update and $\vec{h}(\vec{x}(t))$ the model for the measurements (e.g. for IMU)
|
||||||
|
|
||||||
\vspace{0.5mm}
|
\vspace{0.5mm}
|
||||||
\hrule
|
\hrule
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
|
||||||
|
Below feedback loops for PID and LQR
|
||||||
|
|
||||||
|
\includegraphics[width=0.49\columnwidth]{assets/loop-pid.png}
|
||||||
|
\includegraphics[width=0.5\columnwidth]{assets/loop-lqr.png}
|
||||||
|
|
||||||
\subsection{MPC}
|
\subsection{MPC}
|
||||||
\bi{Cost function} ($p(\vec{x}_N)$ \textit{terminal cost}, sum the \textit{stage cost})
|
\bi{Cost function} ($p(\vec{x}_N)$ \textit{terminal cost}, sum the \textit{stage cost})
|
||||||
\[
|
\[
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
\newpage
|
|
||||||
\subsubsection{Rapidly-Exploring Random Tree (RRT)}
|
\subsubsection{Rapidly-Exploring Random Tree (RRT)}
|
||||||
\begin{algorithm}
|
\begin{algorithm}
|
||||||
\small
|
\small
|
||||||
@@ -27,6 +26,9 @@
|
|||||||
\EndProcedure
|
\EndProcedure
|
||||||
\end{algorithmic}
|
\end{algorithmic}
|
||||||
\end{algorithm}
|
\end{algorithm}
|
||||||
|
Notes: \texttt{nearestConfiguration} may be on edge, then edge is split;
|
||||||
|
\texttt{stoppingConfiguration} returns furthest config $x_f$ on segment $x_n$ to $x$ that produces collision-free edge $(x_n, x_f)$
|
||||||
|
|
||||||
Returns a collision-free path as graph. Need nearest neighbour search.
|
Returns a collision-free path as graph. Need nearest neighbour search.
|
||||||
Extension to RRT* to make path better:
|
Extension to RRT* to make path better:
|
||||||
\begin{algorithm}
|
\begin{algorithm}
|
||||||
|
|||||||
+3
@@ -26,3 +26,6 @@ $\varepsilon$ is prob. to act randomly, $1 - \varepsilon$ is prob. to act on pol
|
|||||||
Value-based (estimate val or $Q$-func and extract pol., e.g. Q-Learn),
|
Value-based (estimate val or $Q$-func and extract pol., e.g. Q-Learn),
|
||||||
Actor-Critic (estim. val or $Q$ of curr. pol., improve pol., e.g. A3C, SAC),
|
Actor-Critic (estim. val or $Q$ of curr. pol., improve pol., e.g. A3C, SAC),
|
||||||
Policy-Gradient (diff. expect. reward w.r.t. params of policy network, e.g. REINFORCE)
|
Policy-Gradient (diff. expect. reward w.r.t. params of policy network, e.g. REINFORCE)
|
||||||
|
|
||||||
|
\includegraphics[width=0.5\columnwidth]{assets/loop-rl.png}
|
||||||
|
\includegraphics[width=0.5\columnwidth]{assets/loop-drl.png}
|
||||||
|
|||||||
Reference in New Issue
Block a user