27 #ifndef G2O_EDGE_SE2_SENSOR_CALIB_H 28 #define G2O_EDGE_SE2_SENSOR_CALIB_H 52 SE2 delta = _inverseMeasurement * ((x1 * laserOffset->
estimate()).inverse() * x2 * laserOffset->
estimate());
58 _inverseMeasurement = m.
inverse();
63 if ( from.count(_vertices[2]) == 1
64 && ((from.count(_vertices[0]) == 1 && to == _vertices[1]) || ((from.count(_vertices[1]) == 1 && to == _vertices[0])))) {
71 virtual bool read(std::istream& is);
72 virtual bool write(std::ostream& os)
const;
78 #ifdef G2O_HAVE_OPENGL 79 class EdgeSE2SensorCalibDrawAction:
public DrawAction {
81 EdgeSE2SensorCalibDrawAction();
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
virtual double initialEstimatePossible(const OptimizableGraph::VertexSet &from, OptimizableGraph::Vertex *to)
Vector3D toVector() const
convert to a 3D vector (x, y, theta)
Abstract action that operates on a graph entity.
#define G2O_TYPES_SCLAM2D_API
scanmatch measurement that also calibrates an offset for the laser
std::set< Vertex * > VertexSet
2D pose Vertex, (x,y,theta)
void setMeasurement(const SE2 &m)
base class to represent an edge connecting an arbitrary number of nodes
A general case Vertex for optimization.
const EstimateType & estimate() const
return the current estimate of the vertex
SE2 inverse() const
invert :-)