Skip to content

Commit

Permalink
gtsam: Fixed metis linker errors on windows. Ceres: updated default s…
Browse files Browse the repository at this point in the history
…olver options (working for BA and pose-graph optimizations, fixed #966)
  • Loading branch information
matlabbe committed Mar 19, 2023
1 parent 1cb7f3f commit a406c37
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
7 changes: 7 additions & 0 deletions corelib/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -715,6 +715,13 @@ IF(GTSAM_FOUND)
${LIBRARIES}
gtsam # Windows: Place static libs at the end
)
IF(WIN32)
#explicitly add metis target on windows (after gtsam target)
SET(LIBRARIES
${LIBRARIES}
metis
)
ENDIF(WIN32)
ENDIF(GTSAM_FOUND)

IF(WITH_MADGWICK)
Expand Down
6 changes: 4 additions & 2 deletions corelib/src/optimizer/OptimizerCeres.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -238,8 +238,9 @@ std::map<int, Transform> OptimizerCeres::optimize(
UINFO("Ceres optimizing begin (iterations=%d)", iterations());

ceres::Solver::Options options;
options.linear_solver_type = ceres::ITERATIVE_SCHUR;
options.sparse_linear_algebra_library_type = ceres::SUITE_SPARSE;
options.max_num_iterations = iterations();
options.linear_solver_type = ceres::SPARSE_NORMAL_CHOLESKY;
options.function_tolerance = this->epsilon();
ceres::Solver::Summary summary;
UTimer timer;
Expand Down Expand Up @@ -457,7 +458,8 @@ std::map<int, Transform> OptimizerCeres::optimizeBA(
// standard solver, SPARSE_NORMAL_CHOLESKY, also works fine but it is slower
// for standard bundle adjustment problems.
ceres::Solver::Options options;
options.linear_solver_type = ceres::DENSE_SCHUR;
options.linear_solver_type = ceres::ITERATIVE_SCHUR;
options.sparse_linear_algebra_library_type = ceres::SUITE_SPARSE;
options.max_num_iterations = iterations();
//options.linear_solver_type = ceres::SPARSE_NORMAL_CHOLESKY;
options.function_tolerance = this->epsilon();
Expand Down

0 comments on commit a406c37

Please sign in to comment.