mars_lib  0.1.0.3dc76ee85e09
Modular and Robust Sensor-Fusion
Public Member Functions | Public Attributes | Friends | List of all members
mars::Pose Class Reference

#include </home/runner/work/mars_lib/mars_lib/source/mars/include/mars/type_definitions/mars_types.h>

+ Collaboration diagram for mars::Pose:

Public Member Functions

 Pose ()=default
 
 Pose (const Eigen::Vector3d &position, const Eigen::Quaterniond &orientation)
 
 Pose (const Eigen::Vector3d &position, const Eigen::Matrix3d &rotation)
 
void set_meas_noise (Eigen::Vector3d n_p, Eigen::Vector3d n_r)
 
bool operator== (const Pose &rhs) const
 
Eigen::Matrix< double, 6, 6 > get_meas_noise_mat () const
 
Pose get_inverse_pose () const
 Return inverse transformation (T_AB -> T_BA) as mars::Pose. More...
 

Public Attributes

Eigen::Vector3d p_ { Eigen::Vector3d::Zero() }
 
Eigen::Quaterniond q_ { Eigen::Quaterniond::Identity() }
 
Eigen::Vector3d n_p_ { Eigen::Vector3d::Ones() * 0.1 }
 
Eigen::Vector3d n_r_ { Eigen::Vector3d::Ones() * 0.1 }
 

Friends

std::ostream & operator<< (std::ostream &out, const Pose &data)
 

Constructor & Destructor Documentation

◆ Pose() [1/3]

mars::Pose::Pose ( )
default
+ Here is the caller graph for this function:

◆ Pose() [2/3]

mars::Pose::Pose ( const Eigen::Vector3d &  position,
const Eigen::Quaterniond &  orientation 
)
inline
28  : p_(position), q_(orientation)
29  {
30  }
Eigen::Vector3d p_
Definition: mars_types.h:21
Eigen::Quaterniond q_
Definition: mars_types.h:22

◆ Pose() [3/3]

mars::Pose::Pose ( const Eigen::Vector3d &  position,
const Eigen::Matrix3d &  rotation 
)
inline
32  : p_(position), q_(rotation)
33  {
34  }

Member Function Documentation

◆ set_meas_noise()

void mars::Pose::set_meas_noise ( Eigen::Vector3d  n_p,
Eigen::Vector3d  n_r 
)
inline
37  {
38  n_p_ = n_p;
39  n_r_ = n_r;
40  }
Eigen::Vector3d n_r_
Definition: mars_types.h:25
Eigen::Vector3d n_p_
Definition: mars_types.h:24

◆ operator==()

bool mars::Pose::operator== ( const Pose rhs) const
inline
43  {
44  return ((p_ == rhs.p_) && ((q_.coeffs() == rhs.q_.coeffs())));
45  }

◆ get_meas_noise_mat()

Eigen::Matrix<double, 6, 6> mars::Pose::get_meas_noise_mat ( ) const
inline
56  {
57  Eigen::Matrix<double, 6, 1> vec;
58  vec << n_p_, n_r_;
59  return vec.asDiagonal();
60  }

◆ get_inverse_pose()

Pose mars::Pose::get_inverse_pose ( ) const
inline

Return inverse transformation (T_AB -> T_BA) as mars::Pose.

Returns
Pose
67  {
68  return Pose(-q_.toRotationMatrix().transpose() * p_, q_.conjugate());
69  }
Pose()=default
+ Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
const Pose data 
)
friend
48  {
49  out << "p: " << data.p_[0] << ", " << data.p_[1] << ", " << data.p_[2];
50  out << " q: " << data.q_.w() << ", " << data.q_.x() << ", " << data.q_.y() << ", " << data.q_.z();
51 
52  return out;
53  }

Member Data Documentation

◆ p_

Eigen::Vector3d mars::Pose::p_ { Eigen::Vector3d::Zero() }

◆ q_

Eigen::Quaterniond mars::Pose::q_ { Eigen::Quaterniond::Identity() }

◆ n_p_

Eigen::Vector3d mars::Pose::n_p_ { Eigen::Vector3d::Ones() * 0.1 }

◆ n_r_

Eigen::Vector3d mars::Pose::n_r_ { Eigen::Vector3d::Ones() * 0.1 }

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