My Project 1.0
Holistic Fusion: A Generic Framework for Multimodal Sensor Fusion
Loading...
Searching...
No Matches
holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR > Class Template Referenceabstract

#include <GmsfUnaryExpression.h>

Public Types

using template_type = GTSAM_MEASUREMENT_TYPE

Public Member Functions

 GmsfUnaryExpression (const std::shared_ptr< UnaryMeasurement > &gmsfBaseUnaryMeasurementPtr, const std::string &imuFrameName, const Eigen::Isometry3d &T_I_sensorFrame)
 ~GmsfUnaryExpression ()=default
gtsam::Expression< GTSAM_MEASUREMENT_TYPE > createAndReturnExpression (const gtsam::Key &closestGeneralKey, DynamicDictionaryContainer &gtsamDynamicExpressionKeys, const gtsam::NavState &W_imuPropagatedState, const bool optimizeReferenceFramePosesWrtWorldFlag, const bool centerMeasurementsAtKeyframePositionBeforeAlignmentFlag, const bool optimizeExtrinsicSensorToSensorCorrectedOffsetFlag)
virtual const gtsam::Vector getNoiseDensity () const =0
virtual const GTSAM_MEASUREMENT_TYPE getGtsamMeasurementValue () const =0
virtual const std::shared_ptr< UnaryMeasurement > & getGmsfBaseUnaryMeasurementPtr ()
double getTimestamp () const
const gtsam::Values & getNewOnlineGraphStateValues () const
const gtsam::Values & getNewOfflineGraphStateValues () const
const std::vector< gtsam::PriorFactor< gtsam::Pose3 > > & getNewOnlinePosePriorFactors () const
const std::vector< gtsam::PriorFactor< GTSAM_MEASUREMENT_TYPE > > & getNewOnlineDynamicPriorFactors () const
const std::vector< gtsam::BetweenFactor< gtsam::Pose3 > > & getNewOnlineAndOfflinePoseBetweenFactors () const
const Eigen::Isometry3d & getT_I_sensorFrameInit () const

Protected Member Functions

virtual void generateImuStateInWorldFrameAtKey (const gtsam::Key &closestGeneralKey)=0
virtual void transformImuStateFromWorldToReferenceFrame (DynamicDictionaryContainer &gtsamDynamicExpressionKeys, const gtsam::NavState &W_currentPropagatedState, const bool centerMeasurementsAtKeyframePositionBeforeAlignmentFlag)=0
virtual void transformLandmarkInWorldToImuFrame (DynamicDictionaryContainer &gtsamDynamicExpressionKeys, const gtsam::NavState &W_currentPropagatedState)=0
virtual void transformImuStateToSensorFrameState ()=0
virtual void transformSensorFrameStateToSensorFrameCorrectedState (DynamicDictionaryContainer &gtsamDynamicExpressionKeys)
virtual void applyExtrinsicCalibrationCorrection (const gtsam::Expression< GTSAM_MEASUREMENT_TYPE > &exp_C_sensorFrame_sensorFrameCorrected)=0
virtual gtsam::Pose3 convertToPose3 (const GTSAM_MEASUREMENT_TYPE &measurement)=0
virtual GTSAM_MEASUREMENT_TYPE convertFromPose3 (const gtsam::Pose3 &pose)=0
virtual const gtsam::Expression< GTSAM_MEASUREMENT_TYPE > getGtsamExpression () const =0

Protected Attributes

const std::shared_ptr< UnaryMeasurement > gmsfBaseUnaryMeasurementPtr_
const std::string imuFrame_
Eigen::Isometry3d T_I_sensorFrameInit_
gtsam::Values newOnlineStateValues_
gtsam::Values newOfflineStateValues_
std::vector< gtsam::PriorFactor< gtsam::Pose3 > > newOnlinePosePriorFactors_
std::vector< gtsam::PriorFactor< GTSAM_MEASUREMENT_TYPE > > newOnlineDynamicPriorFactors_
std::vector< gtsam::BetweenFactor< gtsam::Pose3 > > newOnlineAndOfflinePoseBetweenFactors_

Detailed Description

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
class holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >

base class for unary expressions. Unary expressions are used to represent unary factors in the factor graph. It optionally supports the HolisticGraph paradigm to align different measurements. It optionally supports extrinsic calibration of the sensor.

Template Parameters
GTSAM_MEASUREMENT_TYPEType of the measurement (e.g. gtsam::Pose3).
TYPEType of the unary expression (e.g. UnaryExpressionType::Absolute).
CALIBRATION_CHARCharacter representing the calibration type (e.g. 'c').

Definition at line 51 of file GmsfUnaryExpression.h.

Member Typedef Documentation

◆ template_type

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
using holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::template_type = GTSAM_MEASUREMENT_TYPE

Definition at line 54 of file GmsfUnaryExpression.h.

Constructor & Destructor Documentation

◆ GmsfUnaryExpression()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::GmsfUnaryExpression ( const std::shared_ptr< UnaryMeasurement > & gmsfBaseUnaryMeasurementPtr,
const std::string & imuFrameName,
const Eigen::Isometry3d & T_I_sensorFrame )
inline

Definition at line 57 of file GmsfUnaryExpression.h.

◆ ~GmsfUnaryExpression()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::~GmsfUnaryExpression ( )
default

Member Function Documentation

◆ applyExtrinsicCalibrationCorrection()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
virtual void holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::applyExtrinsicCalibrationCorrection ( const gtsam::Expression< GTSAM_MEASUREMENT_TYPE > & exp_C_sensorFrame_sensorFrameCorrected)
protectedpure virtual

◆ convertFromPose3()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
virtual GTSAM_MEASUREMENT_TYPE holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::convertFromPose3 ( const gtsam::Pose3 & pose)
protectedpure virtual

◆ convertToPose3()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
virtual gtsam::Pose3 holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::convertToPose3 ( const GTSAM_MEASUREMENT_TYPE & measurement)
protectedpure virtual

◆ createAndReturnExpression()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
gtsam::Expression< GTSAM_MEASUREMENT_TYPE > holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::createAndReturnExpression ( const gtsam::Key & closestGeneralKey,
DynamicDictionaryContainer & gtsamDynamicExpressionKeys,
const gtsam::NavState & W_imuPropagatedState,
const bool optimizeReferenceFramePosesWrtWorldFlag,
const bool centerMeasurementsAtKeyframePositionBeforeAlignmentFlag,
const bool optimizeExtrinsicSensorToSensorCorrectedOffsetFlag )
inline

Definition at line 65 of file GmsfUnaryExpression.h.

◆ generateImuStateInWorldFrameAtKey()

◆ getGmsfBaseUnaryMeasurementPtr()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
virtual const std::shared_ptr< UnaryMeasurement > & holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::getGmsfBaseUnaryMeasurementPtr ( )
inlinevirtual

Definition at line 110 of file GmsfUnaryExpression.h.

◆ getGtsamExpression()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
virtual const gtsam::Expression< GTSAM_MEASUREMENT_TYPE > holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::getGtsamExpression ( ) const
protectedpure virtual

◆ getGtsamMeasurementValue()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
virtual const GTSAM_MEASUREMENT_TYPE holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::getGtsamMeasurementValue ( ) const
pure virtual

◆ getNewOfflineGraphStateValues()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
const gtsam::Values & holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::getNewOfflineGraphStateValues ( ) const
inlinenodiscard

Definition at line 118 of file GmsfUnaryExpression.h.

◆ getNewOnlineAndOfflinePoseBetweenFactors()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
const std::vector< gtsam::BetweenFactor< gtsam::Pose3 > > & holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::getNewOnlineAndOfflinePoseBetweenFactors ( ) const
inline

Definition at line 128 of file GmsfUnaryExpression.h.

