MROB
Public Member Functions | Protected Attributes | List of all members
mrob::SE3Cov Class Reference
Inheritance diagram for mrob::SE3Cov:
Inheritance graph
[legend]
Collaboration diagram for mrob::SE3Cov:
Collaboration graph
[legend]

Public Member Functions

 SE3Cov (void)
 Default construct a new SE3Cov object. More...
 
 SE3Cov (const SE3 &pose, const Mat6 &cov)
 Construtor of SE3Cov object. More...
 
 SE3Cov (const SE3Cov &pose)
 Copy constructor of SE3Cov object. More...
 
Mat6 cov () const
 cov() returns current covariance matrix state More...
 
SE3Cov compound_2nd_order (const SE3Cov &pose) const
 SE3 pose uncertainty compounding of the second order. More...
 
SE3Cov compound_2nd_order (const SE3 &pose, const Mat6 &cov) const
 SE3 pose uncertainty compounding of the second order. More...
 
SE3Cov compound_4th_order (const SE3Cov &pose) const
 SE3pose uncertainy compounding of the fourth order. More...
 
SE3Cov compound_4th_order (const SE3 &pose, const Mat6 &cov) const
 SE3pose uncertainy compounding of the fourth order. More...
 
void print ()
 Prints current state of pose and covariance. More...
 
SE3Cov mul (const SE3Cov &rhs) const
 Multiplication method mul as an interface for compounding. More...
 
SE3Cov operator* (const SE3Cov &rhs) const
 Multiplication operator. Does pose covariance compounding. More...
 
std::string toString () const
 Generates string representation of the SE3cov object. More...
 
- Public Member Functions inherited from mrob::SE3
 SE3 (const Mat4 &T=Mat4::Identity())
 
 SE3 (const Mat61 &xi)
 
 SE3 (const SE3 &T)
 
 SE3 (const SO3 &R, const Mat31 &t)
 
 SE3 (const Mat3 &R, const Mat31 &t)
 
template<typename OtherDerived >
 SE3 (const Eigen::MatrixBase< OtherDerived > &rhs)
 
SE3operator= (const SE3 &rhs)
 
SE3 operator* (const SE3 &rhs) const
 
SE3 mul (const SE3 &rhs) const
 
void update_lhs (const Mat61 &dxi)
 
void update_rhs (const Mat61 &dxi)
 
void exp (const Mat4 &xi_hat)
 
Mat4 ln (void) const
 
Mat61 ln_vee () const
 
Mat31 transform (const Mat31 &p) const
 
MatX transform_array (const MatX &P) const
 
SE3 inv (void) const
 
Mat6 adj () const
 
const Eigen::Ref< const Mat4 > T () const
 
Mat4 & ref2T ()
 
Mat3 R () const
 
Mat31 t () const
 
double distance (const SE3 &rhs=SE3()) const
 
double distance_rotation (const SE3 &rhs=SE3()) const
 
double distance_trans (const SE3 &rhs=SE3()) const
 
void regenerate ()
 
Mat41 transform_plane (const Mat41 &pi)
 
void print (void) const
 
void print_lie (void) const
 
std::string toString () const
 Generates string representation of the object. More...
 

Protected Attributes

Mat6 covariance_
 This is the 6x6 covariance matrix of the current pose. Convention is \(\xi = (\theta, \rho)\), where \(\theta\) are the orientation angles, and \(\rho\) is the position vector. More...
 
- Protected Attributes inherited from mrob::SE3
Mat4 T_
 

Constructor & Destructor Documentation

◆ SE3Cov() [1/3]

SE3Cov::SE3Cov ( void  )

Default construct a new SE3Cov object.

Returns
SE3Cov object.

◆ SE3Cov() [2/3]

SE3Cov::SE3Cov ( const SE3 pose,
const Mat6 &  cov 
)

Construtor of SE3Cov object.

Parameters
[in]pose- SE3 oject - pose;
[in]cov- covariance matrix of the pose uncertainty;
Returns
SE3Cov object.

◆ SE3Cov() [3/3]

SE3Cov::SE3Cov ( const SE3Cov pose)

Copy constructor of SE3Cov object.

Parameters
[in]pose- SE3 oject - pose

Member Function Documentation

◆ compound_2nd_order() [1/2]

SE3Cov SE3Cov::compound_2nd_order ( const SE3Cov pose) const

SE3 pose uncertainty compounding of the second order.

Parameters
[in]pose- SE3Cov object: incremental pose + increment uncertainty
Returns
void

◆ compound_2nd_order() [2/2]

SE3Cov SE3Cov::compound_2nd_order ( const SE3 pose,
const Mat6 &  cov 
) const

SE3 pose uncertainty compounding of the second order.

Parameters
[in]pose- pose increment;
[in]cov- increment uncertainty.
Returns
SE3Cov object with updated uncertainty and pose.

◆ compound_4th_order() [1/2]

SE3Cov SE3Cov::compound_4th_order ( const SE3Cov pose) const

SE3pose uncertainy compounding of the fourth order.

Parameters
[in]pose- SE3Cov object with incremental pose and increment uncertainty.
Returns
SE3Cov object with updated uncertainty and pose.

◆ compound_4th_order() [2/2]

SE3Cov SE3Cov::compound_4th_order ( const SE3 pose,
const Mat6 &  cov 
) const

SE3pose uncertainy compounding of the fourth order.

Parameters
[in]pose- pose increment;
[in]cov- increment uncertainty.
Returns
SE3Cov object with updated uncertainty and pose.

◆ cov()

Mat6 SE3Cov::cov ( void  ) const

cov() returns current covariance matrix state

Returns
Mat6 - uncertainty covariance matrix

◆ mul()

SE3Cov SE3Cov::mul ( const SE3Cov rhs) const

Multiplication method mul as an interface for compounding.

Parameters
[in]rhs- SE3Cov object that corresponds to increment.
Returns
SE3Cov - new updated uncertainty SE3Cov object.

◆ operator*()

SE3Cov SE3Cov::operator* ( const SE3Cov rhs) const

Multiplication operator. Does pose covariance compounding.

Parameters
[in]rhs- SE3Cov object, which corresponds to increment uncertainty.
Returns
SE3Cov - new updated uncertainty SE3Cov object.

◆ print()

void SE3Cov::print ( void  )

Prints current state of pose and covariance.

Returns
SE3Cov object with updated uncertainty and pose.

◆ toString()

std::string mrob::SE3Cov::toString ( ) const

Generates string representation of the SE3cov object.

Returns
std::string object to print

Member Data Documentation

◆ covariance_

Mat6 mrob::SE3Cov::covariance_
protected

This is the 6x6 covariance matrix of the current pose. Convention is \(\xi = (\theta, \rho)\), where \(\theta\) are the orientation angles, and \(\rho\) is the position vector.

\[ \Sigma = E[\xi\cdot\xi^T] = \left[\begin{array}{cc} \Sigma_{\theta \theta} & \Sigma_{\theta \rho} \\ \Sigma_{\rho \theta} & \Sigma_{\rho \rho}\\ \end{array} \right] \]

matrix of pose uncertainty


The documentation for this class was generated from the following files: