Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ list(APPEND CMAKE_PREFIX_PATH ${CMAKE_SOURCE_DIR}/externals/install)
find_package(Eigen3 3.3.5 REQUIRED NO_MODULE)

# Ceres to solve the NLS problem
find_package(Ceres 2.0 REQUIRED)
find_package(Ceres 2.1 REQUIRED)

# Simple multi-threading
set(CMAKE_THREAD_PREFER_PTHREAD ON)
Expand Down
2 changes: 1 addition & 1 deletion externals/ceres-solver
Submodule ceres-solver updated from 399cda to f68321
3 changes: 2 additions & 1 deletion include/FactorGraph.h
Original file line number Diff line number Diff line change
Expand Up @@ -439,7 +439,8 @@ namespace libRSF
/** default settings for new ceres::Problems, especially enable_fast_removal = true */
const ceres::Problem::Options DefaultProblemOptions_ = {ceres::Ownership::TAKE_OWNERSHIP, // cost_function_ownership
ceres::Ownership::TAKE_OWNERSHIP, // loss_function_ownership
ceres::Ownership::TAKE_OWNERSHIP, // local_parameterization_ownership
ceres::Ownership::TAKE_OWNERSHIP, // local_parameterization_ownership (deprecated in 2.1)
ceres::Ownership::TAKE_OWNERSHIP, // manifold_ownership (new in 2.1)
true, // enable_fast_removal
false, // disable_all_safety_checks
nullptr, // context
Expand Down
2 changes: 1 addition & 1 deletion include/error_models/MaxMixture.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ namespace libRSF
sqrt(ceres::fmax(-2.0 * T(log(Mixture_.template getLinearPartOfComponent<T>(nComponent, RawError) / Normalization_)), T(1e-10)));/** fmax() is required to handle numeric tolerances */

/** keep only the most likely component */
if(ErrorShadow.squaredNorm() < Loglike || ceres::IsNaN(Loglike))
if(ErrorShadow.squaredNorm() < Loglike || ceres::isnan(Loglike))
{
Loglike = ErrorShadow.squaredNorm();
ErrorShadowBest = ErrorShadow;
Expand Down
2 changes: 1 addition & 1 deletion src/FactorGraph.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ namespace libRSF
StateData_.getElement(State.ID, State.Timestamp, State.Number).getMeanPointer());

/** compute size of the marginalized system */
MarginalSize += Graph_.ParameterBlockLocalSize(MarginalStates.back());
MarginalSize += Graph_.ParameterBlockTangentSize(MarginalStates.back());
}

/** get connected states */
Expand Down
2 changes: 1 addition & 1 deletion src/FactorGraphStructure.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ namespace libRSF
{
ConnectedStates.emplace_back(State);
StateDims.emplace_back(Graph_->ParameterBlockSize(State));
StateDimsLocal.emplace_back(Graph_->ParameterBlockLocalSize(State));
StateDimsLocal.emplace_back(Graph_->ParameterBlockTangentSize(State));

/** find state info */
StateInfo Info = States_.at(State);
Expand Down