52 const key2doubleMap& deltaThetaMap,
const PredecessorMap&
tree);
63 std::vector<size_t>& spanningTreeIds, std::vector<size_t>& chordsIds,
64 key2doubleMap& deltaThetaMap,
69 const std::vector<size_t>& spanningTreeIds,
71 const key2doubleMap& orientationsToRoot,
const PredecessorMap&
tree);
86 bool useOdometricPath =
true);
90 const Values& initialGuess);
Factor Graph consisting of non-linear factors.
key2doubleMap computeThetasToRoot(const key2doubleMap &deltaThetaMap, const PredecessorMap &tree)
void getSymbolicGraph(vector< size_t > &spanningTreeIds, vector< size_t > &chordsIds, key2doubleMap &deltaThetaMap, const PredecessorMap &tree, const NonlinearFactorGraph &g)
NonlinearFactorGraph graph
void g(const string &key, int i)
std::map< Key, Key > PredecessorMap
Linear Factor Graph where all factors are Gaussians.
VectorValues initializeOrientations(const NonlinearFactorGraph &graph, bool useOdometricPath)
PredecessorMap findMinimumSpanningTree(const NonlinearFactorGraph &pose2Graph)
GaussianFactorGraph buildLinearOrientationGraph(const vector< size_t > &spanningTreeIds, const vector< size_t > &chordsIds, const NonlinearFactorGraph &g, const key2doubleMap &orientationsToRoot, const PredecessorMap &tree)
std::map< Key, double > key2doubleMap
Values initialize(const NonlinearFactorGraph &graph, bool useOdometricPath)