10 #ifndef MATRIX_GEOMETRY_HH 11 #define MATRIX_GEOMETRY_HH 13 #include <dynamic-graph/eigen-io.h> 14 #include <dynamic-graph/linear-algebra.h> 16 #include <Eigen/Geometry> 18 #define MRAWDATA(x) x.data() 22 typedef Eigen::Transform<double, 3, Eigen::Affine> MatrixHomogeneous;
23 typedef Eigen::Matrix<double, 3, 3> MatrixRotation;
24 typedef Eigen::AngleAxis<double> VectorUTheta;
25 typedef Eigen::Quaternion<double> VectorQuaternion;
26 typedef Eigen::Vector3d VectorRotation;
27 typedef Eigen::Vector3d VectorRollPitchYaw;
28 typedef Eigen::Matrix<double, 6, 6> MatrixForce;
29 typedef Eigen::Matrix<double, 6, 6> MatrixTwist;
31 inline void buildFrom(
const MatrixHomogeneous& MH, MatrixTwist& MT)
33 Eigen::Vector3d _t = MH.translation();
34 MatrixRotation R(MH.linear());
36 Tx << 0, -_t(2), _t(1), _t(2), 0, -_t(0), -_t(1), _t(0), 0;
40 MT.block<3, 3>(0, 0) = R;
41 MT.block<3, 3>(0, 3) = sk;
42 MT.block<3, 3>(3, 0).setZero();
43 MT.block<3, 3>(3, 3) = R;
47 #endif // MATRIX_GEOMETRY_HH this is this package namespace in order to avoid naming conflict
Definition: device.hh:22