31 using namespace Eigen;
42 double idelta= 1. / (2. * delta);
46 for (
int i=0; i<6; i++){
52 J.col(3)=(eb-ea)*idelta;
57 bool EdgeSE3Euler::read(std::istream& is)
60 for (
int i=0; i<6; i++)
63 Matrix<double, 6, 6, Eigen::ColMajor> infMatEuler;
64 for (
int i=0; i<6; i++)
65 for (
int j=i; j<6; j++) {
66 is >> infMatEuler(i,j);
68 infMatEuler(j,i) = infMatEuler(i,j);
70 Matrix<double, 6, 6, Eigen::ColMajor> J;
72 Matrix<double, 6, 6, Eigen::ColMajor> infMat = J.transpose() * infMatEuler * J;
73 setMeasurement(transf);
74 setInformation(infMat);
78 bool EdgeSE3Euler::write(std::ostream& os)
const 81 for (
int i=0; i<6; i++)
84 Matrix<double, 6, 6, Eigen::ColMajor> J;
88 Matrix<double, 6, 6, Eigen::ColMajor> infMatEuler = J.transpose()*information()*J;
89 for (
int i=0; i<6; i++)
90 for (
int j=i; j<6; j++){
91 os <<
" " << infMatEuler(i,j);
Isometry3D fromVectorQT(const Vector7d &v)
Eigen::Matrix< double, 7, 1 > Vector7d
Vector6d toVectorET(const Isometry3D &t)
Eigen::Transform< double, 3, Eigen::Isometry, Eigen::ColMajor > Isometry3D
static void jac_quat3_euler3(Eigen::Matrix< double, 6, 6, Eigen::ColMajor > &J, const Isometry3D &t)
Vector7d toVectorQT(const Isometry3D &t)
Isometry3D fromVectorET(const Vector6d &v)
Matrix< double, 6, 1, Eigen::ColMajor > Vector6d