diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e7e6a86d878f76216be29bb107a7fa307a60f7e..67ef6f0b03b6d7d9c8638a38439607ddb35b09d9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,9 +47,18 @@ if(UNIX) "${CMAKE_CXX_FLAGS} -Werror=all -Werror=extra -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers") endif(UNIX) +IF(NOT BUILD_TESTS) + OPTION(BUILD_TESTS "Build Unit tests" ON) +ENDIF(NOT BUILD_TESTS) + +IF(NOT BUILD_DEMOS) + OPTION(BUILD_DEMOS "Build Demos" OFF) +ENDIF(NOT BUILD_DEMOS) + +IF(NOT BUILD_DOC) + OPTION(BUILD_DOC "Build Documentation" OFF) +ENDIF(NOT BUILD_DOC) -#OPTION(BUILD_DOC "Build Documentation" OFF) -OPTION(BUILD_TESTS "Build Unit tests" ON) ############# ## Testing ## ############# @@ -78,9 +87,6 @@ ENDIF() option(_WOLF_TRACE "Enable wolf tracing macro" ON) -# option(BUILD_EXAMPLES "Build examples" OFF) -set(BUILD_TESTS true) - # Does this has any other interest # but for the examples ? # yes, for the tests ! @@ -115,8 +121,6 @@ include_directories("${PROJECT_BINARY_DIR}/conf") # ============EXAMPLE================== INCLUDE_DIRECTORIES(${wolf_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(BEFORE "include") -message("MY INCLUDES ${wolf_INCLUDE_DIRS}") -message("MY LIBS ${wolf_LIBRARIES}") #HEADERS diff --git a/include/IMU/processor/processor_IMU.h b/include/IMU/processor/processor_IMU.h index e90affda5cd952abe0412bf1c6bcbe4cac839018..867a535f887eda226d042e5d39ca98e71bf5e772 100644 --- a/include/IMU/processor/processor_IMU.h +++ b/include/IMU/processor/processor_IMU.h @@ -12,8 +12,18 @@ WOLF_STRUCT_PTR_TYPEDEFS(ProcessorParamsIMU); struct ProcessorParamsIMU : public ProcessorParamsMotion { // ProcessorParamsIMU() = default; - using ProcessorParamsMotion::ProcessorParamsMotion; - Scalar unmeasured_perturbation_std_ = 0.00001; // TODO: pass in processor motion? + // using ProcessorParamsMotion::ProcessorParamsMotion; + + ProcessorParamsIMU() = default; + ProcessorParamsIMU(std::string _unique_name, const paramsServer& _server): + ProcessorParamsMotion(_unique_name, _server) + { + // + } + std::string print() + { + return "\n" + ProcessorParamsMotion::print(); + } }; WOLF_PTR_TYPEDEFS(ProcessorIMU); diff --git a/include/IMU/sensor/sensor_IMU.h b/include/IMU/sensor/sensor_IMU.h index aa4bb06bf172c26299730c60dc9e614fa3da1b72..94812fc1bbe9c4c4a87be05132d31c1a8bbeb70e 100644 --- a/include/IMU/sensor/sensor_IMU.h +++ b/include/IMU/sensor/sensor_IMU.h @@ -42,6 +42,16 @@ struct IntrinsicsIMU : public IntrinsicsBase ab_rate_stdev = _server.getParam<Scalar>(_unique_name + "/ab_rate_stdev", "0.00001"); wb_rate_stdev = _server.getParam<Scalar>(_unique_name + "/wb_rate_stdev", "0.00001"); } + std::string print() + { + return "\n" + IntrinsicsBase::print() + + "w_noise: " + std::to_string(w_noise) + "\n" + + "a_noise: " + std::to_string(a_noise) + "\n" + + "ab_initial_stdev: " + std::to_string(ab_initial_stdev) + "\n" + + "wb_initial_stdev: " + std::to_string(wb_initial_stdev) + "\n" + + "ab_rate_stdev: " + std::to_string(ab_rate_stdev) + "\n" + + "wb_rate_stdev: " + std::to_string(wb_rate_stdev) + "\n"; + } }; WOLF_PTR_TYPEDEFS(SensorIMU); diff --git a/serialization/cereal/serialization_processor_odom2d_params.h b/serialization/cereal/serialization_processor_odom2d_params.h index dc0416b94634ef8415919c26fa972c86edb99a00..91d9ca06173d9dfca2b9275dfc7f115651925dc4 100644 --- a/serialization/cereal/serialization_processor_odom2d_params.h +++ b/serialization/cereal/serialization_processor_odom2d_params.h @@ -18,7 +18,7 @@ void serialize(Archive& ar, wolf::ProcessorParamsOdom2D& o, ar( cereal::make_nvp("dist_traveled_th_", o.dist_traveled_th_) ); ar( cereal::make_nvp("elapsed_time_th_", o.elapsed_time_th_) ); ar( cereal::make_nvp("theta_traveled_th_", o.theta_traveled_th_) ); - ar( cereal::make_nvp("unmeasured_perturbation_std_", + ar( cereal::make_nvp("unmeasured_perturbation_std", o.unmeasured_perturbation_std) ); } diff --git a/src/processor/processor_IMU.cpp b/src/processor/processor_IMU.cpp index ac38037cd0750ec93b58821017ee579d34b559ac..f3a95512e45ca4bcf8d8544fc535150d21f6ecfa 100644 --- a/src/processor/processor_IMU.cpp +++ b/src/processor/processor_IMU.cpp @@ -13,7 +13,7 @@ ProcessorIMU::ProcessorIMU(ProcessorParamsIMUPtr _params_motion_IMU) : jacobian_delta_preint_.setIdentity(9,9); // dDp'/dDp, dDv'/dDv, all zeros jacobian_delta_.setIdentity(9,9); // jacobian_calib_.setZero(9,6); - unmeasured_perturbation_cov_ = pow(params_motion_IMU_->unmeasured_perturbation_std_, 2.0) * Eigen::Matrix<Scalar, 9, 9>::Identity(); + unmeasured_perturbation_cov_ = pow(params_motion_IMU_->unmeasured_perturbation_std, 2.0) * Eigen::Matrix<Scalar, 9, 9>::Identity(); } ProcessorIMU::~ProcessorIMU() diff --git a/src/yaml/processor_IMU_yaml.cpp b/src/yaml/processor_IMU_yaml.cpp index 424dcf77873eff3fcafcb87bd11bc11dd0cc7659..58c9d3b3b0a007d8c7e20e9db527c03d05c4f00e 100644 --- a/src/yaml/processor_IMU_yaml.cpp +++ b/src/yaml/processor_IMU_yaml.cpp @@ -30,7 +30,7 @@ static ProcessorParamsBasePtr createProcessorIMUParams(const std::string & _file ProcessorParamsIMUPtr params = std::make_shared<ProcessorParamsIMU>(); params->time_tolerance = config["time tolerance"] .as<Scalar>(); - params->unmeasured_perturbation_std_ = config["unmeasured perturbation std"].as<Scalar>(); + params->unmeasured_perturbation_std = config["unmeasured perturbation std"].as<Scalar>(); params->unmeasured_perturbation_std = config["unmeasured perturbation std"].as<Scalar>(); params->max_time_span = kf_vote["max time span"] .as<Scalar>();