MRPT  2.0.3
List of all members | Public Types | Static Public Member Functions | Static Public Attributes
mrpt::poses::Lie::SO< 3 > Struct Template Reference

Detailed Description

template<>
struct mrpt::poses::Lie::SO< 3 >

Traits for SO(3), rotations in R^3 space.

Definition at line 27 of file SO.h.

#include <mrpt/poses/Lie/SO.h>

Public Types

using tangent_vector = mrpt::math::CVectorFixedDouble< DOFs >
 
using type = mrpt::math::CMatrixDouble33
 
using tang2mat_jacob = mrpt::math::CMatrixDouble93
 Type for Jacobian: tangent space -> SO(n) matrix. More...
 
using mat2tang_jacob = mrpt::math::CMatrixDouble39
 Type for Jacobian: SO(n) matrix -> tangent space. More...
 

Static Public Member Functions

static type exp (const tangent_vector &x)
 SO(3) exponential map $ x \rightarrow \exp(x^\wedge) $. More...
 
static tangent_vector log (const type &R)
 SO(3) logarithm map $ \mathbf{R} \rightarrow \log(\mathbf{R}^\vee)$. More...
 
static type fromYPR (const double yaw, const double pitch, const double roll)
 Returns the 3x3 SO(3) rotation matrix from yaw, pitch, roll angles. More...
 
static tangent_vector vee_RmRt (const type &R)
 Returns vee(R-R'), which is an approximation to 2*vee(logmat(R)) for small rotations. More...
 
static tang2mat_jacob jacob_dexpe_de (const tangent_vector &x)
 Jacobian for exp(). More...
 
static mat2tang_jacob jacob_dlogv_dv (const type &R)
 Jacobian for log() See 10.3.2 in [1]. More...
 

Static Public Attributes

static constexpr size_t DOFs = 3
 

Member Typedef Documentation

◆ mat2tang_jacob

Type for Jacobian: SO(n) matrix -> tangent space.

Definition at line 37 of file SO.h.

◆ tang2mat_jacob

Type for Jacobian: tangent space -> SO(n) matrix.

Definition at line 34 of file SO.h.

◆ tangent_vector

Definition at line 30 of file SO.h.

◆ type

Definition at line 31 of file SO.h.

Member Function Documentation

◆ exp()

static type mrpt::poses::Lie::SO< 3 >::exp ( const tangent_vector x)
static

SO(3) exponential map $ x \rightarrow \exp(x^\wedge) $.

This is exactly the same than the Rodrigues formula. See 9.4.1 in [1] for the exponential map definition.

  • Input: 3-len vector in Lie algebra so(3)
  • Output: 3x3 rotation matrix in SO(3)

◆ fromYPR()

static type mrpt::poses::Lie::SO< 3 >::fromYPR ( const double  yaw,
const double  pitch,
const double  roll 
)
static

Returns the 3x3 SO(3) rotation matrix from yaw, pitch, roll angles.

See CPose3D for the axis conventions and a picture.

◆ jacob_dexpe_de()

static tang2mat_jacob mrpt::poses::Lie::SO< 3 >::jacob_dexpe_de ( const tangent_vector x)
static

Jacobian for exp().

See 10.3.1 in [1]

  • Input: 3-len vector in Lie algebra so(3)
  • Jacobian: Jacobian of the 3x3 matrix (stacked as a column major 9-vector) wrt the vector in the tangent space.

◆ jacob_dlogv_dv()

static mat2tang_jacob mrpt::poses::Lie::SO< 3 >::jacob_dlogv_dv ( const type R)
static

Jacobian for log() See 10.3.2 in [1].

  • Input: 3x3 rotation matrix in SO(3)
  • Jacobian: Jacobian of the tangent space vector wrt the 3x3 matrix (stacked as a column major 9-vector).

◆ log()

static tangent_vector mrpt::poses::Lie::SO< 3 >::log ( const type R)
static

SO(3) logarithm map $ \mathbf{R} \rightarrow \log(\mathbf{R}^\vee)$.

See 10.3.1 in [1]

  • Input: 3x3 rotation matrix in SO(3)
  • Output: 3-len vector in Lie algebra so(3)

◆ vee_RmRt()

static tangent_vector mrpt::poses::Lie::SO< 3 >::vee_RmRt ( const type R)
static

Returns vee(R-R'), which is an approximation to 2*vee(logmat(R)) for small rotations.

Member Data Documentation

◆ DOFs

constexpr size_t mrpt::poses::Lie::SO< 3 >::DOFs = 3
static

Definition at line 29 of file SO.h.




Page generated by Doxygen 1.8.14 for MRPT 2.0.3 Git: 8e9e8af54 Wed May 13 17:41:24 2020 +0200 at miƩ may 13 17:55:54 CEST 2020