27#ifndef G2O_TYPES_SLAM2D_ONLINE_H
28#define G2O_TYPES_SLAM2D_ONLINE_H
43 VertexSE2::oplusImpl(update);
44 updatedEstimate = _estimate;
48 Eigen::Vector3d p = _estimate.toVector();
49 p += Eigen::Map<Eigen::Vector3d>(update);
51 updatedEstimate.fromVector(p);
68 if (from.count(fromEdge) > 0) {
82 SE2 delta = _inverseMeasurement *
84 Eigen::Vector3d error = delta.
toVector();
85 return error.dot(information() * error);
void setEstimate(const EstimateType &et)
set the estimate for the vertex also calls updateCache()
2D edge between two Vertex2
std::set< Vertex * > VertexSet
void initialEstimate(const OptimizableGraph::VertexSet &from, OptimizableGraph::Vertex *)
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
VertexSE2::EstimateType updatedEstimate
virtual void oplusImpl(const double *update)
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
void oplusUpdatedEstimate(double *update)
A general case Vertex for optimization.
Vector3 toVector() const
convert to a 3D vector (x, y, theta)
SE2 inverse() const
invert :-)
2D pose Vertex, (x,y,theta)
#define G2O_INTERACTIVE_API
double normalize_theta(double theta)