My Project 1.0
Holistic Fusion: A Generic Framework for Multimodal Sensor Fusion
Loading...
Searching...
No Matches
holistic_fusion::ImuBuffer Class Reference

#include <ImuBuffer.hpp>

Public Member Functions

 ImuBuffer (const std::shared_ptr< GraphConfig > graphConfigPtr)
 ~ImuBuffer ()=default
Eigen::Matrix< double, 6, 1 > addToImuBuffer (double ts, const Eigen::Vector3d &linearAcc, const Eigen::Vector3d &angularVel)
void addToKeyBuffer (double ts, gtsam::Key key)
double getImuRate () const
double getLatestTimestampInBuffer ()
bool getImuMeasurementAtTime (holistic_fusion::ImuMeasurement &returnedImuMeasurement, const double ts)
void getLastTwoMeasurements (TimeToImuMap &imuMap)
bool getClosestKeyAndTimestamp (double &tInGraph, gtsam::Key &key, const std::string &callingName, const double maxSearchDeviation, const double tLidar)
bool estimateAttitudeFromImu (gtsam::Rot3 &initAttitude, double &gravityMagnitude, Eigen::Vector3d &gyrBias)
 Determine initial IMU pose w.r.t to gravity vector pointing up.
bool getIMUBufferIteratorsInInterval (const double tsStart, const double tsEnd, TimeToImuMap::iterator &startIterator, TimeToImuMap::iterator &endIterator)
bool getClosestImuMeasurement (double &returnedImuTimestamp, ImuMeasurement &returnedImuMeasurement, const double maxSearchDeviation, const double tK)
gtsam::NavState integrateNavStateFromTimestamp (const double &tsStart, const double &tsEnd, const gtsam::NavState &stateStart, const gtsam::imuBias::ConstantBias &imuBias, const Eigen::Vector3d &W_gravityVector)

Private Attributes

TimeToImuMap timeToImuBuffer_
double imuRate_ = 100
int imuBufferLength_ = -1
double imuPoseInitWaitSecs_ = 1.0
int verboseLevel_ = 0
double tLatestInBuffer_ = 0.0
std::mutex writeInBufferMutex_
bool useImuSignalLowPassFilter_
std::unique_ptr< ImuSignalLowPassFilter > imuSignalLowPassFilterPtr_

Detailed Description

Definition at line 38 of file ImuBuffer.hpp.

Constructor & Destructor Documentation

◆ ImuBuffer()

holistic_fusion::ImuBuffer::ImuBuffer ( const std::shared_ptr< GraphConfig > graphConfigPtr)

Definition at line 23 of file ImuBuffer.cpp.

◆ ~ImuBuffer()

holistic_fusion::ImuBuffer::~ImuBuffer ( )
default

Member Function Documentation

◆ addToImuBuffer()

Eigen::Matrix< double, 6, 1 > holistic_fusion::ImuBuffer::addToImuBuffer ( double ts,
const Eigen::Vector3d & linearAcc,
const Eigen::Vector3d & angularVel )

Definition at line 40 of file ImuBuffer.cpp.

◆ addToKeyBuffer()

void holistic_fusion::ImuBuffer::addToKeyBuffer ( double ts,
gtsam::Key key )

◆ estimateAttitudeFromImu()

bool holistic_fusion::ImuBuffer::estimateAttitudeFromImu ( gtsam::Rot3 & initAttitude,
double & gravityMagnitude,
Eigen::Vector3d & gyrBias )

Determine initial IMU pose w.r.t to gravity vector pointing up.

Definition at line 114 of file ImuBuffer.cpp.

◆ getClosestImuMeasurement()

bool holistic_fusion::ImuBuffer::getClosestImuMeasurement ( double & returnedImuTimestamp,
ImuMeasurement & returnedImuMeasurement,
const double maxSearchDeviation,
const double tK )

Definition at line 212 of file ImuBuffer.cpp.

◆ getClosestKeyAndTimestamp()

bool holistic_fusion::ImuBuffer::getClosestKeyAndTimestamp ( double & tInGraph,
gtsam::Key & key,
const std::string & callingName,
const double maxSearchDeviation,
const double tLidar )

◆ getIMUBufferIteratorsInInterval()

bool holistic_fusion::ImuBuffer::getIMUBufferIteratorsInInterval ( const double tsStart,
const double tsEnd,
TimeToImuMap::iterator & startIterator,
TimeToImuMap::iterator & endIterator )

Definition at line 158 of file ImuBuffer.cpp.

◆ getImuMeasurementAtTime()

bool holistic_fusion::ImuBuffer::getImuMeasurementAtTime ( holistic_fusion::ImuMeasurement & returnedImuMeasurement,
const double ts )

Definition at line 92 of file ImuBuffer.cpp.

◆ getImuRate()

double holistic_fusion::ImuBuffer::getImuRate ( ) const
inline

Definition at line 51 of file ImuBuffer.hpp.

◆ getLastTwoMeasurements()

void holistic_fusion::ImuBuffer::getLastTwoMeasurements ( TimeToImuMap & imuMap)

Definition at line 105 of file ImuBuffer.cpp.

◆ getLatestTimestampInBuffer()

double holistic_fusion::ImuBuffer::getLatestTimestampInBuffer ( )

Definition at line 86 of file ImuBuffer.cpp.

◆ integrateNavStateFromTimestamp()

gtsam::NavState holistic_fusion::ImuBuffer::integrateNavStateFromTimestamp ( const double & tsStart,
const double & tsEnd,
const gtsam::NavState & stateStart,
const gtsam::imuBias::ConstantBias & imuBias,
const Eigen::Vector3d & W_gravityVector )

Definition at line 251 of file ImuBuffer.cpp.

Member Data Documentation

◆ imuBufferLength_

int holistic_fusion::ImuBuffer::imuBufferLength_ = -1
private

Definition at line 78 of file ImuBuffer.hpp.

◆ imuPoseInitWaitSecs_

double holistic_fusion::ImuBuffer::imuPoseInitWaitSecs_ = 1.0
private

Definition at line 79 of file ImuBuffer.hpp.

◆ imuRate_

double holistic_fusion::ImuBuffer::imuRate_ = 100
private

Definition at line 77 of file ImuBuffer.hpp.

◆ imuSignalLowPassFilterPtr_

std::unique_ptr<ImuSignalLowPassFilter> holistic_fusion::ImuBuffer::imuSignalLowPassFilterPtr_
private

Definition at line 86 of file ImuBuffer.hpp.

◆ timeToImuBuffer_

TimeToImuMap holistic_fusion::ImuBuffer::timeToImuBuffer_
private

Definition at line 76 of file ImuBuffer.hpp.

◆ tLatestInBuffer_

double holistic_fusion::ImuBuffer::tLatestInBuffer_ = 0.0
private

Definition at line 81 of file ImuBuffer.hpp.

◆ useImuSignalLowPassFilter_

bool holistic_fusion::ImuBuffer::useImuSignalLowPassFilter_
private

Definition at line 83 of file ImuBuffer.hpp.

◆ verboseLevel_

int holistic_fusion::ImuBuffer::verboseLevel_ = 0
private

Definition at line 80 of file ImuBuffer.hpp.

◆ writeInBufferMutex_

std::mutex holistic_fusion::ImuBuffer::writeInBufferMutex_
private

Definition at line 82 of file ImuBuffer.hpp.


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