Addressed comments
parent
bf8fa75163
commit
476eb9c060
|
@ -150,18 +150,14 @@ filename "common_macros.tex"
|
||||||
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Section*
|
\begin_layout Abstract
|
||||||
Overview
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\begin_layout Standard
|
|
||||||
In this document I provide a hands-on introduction to both factor graphs
|
In this document I provide a hands-on introduction to both factor graphs
|
||||||
and GTSAM.
|
and GTSAM.
|
||||||
This is an updated version from the 2012 TR that is tailored to our GTSAM
|
This is an updated version from the 2012 TR that is tailored to our GTSAM
|
||||||
4.0 library and beyond.
|
4.0 library and beyond.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Abstract
|
||||||
|
|
||||||
\series bold
|
\series bold
|
||||||
Factor graphs
|
Factor graphs
|
||||||
|
@ -202,7 +198,7 @@ ts or prior knowledge.
|
||||||
robotics and vision.
|
robotics and vision.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Abstract
|
||||||
The GTSAM toolbox (GTSAM stands for
|
The GTSAM toolbox (GTSAM stands for
|
||||||
\begin_inset Quotes eld
|
\begin_inset Quotes eld
|
||||||
\end_inset
|
\end_inset
|
||||||
|
@ -223,7 +219,7 @@ Georgia Tech Smoothing and Mapping
|
||||||
y.
|
y.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Abstract
|
||||||
GTSAM exploits sparsity to be computationally efficient.
|
GTSAM exploits sparsity to be computationally efficient.
|
||||||
Typically measurements only provide information on the relationship between
|
Typically measurements only provide information on the relationship between
|
||||||
a handful of variables, and hence the resulting factor graph will be sparsely
|
a handful of variables, and hence the resulting factor graph will be sparsely
|
||||||
|
@ -234,8 +230,11 @@ l complexity.
|
||||||
GTSAM provides iterative methods that are quite efficient regardless.
|
GTSAM provides iterative methods that are quite efficient regardless.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Abstract
|
||||||
You can download the latest version of GTSAM from GitHub at
|
You can download the latest version of GTSAM from GitHub at
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Abstract
|
||||||
\begin_inset Flex URL
|
\begin_inset Flex URL
|
||||||
status open
|
status open
|
||||||
|
|
||||||
|
@ -1365,14 +1364,18 @@ where
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
is the measurement,
|
is the measurement,
|
||||||
\begin_inset Formula $q$
|
\begin_inset Formula $q\in SE(2)$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
is the unknown variable,
|
is the unknown variable,
|
||||||
\begin_inset Formula $h(q)$
|
\begin_inset Formula $h(q)$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
is a (possibly nonlinear) measurement function, and
|
is a
|
||||||
|
\series bold
|
||||||
|
measurement function
|
||||||
|
\series default
|
||||||
|
, and
|
||||||
\begin_inset Formula $\Sigma$
|
\begin_inset Formula $\Sigma$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
|
@ -1633,7 +1636,7 @@ Many of our users, when attempting to create a custom factor, are initially
|
||||||
\begin_inset Formula $2\times3$
|
\begin_inset Formula $2\times3$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
diagonal matrix.
|
identity matrix.
|
||||||
This
|
This
|
||||||
\emph on
|
\emph on
|
||||||
would
|
would
|
||||||
|
@ -1647,7 +1650,7 @@ would
|
||||||
such that
|
such that
|
||||||
\begin_inset Formula
|
\begin_inset Formula
|
||||||
\[
|
\[
|
||||||
h(qe^{\hat{\xi}})\approx h(q)+H\xi
|
h(q\exp\hat{\xi})\approx h(q)+H\xi
|
||||||
\]
|
\]
|
||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
@ -1664,7 +1667,8 @@ where
|
||||||
\series bold
|
\series bold
|
||||||
exponential map
|
exponential map
|
||||||
\series default
|
\series default
|
||||||
for the variable we want to update, In this case
|
for the variable we want to update.
|
||||||
|
In this case
|
||||||
\begin_inset Formula $q\in SE(2)$
|
\begin_inset Formula $q\in SE(2)$
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
|
@ -1689,7 +1693,7 @@ The exponential map for
|
||||||
\[
|
\[
|
||||||
\exp\hat{\xi}\approx\left[\begin{array}{ccc}
|
\exp\hat{\xi}\approx\left[\begin{array}{ccc}
|
||||||
1 & -\delta\theta & \delta x\\
|
1 & -\delta\theta & \delta x\\
|
||||||
\delta\theta & 1 & \delta x\\
|
\delta\theta & 1 & \delta y\\
|
||||||
0 & 0 & 1
|
0 & 0 & 1
|
||||||
\end{array}\right]
|
\end{array}\right]
|
||||||
\]
|
\]
|
||||||
|
@ -1709,7 +1713,7 @@ h(qe^{\hat{\xi}})\approx h\left(\left[\begin{array}{ccc}
|
||||||
0 & 0 & 1
|
0 & 0 & 1
|
||||||
\end{array}\right]\left[\begin{array}{ccc}
|
\end{array}\right]\left[\begin{array}{ccc}
|
||||||
1 & -\delta\theta & \delta x\\
|
1 & -\delta\theta & \delta x\\
|
||||||
\delta\theta & 1 & \delta x\\
|
\delta\theta & 1 & \delta y\\
|
||||||
0 & 0 & 1
|
0 & 0 & 1
|
||||||
\end{array}\right]\right)=\left[\begin{array}{c}
|
\end{array}\right]\right)=\left[\begin{array}{c}
|
||||||
q_{x}+\cos(q_{\theta})\delta x-\sin(q_{\theta})\delta y\\
|
q_{x}+\cos(q_{\theta})\delta x-\sin(q_{\theta})\delta y\\
|
||||||
|
@ -1726,6 +1730,66 @@ which then explains the Jacobian
|
||||||
.
|
.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
Lie groups are very relevant in the robotics context, and you can read more
|
||||||
|
here:
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Itemize
|
||||||
|
\begin_inset Flex URL
|
||||||
|
status open
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
https://github.com/borglab/gtsam/blob/develop/doc/LieGroups.pdf
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Itemize
|
||||||
|
\begin_inset Flex URL
|
||||||
|
status open
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
https://github.com/borglab/gtsam/blob/develop/doc/math.pdf
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
In some cases you want to go even beyond Lie groups to a looser concept,
|
||||||
|
|
||||||
|
\series bold
|
||||||
|
manifolds
|
||||||
|
\series default
|
||||||
|
, because not all unknown variables behave like a group, e.g., the space of
|
||||||
|
3D planes, 2D lines, directions in space, etc.
|
||||||
|
For manifolds we do not always have an exponential map, but we have a retractio
|
||||||
|
n that plays the same role.
|
||||||
|
Some of this is explained here:
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Itemize
|
||||||
|
\begin_inset Flex URL
|
||||||
|
status open
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
https://gtsam.org/notes/GTSAM-Concepts.html
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Subsection
|
\begin_layout Subsection
|
||||||
Using Custom Factors
|
Using Custom Factors
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
BIN
doc/gtsam.pdf
BIN
doc/gtsam.pdf
Binary file not shown.
Loading…
Reference in New Issue