From 54a72140e01cb2b01b36f898f4ea8cf03175fe5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu> Date: Tue, 28 Jun 2022 12:19:04 +0200 Subject: [PATCH] [skip ci] Document boostrap --- include/imu/processor/processor_imu.h | 28 +++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/include/imu/processor/processor_imu.h b/include/imu/processor/processor_imu.h index 94388550e..6a9855ec3 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 }; } -- GitLab