29 #include "mrob/matrix_base.hpp" 30 #include "mrob/SO3.hpp" 56 SE3(
const Mat4 &
T = Mat4::Identity() );
73 SE3(
const Mat3 &R,
const Mat31 &t);
78 template<
typename OtherDerived>
79 SE3(
const Eigen::MatrixBase<OtherDerived>& rhs);
114 void exp(
const Mat4 &xi_hat);
152 const Eigen::Ref<const Mat4>
T()
const;
186 Mat41 transform_plane(
const Mat41 &pi);
189 void print(
void)
const;
190 void print_lie(
void)
const;
203 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
213 Mat4
hat6(
const Mat61 &xi);
217 Mat61
vee6(
const Mat4 &xi_hat);
219 bool isSE3(
const Mat4 &
T);
void update_lhs(const Mat61 &dxi)
Definition: SE3.cpp:85
Mat4 & ref2T()
Definition: SE3.cpp:242
const Eigen::Ref< const Mat4 > T() const
Definition: SE3.cpp:237
Mat61 vee6(const Mat4 &xi_hat)
Definition: SE3.cpp:96
void regenerate()
Definition: SE3.cpp:284
Mat3 R() const
Definition: SE3.cpp:247
double distance_rotation(const SE3 &rhs=SE3()) const
Definition: SE3.cpp:262
const std::vector< Mat4 > LieDoubleGenerative
Mat6 adj() const
Definition: SE3.cpp:226
SE3 operator*(const SE3 &rhs) const
Definition: SE3.cpp:73
Mat4 ln(void) const
Definition: SE3.cpp:154
Mat31 t() const
Definition: SE3.cpp:252
void exp(const Mat4 &xi_hat)
Definition: SE3.cpp:114
Mat31 transform(const Mat31 &p) const
Definition: SE3.cpp:198
double distance(const SE3 &rhs=SE3()) const
Definition: SE3.cpp:257
SE3 inv(void) const
Definition: SE3.cpp:215
SE3 mul(const SE3 &rhs) const
Definition: SE3.cpp:80
Mat4 hat6(const Mat61 &xi)
Definition: SE3.cpp:104
Mat4 SE3GenerativeMatrix(uint_t coordinate)
Definition: SE3.cpp:313
MatX transform_array(const MatX &P) const
Definition: SE3.cpp:204
SE3 & operator=(const SE3 &rhs)
Definition: SE3.cpp:64
std::string toString() const
Generates string representation of the object.
Definition: SE3.cpp:343
const std::vector< Mat4 > LieGenerative
Definition: SE3.cpp:307
SE3(const Mat4 &T=Mat4::Identity())
Definition: SE3.cpp:32
Special Euclidean (group) in 3d Is the group representing rotations and translations, that is, rigid body transformations. SE3 = {T = [R t] | R SO3 , t Re^3 } [0 1] Associated to the groups of RBT, there is the Lie algebra se3 representing the same transformation in the tangent space around the identity. Particularly, xi =[w , v] Re^6, where w Re^3 represents the rotation and v the translation. We will preserve this order in this class.
Definition: matrix_base.hpp:36
double distance_trans(const SE3 &rhs=SE3()) const
Definition: SE3.cpp:268
void update_rhs(const Mat61 &dxi)
Definition: SE3.cpp:90
Mat61 ln_vee() const
Definition: SE3.cpp:192