42 double delta =
cst(1e-6);
43 double idelta = 1 / (2 * delta);
47 for (
int i = 0; i < 6; i++) {
53 J.col(i) = (eb - ea) * idelta;
59 for (
int i = 0; i < 6; i++) is >> meas[i];
61 Matrix<double, 6, 6, Eigen::ColMajor> infMatEuler;
62 for (
int i = 0; i < 6; i++)
63 for (
int j = i; j < 6; j++) {
64 is >> infMatEuler(i, j);
65 if (i != j) infMatEuler(j, i) = infMatEuler(i, j);
67 Matrix<double, 6, 6, Eigen::ColMajor> J;
69 Matrix<double, 6, 6, Eigen::ColMajor> infMat =
70 J.transpose() * infMatEuler * J;
78 for (
int i = 0; i < 6; i++) os << meas[i] <<
" ";
80 Matrix<double, 6, 6, Eigen::ColMajor> J;
84 Matrix<double, 6, 6, Eigen::ColMajor> infMatEuler =
86 for (
int i = 0; i < 6; i++)
87 for (
int j = i; j < 6; j++) {
88 os <<
" " << infMatEuler(i, j);
EIGEN_STRONG_INLINE const Measurement & measurement() const
accessor functions for the measurement represented by the edge
EIGEN_STRONG_INLINE const InformationType & information() const
information matrix of the constraint
void setInformation(const InformationType &information)
Measurement _measurement
the measurement of the edge
virtual bool write(std::ostream &os) const
write the vertex to a stream
virtual EIGEN_MAKE_ALIGNED_OPERATOR_NEW bool read(std::istream &is)
read the vertex from a stream, i.e., the internal state of the vertex
virtual void setMeasurement(const Isometry3 &m)
Isometry3 fromVectorQT(const Vector7 &v)
Vector6 toVectorET(const Isometry3 &t)
Vector7 toVectorQT(const Isometry3 &t)
Isometry3 fromVectorET(const Vector6 &v)
constexpr double cst(long double v)
Eigen::Transform< double, 3, Eigen::Isometry, Eigen::ColMajor > Isometry3
static void jac_quat3_euler3(Eigen::Matrix< double, 6, 6, Eigen::ColMajor > &J, const Isometry3 &t)