diff --git a/hello_wolf/processor_range_bearing.cpp b/hello_wolf/processor_range_bearing.cpp index fa910064ed7b9a21607214486ab52691a7fb029c..89b3d7775e3c5b79dca8de4a0d2f6f5ad91d17e7 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 bd39ef49da82605edd6f48bb27337c9823ef8ed9..55c74707c492f4f78aa5f94ef695cd3307f6853d 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 a1f9f67dd14e28c617ab476608e96924d6b3e78e..b0720f3a47afdfd7878b23929923295964340ea5 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 b8e6ceaffe553e31a2fa2807c831f9cbb405c420..2ac6c8d5949ad07c1529fd06739c0ce80211f243 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 ed07d3de55a3ec8e4b9181cb8c9b3af85ba4f1cb..d7ab951643fbc2760b8d81110a9f2338a96dad36 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 f05fb89762d6efef528c100502523b41a869af9f..b86e041d25e026762ea1413429b1c6e63a594fd7 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 3cf7743c4e673dc358f076db4dbc56376a71f46e..a35097f2c70d3b047117ae6d0c9bf81a5fe2f5da 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 86fb02bf67e309071c9190b839ffcfc638422e22..3517f9e20d5bb55c40ebde25636411c5be02d9cb 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 39a3d83f425201b6bc148bdd8c3ca93681ac4329..49bbbbf41e023838fde5bc6dc26fcd311dfd2ce8 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 31b7cc70be659c06b600b85637a0016677be1f07..9c3132b417318ab856095f90dd14a91186507064 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 ac491d9c1e56bc528c9f5692d30586f10e0f8fd4..967031e9ccd1a68fcee41567be0f7dbf7523ef2c 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 227f819941fb886e657cb03c0f0cf1422218738b..56d5ae4ae45ed40962274292328076087da7fb9f 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 d6ce9c065e8c0611f6e1190acf1fe4555d83cdf6..211a1aba12b12ecfb10afea00041cf82e07493be 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 c0114ace1a52790c72c084f3133ced6c3f94acb8..7035dd38de2fcfb177deef2f4ed30d28fcdd92cf 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 4f5205d152ad4b0916d5c4968e754eb8da84c023..3328edf08c0234d6b587680b9b215bc91a7ae43f 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 01ead38abbb2e208964ca0957625a8dfd9a22eac..d00fb93407ab75bb150a576bc434640f1c75fe12 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();};