diff --git a/include/IMU/processor/processor_IMU.h b/include/IMU/processor/processor_IMU.h
index 8c9d51b7436e543c5292335ed964587bcf28867d..c12188537456673f664ee62d41bfd1520033d083 100644
--- a/include/IMU/processor/processor_IMU.h
+++ b/include/IMU/processor/processor_IMU.h
@@ -45,23 +45,23 @@ class ProcessorIMU : public ProcessorMotion{
                                          const Scalar _dt,
                                          Eigen::VectorXs& _delta,
                                          Eigen::MatrixXs& _delta_cov,
-                                         Eigen::MatrixXs& _jacobian_calib) override;
+                                         Eigen::MatrixXs& _jacobian_calib) const override;
         virtual void deltaPlusDelta(const Eigen::VectorXs& _delta_preint,
                                     const Eigen::VectorXs& _delta,
                                     const Scalar _dt,
-                                    Eigen::VectorXs& _delta_preint_plus_delta) override;
+                                    Eigen::VectorXs& _delta_preint_plus_delta) const override;
         virtual void deltaPlusDelta(const Eigen::VectorXs& _delta_preint,
                                     const Eigen::VectorXs& _delta,
                                     const Scalar _dt,
                                     Eigen::VectorXs& _delta_preint_plus_delta,
                                     Eigen::MatrixXs& _jacobian_delta_preint,
-                                    Eigen::MatrixXs& _jacobian_delta) override;
+                                    Eigen::MatrixXs& _jacobian_delta) const override;
         virtual void statePlusDelta(const Eigen::VectorXs& _x,
                                 const Eigen::VectorXs& _delta,
                                 const Scalar _dt,
-                                Eigen::VectorXs& _x_plus_delta ) override;
+                                Eigen::VectorXs& _x_plus_delta ) const override;
         virtual Eigen::VectorXs deltaZero() const override;
-        virtual bool voteForKeyFrame() override;
+        virtual bool voteForKeyFrame() const override;
         virtual CaptureMotionPtr emplaceCapture(const FrameBasePtr& _frame_own,
                                                 const SensorBasePtr& _sensor,
                                                 const TimeStamp& _ts,
diff --git a/src/processor/processor_IMU.cpp b/src/processor/processor_IMU.cpp
index afd12e4495d5abed332934c48ee8bab9babde1d7..a410afaaf843756d75efbc53d073c8bb6fe41de7 100644
--- a/src/processor/processor_IMU.cpp
+++ b/src/processor/processor_IMU.cpp
@@ -32,7 +32,7 @@ ProcessorBasePtr ProcessorIMU::create(const std::string& _unique_name, const Pro
     return prc_ptr;
 }
 
-bool ProcessorIMU::voteForKeyFrame()
+bool ProcessorIMU::voteForKeyFrame() const
 {
     // time span
     if (getBuffer().get().back().ts_ - getBuffer().get().front().ts_ > params_motion_IMU_->max_time_span)
@@ -105,7 +105,7 @@ void ProcessorIMU::computeCurrentDelta(const Eigen::VectorXs& _data,
                                        const Scalar _dt,
                                        Eigen::VectorXs& _delta,
                                        Eigen::MatrixXs& _delta_cov,
-                                       Eigen::MatrixXs& _jac_delta_calib)
+                                       Eigen::MatrixXs& _jac_delta_calib) const
 {
     assert(_data.size() == data_size_ && "Wrong data size!");
 
@@ -144,7 +144,7 @@ void ProcessorIMU::computeCurrentDelta(const Eigen::VectorXs& _data,
 void ProcessorIMU::deltaPlusDelta(const Eigen::VectorXs& _delta_preint,
                                   const Eigen::VectorXs& _delta,
                                   const Scalar _dt,
-                                  Eigen::VectorXs& _delta_preint_plus_delta)
+                                  Eigen::VectorXs& _delta_preint_plus_delta) const
 {
     /* MATHS according to Sola-16
      * Dp' = Dp + Dv*dt + 1/2*Dq*(a-a_b)*dt^2    = Dp + Dv*dt + Dq*dp   if  dp = 1/2*(a-a_b)*dt^2
@@ -159,7 +159,7 @@ void ProcessorIMU::deltaPlusDelta(const Eigen::VectorXs& _delta_preint,
 void ProcessorIMU::statePlusDelta(const Eigen::VectorXs& _x,
                                   const Eigen::VectorXs& _delta,
                                   const Scalar _dt,
-                                  Eigen::VectorXs& _x_plus_delta)
+                                  Eigen::VectorXs& _x_plus_delta) const
 {
     assert(_x.size() == 10 && "Wrong _x vector size");
     assert(_delta.size() == 10 && "Wrong _delta vector size");
@@ -174,7 +174,7 @@ void ProcessorIMU::deltaPlusDelta(const Eigen::VectorXs& _delta_preint,
                                   const Scalar _dt,
                                   Eigen::VectorXs& _delta_preint_plus_delta,
                                   Eigen::MatrixXs& _jacobian_delta_preint,
-                                  Eigen::MatrixXs& _jacobian_delta)
+                                  Eigen::MatrixXs& _jacobian_delta) const
 {
     /*
      * Expression of the delta integration step, D' = D (+) d: