From 71bb35f7bd27058ef9d78103e864b08e38e5bbd7 Mon Sep 17 00:00:00 2001 From: jcasals <jcasals@iri.upc.edu> Date: Tue, 24 Mar 2020 15:47:54 +0100 Subject: [PATCH] Add _dim attribute ProcessorBase --- hello_wolf/processor_range_bearing.cpp | 2 +- include/core/processor/processor_base.h | 3 ++- include/core/processor/processor_loopclosure.h | 3 ++- include/core/processor/processor_motion.h | 1 + include/core/processor/processor_tracker.h | 2 ++ include/core/processor/processor_tracker_feature.h | 1 + src/processor/processor_base.cpp | 3 ++- src/processor/processor_loopclosure.cpp | 4 ++-- src/processor/processor_motion.cpp | 3 ++- src/processor/processor_odom_2d.cpp | 2 +- src/processor/processor_odom_3d.cpp | 2 +- src/processor/processor_tracker.cpp | 3 ++- src/processor/processor_tracker_feature.cpp | 3 ++- src/processor/processor_tracker_landmark.cpp | 2 +- test/dummy/processor_tracker_feature_dummy.h | 2 +- test/gtest_processor_loopclosure.cpp | 2 +- 16 files changed, 24 insertions(+), 14 deletions(-) diff --git a/hello_wolf/processor_range_bearing.cpp b/hello_wolf/processor_range_bearing.cpp index fa910064e..89b3d7775 100644 --- a/hello_wolf/processor_range_bearing.cpp +++ b/hello_wolf/processor_range_bearing.cpp @@ -15,7 +15,7 @@ namespace wolf { ProcessorRangeBearing::ProcessorRangeBearing(ProcessorParamsBasePtr _params) : - ProcessorBase("ProcessorRangeBearing", _params) + ProcessorBase("ProcessorRangeBearing", 2, _params) { // } diff --git a/include/core/processor/processor_base.h b/include/core/processor/processor_base.h index bd39ef49d..55c74707c 100644 --- a/include/core/processor/processor_base.h +++ b/include/core/processor/processor_base.h @@ -246,13 +246,14 @@ class ProcessorBase : public NodeBase, public std::enable_shared_from_this<Proce ProcessorParamsBasePtr params_; BufferPackKeyFrame buffer_pack_kf_; BufferCapture buffer_capture_; + int dim_; private: SensorBaseWPtr sensor_ptr_; static unsigned int processor_id_count_; public: - ProcessorBase(const std::string& _type, ProcessorParamsBasePtr _params); + ProcessorBase(const std::string& _type, int _dim, ProcessorParamsBasePtr _params); virtual ~ProcessorBase(); virtual void configure(SensorBasePtr _sensor) = 0; virtual void remove(); diff --git a/include/core/processor/processor_loopclosure.h b/include/core/processor/processor_loopclosure.h index a1f9f67dd..b0720f3a4 100644 --- a/include/core/processor/processor_loopclosure.h +++ b/include/core/processor/processor_loopclosure.h @@ -47,10 +47,11 @@ class ProcessorLoopClosure : public ProcessorBase protected: ProcessorParamsLoopClosurePtr params_loop_closure_; + int _dim; public: - ProcessorLoopClosure(const std::string& _type, ProcessorParamsLoopClosurePtr _params_loop_closure); + ProcessorLoopClosure(const std::string& _type, int _dim, ProcessorParamsLoopClosurePtr _params_loop_closure); virtual ~ProcessorLoopClosure() = default; virtual void configure(SensorBasePtr _sensor) override { }; diff --git a/include/core/processor/processor_motion.h b/include/core/processor/processor_motion.h index b8e6ceaff..2ac6c8d59 100644 --- a/include/core/processor/processor_motion.h +++ b/include/core/processor/processor_motion.h @@ -148,6 +148,7 @@ class ProcessorMotion : public ProcessorBase, public IsMotion // This is the main public interface public: ProcessorMotion(const std::string& _type, + int _dim, SizeEigen _state_size, SizeEigen _delta_size, SizeEigen _delta_cov_size, diff --git a/include/core/processor/processor_tracker.h b/include/core/processor/processor_tracker.h index ed07d3de5..d7ab95164 100644 --- a/include/core/processor/processor_tracker.h +++ b/include/core/processor/processor_tracker.h @@ -104,9 +104,11 @@ class ProcessorTracker : public ProcessorBase FeatureBasePtrList new_features_last_; ///< List of new features in \b last for landmark initialization and new key-frame creation. FeatureBasePtrList new_features_incoming_; ///< list of the new features of \b last successfully tracked in \b incoming FeatureBasePtrList known_features_incoming_; ///< list of the known features in \b last successfully tracked in \b incoming + int _dim; public: ProcessorTracker(const std::string& _type, + int _dim, ProcessorParamsTrackerPtr _params_tracker); virtual ~ProcessorTracker(); diff --git a/include/core/processor/processor_tracker_feature.h b/include/core/processor/processor_tracker_feature.h index f05fb8976..b86e041d2 100644 --- a/include/core/processor/processor_tracker_feature.h +++ b/include/core/processor/processor_tracker_feature.h @@ -85,6 +85,7 @@ class ProcessorTrackerFeature : public ProcessorTracker /** \brief Constructor with type */ ProcessorTrackerFeature(const std::string& _type, + int _dim, ProcessorParamsTrackerFeaturePtr _params_tracker_feature); virtual ~ProcessorTrackerFeature(); diff --git a/src/processor/processor_base.cpp b/src/processor/processor_base.cpp index 3cf7743c4..a35097f2c 100644 --- a/src/processor/processor_base.cpp +++ b/src/processor/processor_base.cpp @@ -7,10 +7,11 @@ namespace wolf { unsigned int ProcessorBase::processor_id_count_ = 0; -ProcessorBase::ProcessorBase(const std::string& _type, ProcessorParamsBasePtr _params) : +ProcessorBase::ProcessorBase(const std::string& _type, int _dim, ProcessorParamsBasePtr _params) : NodeBase("PROCESSOR", _type), processor_id_(++processor_id_count_), params_(_params), + dim_(_dim), sensor_ptr_() { // WOLF_DEBUG("constructed +p" , id()); diff --git a/src/processor/processor_loopclosure.cpp b/src/processor/processor_loopclosure.cpp index 86fb02bf6..3517f9e20 100644 --- a/src/processor/processor_loopclosure.cpp +++ b/src/processor/processor_loopclosure.cpp @@ -11,8 +11,8 @@ namespace wolf { -ProcessorLoopClosure::ProcessorLoopClosure(const std::string& _type, ProcessorParamsLoopClosurePtr _params_loop_closure): - ProcessorBase(_type, _params_loop_closure), +ProcessorLoopClosure::ProcessorLoopClosure(const std::string& _type, int _dim, ProcessorParamsLoopClosurePtr _params_loop_closure): + ProcessorBase(_type, _dim, _params_loop_closure), params_loop_closure_(_params_loop_closure) { // diff --git a/src/processor/processor_motion.cpp b/src/processor/processor_motion.cpp index 39a3d83f4..49bbbbf41 100644 --- a/src/processor/processor_motion.cpp +++ b/src/processor/processor_motion.cpp @@ -7,13 +7,14 @@ namespace wolf { ProcessorMotion::ProcessorMotion(const std::string& _type, + int _dim, SizeEigen _state_size, SizeEigen _delta_size, SizeEigen _delta_cov_size, SizeEigen _data_size, SizeEigen _calib_size, ProcessorParamsMotionPtr _params_motion) : - ProcessorBase(_type, _params_motion), + ProcessorBase(_type, _dim, _params_motion), params_motion_(_params_motion), processing_step_(RUNNING_WITHOUT_PACK), x_size_(_state_size), diff --git a/src/processor/processor_odom_2d.cpp b/src/processor/processor_odom_2d.cpp index 31b7cc70b..9c3132b41 100644 --- a/src/processor/processor_odom_2d.cpp +++ b/src/processor/processor_odom_2d.cpp @@ -5,7 +5,7 @@ namespace wolf { ProcessorOdom2d::ProcessorOdom2d(ProcessorParamsOdom2dPtr _params) : - ProcessorMotion("ProcessorOdom2d", 3, 3, 3, 2, 0, _params), + ProcessorMotion("ProcessorOdom2d", 2, 3, 3, 3, 2, 0, _params), params_odom_2d_(_params) { unmeasured_perturbation_cov_ = _params->unmeasured_perturbation_std * _params->unmeasured_perturbation_std * Matrix3d::Identity(); diff --git a/src/processor/processor_odom_3d.cpp b/src/processor/processor_odom_3d.cpp index ac491d9c1..967031e9c 100644 --- a/src/processor/processor_odom_3d.cpp +++ b/src/processor/processor_odom_3d.cpp @@ -3,7 +3,7 @@ namespace wolf { ProcessorOdom3d::ProcessorOdom3d(ProcessorParamsOdom3dPtr _params) : - ProcessorMotion("ProcessorOdom3d", 7, 7, 6, 6, 0, _params), + ProcessorMotion("ProcessorOdom3d", 3, 7, 7, 6, 6, 0, _params), params_odom_3d_ (_params), k_disp_to_disp_ (0), k_disp_to_rot_ (0), diff --git a/src/processor/processor_tracker.cpp b/src/processor/processor_tracker.cpp index 227f81994..56d5ae4ae 100644 --- a/src/processor/processor_tracker.cpp +++ b/src/processor/processor_tracker.cpp @@ -15,8 +15,9 @@ namespace wolf { ProcessorTracker::ProcessorTracker(const std::string& _type, + int _dim, ProcessorParamsTrackerPtr _params_tracker) : - ProcessorBase(_type, _params_tracker), + ProcessorBase(_type, _dim, _params_tracker), params_tracker_(_params_tracker), processing_step_(FIRST_TIME_WITHOUT_PACK), origin_ptr_(nullptr), diff --git a/src/processor/processor_tracker_feature.cpp b/src/processor/processor_tracker_feature.cpp index d6ce9c065..211a1aba1 100644 --- a/src/processor/processor_tracker_feature.cpp +++ b/src/processor/processor_tracker_feature.cpp @@ -11,8 +11,9 @@ namespace wolf { ProcessorTrackerFeature::ProcessorTrackerFeature(const std::string& _type, + int _dim, ProcessorParamsTrackerFeaturePtr _params_tracker_feature) : - ProcessorTracker(_type, _params_tracker_feature), + ProcessorTracker(_type, _dim, _params_tracker_feature), params_tracker_feature_(_params_tracker_feature) { } diff --git a/src/processor/processor_tracker_landmark.cpp b/src/processor/processor_tracker_landmark.cpp index c0114ace1..7035dd38d 100644 --- a/src/processor/processor_tracker_landmark.cpp +++ b/src/processor/processor_tracker_landmark.cpp @@ -15,7 +15,7 @@ namespace wolf ProcessorTrackerLandmark::ProcessorTrackerLandmark(const std::string& _type, ProcessorParamsTrackerLandmarkPtr _params_tracker_landmark) : - ProcessorTracker(_type, _params_tracker_landmark), + ProcessorTracker(_type, 0, _params_tracker_landmark), params_tracker_landmark_(_params_tracker_landmark) { // diff --git a/test/dummy/processor_tracker_feature_dummy.h b/test/dummy/processor_tracker_feature_dummy.h index 4f5205d15..3328edf08 100644 --- a/test/dummy/processor_tracker_feature_dummy.h +++ b/test/dummy/processor_tracker_feature_dummy.h @@ -110,7 +110,7 @@ class ProcessorTrackerFeatureDummy : public ProcessorTrackerFeature }; inline ProcessorTrackerFeatureDummy::ProcessorTrackerFeatureDummy(ProcessorParamsTrackerFeatureDummyPtr _params_tracker_feature_dummy) : - ProcessorTrackerFeature("ProcessorTrackerFeatureDummy", _params_tracker_feature_dummy), + ProcessorTrackerFeature("ProcessorTrackerFeatureDummy", 0, _params_tracker_feature_dummy), params_tracker_feature_dummy_(_params_tracker_feature_dummy) { // diff --git a/test/gtest_processor_loopclosure.cpp b/test/gtest_processor_loopclosure.cpp index 01ead38ab..d00fb9340 100644 --- a/test/gtest_processor_loopclosure.cpp +++ b/test/gtest_processor_loopclosure.cpp @@ -24,7 +24,7 @@ private: public: ProcessorLoopClosureDummy(ProcessorParamsLoopClosurePtr _params_loop_closure, bool& factor_created): - ProcessorLoopClosure("LOOP CLOSURE DUMMY", _params_loop_closure), + ProcessorLoopClosure("LOOP CLOSURE DUMMY", 0, _params_loop_closure), factor_created(&factor_created){}; std::pair<FrameBasePtr,CaptureBasePtr> public_selectPairKC(){ return selectPairKC();}; -- GitLab