1
$\begingroup$

There are multiple ways to update new pose in iterative pose optimization problem. The easiest one we often find in papers in robotics is as

SO3 + translation

Update on right \begin{equation} \begin{split} \textbf {R}' &= \textbf{R} \textbf{e}^{[\boldsymbol{\omega}] _\times}, \textbf {t}' = \textbf{t} + \delta\textbf{t} \end{split} \end{equation}

Update on left \begin{equation} \begin{split} \textbf {R}' &= \textbf{e}^{[\boldsymbol{\omega}] _\times}\textbf{R} , \textbf {t}' = \textbf{t} + \delta\textbf{t} \end{split} \end{equation}

where $\delta\textbf{t}\in R^3, \boldsymbol{\omega}\in R^3$ are estimated update on the pose with $\textbf{R}\in SO(3),\textbf{t}\in R^2$.

But there are other ways as well, such as

SE3 Matrix update

Right side update $\textbf {T}'=\delta\textbf{T}\textbf{T}$

\begin{equation} \begin{split} \textbf {T}' &=\delta\textbf{T} \textbf{T}= \begin{bmatrix} \textbf{e}^{[\boldsymbol{\omega}] _\times}&\delta\textbf{t} \\ \textbf{0}&1 \end{bmatrix} \begin{bmatrix} \textbf{R}&\textbf{t} \\ \textbf{0}&1 \end{bmatrix} =\begin{bmatrix} \textbf{e}^{[\boldsymbol{\omega}] _\times}\textbf{R}&\textbf{} \delta\textbf{t}+\textbf{e}^{[\boldsymbol{\omega}] _\times}\textbf{t} \\ \textbf{0}&1 \end{bmatrix} \end{split} \label{eq:disp} \end{equation}

\begin{equation} \begin{split} \textbf {T}' &= \textbf{e}^{[\boldsymbol{\xi}]_\times} \textbf{T}= \begin{bmatrix} \textbf{e}^{[\boldsymbol{\omega}] _\times}&\textbf{V} \delta\textbf{t} \\ \textbf{0}&1 \end{bmatrix} \begin{bmatrix} \textbf{R}&\textbf{t} \\ \textbf{0}&1 \end{bmatrix} =\begin{bmatrix} \textbf{e}^{[\boldsymbol{\omega}] _\times}\textbf{R}&\textbf{V} \delta\textbf{t}+\textbf{e}^{[\boldsymbol{\omega}] _\times}\textbf{t} \\ \textbf{0}&1 \end{bmatrix} \end{split} \end{equation}

Left side update $\textbf {T}'=\textbf{T}\delta\textbf{T}$

\begin{equation} \begin{split} \textbf {T}' &= \textbf{T}\delta \textbf{T}=\begin{bmatrix} \textbf{R}&\textbf{t} \\ \textbf{0}&1 \end{bmatrix} \begin{bmatrix} \textbf{e}^{[\boldsymbol{\omega}] _\times}&\delta\textbf{t} \\ \textbf{0}&1 \end{bmatrix} =\begin{bmatrix} \textbf{R}\textbf{e}^{[\boldsymbol{\omega}] _\times}&\textbf{R}\delta\textbf{t}+\textbf{t} \\ \textbf{0}&1 \end{bmatrix} \end{split} \end{equation}

\begin{equation} \begin{split} \textbf {T}' &= \textbf{T}\textbf{e}^{[\boldsymbol{\xi}] _\times}=\begin{bmatrix} \textbf{R}&\textbf{t} \\ \textbf{0}&1 \end{bmatrix} \begin{bmatrix} \textbf{e}^{[\boldsymbol{\omega}] _\times}&\textbf{V} \delta\textbf{t} \\ \textbf{0}&1 \end{bmatrix} =\begin{bmatrix} \textbf{R}\textbf{e}^{[\boldsymbol{\omega}] _\times}&\textbf{R}\textbf{V} \delta\textbf{t}+\textbf{t} \\ \textbf{0}&1 \end{bmatrix} \end{split} \end{equation}

se3 6x1 pose update($\boldsymbol{\mathfrak{I}}^{-1}$ could be left or right jacobian)

\begin{equation} \boldsymbol{\xi}'=\boldsymbol{\xi} + \boldsymbol{\mathfrak{I}}^{-1}\boldsymbol{\xi} \end{equation}

My question is that which one is most stable or prefered. If you know any reference toward this problem, please let me know.

Thanks!

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.