From e2e1ff0c701b3e1ef9031f39093d177a71e16d3c Mon Sep 17 00:00:00 2001 From: Vladyslav Usenko Date: Tue, 16 Jul 2019 13:55:16 +0200 Subject: [PATCH] fix compile --- CMakeLists.txt | 2 +- include/basalt/calibration/calibration_helper.h | 2 +- include/basalt/optimization/spline_linearize.h | 6 ++---- src/calibration/calibraiton_helper.cpp | 2 +- src/calibration/cam_calib.cpp | 2 +- src/calibration/cam_imu_calib.cpp | 2 +- src/vi_estimator/keypoint_vio_linearize.cpp | 4 ++++ 7 files changed, 11 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6dcda7f..50165b8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -93,7 +93,7 @@ set(CMAKE_CXX_FLAGS_CIDEBUG "-O0 -DEIGEN_INITIALIZE_MATRICES_BY_NAN") set(CMAKE_CXX_FLAGS_CIRELWITHDEBINFO "-O3 -DEIGEN_INITIALIZE_MATRICES_BY_NAN") # CI version with no debug symbols # base set of compile flags -set(BASALT_CXX_FLAGS "-Wall -Wextra -Werror -Wno-unused-parameter -ftemplate-backtrace-limit=0") +set(BASALT_CXX_FLAGS "-Wall -Wextra -Werror -Wno-error=unused-parameter -Wno-error=maybe-uninitialized -ftemplate-backtrace-limit=0") # clang-specific compile flags if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") diff --git a/include/basalt/calibration/calibration_helper.h b/include/basalt/calibration/calibration_helper.h index b441417..c88689a 100644 --- a/include/basalt/calibration/calibration_helper.h +++ b/include/basalt/calibration/calibration_helper.h @@ -77,7 +77,7 @@ class CalibHelper { calib_corners_rejected); static void initCamPoses( - const Calibration::Ptr& calib, const VioDatasetPtr& vio_data, + const Calibration::Ptr& calib, const Eigen::vector& aprilgrid_corner_pos_3d, tbb::concurrent_unordered_map& calib_corners, tbb::concurrent_unordered_map& diff --git a/include/basalt/optimization/spline_linearize.h b/include/basalt/optimization/spline_linearize.h index 4c8fea3..131b2cc 100644 --- a/include/basalt/optimization/spline_linearize.h +++ b/include/basalt/optimization/spline_linearize.h @@ -101,8 +101,7 @@ struct LinearizeSplineOpt : public LinearizeBase { const SplineT* spline; LinearizeSplineOpt(size_t opt_size, const SplineT* spl, - const CalibCommonData& common_data, - const SplineT* spl_lin = nullptr) + const CalibCommonData& common_data) : opt_size(opt_size), spline(spl) { this->common_data = common_data; @@ -670,8 +669,7 @@ struct ComputeErrorSplineOpt : public LinearizeBase { const SplineT* spline; ComputeErrorSplineOpt(size_t opt_size, const SplineT* spl, - const CalibCommonData& common_data, - const SplineT* spl_lin = nullptr) + const CalibCommonData& common_data) : opt_size(opt_size), spline(spl) { this->common_data = common_data; diff --git a/src/calibration/calibraiton_helper.cpp b/src/calibration/calibraiton_helper.cpp index b23cdc1..f66d3e3 100644 --- a/src/calibration/calibraiton_helper.cpp +++ b/src/calibration/calibraiton_helper.cpp @@ -139,7 +139,7 @@ void CalibHelper::detectCorners( } void CalibHelper::initCamPoses( - const Calibration::Ptr &calib, const VioDatasetPtr &vio_data, + const Calibration::Ptr &calib, const Eigen::vector &aprilgrid_corner_pos_3d, tbb::concurrent_unordered_map &calib_corners, tbb::concurrent_unordered_map diff --git a/src/calibration/cam_calib.cpp b/src/calibration/cam_calib.cpp index ff3ca28..4c2ea9d 100644 --- a/src/calibration/cam_calib.cpp +++ b/src/calibration/cam_calib.cpp @@ -528,7 +528,7 @@ void CamCalib::initCamPoses() { std::cout << "Started initial camera pose computation " << std::endl; - CalibHelper::initCamPoses(calib_opt->calib, this->vio_dataset, + CalibHelper::initCamPoses(calib_opt->calib, april_grid.aprilgrid_corner_pos_3d, this->calib_corners, this->calib_init_poses); diff --git a/src/calibration/cam_imu_calib.cpp b/src/calibration/cam_imu_calib.cpp index 87a7385..4a2dc5e 100644 --- a/src/calibration/cam_imu_calib.cpp +++ b/src/calibration/cam_imu_calib.cpp @@ -284,7 +284,7 @@ void CamImuCalib::initCamPoses() { { std::cout << "Started initial camera pose computation " << std::endl; - CalibHelper::initCamPoses(calib_opt->calib, this->vio_dataset, + CalibHelper::initCamPoses(calib_opt->calib, april_grid.aprilgrid_corner_pos_3d, this->calib_corners, this->calib_init_poses); diff --git a/src/vi_estimator/keypoint_vio_linearize.cpp b/src/vi_estimator/keypoint_vio_linearize.cpp index 8a68501..b77c5ba 100644 --- a/src/vi_estimator/keypoint_vio_linearize.cpp +++ b/src/vi_estimator/keypoint_vio_linearize.cpp @@ -45,6 +45,10 @@ void KeypointVioEstimator::linearizeMargPrior(const AbsOrderMap& aom, BASALT_ASSERT(size_t(marg_H.cols()) == marg_order.total_size); + // Check if the order of variables is the same. + for (const auto& kv : marg_order.abs_order_map) + BASALT_ASSERT(aom.abs_order_map.at(kv.first) == kv.second); + size_t marg_size = marg_order.total_size; abs_H.topLeftCorner(marg_size, marg_size) += marg_H;