VOXL OpenVINS Server 1.0
Visual Inertial Odometry Server for VOXL Platform
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
voxl::FrameTransform Struct Reference

Structure for handling IMU frame transformations. More...

#include <VoxlVars.h>

Collaboration diagram for voxl::FrameTransform:
Collaboration graph
[legend]

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}
 

Detailed Description

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.

Member Enumeration Documentation

◆ Axis

enum class voxl::FrameTransform::Axis
strong

Definition at line 85 of file VoxlVars.h.

◆ Direction

enum class voxl::FrameTransform::Direction
strong

Definition at line 91 of file VoxlVars.h.

◆ JerkOption

enum class voxl::FrameTransform::JerkOption
strong

Definition at line 97 of file VoxlVars.h.

Member Function Documentation

◆ detectJerk()

void voxl::FrameTransform::detectJerk ( const imu_data_t &  data)

Definition at line 284 of file VoxlVars.cpp.

◆ resetJerkDetection()

void voxl::FrameTransform::resetJerkDetection ( )

Definition at line 398 of file VoxlVars.cpp.

◆ transform()

Eigen::Vector3d voxl::FrameTransform::transform ( const Eigen::Vector3d &  v) const
inline

Definition at line 129 of file VoxlVars.h.

◆ update()

void voxl::FrameTransform::update ( const imu_data_t &  data)

Definition at line 239 of file VoxlVars.cpp.

Member Data Documentation

◆ acc1t0_samples

std::deque<Eigen::Vector3d> voxl::FrameTransform::acc1t0_samples

Definition at line 117 of file VoxlVars.h.

◆ acc2t1_samples

std::deque<Eigen::Vector3d> voxl::FrameTransform::acc2t1_samples

Definition at line 119 of file VoxlVars.h.

◆ avg_acc_1t0

Eigen::Vector3d voxl::FrameTransform::avg_acc_1t0 {Eigen::Vector3d::Zero()}

Definition at line 111 of file VoxlVars.h.

◆ avg_acc_2t1

Eigen::Vector3d voxl::FrameTransform::avg_acc_2t1 {Eigen::Vector3d::Zero()}

Definition at line 113 of file VoxlVars.h.

◆ avg_gyro_1t0

Eigen::Vector3d voxl::FrameTransform::avg_gyro_1t0 {Eigen::Vector3d::Zero()}

Definition at line 112 of file VoxlVars.h.

◆ avg_gyro_2t1

Eigen::Vector3d voxl::FrameTransform::avg_gyro_2t1 {Eigen::Vector3d::Zero()}

Definition at line 114 of file VoxlVars.h.

◆ correction_matrix

Eigen::Matrix3d voxl::FrameTransform::correction_matrix {Eigen::Matrix3d::Identity()}

Definition at line 110 of file VoxlVars.h.

◆ current_total_samples

float voxl::FrameTransform::current_total_samples {0.0f}

Definition at line 116 of file VoxlVars.h.

◆ expected_total_samples

float voxl::FrameTransform::expected_total_samples {1024.0f}

Definition at line 115 of file VoxlVars.h.

◆ gravity_axis

Axis voxl::FrameTransform::gravity_axis {Axis::Z}

Definition at line 106 of file VoxlVars.h.

◆ gravity_direction

Direction voxl::FrameTransform::gravity_direction {Direction::NEGATIVE}

Definition at line 107 of file VoxlVars.h.

◆ gyro1t0_samples

std::deque<Eigen::Vector3d> voxl::FrameTransform::gyro1t0_samples

Definition at line 118 of file VoxlVars.h.

◆ gyro2t1_samples

std::deque<Eigen::Vector3d> voxl::FrameTransform::gyro2t1_samples

Definition at line 120 of file VoxlVars.h.

◆ is_initialized

bool voxl::FrameTransform::is_initialized {false}

Definition at line 108 of file VoxlVars.h.

◆ jerk_opt

JerkOption voxl::FrameTransform::jerk_opt {JerkOption::ACCEL_ONLY}

Definition at line 121 of file VoxlVars.h.


The documentation for this struct was generated from the following files: