|
VOXL OpenVINS Server 1.0
Visual Inertial Odometry Server for VOXL Platform
|
Structure for handling IMU frame transformations. More...
#include <VoxlVars.h>

Public Types | |
| enum class | Axis { X , Y , Z } |
| enum class | Direction { POSITIVE , NEGATIVE } |
| enum class | JerkOption { ACCEL_ONLY , GYRO_ONLY , ACCEL_AND_GYRO , NONE } |
Public Member Functions | |
| void | update (const imu_data_t &data) |
| void | detectJerk (const imu_data_t &data) |
| void | resetJerkDetection () |
| Eigen::Vector3d | transform (const Eigen::Vector3d &v) const |
Public Attributes | |
| Axis | gravity_axis {Axis::Z} |
| Direction | gravity_direction {Direction::NEGATIVE} |
| bool | is_initialized {false} |
| Eigen::Matrix3d | correction_matrix {Eigen::Matrix3d::Identity()} |
| Eigen::Vector3d | avg_acc_1t0 {Eigen::Vector3d::Zero()} |
| Eigen::Vector3d | avg_gyro_1t0 {Eigen::Vector3d::Zero()} |
| Eigen::Vector3d | avg_acc_2t1 {Eigen::Vector3d::Zero()} |
| Eigen::Vector3d | avg_gyro_2t1 {Eigen::Vector3d::Zero()} |
| float | expected_total_samples {1024.0f} |
| float | current_total_samples {0.0f} |
| std::deque< Eigen::Vector3d > | acc1t0_samples |
| std::deque< Eigen::Vector3d > | gyro1t0_samples |
| std::deque< Eigen::Vector3d > | acc2t1_samples |
| std::deque< Eigen::Vector3d > | gyro2t1_samples |
| JerkOption | jerk_opt {JerkOption::ACCEL_ONLY} |
Structure for handling IMU frame transformations.
This structure handles the transformation of IMU data to accommodate different IMU mounting orientations. It automatically detects the gravity axis and direction to compute the appropriate correction matrix.
Definition at line 81 of file VoxlVars.h.
|
strong |
Definition at line 85 of file VoxlVars.h.
|
strong |
Definition at line 91 of file VoxlVars.h.
|
strong |
Definition at line 97 of file VoxlVars.h.
| void voxl::FrameTransform::detectJerk | ( | const imu_data_t & | data | ) |
Definition at line 284 of file VoxlVars.cpp.
| void voxl::FrameTransform::resetJerkDetection | ( | ) |
Definition at line 398 of file VoxlVars.cpp.
|
inline |
Definition at line 129 of file VoxlVars.h.
| void voxl::FrameTransform::update | ( | const imu_data_t & | data | ) |
Definition at line 239 of file VoxlVars.cpp.
| std::deque<Eigen::Vector3d> voxl::FrameTransform::acc1t0_samples |
Definition at line 117 of file VoxlVars.h.
| std::deque<Eigen::Vector3d> voxl::FrameTransform::acc2t1_samples |
Definition at line 119 of file VoxlVars.h.
| Eigen::Vector3d voxl::FrameTransform::avg_acc_1t0 {Eigen::Vector3d::Zero()} |
Definition at line 111 of file VoxlVars.h.
| Eigen::Vector3d voxl::FrameTransform::avg_acc_2t1 {Eigen::Vector3d::Zero()} |
Definition at line 113 of file VoxlVars.h.
| Eigen::Vector3d voxl::FrameTransform::avg_gyro_1t0 {Eigen::Vector3d::Zero()} |
Definition at line 112 of file VoxlVars.h.
| Eigen::Vector3d voxl::FrameTransform::avg_gyro_2t1 {Eigen::Vector3d::Zero()} |
Definition at line 114 of file VoxlVars.h.
| Eigen::Matrix3d voxl::FrameTransform::correction_matrix {Eigen::Matrix3d::Identity()} |
Definition at line 110 of file VoxlVars.h.
| float voxl::FrameTransform::current_total_samples {0.0f} |
Definition at line 116 of file VoxlVars.h.
| float voxl::FrameTransform::expected_total_samples {1024.0f} |
Definition at line 115 of file VoxlVars.h.
| Axis voxl::FrameTransform::gravity_axis {Axis::Z} |
Definition at line 106 of file VoxlVars.h.
| Direction voxl::FrameTransform::gravity_direction {Direction::NEGATIVE} |
Definition at line 107 of file VoxlVars.h.
| std::deque<Eigen::Vector3d> voxl::FrameTransform::gyro1t0_samples |
Definition at line 118 of file VoxlVars.h.
| std::deque<Eigen::Vector3d> voxl::FrameTransform::gyro2t1_samples |
Definition at line 120 of file VoxlVars.h.
| bool voxl::FrameTransform::is_initialized {false} |
Definition at line 108 of file VoxlVars.h.
| JerkOption voxl::FrameTransform::jerk_opt {JerkOption::ACCEL_ONLY} |
Definition at line 121 of file VoxlVars.h.