diff --git a/doc/LieGroups.lyx b/doc/LieGroups.lyx index 55254d52f..e39b854b2 100644 --- a/doc/LieGroups.lyx +++ b/doc/LieGroups.lyx @@ -348,7 +348,7 @@ Aff(2),6 \begin_layout Standard \begin_inset Note Comment -status open +status collapsed \begin_layout Plain Layout SL(3),8 @@ -390,36 +390,6 @@ SL(3),8 Motivation: Rigid Motions in the Plane \end_layout -\begin_layout Standard -\begin_inset Float figure -placement h -wide false -sideways false -status collapsed - -\begin_layout Plain Layout -IMAGINE A FIGURE HERE -\begin_inset Caption - -\begin_layout Plain Layout -(a) A robot translating. - (b) A robot rotating. -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\end_inset - - -\end_layout - \begin_layout Standard We will start with a small example of a robot moving in a plane, parameterized by a @@ -480,6 +450,7 @@ where \end_inset in counterclockwise direction. + \end_layout \begin_layout Standard @@ -490,7 +461,13 @@ sideways false status collapsed \begin_layout Plain Layout -IMAGINE A FIGURE HERE +\align center +\begin_inset Graphics + filename images/circular.pdf + +\end_inset + + \begin_inset Caption \begin_layout Plain Layout @@ -520,7 +497,7 @@ The reason is that, if we move the robot a tiny bit according to the velocity \begin_inset Formula $(v_{x},\, v_{y},\,\omega)$ \end_inset -, we do have to first order +, we have (to first order) \begin_inset Formula \[ (x_{t+\delta},\, y_{t+\delta},\,\theta_{t+\delta})=(x_{0}+v_{x}\delta,\, y_{0}+v_{y}\delta,\,\theta_{0}+\omega\delta)\] @@ -608,7 +585,13 @@ sideways false status open \begin_layout Plain Layout -IMAGINE A FIGURE HERE +\align center +\begin_inset Graphics + filename images/n-steps.pdf + +\end_inset + + \begin_inset Caption \begin_layout Plain Layout @@ -718,18 +701,13 @@ T(t)=\lim_{n\rightarrow\infty}\left(I+\frac{t}{n}\xihat\right)^{n}\] For real numbers, this series is familiar and is actually a way to compute the exponential function: \begin_inset Formula \[ -e^{x}=\lim_{n\rightarrow\infty}\left(I+\frac{x}{n}\right)^{n}=\sum_{k=0}^{\infty}\frac{x^{k}}{k!}\] +e^{x}=\lim_{n\rightarrow\infty}\left(1+\frac{x}{n}\right)^{n}=\sum_{k=0}^{\infty}\frac{x^{k}}{k!}\] \end_inset -The series can be similarly defined for square matrices, -\begin_inset Formula \[ -e^{A}=\lim_{n\rightarrow\infty}\left(I+\frac{A}{n}\right)^{n}=\sum_{k=0}^{\infty}\frac{A^{k}}{k!}\] - -\end_inset - -Our final result is that we can write the motion of a robot along a circular - trajectory, resulting from the 2D twist +The series can be similarly defined for square matrices,and the final result + is that we can write the motion of a robot along a circular trajectory, + resulting from the 2D twist \begin_inset Formula $\xi=(v,\omega)$ \end_inset @@ -757,7 +735,7 @@ exponential map. \end_layout \begin_layout Standard -The above has all elemtns of Lie group theory. +The above has all elements of Lie group theory. We call the space of 2D rigid transformations, along with the composition operation, the \emph on @@ -1212,7 +1190,7 @@ The Lie group \begin_inset Formula \[ -\hat{}:\theta\rightarrow\that=\skew{\theta}\] +\hat{}:\omega\rightarrow\what=\skew{\omega}\] \end_inset @@ -1256,13 +1234,46 @@ which maps the angle The exponential map can be computed in closed form as \begin_inset Formula \[ -R=e^{\skew{\theta}}=\left[\begin{array}{cc} +R=e^{\skew{\omega t}}=e^{\skew{\theta}}=\left[\begin{array}{cc} \cos\theta & -\sin\theta\\ \sin\theta & \cos\theta\end{array}\right]\] \end_inset +This can be proven +\begin_inset CommandInset citation +LatexCommand cite +key "Hall00book" +\end_inset + + by realizing +\begin_inset Formula $\skew 1$ +\end_inset + + is diagonizable with eigenvalues +\begin_inset Formula $-i$ +\end_inset + + and +\begin_inset Formula $i$ +\end_inset + + , and eigenvectors +\begin_inset Formula $\left[\begin{array}{c} +1\\ +i\end{array}\right]$ +\end_inset + + and +\begin_inset Formula $\left[\begin{array}{c} +i\\ +1\end{array}\right]$ +\end_inset + +. + Readers familiar with projective geometry will recognize these as the circular + points when promoted to homogeneous coordinates. \end_layout \begin_layout Subsection @@ -1336,13 +1347,13 @@ We would now like to know what an incremental rotation parameterized by would do: \begin_inset Formula \[ -q(\text{\theta})=Re^{\skew{\theta}}p\] +q(\text{\omega t})=Re^{\skew{\omega t}}p\] \end_inset hence the derivative is: \begin_inset Formula \[ -\deriv{q(\omega)}{\omega}=R\deriv{}{\omega}\left(e^{\skew{\theta}}p\right)=R\deriv{}{\omega}\left(\skew{\theta}p\right)=RH_{p}\] +\deriv{q(\omega t)}t=R\deriv{}t\left(e^{\skew{\omega t}}p\right)=R\deriv{}t\left(\skew{\omega t}p\right)=RH_{p}\] \end_inset @@ -2872,7 +2883,7 @@ Applying a homography is then a tensor contraction . \end_layout -\begin_layout Plain Layout +\begin_layout Standard \begin_inset Note Note status collapsed diff --git a/doc/images/circular.pdf b/doc/images/circular.pdf new file mode 100644 index 000000000..b0f43f649 Binary files /dev/null and b/doc/images/circular.pdf differ diff --git a/doc/images/n-steps.pdf b/doc/images/n-steps.pdf new file mode 100644 index 000000000..165accc2d Binary files /dev/null and b/doc/images/n-steps.pdf differ diff --git a/doc/math.lyx b/doc/math.lyx index aa7026b39..be415269d 100644 --- a/doc/math.lyx +++ b/doc/math.lyx @@ -54,7 +54,20 @@ Geometry Derivatives and Other Hairy Math Frank Dellaert \end_layout -\begin_layout Standard +\begin_layout Plain Layout +\begin_inset Box Frameless +position "t" +hor_pos "c" +has_inner_box 1 +inner_pos "t" +use_parbox 0 +width "100col%" +special "none" +height "1in" +height_special "totalheight" +status collapsed + +\begin_layout Plain Layout \begin_inset Note Comment status open @@ -67,7 +80,7 @@ Derivatives \end_layout -\begin_layout Standard +\begin_layout Plain Layout \begin_inset FormulaMacro \newcommand{\deriv}[2]{\frac{\partial#1}{\partial#2}} {\frac{\partial#1}{\partial#2}} @@ -88,7 +101,7 @@ Derivatives \end_layout -\begin_layout Standard +\begin_layout Plain Layout \begin_inset Note Comment status open @@ -101,7 +114,7 @@ Lie Groups \end_layout -\begin_layout Standard +\begin_layout Plain Layout \begin_inset FormulaMacro \newcommand{\xhat}{\hat{x}} {\hat{x}} @@ -122,7 +135,7 @@ Lie Groups \end_layout -\begin_layout Standard +\begin_layout Plain Layout \begin_inset FormulaMacro \newcommand{\define}{\stackrel{\Delta}{=}} {\stackrel{\Delta}{=}} @@ -143,7 +156,7 @@ Lie Groups \end_layout -\begin_layout Standard +\begin_layout Plain Layout \begin_inset Note Comment status open @@ -156,7 +169,7 @@ SO(2) \end_layout -\begin_layout Standard +\begin_layout Plain Layout \begin_inset FormulaMacro \newcommand{\Rtwo}{\mathfrak{\mathbb{R}^{2}}} {\mathfrak{\mathbb{R}^{2}}} @@ -189,7 +202,7 @@ SO(2) \end_layout -\begin_layout Standard +\begin_layout Plain Layout \begin_inset Note Comment status open @@ -202,7 +215,7 @@ SE(2) \end_layout -\begin_layout Standard +\begin_layout Plain Layout \begin_inset FormulaMacro \newcommand{\SEtwo}{SE(2)} {SE(2)} @@ -217,7 +230,7 @@ SE(2) \end_layout -\begin_layout Standard +\begin_layout Plain Layout \begin_inset Note Comment status open @@ -230,7 +243,7 @@ SO(3) \end_layout -\begin_layout Standard +\begin_layout Plain Layout \begin_inset FormulaMacro \newcommand{\Rthree}{\mathfrak{\mathbb{R}^{3}}} {\mathfrak{\mathbb{R}^{3}}} @@ -263,7 +276,7 @@ SO(3) \end_layout -\begin_layout Standard +\begin_layout Plain Layout \begin_inset Note Comment status open @@ -276,7 +289,7 @@ SE(3) \end_layout -\begin_layout Standard +\begin_layout Plain Layout \begin_inset FormulaMacro \newcommand{\Rsix}{\mathfrak{\mathbb{R}^{6}}} {\mathfrak{\mathbb{R}^{6}}} @@ -301,12 +314,121 @@ SE(3) \end_inset +\end_layout + +\end_inset + + \end_layout \begin_layout Section Derivatives of Lie Group Mappings \end_layout +\begin_layout Subsection +New +\end_layout + +\begin_layout Standard +The following is relevant +\begin_inset CommandInset citation +LatexCommand cite +after "page 45" +key "Hall00book" + +\end_inset + +: suppose that +\begin_inset Formula $\Phi:G\rightarrow H$ +\end_inset + + is a a mapping (Lie group homomorphism). + Then there exists a unique linear map +\begin_inset Formula $\phi:\gg\rightarrow\mathfrak{h}$ +\end_inset + + +\begin_inset Formula \[ +\phi(\xhat)\define\lim_{t\rightarrow0}\frac{d}{dt}\Phi\left(e^{t\xhat}\right)\] + +\end_inset + +such that +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $\Phi\left(e^{\xhat}\right)=e^{\phi\left(\xhat\right)}$ +\end_inset + + +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $\phi\left(T\xhat T^{-1}\right)=\Phi(T)\phi(\xhat)\Phi(T^{-1})$ +\end_inset + + +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $\phi\left([\xhat,\yhat]\right)=\left[\phi(\xhat),\phi(\yhat)\right]$ +\end_inset + + +\end_layout + +\begin_layout Standard +In other words, the map +\begin_inset Formula $\phi$ +\end_inset + + is the derivative of +\begin_inset Formula $\Phi$ +\end_inset + + at the identity. + It suffices to compute +\begin_inset Formula $\phi$ +\end_inset + + for a basis of +\begin_inset Formula $\gg$ +\end_inset + +. + Since +\begin_inset Formula \[ +e^{-\xhat}=\left(e^{-\xhat}\right)^{-1}\] + +\end_inset + + clearly +\begin_inset Formula $\phi(\xhat)=-\xhat$ +\end_inset + + for the inverse mapping. +\end_layout + +\begin_layout Standard +Let us define two mappings +\begin_inset Formula \[ +\Phi_{1}(A)=AB\mbox{ and }\Phi_{2}(B)=AB\] + +\end_inset + +Then +\begin_inset Formula \[ +\phi_{1}(\xhat)=\lim_{t\rightarrow0}\frac{d}{dt}\Phi_{1}\left(e^{t\xhat}B\right)=\] + +\end_inset + + +\end_layout + +\begin_layout Subsection +Old +\end_layout + \begin_layout Standard The derivatives for \emph on @@ -962,11 +1084,11 @@ We would now like to know what an incremental rotation parameterized by would do: \begin_inset Formula \[ -q(\text{\theta})=Re^{\skew{\theta}}p\] +q(\text{\omega t})=Re^{\skew{\omega t}}p\] \end_inset -hence the derivative (following the exposition in Section +The derivative is (following the exposition in Section \begin_inset CommandInset ref LatexCommand ref reference "sec:Derivatives-of-Actions" @@ -975,7 +1097,7 @@ reference "sec:Derivatives-of-Actions" ): \begin_inset Formula \[ -\deriv{q(\omega)}{\omega}=R\deriv{}{\omega}\left(e^{\skew{\theta}}p\right)=R\deriv{}{\omega}\left(\skew{\theta}p\right)=RH_{p}\] +\deriv{q(\omega t)}t=R\deriv{}t\left(e^{\skew{\omega t}}p\right)=R\deriv{}t\left(\skew{\omega t}p\right)\] \end_inset @@ -1004,22 +1126,34 @@ cross product \begin_inset Formula \[ \skew{\theta}p=\left[\begin{array}{c} -y\\ -x\end{array}\right]\theta=H_{p}\theta\] +x\end{array}\right]\theta=\omega R_{pi/2}pt\] \end_inset -with -\begin_inset Formula $H_{p}=R_{pi/2}p$ +Hence, the final derivative of an action in its first argument is +\begin_inset Formula \[ +\deriv{q(\omega t)}{\omega t}=\omega RR_{pi/2}p=\omega R_{pi/2}Rp=\omega R_{pi/2}q\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Really need to think of relationship +\begin_inset Formula $\omega$ +\end_inset + + and +\begin_inset Formula $t$ \end_inset . - Hence, the final derivative of an action in its first argument is -\begin_inset Formula \[ -\deriv{q(\theta)}{\theta}=RH_{p}=RR_{pi/2}p=R_{pi/2}Rp=R_{pi/2}q\] - + We don't have a time +\begin_inset Formula $t$ \end_inset - + in our code. \end_layout \begin_layout Standard