11 #ifndef KARTO_GTSAMSolver_H 12 #define KARTO_GTSAMSolver_H 15 #include <gtsam/slam/PriorFactor.h> 16 #include <gtsam/slam/BetweenFactor.h> 17 #include <gtsam/geometry/Pose2.h> 18 #include <gtsam/nonlinear/LevenbergMarquardtOptimizer.h> 19 #include <gtsam/nonlinear/Marginals.h> 78 virtual void getGraph(std::vector<Eigen::Vector2d>& nodes);
80 virtual void ModifyNode(
const int& unique_id,
const Eigen::Vector3d& pose);
92 #endif // KARTO_GTSAMSolver_H
virtual std::unordered_map< int, Eigen::Vector3d > * getGraph()
virtual void Clear()
Clear the vector of corrections.
virtual void ModifyNode(const int &unique_id, const Eigen::Vector3d &pose)
Wrapper for G2O to interface with Open Karto.
std::vector< Eigen::Vector2d > graphNodes_
karto::ScanSolver::IdPoseVector corrections_
gtsam::Values initialGuess_
virtual void AddConstraint(karto::Edge< karto::LocalizedRangeScan > *pEdge)
Add an edge constraint to pose-graph.
std::vector< std::pair< kt_int32s, Pose2 > > IdPoseVector
virtual const karto::ScanSolver::IdPoseVector & GetCorrections() const
Get the vector of corrections.
gtsam::NonlinearFactorGraph graph_
virtual void Compute()
Solve the SLAM back-end.
virtual void AddNode(karto::Vertex< karto::LocalizedRangeScan > *pVertex)
Add a node to pose-graph.