diff --git a/electives/amr/assets/loop-drl.png b/electives/amr/assets/loop-drl.png new file mode 100644 index 0000000..c765e69 Binary files /dev/null and b/electives/amr/assets/loop-drl.png differ diff --git a/electives/amr/assets/loop-lqr.png b/electives/amr/assets/loop-lqr.png new file mode 100644 index 0000000..fa84fc6 Binary files /dev/null and b/electives/amr/assets/loop-lqr.png differ diff --git a/electives/amr/assets/loop-main.png b/electives/amr/assets/loop-main.png new file mode 100644 index 0000000..984d977 Binary files /dev/null and b/electives/amr/assets/loop-main.png differ diff --git a/electives/amr/assets/loop-pid.png b/electives/amr/assets/loop-pid.png new file mode 100644 index 0000000..4060962 Binary files /dev/null and b/electives/amr/assets/loop-pid.png differ diff --git a/electives/amr/assets/loop-rl.png b/electives/amr/assets/loop-rl.png new file mode 100644 index 0000000..65f59f8 Binary files /dev/null and b/electives/amr/assets/loop-rl.png differ diff --git a/electives/amr/autonomous-mobile-robots-cheatsheet.pdf b/electives/amr/autonomous-mobile-robots-cheatsheet.pdf index aa72754..68b316a 100644 Binary files a/electives/amr/autonomous-mobile-robots-cheatsheet.pdf and b/electives/amr/autonomous-mobile-robots-cheatsheet.pdf differ diff --git a/electives/amr/parts/00_basics/01_measurement-models.tex b/electives/amr/parts/00_basics/01_measurement-models.tex index 73dd5ff..190104f 100644 --- a/electives/amr/parts/00_basics/01_measurement-models.tex +++ b/electives/amr/parts/00_basics/01_measurement-models.tex @@ -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}$. Also see Sec.~\ref{sec:sensors} + +Feedback loop: +\includegraphics[width=0.6\columnwidth]{assets/loop-main.png} diff --git a/electives/amr/parts/01_kinematics/03_temporal-models.tex b/electives/amr/parts/01_kinematics/03_temporal-models.tex index 510b2c4..c43167a 100644 --- a/electives/amr/parts/01_kinematics/03_temporal-models.tex +++ b/electives/amr/parts/01_kinematics/03_temporal-models.tex @@ -5,7 +5,7 @@ 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)$. -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} \hrule diff --git a/electives/amr/parts/05_planning-control/00_feedback-control/03_mpc.tex b/electives/amr/parts/05_planning-control/00_feedback-control/03_mpc.tex index c63fb95..ca2eadd 100644 --- a/electives/amr/parts/05_planning-control/00_feedback-control/03_mpc.tex +++ b/electives/amr/parts/05_planning-control/00_feedback-control/03_mpc.tex @@ -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} \bi{Cost function} ($p(\vec{x}_N)$ \textit{terminal cost}, sum the \textit{stage cost}) \[ diff --git a/electives/amr/parts/05_planning-control/01_motion-planning-exploration/03_rrt.tex b/electives/amr/parts/05_planning-control/01_motion-planning-exploration/03_rrt.tex index 89166b2..fed7461 100644 --- a/electives/amr/parts/05_planning-control/01_motion-planning-exploration/03_rrt.tex +++ b/electives/amr/parts/05_planning-control/01_motion-planning-exploration/03_rrt.tex @@ -1,4 +1,3 @@ -\newpage \subsubsection{Rapidly-Exploring Random Tree (RRT)} \begin{algorithm} \small @@ -27,6 +26,9 @@ \EndProcedure \end{algorithmic} \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. Extension to RRT* to make path better: \begin{algorithm} diff --git a/electives/amr/parts/05_planning-control/02_learning-to-act/02_reinforcement-learning.tex b/electives/amr/parts/05_planning-control/02_learning-to-act/02_reinforcement-learning.tex index 979109d..09e8f7a 100644 --- a/electives/amr/parts/05_planning-control/02_learning-to-act/02_reinforcement-learning.tex +++ b/electives/amr/parts/05_planning-control/02_learning-to-act/02_reinforcement-learning.tex @@ -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), 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) + +\includegraphics[width=0.5\columnwidth]{assets/loop-rl.png} +\includegraphics[width=0.5\columnwidth]{assets/loop-drl.png}