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: