diff --git a/test/gtest_factor_pixel_hp.cpp b/test/gtest_factor_pixel_hp.cpp index 6246b8683f3f2f070bfc7841992b371a22d9b651..803256c2fd6c5410d13624e2f1d699aa1a0de67b 100644 --- a/test/gtest_factor_pixel_hp.cpp +++ b/test/gtest_factor_pixel_hp.cpp @@ -14,8 +14,7 @@ #include <core/utils/utils_gtest.h> #include <core/factor/factor_block_absolute.h> #include <core/factor/factor_quaternion_absolute.h> -#include <core/ceres_wrapper/ceres_manager.h> -#include <core/ceres_wrapper/ceres_manager.h> +#include <core/ceres_wrapper/solver_ceres.h> using namespace wolf; using namespace Eigen; @@ -33,7 +32,7 @@ class FactorPixelHpTest : public testing::Test{ Vector4d lmkHP1, lmkHP2, lmkHP3, lmkHP4; ProblemPtr problem; - CeresManagerPtr ceres_manager; + SolverCeresPtr solver; SensorCameraPtr camera; @@ -147,11 +146,9 @@ class FactorPixelHpTest : public testing::Test{ // Build problem problem = Problem::create("PO", 3); - ceres::Solver::Options options; - options.function_tolerance = 1e-6; - options.max_num_iterations = 200; - ceres_manager = std::make_shared<CeresManager>(problem, options); - + solver = std::make_shared<SolverCeres>(problem); + solver->getSolverOptions().function_tolerance = 1e-6; + solver->getSolverOptions().max_num_iterations = 200; // Install sensor and processor ParamsSensorCameraPtr intr = std::make_shared<ParamsSensorCamera>(); @@ -198,7 +195,6 @@ TEST(ProcessorFactorPixelHp, testZeroResidual) { //Build problem ProblemPtr problem_ptr = Problem::create("PO", 3); - CeresManagerPtr ceres_mgr = std::make_shared<CeresManager>(problem_ptr); // Install sensor ParamsSensorCameraPtr intr = std::make_shared<ParamsSensorCamera>(); @@ -261,7 +257,7 @@ TEST_F(FactorPixelHpTest, testSolveLandmark) L1->unfix(); auto orig = L1->point(); - std::string report = ceres_manager->solve(wolf::SolverManager::ReportVerbosity::FULL); + std::string report = solver->solve(wolf::SolverManager::ReportVerbosity::FULL); std::cout << report << std::endl; @@ -284,7 +280,7 @@ TEST_F(FactorPixelHpTest, testSolveLandmarkAltered) auto orig = L1->point(); L1->getP()->setState(L1->getState().vector("P") + Vector4d::Random()); - std::string report = ceres_manager->solve(wolf::SolverManager::ReportVerbosity::FULL); + std::string report = solver->solve(wolf::SolverManager::ReportVerbosity::FULL); std::cout << report << std::endl; @@ -317,7 +313,7 @@ TEST_F(FactorPixelHpTest, testSolveFramePosition2ObservableDoF) F1->getO()->fix(); F1->getP()->unfix(); - std::string report = ceres_manager->solve(wolf::SolverManager::ReportVerbosity::FULL); + std::string report = solver->solve(wolf::SolverManager::ReportVerbosity::FULL); std::cout << report << std::endl; @@ -409,7 +405,7 @@ TEST_F(FactorPixelHpTest, testSolveFramePosition) F1->getO()->fix(); F1->getP()->unfix(); - std::string report = ceres_manager->solve(wolf::SolverManager::ReportVerbosity::FULL); + std::string report = solver->solve(wolf::SolverManager::ReportVerbosity::FULL); std::cout << report << std::endl; @@ -566,7 +562,7 @@ TEST_F(FactorPixelHpTest, testSolveBundleAdjustment) auto l4 = L4->getP()->getState(); - std::string report = ceres_manager->solve(wolf::SolverManager::ReportVerbosity::FULL); + std::string report = solver->solve(wolf::SolverManager::ReportVerbosity::FULL); std::cout << report << std::endl; // @@ -612,7 +608,7 @@ TEST_F(FactorPixelHpTest, testSolveBundleAdjustment) // solve again problem->print(1,0,1,1); - report = ceres_manager->solve(wolf::SolverManager::ReportVerbosity::FULL); + report = solver->solve(wolf::SolverManager::ReportVerbosity::FULL); std::cout << report << std::endl; problem->print(1,0,1,1); diff --git a/test/gtest_factor_trifocal.cpp b/test/gtest_factor_trifocal.cpp index 418fba90985df939863b37f37e91c28b0746ab5b..2ff97a42baf34c460f3e592e2d8fc985a5925438 100644 --- a/test/gtest_factor_trifocal.cpp +++ b/test/gtest_factor_trifocal.cpp @@ -2,7 +2,7 @@ #include "core/utils/logging.h" -#include "core/ceres_wrapper/ceres_manager.h" +#include "core/ceres_wrapper/solver_ceres.h" #include "vision/processor/processor_tracker_feature_trifocal.h" #include "vision/capture/capture_image.h" #include "vision/factor/factor_trifocal.h" @@ -20,7 +20,7 @@ class FactorTrifocalTest : public testing::Test{ Vector7d pose1, pose2, pose3, pose_cam; ProblemPtr problem; - CeresManagerPtr ceres_manager; + SolverCeresPtr solver; SensorCameraPtr camera; ProcessorTrackerFeatureTrifocalPtr proc_trifocal; @@ -121,8 +121,7 @@ class FactorTrifocalTest : public testing::Test{ // Build problem problem = Problem::create("PO", 3); - ceres::Solver::Options options; - ceres_manager = std::make_shared<CeresManager>(problem, options); + solver = std::make_shared<SolverCeres>(problem); // Install sensor and processor S = problem->installSensor("SensorCamera", "canonical", pose_cam, wolf_root + "/demos/camera_params_canonical.yaml"); @@ -411,7 +410,7 @@ TEST_F(FactorTrifocalTest, solve_F1) F2->fix(); F3->fix(); - std::string report = ceres_manager->solve(SolverManager::ReportVerbosity::BRIEF); + std::string report = solver->solve(SolverManager::ReportVerbosity::BRIEF); F1_p = F1->getP()->getState(); F1_o = F1->getO()->getState(); @@ -491,7 +490,7 @@ TEST_F(FactorTrifocalTest, solve_F2) F2->unfix(); F3->fix(); - std::string report = ceres_manager->solve(SolverManager::ReportVerbosity::BRIEF); + std::string report = solver->solve(SolverManager::ReportVerbosity::BRIEF); F1_p = F1->getP()->getState(); F1_o = F1->getO()->getState(); @@ -572,7 +571,7 @@ TEST_F(FactorTrifocalTest, solve_F3) F2->fix(); F3->unfix(); - std::string report = ceres_manager->solve(SolverManager::ReportVerbosity::BRIEF); + std::string report = solver->solve(SolverManager::ReportVerbosity::BRIEF); F1_p = F1->getP()->getState(); F1_o = F1->getO()->getState(); @@ -652,7 +651,7 @@ TEST_F(FactorTrifocalTest, solve_S) F2->fix(); F3->fix(); - std::string report = ceres_manager->solve(SolverManager::ReportVerbosity::BRIEF); + std::string report = solver->solve(SolverManager::ReportVerbosity::BRIEF); F1_p = F1->getP()->getState(); F1_o = F1->getO()->getState(); @@ -777,10 +776,10 @@ TEST_F(FactorTrifocalMultiPointTest, solve_multi_point) F3->getP()->setState( pos3 + 0.2*Vector3d::Random()); F3->getO()->setState((vquat3 + 0.2*Vector4d::Random()).normalized()); - std::string report = ceres_manager->solve(SolverManager::ReportVerbosity::BRIEF); + std::string report = solver->solve(SolverManager::ReportVerbosity::FULL); // Print results - WOLF_DEBUG("report: ", report); + WOLF_INFO("report: ", report); problem->print(1,0,1,0); // Evaluate final states @@ -842,7 +841,7 @@ TEST_F(FactorTrifocalMultiPointTest, solve_multi_point_scale) F3->getP()->setState( 2 * pos3 + 0.2*Vector3d::Random()); F3->getO()->setState(( vquat3 + 0.2*Vector4d::Random()).normalized()); - std::string report = ceres_manager->solve(SolverManager::ReportVerbosity::BRIEF); + std::string report = solver->solve(SolverManager::ReportVerbosity::BRIEF); // Print results WOLF_DEBUG("report: ", report); @@ -924,13 +923,13 @@ TEST_F(FactorTrifocalMultiPointTest, solve_multi_point_distance) // F1->addConstrainedBy(cd); cd->setStatus(FAC_INACTIVE); - std::string report = ceres_manager->solve(SolverManager::ReportVerbosity::BRIEF); + std::string report = solver->solve(SolverManager::ReportVerbosity::BRIEF); WOLF_DEBUG("DISTANCE CONSTRAINT INACTIVE: \n", report); problem->print(1,0,1,0); cd->setStatus(FAC_ACTIVE); - report = ceres_manager->solve(SolverManager::ReportVerbosity::BRIEF); + report = solver->solve(SolverManager::ReportVerbosity::BRIEF); // Print results WOLF_DEBUG("DISTANCE CONSTRAINT ACTIVE: \n", report);