◆ getNewOnlineDynamicPriorFactors()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
const std::vector< gtsam::PriorFactor< GTSAM_MEASUREMENT_TYPE > > & holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::getNewOnlineDynamicPriorFactors ( ) const
inline

Definition at line 123 of file GmsfUnaryExpression.h.

◆ getNewOnlineGraphStateValues()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
const gtsam::Values & holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::getNewOnlineGraphStateValues ( ) const
inlinenodiscard

Definition at line 116 of file GmsfUnaryExpression.h.

◆ getNewOnlinePosePriorFactors()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
const std::vector< gtsam::PriorFactor< gtsam::Pose3 > > & holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::getNewOnlinePosePriorFactors ( ) const
inline

Definition at line 121 of file GmsfUnaryExpression.h.

◆ getNoiseDensity()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
virtual const gtsam::Vector holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::getNoiseDensity ( ) const
pure virtual

◆ getT_I_sensorFrameInit()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
const Eigen::Isometry3d & holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::getT_I_sensorFrameInit ( ) const
inlinenodiscard

Definition at line 133 of file GmsfUnaryExpression.h.

◆ getTimestamp()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
double holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::getTimestamp ( ) const
inlinenodiscard

Definition at line 113 of file GmsfUnaryExpression.h.

◆ transformImuStateFromWorldToReferenceFrame()

◆ transformImuStateToSensorFrameState()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
virtual void holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::transformImuStateToSensorFrameState ( )
protectedpure virtual

◆ transformLandmarkInWorldToImuFrame()

◆ transformSensorFrameStateToSensorFrameCorrectedState()

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
virtual void holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::transformSensorFrameStateToSensorFrameCorrectedState ( DynamicDictionaryContainer & gtsamDynamicExpressionKeys)
inlineprotectedvirtual

Reimplemented in holistic_fusion::GmsfUnaryExpressionAbsoluteHeading.

Definition at line 154 of file GmsfUnaryExpression.h.

Member Data Documentation

◆ gmsfBaseUnaryMeasurementPtr_

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
const std::shared_ptr<UnaryMeasurement> holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::gmsfBaseUnaryMeasurementPtr_
protected

Definition at line 237 of file GmsfUnaryExpression.h.

◆ imuFrame_

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
const std::string holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::imuFrame_
protected

Definition at line 240 of file GmsfUnaryExpression.h.

◆ newOfflineStateValues_

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
gtsam::Values holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::newOfflineStateValues_
protected

Definition at line 248 of file GmsfUnaryExpression.h.

◆ newOnlineAndOfflinePoseBetweenFactors_

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
std::vector<gtsam::BetweenFactor<gtsam::Pose3> > holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::newOnlineAndOfflinePoseBetweenFactors_
protected

Definition at line 254 of file GmsfUnaryExpression.h.

◆ newOnlineDynamicPriorFactors_

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
std::vector<gtsam::PriorFactor<GTSAM_MEASUREMENT_TYPE> > holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::newOnlineDynamicPriorFactors_
protected

Definition at line 252 of file GmsfUnaryExpression.h.

◆ newOnlinePosePriorFactors_

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
std::vector<gtsam::PriorFactor<gtsam::Pose3> > holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::newOnlinePosePriorFactors_
protected

Definition at line 250 of file GmsfUnaryExpression.h.

◆ newOnlineStateValues_

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
gtsam::Values holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::newOnlineStateValues_
protected

Definition at line 247 of file GmsfUnaryExpression.h.

◆ T_I_sensorFrameInit_

template<class GTSAM_MEASUREMENT_TYPE, UnaryExpressionType TYPE, char CALIBRATION_CHAR>
Eigen::Isometry3d holistic_fusion::GmsfUnaryExpression< GTSAM_MEASUREMENT_TYPE, TYPE, CALIBRATION_CHAR >::T_I_sensorFrameInit_
protected

Definition at line 243 of file GmsfUnaryExpression.h.


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