Main MRPT website > C++ reference for MRPT 1.5.3
List of all members | Public Types | Static Public Member Functions
mrpt::poses::SE_traits< 3 > Struct Template Reference

Detailed Description

template<>
struct mrpt::poses::SE_traits< 3 >

Specialization of SE for 3D poses.

See also
SE_traits

Definition at line 30 of file SE_traits.h.

#include <mrpt/poses/SE_traits.h>

Public Types

enum  { VECTOR_SIZE = 6 }
 
typedef mrpt::math::CArrayDouble< VECTOR_SIZEarray_t
 
typedef mrpt::math::CMatrixFixedNumeric< double, VECTOR_SIZE, VECTOR_SIZEmatrix_VxV_t
 
typedef CPose3D pose_t
 
typedef mrpt::math::TPose3D lightweight_pose_t
 
typedef mrpt::math::TPoint3D point_t
 

Static Public Member Functions

static void exp (const array_t &x, CPose3D &P)
 Exponential map in SE(3), with XYZ different from the first three values of "x". More...
 
static void pseudo_exp (const array_t &x, CPose3D &P)
 Pseudo-Exponential map in SE(3), with XYZ copied from the first three values of "x". More...
 
static void ln (const CPose3D &P, array_t &x)
 Logarithm map in SE(3) More...
 
static void pseudo_ln (const CPose3D &P, array_t &x)
 A pseudo-Logarithm map in SE(3), where the output = [X,Y,Z, Ln(ROT)], that is, the normal SO(3) logarithm is used for the rotation components, but the translation is left unmodified. More...
 
static void jacobian_dP1DP2inv_depsilon (const CPose3D &P1DP2inv, matrix_VxV_t *df_de1, matrix_VxV_t *df_de2)
 Return one or both of the following 6x6 Jacobians, useful in graph-slam problems:

\[ \frac{\partial pseudoLn(P_1 D P_2^{-1}) }{\partial \epsilon_1} \]

\[ \frac{\partial pseudoLn(P_1 D P_2^{-1}) }{\partial \epsilon_2} \]

With $ \epsilon_1 $ and $ \epsilon_2 $ being increments in the linearized manifold for P1 and P2. More...

 

Member Typedef Documentation

◆ array_t

Definition at line 33 of file SE_traits.h.

◆ lightweight_pose_t

Definition at line 36 of file SE_traits.h.

◆ matrix_VxV_t

Definition at line 34 of file SE_traits.h.

◆ point_t

Definition at line 37 of file SE_traits.h.

◆ pose_t

Definition at line 35 of file SE_traits.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
VECTOR_SIZE 

Definition at line 32 of file SE_traits.h.

Member Function Documentation

◆ exp()

static void mrpt::poses::SE_traits< 3 >::exp ( const array_t x,
CPose3D P 
)
inlinestatic

Exponential map in SE(3), with XYZ different from the first three values of "x".

See also
pseudo_exp

Definition at line 40 of file SE_traits.h.

References mrpt::poses::CPose3D::exp().

◆ jacobian_dP1DP2inv_depsilon()

static void mrpt::poses::SE_traits< 3 >::jacobian_dP1DP2inv_depsilon ( const CPose3D P1DP2inv,
matrix_VxV_t df_de1,
matrix_VxV_t df_de2 
)
static

Return one or both of the following 6x6 Jacobians, useful in graph-slam problems:

\[ \frac{\partial pseudoLn(P_1 D P_2^{-1}) }{\partial \epsilon_1} \]

\[ \frac{\partial pseudoLn(P_1 D P_2^{-1}) }{\partial \epsilon_2} \]

With $ \epsilon_1 $ and $ \epsilon_2 $ being increments in the linearized manifold for P1 and P2.

◆ ln()

static void mrpt::poses::SE_traits< 3 >::ln ( const CPose3D P,
array_t x 
)
inlinestatic

Logarithm map in SE(3)

Definition at line 46 of file SE_traits.h.

References mrpt::poses::CPose3D::ln(), and exprtk::details::x().

◆ pseudo_exp()

static void mrpt::poses::SE_traits< 3 >::pseudo_exp ( const array_t x,
CPose3D P 
)
inlinestatic

Pseudo-Exponential map in SE(3), with XYZ copied from the first three values of "x".

See also
exp

Definition at line 43 of file SE_traits.h.

References mrpt::poses::CPose3D::exp().

◆ pseudo_ln()

static void mrpt::poses::SE_traits< 3 >::pseudo_ln ( const CPose3D P,
array_t x 
)
static

A pseudo-Logarithm map in SE(3), where the output = [X,Y,Z, Ln(ROT)], that is, the normal SO(3) logarithm is used for the rotation components, but the translation is left unmodified.




Page generated by Doxygen 1.8.13 for MRPT 1.5.3 at Mon Oct 30 10:27:08 UTC 2017