diff --git a/include/core/factor/factor_odom_2D.h b/include/core/factor/factor_odom_2D.h index e5cfd57a69329ca9c82c9019f29d4ee591b27f77..ed3d0da6918e42b073c4ba49dd73387e9470c855 100644 --- a/include/core/factor/factor_odom_2D.h +++ b/include/core/factor/factor_odom_2D.h @@ -8,25 +8,27 @@ //#include "ceres/jet.h" namespace wolf { - + WOLF_PTR_TYPEDEFS(FactorOdom2D); //class -class FactorOdom2D : public FactorAutodiff<FactorOdom2D, 3, 2, 1, 2, 1> +class FactorOdom2D : public FactorAutodiff<FactorOdom2D, 3, 2, 1, 2, 1, 2, 1> { public: FactorOdom2D(const FeatureBasePtr& _ftr_ptr, const FrameBasePtr& _frame_other_ptr, const ProcessorBasePtr& _processor_ptr = nullptr, bool _apply_loss_function = false, FactorStatus _status = FAC_ACTIVE) : - FactorAutodiff<FactorOdom2D, 3, 2, 1, 2, 1>("ODOM 2D", + FactorAutodiff<FactorOdom2D, 3, 2, 1, 2, 1, 2, 1>("ODOM 2D", _frame_other_ptr, nullptr, nullptr, nullptr, _processor_ptr, _apply_loss_function, _status, _frame_other_ptr->getP(), _frame_other_ptr->getO(), _ftr_ptr->getFrame()->getP(), - _ftr_ptr->getFrame()->getO()) + _ftr_ptr->getFrame()->getO(), + _ftr_ptr->getCapture()->getSensorP(), + _ftr_ptr->getCapture()->getSensorO()) { // } @@ -34,7 +36,7 @@ class FactorOdom2D : public FactorAutodiff<FactorOdom2D, 3, 2, 1, 2, 1> virtual ~FactorOdom2D() = default; template<typename T> - bool operator ()(const T* const _p1, const T* const _o1, const T* const _p2, const T* const _o2, + bool operator ()(const T* const _p1, const T* const _o1, const T* const _p2, const T* const _o2, const T* const _sp, const T* const _so, T* _residuals) const; public: @@ -47,7 +49,7 @@ class FactorOdom2D : public FactorAutodiff<FactorOdom2D, 3, 2, 1, 2, 1> template<typename T> inline bool FactorOdom2D::operator ()(const T* const _p1, const T* const _o1, const T* const _p2, - const T* const _o2, T* _residuals) const + const T* const _o2, const T* const _sp, const T* const _so, T* _residuals) const { // MAPS diff --git a/include/core/feature/feature_odom_2D.h b/include/core/feature/feature_odom_2D.h index 5df94a665faecac2d17710df0f0b4d3496eb0a4d..0e82dd5375e52fc3b485fba1456c60951265e741 100644 --- a/include/core/feature/feature_odom_2D.h +++ b/include/core/feature/feature_odom_2D.h @@ -3,15 +3,13 @@ //Wolf includes #include "core/feature/feature_base.h" -#include "core/factor/factor_odom_2D.h" -#include "core/factor/factor_odom_2D_analytic.h" //std includes namespace wolf { WOLF_PTR_TYPEDEFS(FeatureOdom2D); - + //class FeatureOdom2D class FeatureOdom2D : public FeatureBase { @@ -28,13 +26,13 @@ class FeatureOdom2D : public FeatureBase virtual ~FeatureOdom2D(); /** \brief Generic interface to find factors - * + * * TBD * Generic interface to find factors between this feature and a map (static/slam) or a previous feature * **/ virtual void findFactors(); - + }; } // namespace wolf