24#include <gtsam/geometry/Unit3.h>
53 using KeyPair = std::pair<Key, Key>;
54 using TranslationEdges = std::vector<BinaryMeasurement<Unit3>>;
58 TranslationEdges relativeTranslations_;
65 std::map<Key, std::set<Key>> sameTranslationNodes_;
79 const TranslationEdges &relativeTranslations,
113 Values run(
const double scale = 1.0)
const;
125 const Values &poses,
const std::vector<KeyPair> &edges);
A non-templated config holding any types of Manifold-group elements.
A nonlinear optimizer that uses the Levenberg-Marquardt trust-region scheme.
Binary measurement represents a measurement between two keys in a graph. A binary measurement is simi...
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
noiseModel::Base::shared_ptr SharedNoiseModel
Note, deliberately not in noiseModel namespace.
Definition: NoiseModel.h:736
static shared_ptr Sigma(size_t dim, double sigma, bool smart=true)
An isotropic noise model created by specifying a standard devation sigma.
Definition: NoiseModel.cpp:567
Parameters for Levenberg-Marquardt optimization.
Definition: LevenbergMarquardtParams.h:35
A non-linear factor graph is a graph of non-Gaussian, i.e.
Definition: NonlinearFactorGraph.h:78
A non-templated config holding any types of Manifold-group elements.
Definition: Values.h:63
Definition: TranslationRecovery.h:51
NonlinearFactorGraph buildGraph() const
Build the factor graph to do the optimization.
Definition: TranslationRecovery.cpp:68
static TranslationEdges SimulateMeasurements(const Values &poses, const std::vector< KeyPair > &edges)
Simulate translation direction measurements.
Definition: TranslationRecovery.cpp:140
Values initalizeRandomly() const
Create random initial translations.
Definition: TranslationRecovery.cpp:91
Values run(const double scale=1.0) const
Build and optimize factor graph.
Definition: TranslationRecovery.cpp:118
void addPrior(const double scale, NonlinearFactorGraph *graph, const SharedNoiseModel &priorNoiseModel=noiseModel::Isotropic::Sigma(3, 0.01)) const
Add priors on ednpoints of first measurement edge.
Definition: TranslationRecovery.cpp:80
TranslationRecovery(const TranslationEdges &relativeTranslations, const LevenbergMarquardtParams &lmParams=LevenbergMarquardtParams())
Construct a new Translation Recovery object.
Definition: TranslationRecovery.cpp:38