|
Biorbd
|
Class Kinematic reconstruction algorithm using an Extended Kalman Filter for IMU. More...
#include <KalmanReconsIMU.h>
Public Member Functions | |
| KalmanReconsIMU () | |
| Initialize the Kalman filter and kalman reconstruction for inertial measurement units (IMU) data. | |
| KalmanReconsIMU (biorbd::Model &model, biorbd::rigidbody::KalmanParam params=biorbd::rigidbody::KalmanParam(100, 0.005, 1e-10)) | |
| Initialize the Kalman filter and Kalman reconstruction for inertial measurement units (IMU) data. More... | |
| biorbd::rigidbody::KalmanReconsIMU | DeepCopy () const |
| Deep copy of the Kalman reconstruction from inertial measurement units (IMU) data. More... | |
| void | DeepCopy (const biorbd::rigidbody::KalmanReconsIMU &other) |
| Deep copy of a Kalman reconstruction from inertial measurement units (IMU) data. More... | |
| virtual void | reconstructFrame (biorbd::Model &model, const std::vector< biorbd::rigidbody::IMU > &IMUobs, biorbd::rigidbody::GeneralizedCoordinates *Q, biorbd::rigidbody::GeneralizedVelocity *Qdot, biorbd::rigidbody::GeneralizedAcceleration *Qddot) |
| Proceed to one iteration of the Kalman filter. More... | |
| virtual void | reconstructFrame (biorbd::Model &model, const biorbd::utils::Vector &IMUobs, biorbd::rigidbody::GeneralizedCoordinates *Q, biorbd::rigidbody::GeneralizedVelocity *Qdot, biorbd::rigidbody::GeneralizedAcceleration *Qddot) |
| Reconstruct the kinematics. More... | |
| virtual void | reconstructFrame () |
| This function cannot be used to reconstruct frames. | |
| bool | first () |
| Return if the first iteration was done. More... | |
Public Member Functions inherited from biorbd::rigidbody::KalmanRecons | |
| KalmanRecons () | |
| Kalman reconstruction. | |
| KalmanRecons (biorbd::Model &model, unsigned int nbMeasure, KalmanParam params=KalmanParam()) | |
| Kalman reconstruction. More... | |
| virtual | ~KalmanRecons () |
| Destroy class properly. | |
| void | DeepCopy (const biorbd::rigidbody::KalmanRecons &other) |
| Deep copy of Kalman reconstruction. More... | |
| void | getState (biorbd::rigidbody::GeneralizedCoordinates *Q=nullptr, biorbd::rigidbody::GeneralizedVelocity *Qdot=nullptr, biorbd::rigidbody::GeneralizedAcceleration *Qddot=nullptr) |
| Get the state (Q, Qdot, Qddot) More... | |
| void | setInitState (const biorbd::rigidbody::GeneralizedCoordinates *Q=nullptr, const biorbd::rigidbody::GeneralizedVelocity *Qdot=nullptr, const biorbd::rigidbody::GeneralizedAcceleration *Qddot=nullptr) |
| Set the initial guess of the reconstruction. More... | |
Protected Member Functions | |
| virtual void | initialize () |
| Initialization of the filter. | |
| virtual void | manageOcclusionDuringIteration (biorbd::utils::Matrix &InvTp, biorbd::utils::Vector &measure, const std::vector< unsigned int > &occlusion) |
| Manage the occlusion during the iteration. More... | |
Protected Member Functions inherited from biorbd::rigidbody::KalmanRecons | |
| biorbd::utils::Matrix | evolutionMatrix (const unsigned int m, unsigned int n, double Te) |
| Create the evolution matrix. More... | |
| biorbd::utils::Matrix | processNoiseMatrix (const unsigned int nbQ, double Te) |
| Process the noise matrix. More... | |
| biorbd::utils::Matrix | measurementNoiseMatrix (const unsigned int nbT, double val) |
| Matrix of the noise on the measurements. More... | |
| biorbd::utils::Matrix | initCovariance (const unsigned int nbQ, double val) |
| Returns a initialized covianriance matrix. More... | |
| biorbd::rigidbody::GeneralizedCoordinates | initState (const unsigned int nbQ) |
| Initialize the states. More... | |
| void | iteration (biorbd::utils::Vector measure, const biorbd::utils::Vector &projectedMeasure, const biorbd::utils::Matrix &Hessian, const std::vector< unsigned int > &occlusion=std::vector< unsigned int >()) |
| Compute an iteration of the Kalman filter. More... | |
Protected Attributes | |
| std::shared_ptr< biorbd::utils::Matrix > | m_PpInitial |
| Initial covariance matrix. | |
| std::shared_ptr< bool > | m_firstIteration |
| If first iteration was done. | |
Protected Attributes inherited from biorbd::rigidbody::KalmanRecons | |
| std::shared_ptr< KalmanParam > | m_params |
| The parameters of the Kalman filter. | |
| std::shared_ptr< double > | m_Te |
| Inherent parameter to the frequency. | |
| std::shared_ptr< unsigned int > | m_nbDof |
| Number of states. | |
| std::shared_ptr< unsigned int > | m_nMeasure |
| Number of measurements. | |
| std::shared_ptr< biorbd::utils::Vector > | m_xp |
| State vector. | |
| std::shared_ptr< biorbd::utils::Matrix > | m_A |
| Evolution matrix. | |
| std::shared_ptr< biorbd::utils::Matrix > | m_Q |
| Noise matrix. | |
| std::shared_ptr< biorbd::utils::Matrix > | m_R |
| Matrix of the noise on the measurements. | |
| std::shared_ptr< biorbd::utils::Matrix > | m_Pp |
| Covariance matrix. | |
Class Kinematic reconstruction algorithm using an Extended Kalman Filter for IMU.
Definition at line 18 of file KalmanReconsIMU.h.
| biorbd::rigidbody::KalmanReconsIMU::KalmanReconsIMU | ( | biorbd::Model & | model, |
| biorbd::rigidbody::KalmanParam | params = biorbd::rigidbody::KalmanParam(100, 0.005, 1e-10) |
||
| ) |
Initialize the Kalman filter and Kalman reconstruction for inertial measurement units (IMU) data.
| model | The joint model |
| params | The Kalman filter parameters |
Definition at line 23 of file KalmanReconsIMU.cpp.
| biorbd::rigidbody::KalmanReconsIMU biorbd::rigidbody::KalmanReconsIMU::DeepCopy | ( | ) | const |
Deep copy of the Kalman reconstruction from inertial measurement units (IMU) data.
Definition at line 34 of file KalmanReconsIMU.cpp.
| void biorbd::rigidbody::KalmanReconsIMU::DeepCopy | ( | const biorbd::rigidbody::KalmanReconsIMU & | other | ) |
Deep copy of a Kalman reconstruction from inertial measurement units (IMU) data.
| other | The Kalman reconstruction to copy |
Definition at line 41 of file KalmanReconsIMU.cpp.
| bool biorbd::rigidbody::KalmanReconsIMU::first | ( | ) |
Return if the first iteration was done.
Definition at line 68 of file KalmanReconsIMU.cpp.
|
protectedvirtual |
Manage the occlusion during the iteration.
| InvTp | The inverse of the Tp matrix |
| measure | The vector actual measurement to track |
| occlusion | The vector where occlusions occurs |
Reimplemented from biorbd::rigidbody::KalmanRecons.
Definition at line 56 of file KalmanReconsIMU.cpp.
|
virtual |
Reconstruct the kinematics.
| model | The joint model |
| IMUobs | Observed inertial measurement unit (IMU) data in one large column-major vector |
| Q | The generalized coordinates |
| Qdot | The generalized velocities |
| Qddot | The generalized accelerations |
Definition at line 91 of file KalmanReconsIMU.cpp.
|
virtual |
Proceed to one iteration of the Kalman filter.
| model | The joint model |
| IMUobs | Observed inertial measurement unit (IMU) data |
| Q | The generalized coordinates |
| Qdot | The generalized velocities |
| Qddot | The generalized accelerations |
Definition at line 73 of file KalmanReconsIMU.cpp.
1.8.18