IMU class
Derived Type class that implements an IMU state.
Contents
- Reference
Contains a PoseJPL, Vec velocity, Vec gyro bias, and Vec accel bias. This should be similar to that of the standard MSCKF state besides the ordering. The pose is first, followed by velocity, etc.
Base classes
- class Type
- Base class for estimated variables.
Public functions
- void set_local_id(int new_id) override
- Sets id used to track location of variable in the filter covariance.
- void update(const Eigen::VectorXd dx) override
- Performs update operation using JPLQuat update for orientation, then vector updates for position, velocity, gyro bias, and accel bias (in that order).
- void set_value(const Eigen::MatrixXd new_value) override
- Sets the value of the estimate.
- void set_fej(const Eigen::MatrixXd new_value) override
- Sets the value of the first estimate.
- auto clone() -> Type* override
- Create a clone of this variable.
- auto check_if_same_variable(const Type* check) -> Type* override
- Used to find the components inside the IMU if needed. If the passed variable is a sub-variable or the current variable this will return it. Otherwise it will return a nullptr, meaning that it was unable to be found.
- auto Rot() const -> Eigen::Matrix<double, 3, 3>
- Rotation access.
- auto Rot_fej() const -> Eigen::Matrix<double, 3, 3>
- FEJ Rotation access.
- auto quat() const -> Eigen::Matrix<double, 4, 1>
- Rotation access quaternion.
- auto quat_fej() const -> Eigen::Matrix<double, 4, 1>
- FEJ Rotation access quaternion.
- auto pos() const -> Eigen::Matrix<double, 3, 1>
- Position access.
- auto pos_fej() const -> Eigen::Matrix<double, 3, 1>
- FEJ position access.
- auto vel() const -> Eigen::Matrix<double, 3, 1>
- Velocity access.
- auto bias_g() const -> Eigen::Matrix<double, 3, 1>
- Gyro bias access.
- auto bias_g_fej() const -> Eigen::Matrix<double, 3, 1>
- FEJ gyro bias access.
- auto bias_a() const -> Eigen::Matrix<double, 3, 1>
- Accel bias access.
- auto pose() -> PoseJPL*
- Pose type access.
- auto q() -> JPLQuat*
- Quaternion type access.
- auto p() -> Vec*
- Position type access.
- auto v() -> Vec*
- Velocity type access.
- auto bg() -> Vec*
- Gyroscope bias access.
- auto ba() -> Vec*
- Acceleration bias access.
Protected variables
Function documentation
void ov_core:: IMU:: set_local_id(int new_id) override
Sets id used to track location of variable in the filter covariance.
| Parameters | |
|---|---|
| new_id | entry in filter covariance corresponding to this variable |
Note that we update the sub-variables also.
void ov_core:: IMU:: set_value(const Eigen::MatrixXd new_value) override
Sets the value of the estimate.
| Parameters | |
|---|---|
| new_value | New value we should set |
void ov_core:: IMU:: set_fej(const Eigen::MatrixXd new_value) override
Sets the value of the first estimate.
| Parameters | |
|---|---|
| new_value | New value we should set |
Type* ov_core:: IMU:: check_if_same_variable(const Type* check) override
Used to find the components inside the IMU if needed. If the passed variable is a sub-variable or the current variable this will return it. Otherwise it will return a nullptr, meaning that it was unable to be found.
| Parameters | |
|---|---|
| check | variable to find |