From 39b4090b21532166c5979ebc7c21967a85aa8a67 Mon Sep 17 00:00:00 2001 From: Richard Roberts Date: Fri, 21 Feb 2014 15:47:51 -0500 Subject: [PATCH] Moved coordinate frames document into GTSAM --- doc/gtsam-coordinate-frames.lyx | 2527 +++++++++++++++++++++++++++++++ doc/gtsam-coordinate-frames.pdf | Bin 0 -> 80806 bytes 2 files changed, 2527 insertions(+) create mode 100644 doc/gtsam-coordinate-frames.lyx create mode 100644 doc/gtsam-coordinate-frames.pdf diff --git a/doc/gtsam-coordinate-frames.lyx b/doc/gtsam-coordinate-frames.lyx new file mode 100644 index 000000000..33d0dd977 --- /dev/null +++ b/doc/gtsam-coordinate-frames.lyx @@ -0,0 +1,2527 @@ +#LyX 2.0 created this file. For more info see http://www.lyx.org/ +\lyxformat 413 +\begin_document +\begin_header +\textclass article +\use_default_options true +\maintain_unincluded_children false +\language english +\language_package default +\inputencoding auto +\fontencoding global +\font_roman times +\font_sans helvet +\font_typewriter lmtt +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 +\font_tt_scale 100 + +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_amsmath 1 +\use_esint 1 +\use_mhchem 1 +\use_mathdots 1 +\cite_engine basic +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\use_refstyle 1 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\quotes_language english +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +\begin_inset FormulaMacro +\newcommand{\SE}[1]{\mathbb{SE}\left(#1\right)} +{\mathbb{SE}\left(#1\right)} +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset FormulaMacro +\newcommand{\se}[1]{\mathfrak{se}\left(#1\right)} +{\mathfrak{se}\left(#1\right)} +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset FormulaMacro +\newcommand{\R}[1]{\mathbb{R}^{#1}} +{\mathbb{R}^{#1}} +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset FormulaMacro +\newcommand{\norm}[1]{\left\Vert #1\right\Vert } +{\left\Vert #1\right\Vert } +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset FormulaMacro +\newcommand{\t}{\mathsf{T}} +{\mathsf{T}} +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset FormulaMacro +\newcommand{\lin}[1]{\overset{{\scriptscriptstyle \circ}}{#1}} +{\overset{{\scriptscriptstyle \circ}}{#1}} +\end_inset + + +\end_layout + +\begin_layout Section +Introduction +\end_layout + +\begin_layout Standard +This document describes the coordinate frame conventions in which GTSAM + inputs and represents states and uncertainties. + When specifying initial conditions, measurements and their uncertainties, + and interpreting estimated uncertainties and the results of geometry operations +, the coordinate frame convention comes into play. +\end_layout + +\begin_layout Standard +GTSAM as consistently as possible represents all states and uncertainties + in the body frame. + In cases where several frames are used simultaneously, a good rule of thumb + is that measurements and uncertainties will be represented in the +\begin_inset Quotes eld +\end_inset + +last +\begin_inset Quotes erd +\end_inset + + frame of the series. +\end_layout + +\begin_layout Section +Frame Conventions in Geometry, Lie Group, and Manifold Operations +\end_layout + +\begin_layout Standard +\begin_inset Float table +wide false +sideways false +status open + +\begin_layout Plain Layout +\align center + +\size footnotesize +\begin_inset Tabular + + + + + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +\size footnotesize +Syntax +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +\size footnotesize +Input +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +\size footnotesize +Output +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +\size footnotesize +Identities +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset space \quad{} +\end_inset + + +\series bold +Lie group operations +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $c=a.\mathbf{compose}\left(b\right)$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $c=a\mathbf{*}b$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $a$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $b$ +\end_inset + + in +\begin_inset Formula $a$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $c=b$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $c=ab$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $b=a.\mathbf{inverse}()$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $a$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $b=g$ +\end_inset + + in +\begin_inset Formula $a$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $b=a^{-1}$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $a.\mathbf{compose}($ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $\quad a.\mathbf{inverse}())==\mathbf{I}$ +\end_inset + + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $c=a.\mathbf{between}\left(b\right)$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $a$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $b$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $c=b$ +\end_inset + + in +\begin_inset Formula $a$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $c=a^{-1}b$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $a.\mathbf{inverse}().$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $\quad\mathbf{compose}(b)==c$ +\end_inset + + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $\delta=a.\mathbf{logmap}()$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $a$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $\delta$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $\hat{\delta}=\log a$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $\mathrm{X}::\mathbf{Expmap}(\delta)==a$ +\end_inset + + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $a=\mathrm{X}::\mathbf{Expmap}(\delta)$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $\delta$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $a$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $a=\exp\hat{\delta}$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $a.\mathbf{logmap}()==\delta$ +\end_inset + + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +\size footnotesize +\begin_inset space \quad{} +\end_inset + +Lie group actions +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $q=a.\mathbf{transform\_to}\left(p\right)$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $a$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $p$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $q=p$ +\end_inset + + in +\begin_inset Formula $a$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $q=a^{-1}p$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $q=a.\mathbf{transform\_from}\left(p\right)$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $q=a\mathbf{*}p$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $a$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $p$ +\end_inset + + in +\begin_inset Formula $a$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $q=p$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $q=ap$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset Caption + +\begin_layout Plain Layout +\begin_inset CommandInset label +LatexCommand label +name "tab:Coordinate-frame-transformations" + +\end_inset + +Coordinate frame transformations performed by GTSAM geometry operations. + Here, +\begin_inset Formula $a$ +\end_inset + +, +\begin_inset Formula $b$ +\end_inset + +, +\begin_inset Formula $c$ +\end_inset + +, and +\begin_inset Formula $g$ +\end_inset + + are Lie group elements (Pose2, Pose3, Rot2, Rot3, Point2, Point3, +\emph on +etc +\emph default +). + +\begin_inset Formula $\delta$ +\end_inset + + is a set of Lie algebra coordinates (i.e. + linear update, linear delta, tangent space coordinates), and +\begin_inset Formula $\mathrm{X}$ +\end_inset + + is a Lie group type (e.g. + Pose2). + +\begin_inset Formula $p$ +\end_inset + + and +\begin_inset Formula $q$ +\end_inset + + are the objects of Lie group actions (Point2, Point3, +\emph on +etc +\emph default +). +\end_layout + +\end_inset + + +\end_layout + +\end_inset + +At the core of most coordinate frame usage in GTSAM are geometry and Lie + group operations. + We explain the geometry and Lie group operations in GTSAM in terms of the + coordinate frame transformations they perform, detailed in Table +\begin_inset space ~ +\end_inset + + +\begin_inset CommandInset ref +LatexCommand ref +reference "tab:Coordinate-frame-transformations" + +\end_inset + +. +\end_layout + +\begin_layout Standard +\begin_inset Float table +wide false +sideways false +status open + +\begin_layout Plain Layout +\align center + +\size footnotesize +\begin_inset Tabular + + + + + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +\size footnotesize +Syntax +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +\size footnotesize +Input +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +\size footnotesize +Output +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +\size footnotesize +Identities +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $\delta=a.\mathbf{localCoordinates}\left(b\right)$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $a$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $b$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $\delta$ +\end_inset + + in +\begin_inset Formula $a$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $a.\mathbf{retract}\left(\delta\right)==b$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $\mathbf{I}.\mathbf{localCoordinates}($ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $\quad a.\mathbf{between}\left(b\right))==\delta$ +\end_inset + + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $b=a.\mathbf{retract}\left(\delta\right)$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $a$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $\delta$ +\end_inset + + in +\begin_inset Formula $a$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $b$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $a.\mathbf{compose}($ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $\quad\mathbf{I}.\mathbf{retract}\left(\delta\right))==b$ +\end_inset + + +\end_layout + +\end_inset + + + + +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset Caption + +\begin_layout Plain Layout +\begin_inset CommandInset label +LatexCommand label +name "tab:Coordinate-frames-manifold" + +\end_inset + +Coordinate frames for manifold tangent space operations. + Here, +\begin_inset Formula $a$ +\end_inset + +, +\begin_inset Formula $b$ +\end_inset + +, and +\begin_inset Formula $g$ +\end_inset + + are manifold elements, +\begin_inset Formula $\delta$ +\end_inset + + is a tangent space element, and +\begin_inset Formula $\mathrm{X}$ +\end_inset + + is a Lie group type (e.g. + Pose2). + For the identities column, we assume the elements are also Lie group elements + with identity +\begin_inset Formula $\mathbf{I}$ +\end_inset + +. +\end_layout + +\end_inset + + +\end_layout + +\end_inset + +The manifold tangent space operations +\begin_inset Quotes eld +\end_inset + +retract +\begin_inset Quotes erd +\end_inset + + and +\begin_inset Quotes eld +\end_inset + +local coordinates +\begin_inset Quotes erd +\end_inset + + also work in the body frame for Lie group elements. + The tangent space coordinates given to +\begin_inset Quotes eld +\end_inset + +retract +\begin_inset Quotes erd +\end_inset + + should be in the body frame, not the global frame. + Similarly, the tangent space coordinates returned by +\begin_inset Quotes eld +\end_inset + +local coordinates +\begin_inset Quotes erd +\end_inset + + will be in the same body frame. + This is detailed in Table +\begin_inset space ~ +\end_inset + + +\begin_inset CommandInset ref +LatexCommand ref +reference "tab:Coordinate-frames-manifold" + +\end_inset + +. +\end_layout + +\begin_layout Section +Frame and Uncertainty Conventions For Built-in Factors +\end_layout + +\begin_layout Standard +\begin_inset Float table +wide false +sideways false +status open + +\begin_layout Plain Layout +\align center + +\size footnotesize +\begin_inset Tabular + + + + + + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Name +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Residual +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Variables +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Measurement +\end_layout + +\begin_layout Plain Layout + +\size footnotesize +( +\begin_inset Formula $z$ +\end_inset + +) +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Measurement Uncertainty +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +\size footnotesize +PriorFactor +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $z.\mathrm{localCoordinates}\left(x\right)$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $x$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Ideal +\begin_inset Formula $x$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +In +\begin_inset Formula $z$ +\end_inset + + / In +\begin_inset Formula $x$ +\end_inset + + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +\size footnotesize +BetweenFactor +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $z.\mathrm{localCoordinates}($ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $\; x.\mathrm{between}\left(y\right))$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $x$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $y$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Ideal +\begin_inset Formula $y$ +\end_inset + + in +\begin_inset Formula $x$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +In +\begin_inset Formula $z$ +\end_inset + + / In +\begin_inset Formula $y$ +\end_inset + + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +\size footnotesize +RangeFactor +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $x.\mathrm{range}\left(y\right)-z$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $x$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $y$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Euclidean distance +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +In +\begin_inset Formula $z$ +\end_inset + + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +\size footnotesize +BearingFactor +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $z.\mathrm{localCoordinates}($ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $\; x.\mathrm{bearing}\left(y\right))$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $x$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $y$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Bearing of +\begin_inset Formula $y$ +\end_inset + + position in frame +\begin_inset Formula $x$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +In +\begin_inset Formula $z$ +\end_inset + + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +\size footnotesize +GenericProjection +\begin_inset Newline newline +\end_inset + + +\begin_inset space ~ +\end_inset + + +\begin_inset space ~ +\end_inset + +Factor +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $K^{-1}\left(P\left(x^{-1}p\right)\right)-z$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $x$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $p$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Perspective projection of +\begin_inset Formula $p$ +\end_inset + + in +\begin_inset Formula $x$ +\end_inset + +. +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +In +\begin_inset Formula $z$ +\end_inset + + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +\size footnotesize +GeneralSFM +\begin_inset Newline newline +\end_inset + + +\begin_inset space ~ +\end_inset + + +\begin_inset space ~ +\end_inset + +Factor +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $K^{-1}\left(P\left(x^{-1}p\right)\right)-z$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +\begin_inset Formula $x$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $p$ +\end_inset + + in +\begin_inset Formula $g$ +\end_inset + + +\begin_inset Newline newline +\end_inset + +Parameters +\begin_inset Newline newline +\end_inset + + +\begin_inset space ~ +\end_inset + + +\begin_inset space ~ +\end_inset + +of +\begin_inset Formula $K$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Perspective projection of +\begin_inset Formula $p$ +\end_inset + + in +\begin_inset Formula $x$ +\end_inset + +. +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +In +\begin_inset Formula $z$ +\end_inset + + +\end_layout + +\end_inset + + + + +\end_inset + + +\size default + +\begin_inset Caption + +\begin_layout Plain Layout +Measurement functions and coordinate frames of factors provided with GTSAM. + To simplify notation, +\begin_inset Formula $K$ +\end_inset + + is a camera calibration function converting pixels to normalized image + coordinates, and +\begin_inset Formula $P$ +\end_inset + + is the pinhole projection function. +\end_layout + +\end_inset + + +\end_layout + +\end_inset + +All built-in GTSAM factors follow a consistent coordinate frame convention + (though fundamentally how a measurement and its uncertainty are specified + depends on the measurement model described by a factor). + In all built-in GTSAM factors, the +\emph on +noise model +\emph default +, i.e. + the measurement uncertainty, should be specified in the coordinate frame + of the measurement itself. + This is part of a convention in GTSAM that tangent-space quantities (like + Gaussian noise models and update delta vectors) are always in the coordinate + frame of the element owning the tangent space. +\end_layout + +\begin_layout Subsection +PriorFactor +\end_layout + +\begin_layout Standard +A PriorFactor is a simple unary prior. + It encodes a direct measurement of the value of a variable +\begin_inset Formula $x$ +\end_inset + +, with the specified mean +\begin_inset Formula $z$ +\end_inset + + and uncertainty, such that +\begin_inset Formula $z.\mathrm{between}\left(x\right)$ +\end_inset + + is distributed according to the specified noise model. + From this definition and the definition of +\series bold +between +\series default + in Table +\begin_inset space ~ +\end_inset + + +\begin_inset CommandInset ref +LatexCommand ref +reference "tab:Coordinate-frame-transformations" + +\end_inset + +, the measurement itself should be specified in the frame with respect to + which +\begin_inset Formula $x$ +\end_inset + + is specified, while the uncertainty is specified in the coordinate frame + of the measurement, or equivalently, in frame +\begin_inset Formula $x$ +\end_inset + +. +\end_layout + +\begin_layout Subsection +BetweenFactor +\end_layout + +\begin_layout Standard +A BetweenFactor is a measurement on the relative transformation between + two variables. + A BetweenFactor on variables +\begin_inset Formula $x$ +\end_inset + + and +\begin_inset Formula $y$ +\end_inset + + with measurement +\begin_inset Formula $z$ +\end_inset + + implies that +\begin_inset Formula $z.\mathrm{between}\left(x.\mathrm{between}\left(y\right)\right)$ +\end_inset + + is distributed according to the specified noise model. + This definition, along with that of +\series bold +between +\series default + in Table +\begin_inset space ~ +\end_inset + + +\begin_inset CommandInset ref +LatexCommand ref +reference "tab:Coordinate-frame-transformations" + +\end_inset + +, implies that the measurement is in frame +\begin_inset Formula $x$ +\end_inset + +, i.e. + it measures +\begin_inset Formula $y$ +\end_inset + + in +\begin_inset Formula $x$ +\end_inset + +, and that the uncertainty is in the frame of the measurement, or equivalently, + in frame +\begin_inset Formula $y$ +\end_inset + +. +\end_layout + +\begin_layout Subsection +RangeFactor +\end_layout + +\begin_layout Standard +A RangeFactor measures the Euclidean distance either between two poses, + a pose and a point, or two points. + The range is a scalar, specified to be distributed according to the specified + noise model. +\end_layout + +\begin_layout Subsection +BearingFactor +\end_layout + +\begin_layout Standard +A BearingFactor measures the bearing (angle) of the +\emph on +position +\emph default + of a pose or point +\begin_inset Formula $y$ +\end_inset + + as observed from a pose +\begin_inset Formula $x$ +\end_inset + +. + The orientation of +\begin_inset Formula $x$ +\end_inset + + affects the measurement prediction. + Though, if +\begin_inset Formula $y$ +\end_inset + + is a pose, it's orientation does not matter. + The noise model specifies the distribution of the bearing, in radians. +\end_layout + +\begin_layout Subsection +GenericProjectionFactor +\end_layout + +\begin_layout Standard +A GenericProjectionFactor measures the pixel coordinates of a landmark +\begin_inset Formula $p$ +\end_inset + + projected into a camera +\begin_inset Formula $x$ +\end_inset + + with the calibration function +\begin_inset Formula $K$ +\end_inset + + that converts pixels to normalized image coordinates. + The measurement +\begin_inset Formula $z$ +\end_inset + + is specified in real pixel coordinates (thanks to the +\begin_inset Quotes eld +\end_inset + +uncalibration +\begin_inset Quotes erd +\end_inset + + function +\begin_inset Formula $K^{-1}$ +\end_inset + + used in the residual). + In a GenericProjectionFactor, the calibration is fixed. + On the other hand, GeneralSFMFactor allows the calibration parameters to + be optimized as variables. +\end_layout + +\begin_layout Subsection +GeneralSFMFactor +\end_layout + +\begin_layout Standard +A GeneralSFMFactor is the same as a GenericProjectionFactor except that + a GeneralSFMFactor also allows the parameters of the calibration function + +\begin_inset Formula $K$ +\end_inset + + to be optimized as variables, instead of having them fixed. + A GeneralSFMFactor measures the pixel coordinates of a landmark +\begin_inset Formula $p$ +\end_inset + + projected into a camera +\begin_inset Formula $x$ +\end_inset + + with the calibration function +\begin_inset Formula $K$ +\end_inset + + that converts pixels to normalized image coordinates. + The measurement +\begin_inset Formula $z$ +\end_inset + + is specified in real pixel coordinates (thanks to the +\begin_inset Quotes eld +\end_inset + +uncalibration +\begin_inset Quotes erd +\end_inset + + function +\begin_inset Formula $K^{-1}$ +\end_inset + + used in the residual). +\end_layout + +\begin_layout Standard +\begin_inset Note Note +status collapsed + +\begin_layout Section +Noise models of prior factors +\end_layout + +\begin_layout Plain Layout +The simplest way to describe noise models is by an example. + Let's take a prior factor on a 3D pose +\begin_inset Formula $x\in\SE 3$ +\end_inset + +, +\family typewriter +Pose3 +\family default + in GTSAM. + Let +\begin_inset Formula $z\in\SE 3$ +\end_inset + + be the expected pose, i.e. + the zero-error solution for the prior factor. + The +\emph on +unwhitened error +\emph default + (the error vector not accounting for the noise model) is +\begin_inset Formula +\[ +h\left(x\right)=\log\left(z^{-1}x\right)\text{,} +\] + +\end_inset + +where +\begin_inset Formula $\cdot^{-1}$ +\end_inset + + is the Lie group inverse and +\begin_inset Formula $\log\cdot$ +\end_inset + + is the logarithm map on +\begin_inset Formula $\SE 3$ +\end_inset + +. + The full factor error, including the noise model, is +\begin_inset Formula +\[ +e\left(x\right)=\norm{h\left(x\right)}_{\Sigma}^{2}=h\left(x\right)^{\t}\Sigma^{-1}h\left(x\right)\text{.} +\] + +\end_inset + +[ Skipping details of the derivation for now, for lack of time to get a + useful answer out quickly ] +\end_layout + +\begin_layout Plain Layout +The density induced by a noise model on the prior factor is Gaussian in + the tangent space about the linearization point. + Suppose that the pose is linearized at +\begin_inset Formula $\lin x\in\SE 3$ +\end_inset + +, which we assume is near to +\begin_inset Formula $z$ +\end_inset + +. + Let +\begin_inset Formula $\delta x\in\R 6$ +\end_inset + + be an update vector in local coordinates (a twist). + Then, the factor error in terms of the update vector +\begin_inset Formula $\delta x$ +\end_inset + + is +\begin_inset Formula +\[ +e\left(\delta x\right)=\norm{h\left(\lin x\exp\delta x\right)}_{\Sigma}^{2} +\] + +\end_inset + +We can see why the covariance +\begin_inset Formula $\Sigma$ +\end_inset + + is in the body frame of +\begin_inset Formula $x$ +\end_inset + + by looking at the linearized error function, +\begin_inset Formula +\begin{align*} +e\left(\delta x\right) & \approx\norm{\log\left(z^{-1}\lin x\exp\delta x\right)}_{\Sigma}^{2}\\ + & \approx\norm{\log\left(z^{-1}\lin x\right)+\delta x}_{\Sigma}^{2} +\end{align*} + +\end_inset + +Here we see that the update +\begin_inset Formula $\exp\delta x$ +\end_inset + + from the linear step +\begin_inset Formula $\delta x$ +\end_inset + + is applied in the body frame of +\begin_inset Formula $\lin x$ +\end_inset + +, because of the ordering +\begin_inset Formula $\lin x\exp\delta x$ +\end_inset + +. + Furthermore, +\begin_inset Formula $z^{-1}\lin x$ +\end_inset + + is a constant term, so we can also see that the covariance +\begin_inset Formula $\Sigma$ +\end_inset + + is actually applied to the linear update vector +\begin_inset Formula $\delta x$ +\end_inset + +. +\end_layout + +\begin_layout Plain Layout +This means that to draw random pose samples, we actually draw random samples + of +\begin_inset Formula $\delta x$ +\end_inset + + with zero mean and covariance +\begin_inset Formula $\Sigma$ +\end_inset + +, i.e. +\begin_inset Formula +\[ +\delta x\sim\mathcal{N}\left(0,\:\Sigma\right)\text{.} +\] + +\end_inset + + +\end_layout + +\begin_layout Section +Noise models of between factors +\end_layout + +\begin_layout Plain Layout +The noise model of a BetweenFactor is a bit more complicated. + The unwhitened error is +\begin_inset Formula +\[ +h\left(x_{1},x_{2}\right)=\log\left(z^{-1}x_{1}^{-1}x_{2}\right)\text{,} +\] + +\end_inset + +where +\begin_inset Formula $z$ +\end_inset + + is the expected relative pose between +\begin_inset Formula $x_{1}$ +\end_inset + + and +\begin_inset Formula $x_{2}$ +\end_inset + +, i.e. + the factor has zero error when +\begin_inset Formula $x_{1}z=x_{2}$ +\end_inset + +. + If we consider the density on the second pose +\begin_inset Formula $x_{2}$ +\end_inset + + induced by holding the first pose +\begin_inset Formula $x_{1}$ +\end_inset + + fixed, we can see that the covariance is applied to the linear update in + the body frame of the second pose +\begin_inset Formula $x_{2}$ +\end_inset + +, +\begin_inset Formula +\[ +e\left(\delta x_{2}\right)\approx\norm{\log\left(z^{-1}x_{1}^{-1}x_{2}\exp\delta x_{2}\right)}_{\Sigma}^{2}. +\] + +\end_inset + +If we hold the second pose fixed, the covariance is applied as follows (actually +, what frame is it in now??) +\begin_inset Formula +\begin{align*} +e\left(\delta x_{1}\right) & \approx\norm{\log\left(z^{-1}\left(x_{1}\exp\delta x_{1}\right)^{-1}x_{2}\right)}_{\Sigma}^{2}\\ + & =\norm{\log\left(z^{-1}\exp-\delta x_{1}x_{1}^{-1}x_{2}\right)}_{\Sigma}^{2} +\end{align*} + +\end_inset + + +\end_layout + +\end_inset + + +\end_layout + +\end_body +\end_document diff --git a/doc/gtsam-coordinate-frames.pdf b/doc/gtsam-coordinate-frames.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3613ef0ac82176c8a82e6ff0fc5fd7e05ed19c87 GIT binary patch literal 80806 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.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 jV1W}v%>VP=om~u_Ts)lq-83g7D