[AMR] Fix errors pointed out to me

This commit is contained in:
2026-08-09 08:30:17 +02:00
parent cc5f111813
commit a8b3bd7b20
24 changed files with 50 additions and 47 deletions
@@ -3,4 +3,4 @@
$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)
$x$ internal states (pos, orient, speed, rot. speed), $z$ Sys. Output (e.g. pose, speed)
@@ -8,7 +8,6 @@
\bi{Visibility graph}: Connect corners, goal outside obstacles
\bi{Voronoi Diagram}: Edges at max. dist. from obst. (benefit: safer paths).
Also tends to be faster than Dijkstra.
\bi{Discrete} {\scriptsize via graph/grid}: {\color{ForestGreen} complete solution}, {\color{red} Curse of dimensions}
@@ -1,5 +1,6 @@
\subsubsection{A* Algorithm}
Function \texttt{h(\dots)} is a lower bound of optimal cost.
Function \texttt{h(\dots)} is a lower bound of optimal cost.
Tends to be faster than Dijkstra.
% TODO: If space constrained, move to below
% Init vert. with \texttt{dist}, \texttt{totDistEst} to $\8$, \texttt{prev} \texttt{undef}, \texttt{start}
\begin{algorithm}
@@ -19,7 +19,7 @@
\State \Comment{Extension of \texttt{RRT}* goes here}
\State \texttt{insertEdge}{\texttt{Graph}, $x_n, x_f$}
\EndIf
\If{$x_f \texttt{==} x_n$}
\If{$x_f \texttt{==} \text{goal}$}
\State \Return{\texttt{SUCCESS}, \texttt{Graph}}
\EndIf
\EndFor
@@ -33,11 +33,19 @@ Extension to RRT* to make path better:
\small
\begin{algorithmic}[1]
\State $X_{\text{near}} \gets$ \Call{neighbours}{Graph, $x_f$, $R$}
\State $x_{\min} \gets$ \Call{neighbours}{Graph, $x_f$, $R$}
\State $x_{\min} \gets x_n$
\State $c_{\min} \gets$ \Call{cost}{$x_n$} + \Call{edgeCost}{$x_n, x_f$}
\For{each $x_{\text{near}}$ in $X_\text{near}$}
\If{\Call{edgeCollisionFree}{$x_\text{near}, x_f$} and\\ \Call{cost}{$x_\text{near}$} + \Call{edgeCost}{$x_\text{near}, x_f$} $< c_{\min}$}
\State \Call{insertEdge}{\texttt{Graph}, $x_f, x_{\text{near}}$}
\State $x_{\min} \gets x_\text{near}$
\State $c_{\min} \gets$ \Call{cost}{$x_\text{near}$} + \Call{edgeCost}{$x_\text{near}$, $x_f$}
\EndIf
\EndFor
\State \Call{insertEdge}{\texttt{Graph}, $x_{\min}, x_f$}
\State \Call{cost}{$x_f$} $\gets c_{\min}$
\For{each $x_{\text{near}}$ in $X_\text{near}$}
\If{\Call{edgeCollisionFree}{$x_f, x_\text{near}$} and\\ \Call{cost}{$x_f$} + \Call{edgeCost}{$x_f, x_\text{near}$} $<$ \Call{cost}{$x_\text{near}$}}
\State \Call{insertEdge}{\texttt{Graph}, $x_f, x_{\text{near}}$} \Comment{new connection}
\State $x_\text{parent} \gets$ \Call{parent}{\texttt{Graph}, $x_{\text{near}}$}
\State \Call{removeEdge}{\texttt{Graph}, $x_\text{parent}, x_{\text{near}}$}
\EndIf
@@ -46,4 +54,4 @@ Extension to RRT* to make path better:
\end{algorithm}
\bi{Informed RRT*} extension: Once conn. betw. start and goal found, restrict sampling to (hyper)ellipsoid.
$b = 0.5 \sqr{d^2 - ||x_s - x_g||^2}$.
$b = 0.5 \sqrt{d^2 - ||x_s - x_g||^2}$.
@@ -7,7 +7,7 @@ Compute arcs with coll. {\color{ForestGreen} Accounts for Kino-Dyn}, {\color{red
\bi{Potential Field Methods} Define {\color{gray} \textit{repulsive}} and {\color{purple} attractive} potential $c = {\color{purple} c_{\text{att}}} + {\color{gray} c_{\text{rep}}}$.
With e.g. ${\color{purple} c_\text{att}} = \frac{1}{2} k_\text{att} ||\vec{x} - \vec{x}_\text{goal}||^2$ and ${\color{gray} c_\text{rep}} = \begin{cases}
\frac{1}{2} k_\text{rep} \left( \frac{1}{\rho(\vec{x})} + \frac{1}{\rho_{\lim}} \right) & \rho \leq \rho_{\lim} \\
0 & \text{else}
\frac{1}{2} k_\text{rep} \left( \frac{1}{\rho(\vec{x})} + \frac{1}{\rho_{\lim}} \right)^2 & \rho \leq \rho_{\lim} \\
0 & \text{else}
\end{cases}$
{\color{ForestGreen} Simple control laws}, {\color{red} may trap in loc. min., no diff. const, no guar. to avoid coll}
@@ -2,9 +2,9 @@
\bi{Passive} \textit{Direct Evaluation} Act according to policy $\vec{\pi}$, store sum of discounted rewards, average them. (But too simple)
\textit{Sample-Based} Use $V_{i + 1}^{\vec{\pi}}(\vec{x}) = Q(\vec{x}, \vec{\pi}(\vec{x}))$ w/ $V_0^\pi(\vec{x}) = 0$.
We need state trans. model, instead $\tilde{R}_j$ (approx. prob. w/ statistics) and thus
We need state transition model for that (we don't have that), instead $\tilde{R}_j$ (approx. probability w/ statistics) and thus
\[
V_{i + 1}^{\vec{x}}(\vec{x}) = \frac{1}{N} \sum_{j = 1}^{N} \tilde{R}_j(\vec{x}, \vec{\pi}(\vec{x}), \vec{x}_+) + \gamma V_i^{\vec{\pi}}(\vec{x}_+)
V_{i + 1}^{\vec{\pi}}(\vec{x}) = \frac{1}{N} \sum_{j = 1}^{N} \left( \tilde{R}_j(\vec{x}, \vec{\pi}(\vec{x}), \vec{x}_+) + \gamma V_i^{\vec{\pi}}(\vec{x}_+) \right)
\]
\bi{Active} Find optimal policy $\vec{\pi}$ instead of state values $V(\vec{x})$.