diff --git a/include/core/processor/processor_diff_drive.h b/include/core/processor/processor_diff_drive.h index 44496732262e024669c7592e51a3fdf7d5cc2277..98e7bfaa308e1a9c9d53efb19f3c047e62952ba8 100644 --- a/include/core/processor/processor_diff_drive.h +++ b/include/core/processor/processor_diff_drive.h @@ -34,8 +34,8 @@ class ProcessorDiffDrive : public ProcessorOdom2D { public: ProcessorDiffDrive(ProcessorParamsDiffDrivePtr _params_motion); + WOLF_CREATE_PROCESSOR_AUTO(ProcessorDiffDrive, ProcessorParamsDiffDrive); static ProcessorBasePtr create(const std::string& _unique_name, const ProcessorParamsBasePtr _params); - static ProcessorBasePtr createAutoConf(const std::string& _unique_name, const ParamsServer& _server); virtual ~ProcessorDiffDrive(); protected: diff --git a/include/core/processor/processor_odom_2D.h b/include/core/processor/processor_odom_2D.h index 7edf655b449898c4744fca827a612ef6bd544461..e62f7a19bd8428fab07a3686f7d08de590af7b27 100644 --- a/include/core/processor/processor_odom_2D.h +++ b/include/core/processor/processor_odom_2D.h @@ -41,6 +41,7 @@ class ProcessorOdom2D : public ProcessorMotion { public: ProcessorOdom2D(ProcessorParamsOdom2DPtr _params); + WOLF_CREATE_PROCESSOR_AUTO(ProcessorOdom2D, ProcessorParamsOdom2D); virtual ~ProcessorOdom2D(); virtual void configure(SensorBasePtr _sensor) override { }; @@ -95,7 +96,6 @@ class ProcessorOdom2D : public ProcessorMotion // Factory method public: static ProcessorBasePtr create(const std::string& _unique_name, const ProcessorParamsBasePtr _params); - static ProcessorBasePtr createAutoConf(const std::string& _unique_name, const ParamsServer& _server); }; inline Eigen::VectorXs ProcessorOdom2D::deltaZero() const diff --git a/include/core/processor/processor_odom_3D.h b/include/core/processor/processor_odom_3D.h index 35e559a3de2454664d82d932f9fb8ec7474c4d97..98bd95e4aec489c1d22ade5ec94689e0614f2762 100644 --- a/include/core/processor/processor_odom_3D.h +++ b/include/core/processor/processor_odom_3D.h @@ -61,6 +61,7 @@ class ProcessorOdom3D : public ProcessorMotion { public: ProcessorOdom3D(ProcessorParamsOdom3DPtr _params); + WOLF_CREATE_PROCESSOR_AUTO(ProcessorOdom3D, ProcessorParamsOdom3D); virtual ~ProcessorOdom3D(); virtual void configure(SensorBasePtr _sensor) override; diff --git a/src/processor/processor_diff_drive.cpp b/src/processor/processor_diff_drive.cpp index f57e54a1d794e360b883116c860478a96360ed35..07bf75b344e1c9ccbafea0c5dfee8e1179b6e4b8 100644 --- a/src/processor/processor_diff_drive.cpp +++ b/src/processor/processor_diff_drive.cpp @@ -19,7 +19,7 @@ namespace wolf ProcessorDiffDrive::ProcessorDiffDrive(const ProcessorParamsDiffDrivePtr _params) : ProcessorOdom2D(_params), params_prc_diff_drv_selfcal_(_params), - radians_per_tick_(0.0) // This params needs further initialization. See this->configure(sensor). + radians_per_tick_(0.0) // This param needs further initialization. See this->configure(sensor). { setType("DIFF DRIVE"); // overwrite odom2D setting calib_size_ = 3; // overwrite odom2D setting @@ -33,16 +33,10 @@ ProcessorDiffDrive::~ProcessorDiffDrive() ProcessorBasePtr ProcessorDiffDrive::create(const std::string& _unique_name, const ProcessorParamsBasePtr _params) { - -// ProcessorDiffDrivePtr prc_ptr; - -// std::shared_ptr<ProcessorParamsDiffDrive> params; -// if (_params) - auto params = std::static_pointer_cast<ProcessorParamsDiffDrive>(_params); -// else -// params = std::make_shared<ProcessorParamsDiffDrive>(); + auto params = std::static_pointer_cast<ProcessorParamsDiffDrive>(_params); auto prc_ptr = std::make_shared<ProcessorDiffDrive>(params); + prc_ptr->setName(_unique_name); return prc_ptr; @@ -183,17 +177,6 @@ FactorBasePtr ProcessorDiffDrive::emplaceFactor(FeatureBasePtr _feature, return fac_odom; } -///////////// FACTORIES /////////////// - -ProcessorBasePtr ProcessorDiffDrive::createAutoConf(const std::string& _unique_name, const ParamsServer& _server) -{ - auto params = std::make_shared<ProcessorParamsDiffDrive>(_unique_name, _server); - - auto prc_ptr = std::make_shared<ProcessorDiffDrive>(params); - prc_ptr->setName(_unique_name); - - return prc_ptr; -} } /* namespace wolf */ diff --git a/src/processor/processor_odom_2D.cpp b/src/processor/processor_odom_2D.cpp index f3835649389f02583605c1290f17cbe081583fa0..e9b7dd34ac9ed073f6c68120b34293cd477e5fb1 100644 --- a/src/processor/processor_odom_2D.cpp +++ b/src/processor/processor_odom_2D.cpp @@ -178,16 +178,6 @@ ProcessorBasePtr ProcessorOdom2D::create(const std::string& _unique_name, const return prc_ptr; } -ProcessorBasePtr ProcessorOdom2D::createAutoConf(const std::string& _unique_name, const ParamsServer& _server) -{ - auto params = std::make_shared<ProcessorParamsOdom2D>(_unique_name, _server); - - auto prc_ptr = std::make_shared<ProcessorOdom2D>(params); - - prc_ptr->setName(_unique_name); - - return prc_ptr; -} } /* namespace wolf */