gtsam
Loading...
Searching...
No Matches
TrajectoryAlignerSim3.h
Go to the documentation of this file.
1/* ----------------------------------------------------------------------------
2
3 * GTSAM Copyright 2010-2020, Georgia Tech Research Corporation,
4 * Atlanta, Georgia 30332-0415
5 * All Rights Reserved
6 * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7
8 * See LICENSE for the license information
9
10 * -------------------------------------------------------------------------- */
11
19
20#pragma once
21
29
30#include <vector>
31
32namespace gtsam {
33
53class GTSAM_EXPORT TrajectoryAlignerSim3 {
54 private:
55 // Data members.
57 Values initial_;
58 bool use_gnc_optimizer_;
59
60 public:
74 const std::vector<UnaryMeasurement<Pose3>> &aTi,
75 const std::vector<std::vector<UnaryMeasurement<Pose3>>> &bTi_all,
76 const std::vector<Similarity3> &bSa_all = {},
77 const bool use_gnc_optimizer = false,
78 const std::vector<std::vector<std::pair<Point3, Point3>>>
79 &overlapping_points = {},
80 const double point3_factor_sigma = 1e-2);
81
89 Values solve() const;
90
101 const Values &solution,
102 const Ordering::OrderingType ordering_type = Ordering::COLAMD) const;
103};
104} // namespace gtsam
3D Pose manifold SO(3) x R^3 and group SE(3)
Implementation of Similarity3 transform.
A non-templated config holding any types of Manifold-group elements.
A class for computing marginals in a NonlinearFactorGraph.
A nonlinear optimizer that uses the Levenberg-Marquardt trust-region scheme.
Factor graph that supports adding ExpressionFactors directly.
Unary measurement represents a measurement on a single key in a graph. It mirrors BinaryMeasurement b...
Global functions in a separate testing namespace.
Definition chartTesting.h:28
OrderingType
Type of ordering to use.
Definition Ordering.h:40
Factor graph that supports adding ExpressionFactors directly.
Definition ExpressionFactorGraph.h:29
A class for computing Gaussian marginals of variables in a NonlinearFactorGraph.
Definition Marginals.h:31
A non-templated config holding any types of Manifold-group elements.
Definition Values.h:65
TrajectoryAlignerSim3(const std::vector< UnaryMeasurement< Pose3 > > &aTi, const std::vector< std::vector< UnaryMeasurement< Pose3 > > > &bTi_all, const std::vector< Similarity3 > &bSa_all={}, const bool use_gnc_optimizer=false, const std::vector< std::vector< std::pair< Point3, Point3 > > > &overlapping_points={}, const double point3_factor_sigma=1e-2)
Constructs a trajectory aligner with the given measurements.
Definition TrajectoryAlignerSim3.cpp:66
Values solve() const
Optimizes the graph and returns optimized poses and Sim3 transforms.
Definition TrajectoryAlignerSim3.cpp:131
Marginals marginalize(const Values &solution, const Ordering::OrderingType ordering_type=Ordering::COLAMD) const
Computes the marginals of the solution.
Definition TrajectoryAlignerSim3.cpp:144
Unary measurement represents a measurement on a single key in a graph.
Definition UnaryMeasurement.h:38