diff --git a/include/imu/processor/processor_imu.h b/include/imu/processor/processor_imu.h index 94388550eedf13e50e2a16be7d3ca060159e21c4..6a9855ec3c0b2f3fbb9ff103472e3c4168cb5520 100644 --- a/include/imu/processor/processor_imu.h +++ b/include/imu/processor/processor_imu.h @@ -85,7 +85,6 @@ class ProcessorImu : public ProcessorMotion{ void configure(SensorBasePtr _sensor) override { }; void preProcess() override; - void bootstrapEnable(bool _bootstrap_enable = true); protected: void computeCurrentDelta(const Eigen::VectorXd& _data, @@ -126,14 +125,31 @@ class ProcessorImu : public ProcessorMotion{ FeatureBasePtr emplaceFeature(CaptureMotionPtr _capture_motion) override; FactorBasePtr emplaceFactor(FeatureBasePtr _feature_motion, CaptureBasePtr _capture_origin) override; - virtual void bootstrap() override; - CaptureBasePtr bootstrapOrigin() const; - VectorXd bootstrapDelta() const; - bool recomputeStates() const; + public: + /** \brief Enable bootstrapping process + */ + void bootstrapEnable(bool _bootstrap_enable = true); + + protected: + /** \brief Bootstrap the IMU initial conditions + */ + virtual void bootstrap() override; + /** \brief Get the Capture where the IMU data started the bootstrap + */ + CaptureBasePtr bootstrapOrigin() const; + /** \brief Compose all preintegrated Deltas accumulated during the whole bootstrap process. + */ + VectorXd bootstrapDelta() const; + /** \brief Incrementally compute all state values according to the current initial conditions and all + * preintegrated deltas. + * + * This is executed at the end of the bootstrap process + */ + bool recomputeStates() const; protected: ParamsProcessorImuPtr params_motion_Imu_; - std::list<FactorBasePtr> list_fac_inactive_bootstrap_; + std::list<FactorBasePtr> list_fac_inactive_bootstrap_; ///< List of all IMU factors created while IMU is bootstrapping }; }