18#include <gtsam/inference/Symbol.h>
20#include <gtsam/geometry/Pose3.h>
22#include <gtsam/nonlinear/ISAM2.h>
25#include <gtsam/nonlinear/NonlinearFactorGraph.h>
31#include <gtsam/nonlinear/Values.h>
35#include <gtsam/slam/BetweenFactor.h>
52 Mapper(
double relinearize_thresh,
int relinearize_skip);
57 bool inited()
const {
return inited_; }
65 void AddLandmark(
int uid,
const gtsam::Pose3& pose);
69 gtsam::ISAM2Params params_;
71 gtsam::NonlinearFactorGraph graph_;
72 gtsam::Values initial_estimates_;
74 gtsam::noiseModel::Diagonal::shared_ptr marker_noise_;
75 gtsam::noiseModel::Diagonal::shared_ptr small_noise_;
76 std::set<int> all_uids_;
artoolkitX core routines.
double ARdouble
Definition: ar.h:99
Definition: mapper.hpp:48
void Optimize(int num_iterations=1)
void AddLandmarks(const std::vector< Marker > &markers)
void Update(ARMultiMarkerInfoT *map) const
static int pose_cnt
Definition: mapper.hpp:50
void AddFactors(const std::vector< Marker > &markers)
Mapper(double relinearize_thresh, int relinearize_skip)
void Initialize(int uid, ARdouble width)
void AddPose(const ARdouble trans[3][4])
bool inited() const
Definition: mapper.hpp:57
Definition: mapper.hpp:41
gtsam::Pose3 PoseFromARTrans(const ARdouble trans[3][4])
void ARTransFromPose(ARdouble trans[3][4], const gtsam::Pose3 &pose)
Definition: mapper.hpp:43
ARdouble trans[3][4]
Definition: mapper.hpp:45
int uid
Definition: mapper.hpp:44