14 #include <Eigen/Dense>
21 Eigen::Vector3d
p_{ Eigen::Vector3d::Zero() };
22 Eigen::Quaterniond
q_{ Eigen::Quaterniond::Identity() };
24 Eigen::Vector3d
n_p_{ Eigen::Vector3d::Ones() * 0.1 };
25 Eigen::Vector3d
n_r_{ Eigen::Vector3d::Ones() * 0.1 };
28 Pose(
const Eigen::Vector3d& position,
const Eigen::Quaterniond& orientation) :
p_(position),
q_(orientation)
32 Pose(
const Eigen::Vector3d& position,
const Eigen::Matrix3d& rotation) :
p_(position),
q_(rotation)
44 return ((
p_ == rhs.
p_) && ((
q_.coeffs() == rhs.
q_.coeffs())));
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();
57 Eigen::Matrix<double, 6, 1> vec;
59 return vec.asDiagonal();
68 return Pose(-
q_.toRotationMatrix().transpose() *
p_,
q_.conjugate());
Definition: mars_types.h:19
friend std::ostream & operator<<(std::ostream &out, const Pose &data)
Definition: mars_types.h:47
Eigen::Vector3d n_r_
Definition: mars_types.h:25
void set_meas_noise(Eigen::Vector3d n_p, Eigen::Vector3d n_r)
Definition: mars_types.h:36
Eigen::Vector3d p_
Definition: mars_types.h:21
Pose get_inverse_pose() const
Return inverse transformation (T_AB -> T_BA) as mars::Pose.
Definition: mars_types.h:66
Eigen::Vector3d n_p_
Definition: mars_types.h:24
Eigen::Matrix< double, 6, 6 > get_meas_noise_mat() const
Definition: mars_types.h:55
Pose(const Eigen::Vector3d &position, const Eigen::Quaterniond &orientation)
Definition: mars_types.h:28
Pose(const Eigen::Vector3d &position, const Eigen::Matrix3d &rotation)
Definition: mars_types.h:32
bool operator==(const Pose &rhs) const
Definition: mars_types.h:42
Eigen::Quaterniond q_
Definition: mars_types.h:22