![]() |
Limb Range Analyzer
Cross-platform application for human limb range analysis.
|
This structure provides data management helper for SensorModule, as well as sensor fusion filtering algorithm. More...
#include <sensorcomponent.hpp>
Public Member Functions | |
| SensorComponent () | |
| Default constructor of struct SensorComponent. More... | |
| ~SensorComponent () | |
| Default destructor. More... | |
| void | SensorComponent_SetComponent (const SensorComponent &component) |
| Setter function that serves as an object copy constructor. More... | |
| void | SensorComponent_FilterSensorValues (qreal accX, qreal accY, qreal accZ, qreal gyroX, qreal gyroY, qreal gyroZ) |
| Sensor fusion struct member function. More... | |
Public Attributes | |
| qint32 | mAccelerometerX |
| qint32 value, this member is used for accelerometer X axis value storage. | |
| qint32 | mAccelerometerY |
| qint32 value, this member is used for accelerometer Y axis value storage. | |
| qint32 | mAccelerometerZ |
| qint32 value, this member is used for accelerometer Z axis value storage. | |
| qint32 | mGyroscopeX |
| qint32 value, this member is used for gyroscope X axis value storage. | |
| qint32 | mGyroscopeY |
| qint32 value, this member is used for gyroscope Y axis value storage. | |
| qint32 | mGyroscopeZ |
| qint32 value, this member is used for gyroscope Z axis value storage. | |
| qint16 | mRoll |
| qint16 member that holds current ROLL value. | |
| qint16 | mRollPrevOne |
| qint16 member that holds first previous ROLL value. More... | |
| qint16 | mRollPrevTwo |
| qint16 member that holds second previous ROLL value. More... | |
| qint16 | mRollMin |
| qint16 member that holds measured MINIMUM of ROLL value. | |
| qint16 | mRollMax |
| qint16 member that holds measured MAXIMUM of ROLL value. | |
| qint16 | mPitch |
| qint16 member that holds current PITCH value. | |
| qint16 | mPitchPrevOne |
| qint16 member that holds first previous PITCH value. More... | |
| qint16 | mPitchPrevTwo |
| qint16 member that holds second previous PITCH value. More... | |
| qint16 | mPitchMin |
| qint16 member that holds measured MINIMUM of PITCH value. | |
| qint16 | mPitchMax |
| qint16 member that holds measured MAXIMUM of PITCH value. | |
| qint16 | mYaw |
| qint16 member that holds current YAW value. | |
| qint16 | mMin |
| qint16 that keeps the currently reported MINIMUM value. | |
| qint16 | mMax |
| qint16 that keeps the currently reported MAXIMUM value. | |
| qint16 | mRange |
| qint16 that keeps the currently reported RANGE value. | |
| qint16 | mCurrentAngle |
| qint16 that keeps the currently reported ANGLE value. | |
| qreal | mFilterQ0 |
| qreal value that depicts first quaternion filter value (real number). | |
| qreal | mFilterQ1 |
| qreal value that depicts second quaternion filter value (real number). | |
| qreal | mFilterQ2 |
| qreal value that depicts third quaternion filter value (real number). | |
| qreal | mFilterQ3 |
| qreal value that depicts fourth quaternion filter value (real number). | |
| bool | mStartUpsideDown |
bool that in case of TRUE state means that a BlueCoin device starts measurement while upside down, FALSE otherwise. | |
| AxisSelection | mAxisSelected |
| AxisSelection enumeration member value that helps to recognise vertically processed measurement (by estimating its axis). More... | |
| ProcessingSelection | mProcessingSelected |
| ProcessingSelection enum member variable that specifies whether vertical or horizontal measurement is processed. More... | |
This structure provides data management helper for SensorModule, as well as sensor fusion filtering algorithm.
SensorComponent handles needed member variables that are bound to sensor fusion algorithm used for filtering. That way, device rotation angles and exercise ranges are kept. These results are then, through SensorModule, provided for visualization and numerical output for user to see.
| SensorComponent::SensorComponent | ( | ) |
Default constructor of struct SensorComponent.
Through this function, member variables are initially set.
| SensorComponent::~SensorComponent | ( | ) |
Default destructor.
Destructor function for struct SensorComponent.
| void SensorComponent::SensorComponent_FilterSensorValues | ( | qreal | accX, |
| qreal | accY, | ||
| qreal | accZ, | ||
| qreal | gyroX, | ||
| qreal | gyroY, | ||
| qreal | gyroZ | ||
| ) |
Sensor fusion struct member function.
This function updates member variables depicting quaternions and output filter values that are used for drift-reduced sensing possibility for human limb range analysis. The algorithm principle is based on Madgwick's filter, which is in turn based on Kalman filtering properties.
| accX | - modified accelerometer X real number input parameter |
| accY | - modified accelerometer Y real number input parameter |
| accZ | - modified accelerometer Z real number input parameter |
| gyroX | - modified gyroscope X real number input parameter |
| gyroY | - modified gyroscope Y real number input parameter |
| gyroZ | - modified gyroscope Z real number input parameter |
| void SensorComponent::SensorComponent_SetComponent | ( | const SensorComponent & | component | ) |
Setter function that serves as an object copy constructor.
With the usage of this member function, member variables are set through a copy of a struct object.
| component | - struct instance used for member values copying |
| AxisSelection SensorComponent::mAxisSelected |
AxisSelection enumeration member value that helps to recognise vertically processed measurement (by estimating its axis).
| qint16 SensorComponent::mPitchPrevOne |
qint16 member that holds first previous PITCH value.
Member is used for PITCH precision enhancement.
| qint16 SensorComponent::mPitchPrevTwo |
qint16 member that holds second previous PITCH value.
Member is used for PITCH precision enhancement.
| ProcessingSelection SensorComponent::mProcessingSelected |
ProcessingSelection enum member variable that specifies whether vertical or horizontal measurement is processed.
| qint16 SensorComponent::mRollPrevOne |
qint16 member that holds first previous ROLL value.
Member is used for ROLL precision enhancement.
| qint16 SensorComponent::mRollPrevTwo |
qint16 member that holds second previous ROLL value.
Member is used for ROLL precision enhancement.