From 399a81911e2dae353775f1bd1ca3bcca0dd94cd0 Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Mon, 21 May 2012 21:52:50 +0000 Subject: [PATCH] Fixed optimizer/marginals confusion --- examples/LocalizationExample.cpp | 4 +--- examples/LocalizationExample2.cpp | 6 +++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/examples/LocalizationExample.cpp b/examples/LocalizationExample.cpp index 6b9a48339..ae2a31040 100644 --- a/examples/LocalizationExample.cpp +++ b/examples/LocalizationExample.cpp @@ -19,7 +19,6 @@ #include // include this for marginals -#include #include #include @@ -65,8 +64,7 @@ int main(int argc, char** argv) { pose2SLAM::Values result = graph.optimize(initialEstimate); result.print("\nFinal result:\n "); - // use an explicit Optimizer object so we can query the marginals - LevenbergMarquardtOptimizer optimizer(graph, initialEstimate); + // Query the marginals Marginals marginals(graph, result); cout.precision(2); cout << "\nP1:\n" << marginals.marginalCovariance(pose2SLAM::PoseKey(1)) << endl; diff --git a/examples/LocalizationExample2.cpp b/examples/LocalizationExample2.cpp index a19526a67..903101d87 100644 --- a/examples/LocalizationExample2.cpp +++ b/examples/LocalizationExample2.cpp @@ -84,14 +84,14 @@ int main(int argc, char** argv) { initialEstimate.insertPose(1, Pose2(0.5, 0.0, 0.2)); initialEstimate.insertPose(2, Pose2(2.3, 0.1,-0.2)); initialEstimate.insertPose(3, Pose2(4.1, 0.1, 0.1)); - initialEstimate.print("\nInitial estimate:\n "); - // use an explicit Optimizer object, used for both optimization and marginal inference + // use an explicit Optimizer object LevenbergMarquardtOptimizer optimizer(graph, initialEstimate); pose2SLAM::Values result = optimizer.optimize(); result.print("\nFinal result:\n "); - Values resultMultifrontal = optimizer.optimize(); + + // Query the marginals Marginals marginals(graph, result); cout.precision(2); cout << "\nP1:\n" << marginals.marginalCovariance(x1) << endl;