diff --git a/demos/demo_analytic_autodiff_factor.cpp b/demos/demo_analytic_autodiff_factor.cpp index 6a9a0b67a97707185be3ef3dd6f39063952bf916..d72f6ce2dde3025570786da0a532361c47da4d6b 100644 --- a/demos/demo_analytic_autodiff_factor.cpp +++ b/demos/demo_analytic_autodiff_factor.cpp @@ -62,12 +62,14 @@ int main(int argc, char** argv) SensorBasePtr sensor = new SensorBase("ODOM 2d", std::make_shared<StateBlock>(Eigen::VectorXd::Zero(2)), std::make_shared<StateBlock>(Eigen::VectorXd::Zero(1)), std::make_shared<StateBlock>(Eigen::VectorXd::Zero(2)), 2); // Ceres wrapper - ceres::Solver::Options ceres_options; - ceres_options.minimizer_type = ceres::TRUST_REGION; //ceres::TRUST_REGION;LINE_SEARCH - ceres_options.max_line_search_step_contraction = 1e-3; - ceres_options.max_num_iterations = 1e4; SolverCeres* ceres_manager_autodiff = new SolverCeres(wolf_problem_autodiff, ceres_options); SolverCeres* ceres_manager_analytic = new SolverCeres(wolf_problem_analytic, ceres_options); + ceres_manager_autodiff.getSolverOptions().minimizer_type = ceres::TRUST_REGION; //ceres::TRUST_REGION;LINE_SEARCH + ceres_manager_autodiff.getSolverOptions().max_line_search_step_contraction = 1e-3; + ceres_manager_autodiff.getSolverOptions().max_num_iterations = 1e4; + ceres_manager_analytic.getSolverOptions().minimizer_type = ceres::TRUST_REGION; //ceres::TRUST_REGION;LINE_SEARCH + ceres_manager_analytic.getSolverOptions().max_line_search_step_contraction = 1e-3; + ceres_manager_analytic.getSolverOptions().max_num_iterations = 1e4; // load graph from .txt offLineFile_.open(file_path_.c_str(), std::ifstream::in); diff --git a/demos/hello_wolf/hello_wolf.cpp b/demos/hello_wolf/hello_wolf.cpp index 65de0c5807cf768c462f0c9a2f0bb7ee69ee00f5..b747cbee6e2939e9ee096e9241d185bbd6ca1da9 100644 --- a/demos/hello_wolf/hello_wolf.cpp +++ b/demos/hello_wolf/hello_wolf.cpp @@ -104,12 +104,11 @@ int main() // Wolf problem and solver ProblemPtr problem = Problem::create("PO", 2); - ceres::Solver::Options options; - options.max_num_iterations = 1000; // We depart far from solution, need a lot of iterations - SolverCeresPtr ceres = std::make_shared<SolverCeres>(problem, options); + SolverCeresPtr ceres = std::make_shared<SolverCeres>(problem); + ceres.getSolverOptions().max_num_iterations = 1000; // We depart far from solution, need a lot of iterations // sensor odometer 2d - ParamsSensorOdom2dPtr intrinsics_odo = std::make_shared<ParamsSensorOdom2d>(); + ParamsSensorOdom2dPtr intrinsics_odo = std::make_shared<ParamsSensorOdom2d>(); SensorBasePtr sensor_odo = problem->installSensor("SensorOdom2d", "sensor odo", Vector3d(0,0,0), intrinsics_odo); // processor odometer 2d