ImFusion C++ SDK 4.4.0
ImFusion::Mahony Class Reference

#include <ImFusion/Base/IMUPoseIntegration.h>

Mahony sensor fusion. More...

Inheritance diagram for ImFusion::Mahony:

Detailed Description

Mahony sensor fusion.

Based on https://github.com/PaulStoffregen/MahonyAHRS. Converges slightly faster than Madgwick, but supposed to be less accurate. See https://en.wikipedia.org/wiki/PID_controller for the configuration constants

Public Member Functions

void reset () override
 Restores the initial state.
Eigen::Quaterniond orientationQuaternion () const override
 Returns the orientation of the most recent state.
vec3 position () const override
 Returns the position in world coords.
void update (const vec3 &angularVelocityDegPerSec, const vec3 &linAcc, const vec3 &mag, double timestampSeconds) override
 Propagates the physical state using a new measurement.
void update (double gx, double gy, double gz, double ax, double ay, double az, double mx, double my, double mz, double timestamp)
 Propagates the physical state using a new measurement.
void updateIMU (double gx, double gy, double gz, double ax, double ay, double az, double timestamp)
 Propagates the physical state using a new measurement without magnetic information.

Member Function Documentation

◆ reset()

void ImFusion::Mahony::reset ( )
overridevirtual

Restores the initial state.

Implements ImFusion::LiveSensorFusion.

◆ orientationQuaternion()

Eigen::Quaterniond ImFusion::Mahony::orientationQuaternion ( ) const
overridevirtual

Returns the orientation of the most recent state.

Implements ImFusion::LiveSensorFusion.

◆ position()

vec3 ImFusion::Mahony::position ( ) const
overridevirtual

Returns the position in world coords.

Implements ImFusion::LiveSensorFusion.

◆ update()

void ImFusion::Mahony::update ( const vec3 & angularVelocityDegPerSec,
const vec3 & linAcc,
const vec3 & mag,
double timestampSeconds )
overridevirtual

Propagates the physical state using a new measurement.

Implements ImFusion::LiveSensorFusion.


The documentation for this class was generated from the following file:
  • ImFusion/Base/IMUPoseIntegration.h
Search Tab / S to search, Esc to close