8#ifndef OPTIMIZER_BASE_HPP
9#define OPTIMIZER_BASE_HPP
12#include <gtsam/navigation/ImuBias.h>
13#include <gtsam/nonlinear/ISAM2Result.h>
14#include <gtsam/nonlinear/FixedLagSmoother.h>
15#include <gtsam/geometry/Pose3.h>
31 virtual bool update(
const gtsam::NonlinearFactorGraph& newGraphFactors,
const gtsam::Values& newGraphValues,
32 const std::map<gtsam::Key, double>& newGraphKeysTimeStampMap,
const int depth = 0) = 0;
virtual const std::map< gtsam::Key, double > & getFullKeyTimestampMap()=0
virtual gtsam::imuBias::ConstantBias calculateEstimatedBias(const gtsam::Key &key)=0
virtual void addLatestPoseBelief(const gtsam::Pose3 &pose)
std::shared_ptr< GraphConfig > graphConfigPtr_
OptimizerBase(const std::shared_ptr< GraphConfig > graphConfigPtr)
virtual gtsam::Vector3 calculateEstimatedVelocity3(const gtsam::Key &key)=0
virtual bool updateExistingValues(const gtsam::Values &newGraphValues)=0
virtual gtsam::Point3 calculateEstimatedPoint3(const gtsam::Key &key)=0
virtual gtsam::Matrix calculateMarginalCovarianceMatrixAtKey(const gtsam::Key &key)=0
virtual void addLatestImuBiasBelief(const gtsam::imuBias::ConstantBias &imuBias)
virtual gtsam::KeyVector getAllOptimizedKeys()=0
virtual const gtsam::NonlinearFactorGraph & getNonlinearFactorGraph() const =0
virtual bool update(const gtsam::NonlinearFactorGraph &newGraphFactors, const gtsam::Values &newGraphValues, const std::map< gtsam::Key, double > &newGraphKeysTimeStampMap, const int depth=0)=0
virtual gtsam::Pose3 calculateEstimatedPose3(const gtsam::Key &key)=0
virtual const gtsam::Values & getAllOptimizedStates()=0
gtsam::imuBias::ConstantBias latestImuBias_
virtual void optimize(int maxIterations)=0
virtual gtsam::Vector calculateEstimatedVector(const gtsam::Key &key)=0