diff --git a/cartographer/mapping/internal/optimization/optimization_problem_3d.cc b/cartographer/mapping/internal/optimization/optimization_problem_3d.cc index f5ca1a1..4494045 100644 --- a/cartographer/mapping/internal/optimization/optimization_problem_3d.cc +++ b/cartographer/mapping/internal/optimization/optimization_problem_3d.cc @@ -441,6 +441,9 @@ void OptimizationProblem3D::Solve( C_nodes.at(second_node_id).rotation(), trajectory_data.imu_calibration.data()); } + + // Force gravity constant to be positive. + problem.SetParameterLowerBound(&trajectory_data.gravity_constant, 0, 0.0); } }