27#ifndef G2O_EDGE_SE2_LINE2D_H
28#define G2O_EDGE_SE2_LINE2D_H
30#include "g2o/config.h"
42 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
50 prediction[0] += iT.
rotation().angle();
52 Vector2 n(std::cos(prediction[0]), std::sin(prediction[0]));
54 _error = prediction - _measurement;
59 _measurement[0] = d[0];
60 _measurement[1] = d[1];
65 d[0] = _measurement[0];
66 d[1] = _measurement[1];
77 prediction[0] += iT.
rotation().angle();
79 Vector2 n(std::cos(prediction[0]), std::sin(prediction[0]));
81 _measurement = prediction;
85 virtual bool read(std::istream& is);
86 virtual bool write(std::ostream& os)
const;
93 return (from.count(_vertices[0]) == 1 ? 1.0 : -1.0);
const EstimateType & estimate() const
return the current estimate of the vertex
virtual double initialEstimatePossible(const OptimizableGraph::VertexSet &from, OptimizableGraph::Vertex *to)
virtual bool setMeasurementData(const double *d)
virtual int measurementDimension() const
virtual bool setMeasurementFromState()
virtual bool getMeasurementData(double *d) const
std::set< Vertex * > VertexSet
A general case Vertex for optimization.
const Vector2 & translation() const
translational component
SE2 inverse() const
invert :-)
const Rotation2D & rotation() const
rotational component
2D pose Vertex, (x,y,theta)
#define G2O_TYPES_SLAM2D_ADDONS_API
some general case utility functions
double normalize_theta(double theta)