46 typedef std::vector<Node2d, Eigen::aligned_allocator<Node2d> > NodeVector;
48 ROS_INFO(
"Calling doSPA for loop closure");
50 ROS_INFO(
"Finished doSPA for loop closure");
54 karto::Pose2 pose(iter->trans(0), iter->trans(1), iter->arot);
84 Eigen::Matrix<double,3,3> m;
85 m(0,0) = precisionMatrix(0,0);
86 m(0,1) = m(1,0) = precisionMatrix(0,1);
87 m(0,2) = m(2,0) = precisionMatrix(0,2);
88 m(1,1) = precisionMatrix(1,1);
89 m(1,2) = m(2,1) = precisionMatrix(1,2);
90 m(2,2) = precisionMatrix(2,2);
kt_double GetHeading() const
#define forEach(listtype, list)
virtual const karto::ScanSolver::IdPoseVector & GetCorrections() const
virtual void AddConstraint(karto::Edge< karto::LocalizedObjectPtr > *pEdge)
T GetVertexObject() const
const Matrix3 & GetCovariance()
virtual void Add(const T &rValue)
bool addConstraint(int nd0, int nd1, const Vector3d &mean, const Matrix3d &prec)
std::vector< Node2d, Eigen::aligned_allocator< Node2d > > getNodes()
Vector3< kt_double > Vector3d
int addNode(const Vector3d &pos, int id)
karto::ScanSolver::IdPoseVector corrections
virtual void AddNode(karto::Vertex< karto::LocalizedObjectPtr > *pVertex)
int doSPA(int niter, double sLambda=1.0e-4, int useCSparse=SBA_SPARSE_CHOLESKY, double initTol=1.0e-8, int CGiters=50)
Vertex< T > * GetSource() const
Vertex< T > * GetTarget() const
const Pose2 & GetPoseDifference()