diff --git a/cmake_modules/wolfConfig.cmake b/cmake_modules/wolfConfig.cmake index 82bb7cf0a5523302eb3d6c7fd5064e382a6c59f5..c9321c445315da6e354b1f8423b7368745c14816 100644 --- a/cmake_modules/wolfConfig.cmake +++ b/cmake_modules/wolfConfig.cmake @@ -156,7 +156,6 @@ list(APPEND EIGEN_INCLUDE_DIR_HINTS /usr/include/eigen3) # match and reject with an explanation below. find_package(Eigen3 ${wolf_EIGEN_VERSION} QUIET) - # Flag set with currently found Eigen version. set(EIGEN_VERSION @EIGEN_VERSION@) if (EIGEN3_FOUND) diff --git a/include/IMU/processor/processor_IMU.h b/include/IMU/processor/processor_IMU.h index d94f8a992ce7ce3cf531257b429a1e9f167ec5e3..e90affda5cd952abe0412bf1c6bcbe4cac839018 100644 --- a/include/IMU/processor/processor_IMU.h +++ b/include/IMU/processor/processor_IMU.h @@ -11,6 +11,8 @@ 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? }; diff --git a/include/IMU/sensor/sensor_IMU.h b/include/IMU/sensor/sensor_IMU.h index 04d85ce04e47e4be13905a53abdccb946f472b9d..aa4bb06bf172c26299730c60dc9e614fa3da1b72 100644 --- a/include/IMU/sensor/sensor_IMU.h +++ b/include/IMU/sensor/sensor_IMU.h @@ -3,6 +3,7 @@ //wolf includes #include "core/sensor/sensor_base.h" +#include "core/utils/params_server.hpp" #include <iostream> namespace wolf { @@ -27,6 +28,20 @@ struct IntrinsicsIMU : public IntrinsicsBase Scalar wb_rate_stdev = 0.00001; virtual ~IntrinsicsIMU() = default; + IntrinsicsIMU() + { + //DEFINED FOR COMPATIBILITY PURPOSES. TO BE REMOVED IN THE FUTURE. + } + IntrinsicsIMU(std::string _unique_name, const paramsServer& _server): + IntrinsicsBase(_unique_name, _server) + { + w_noise = _server.getParam<Scalar>(_unique_name + "/w_noise", "0.001"); + a_noise = _server.getParam<Scalar>(_unique_name + "/a_noise", "0.004"); + ab_initial_stdev = _server.getParam<Scalar>(_unique_name + "/ab_initial_stdev", "0.01"); + wb_initial_stdev = _server.getParam<Scalar>(_unique_name + "/wb_initial_stdev", "0.01"); + 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"); + } }; WOLF_PTR_TYPEDEFS(SensorIMU); diff --git a/wolf_scripts/create_plugin.sh b/wolf_scripts/create_plugin.sh new file mode 100755 index 0000000000000000000000000000000000000000..b1ca42f945f7f559a70e43377412faa8e6d4ec9c --- /dev/null +++ b/wolf_scripts/create_plugin.sh @@ -0,0 +1,126 @@ +#!/bin/bash +# $1 path to the root of the plugin +# $2 name of the plugin +# $3 files to be moved + +#Generate the necessary dirs +# if [ ! -d $1 ]; +# then +# mkdir $1 +# fi + +# if [ ! -d $1/include/$2 ]; +# then +# # mkdir $1/include +# mkdir $1/include/$2 +# fi +# if [ ! -d $1/src ]; +# then +# mkdir $1/src +# fi +root_dir=$(echo $1 | rev | cut -d '/' -f 2- | rev) +if [ ! -d $root_dir/$2 ]; +then + cp -a ../Skeleton $root_dir + mv $root_dir/Skeleton $root_dir/$2 + mv $root_dir/$2/include/skeleton $root_dir/$2/include/$2 +fi + +for folder in capture factor feature landmark processor sensor yaml ; do + if [ ! -d $1/include/$2/$folder ]; + then + mkdir $1/include/$2/$folder + fi + if [ ! -d $1/src/$folder ]; + then + mkdir $1/src/$folder + fi +done +for file in $(cat $3); do + head=$(echo $file | cut -d '/' -f 1) + if [ "$head" = "include" ]; + then + folder=$(echo $file | cut -d '/' -f 3) + suffix=$(echo $file | cut -d '/' -f 4-) + line=$(ag "HDRS_"${folder^^} $1/CMakeLists.txt | cut -d ':' -f 1 | head -1) + line=$(($line + 1)) + echo $line " && " $file " && " $folder " && " $suffix + if [ "$suffix" = "" ]; + then + line=$(ag "HDRS_BASE" $1/CMakeLists.txt | cut -d ':' -f 1 | head -1) + line=$(($line + 1)) + suffix=$folder + sed -i ""$line"i $head/$2/$suffix" $1/CMakeLists.txt + cp $file $1/$head/$2/$suffix + else + sed -i ""$line"i $head/$2/$folder/$suffix" $1/CMakeLists.txt + cp $file $1/$head/$2/$folder/$suffix + fi + elif [ "$head" = "src" ]; + then + folder=$(echo $file | cut -d '/' -f 2) + suffix=$(echo $file | cut -d '/' -f 3-) + # ag "SRCS_"$folder $1/CMakeLists.txt + line=$(ag "SRCS_"${folder^^} $1/CMakeLists.txt | cut -d ':' -f 1 | head -1) + line=$(($line + 1)) + echo $line " && " $file " && " $folder " && " $suffix + if [ "$suffix" = "" ]; + then + line=$(ag "SRCS_BASE" $1/CMakeLists.txt | cut -d ':' -f 1 | head -1) + line=$(($line + 1)) + suffix=$folder + sed -i ""$line"i $file" $1/CMakeLists.txt + cp $file $1/$head/$suffix + else + sed -i ""$line"i $file" $1/CMakeLists.txt + cp $file $1/$head/$folder/$suffix + fi + else + cp $file $1/$file + fi +done +for f in $(cat $3); do + hhead=$(echo $f | cut -d '/' -f 1) + if [ "$hhead" = "include" ]; + then + ffolder=$(echo $f | cut -d '/' -f 3) + ssuffix=$(echo $f | cut -d '/' -f 4-) + inc=$ffolder/$ssuffix + else + continue + fi + for ff in $(cat $3); do + head=$(echo $ff | cut -d '/' -f 1) + if [ "$head" = "include" ]; + then + folder=$(echo $ff | cut -d '/' -f 3) + suffix=$(echo $ff | cut -d '/' -f 4-) + if [ "$suffix" = "" ]; + then + new_path=$1/$head/$2/$folder + sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path + else + new_path=$1/$head/$2/$folder/$suffix + sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path + fi + # sed -n -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@pg" $new_path + # sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path + elif [ "$head" = "src" ]; + then + folder=$(echo $ff | cut -d '/' -f 2) + suffix=$(echo $ff | cut -d '/' -f 3-) + # sed -n -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@pg" $new_path + if [ "$suffix" = "" ]; + then + new_path=$1/$head/$folder + sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path + else + new_path=$1/$head/$folder/$suffix + sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path + fi + else + # sed -n -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@pg" $new_path + sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $1/$ff + fi + done +done \ No newline at end of file