APM:Libraries
|
#include <SoloGimbalEKF.h>
Classes | |
struct | state_elements |
Public Types | |
typedef float | ftype |
typedef ftype | Vector2[2] |
typedef ftype | Vector3[3] |
typedef ftype | Vector5[5] |
typedef ftype | Vector6[6] |
typedef ftype | Vector8[8] |
typedef ftype | Vector9[9] |
typedef ftype | Vector10[10] |
typedef ftype | Vector11[11] |
typedef ftype | Vector13[13] |
typedef ftype | Vector14[14] |
typedef ftype | Vector15[15] |
typedef ftype | Vector22[22] |
typedef ftype | Vector31[31] |
typedef ftype | Vector34[34] |
typedef ftype | Matrix3[3][3] |
typedef ftype | Matrix22[22][22] |
typedef ftype | Matrix34_50[34][50] |
typedef uint32_t | Vector_u32_50[50] |
Public Member Functions | |
SoloGimbalEKF (const AP_AHRS_NavEKF &ahrs) | |
void | RunEKF (float delta_time, const Vector3f &delta_angles, const Vector3f &delta_velocity, const Vector3f &joint_angles) |
void | reset () |
void | getDebug (float &tilt, Vector3f &velocity, Vector3f &euler, Vector3f &gyroBias) const |
void | getGyroBias (Vector3f &gyroBias) const |
void | setGyroBias (const Vector3f &gyroBias) |
void | getQuat (Quaternion &quat) const |
bool | getStatus (void) const |
Static Public Attributes | |
static const struct AP_Param::GroupInfo | var_info [] |
Private Member Functions | |
void | predictStates () |
void | predictCovariance () |
void | fuseVelocity () |
void | readMagData () |
void | fuseCompass () |
void | alignHeading () |
float | calcMagHeadingInnov () |
void | fixCovariance () |
Private Attributes | |
const AP_AHRS_NavEKF & | _ahrs |
Vector13 | states |
struct SoloGimbalEKF::state_elements & | state |
struct { | |
Vector3f delAng | |
Vector3f delVel | |
float gPhi | |
float gPsi | |
float gTheta | |
} | gSense |
float | Cov [9][9] |
Matrix3f | Tsn |
float | TiltCorrection |
bool | newDataMag |
uint32_t | StartTime_ms |
bool | FiltInit |
bool | YawAligned |
float | cosPhi |
float | cosTheta |
float | sinPhi |
float | sinTheta |
float | sinPsi |
float | cosPsi |
uint32_t | lastMagUpdate |
Vector3f | magData |
uint32_t | imuSampleTime_ms |
float | dtIMU |
float | innovationIncrement |
float | lastInnovation |
Definition at line 33 of file SoloGimbalEKF.h.
typedef float SoloGimbalEKF::ftype |
Definition at line 36 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Matrix22[22][22] |
Definition at line 72 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Matrix3[3][3] |
Definition at line 71 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Matrix34_50[34][50] |
Definition at line 73 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Vector10[10] |
Definition at line 63 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Vector11[11] |
Definition at line 64 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Vector13[13] |
Definition at line 65 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Vector14[14] |
Definition at line 66 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Vector15[15] |
Definition at line 67 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Vector2[2] |
Definition at line 57 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Vector22[22] |
Definition at line 68 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Vector3[3] |
Definition at line 58 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Vector31[31] |
Definition at line 69 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Vector34[34] |
Definition at line 70 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Vector5[5] |
Definition at line 59 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Vector6[6] |
Definition at line 60 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Vector8[8] |
Definition at line 61 of file SoloGimbalEKF.h.
typedef ftype SoloGimbalEKF::Vector9[9] |
Definition at line 62 of file SoloGimbalEKF.h.
typedef uint32_t SoloGimbalEKF::Vector_u32_50[50] |
Definition at line 74 of file SoloGimbalEKF.h.
SoloGimbalEKF::SoloGimbalEKF | ( | const AP_AHRS_NavEKF & | ahrs | ) |
|
private |
Definition at line 832 of file SoloGimbalEKF.cpp.
Referenced by RunEKF().
|
private |
Definition at line 850 of file SoloGimbalEKF.cpp.
Referenced by alignHeading(), and fuseCompass().
|
private |
Definition at line 908 of file SoloGimbalEKF.cpp.
Referenced by fuseCompass(), and fuseVelocity().
|
private |
Definition at line 685 of file SoloGimbalEKF.cpp.
Referenced by RunEKF().
|
private |
Definition at line 596 of file SoloGimbalEKF.cpp.
Referenced by RunEKF().
void SoloGimbalEKF::getGyroBias | ( | Vector3f & | gyroBias | ) | const |
void SoloGimbalEKF::getQuat | ( | Quaternion & | quat | ) | const |
Definition at line 959 of file SoloGimbalEKF.cpp.
bool SoloGimbalEKF::getStatus | ( | void | ) | const |
|
private |
Definition at line 195 of file SoloGimbalEKF.cpp.
Referenced by RunEKF().
|
private |
Definition at line 157 of file SoloGimbalEKF.cpp.
Referenced by RunEKF().
|
private |
Definition at line 665 of file SoloGimbalEKF.cpp.
Referenced by RunEKF().
void SoloGimbalEKF::reset | ( | ) |
Definition at line 42 of file SoloGimbalEKF.cpp.
Referenced by SoloGimbalEKF().
void SoloGimbalEKF::setGyroBias | ( | const Vector3f & | gyroBias | ) |
Definition at line 949 of file SoloGimbalEKF.cpp.
|
private |
Definition at line 103 of file SoloGimbalEKF.h.
Referenced by calcMagHeadingInnov(), fuseVelocity(), readMagData(), and RunEKF().
|
private |
Definition at line 132 of file SoloGimbalEKF.h.
Referenced by calcMagHeadingInnov(), fuseCompass(), and RunEKF().
|
private |
Definition at line 137 of file SoloGimbalEKF.h.
Referenced by calcMagHeadingInnov(), fuseCompass(), and RunEKF().
|
private |
Definition at line 133 of file SoloGimbalEKF.h.
Referenced by calcMagHeadingInnov(), fuseCompass(), and RunEKF().
|
private |
Definition at line 125 of file SoloGimbalEKF.h.
Referenced by fixCovariance(), fuseCompass(), fuseVelocity(), predictCovariance(), reset(), and RunEKF().
Vector3f SoloGimbalEKF::delAng |
Definition at line 118 of file SoloGimbalEKF.h.
Vector3f SoloGimbalEKF::delVel |
Definition at line 119 of file SoloGimbalEKF.h.
|
private |
Definition at line 142 of file SoloGimbalEKF.h.
Referenced by getDebug(), getGyroBias(), predictCovariance(), predictStates(), reset(), RunEKF(), and setGyroBias().
|
private |
Definition at line 130 of file SoloGimbalEKF.h.
float SoloGimbalEKF::gPhi |
Definition at line 120 of file SoloGimbalEKF.h.
float SoloGimbalEKF::gPsi |
Definition at line 121 of file SoloGimbalEKF.h.
struct { ... } SoloGimbalEKF::gSense |
Referenced by predictCovariance(), predictStates(), reset(), and RunEKF().
float SoloGimbalEKF::gTheta |
Definition at line 122 of file SoloGimbalEKF.h.
|
private |
Definition at line 141 of file SoloGimbalEKF.h.
Referenced by RunEKF().
|
private |
Definition at line 145 of file SoloGimbalEKF.h.
Referenced by calcMagHeadingInnov(), and reset().
|
private |
Definition at line 146 of file SoloGimbalEKF.h.
Referenced by calcMagHeadingInnov(), and reset().
|
private |
Definition at line 138 of file SoloGimbalEKF.h.
Referenced by readMagData(), and reset().
|
private |
Definition at line 139 of file SoloGimbalEKF.h.
Referenced by calcMagHeadingInnov(), fuseCompass(), and readMagData().
|
private |
Definition at line 128 of file SoloGimbalEKF.h.
Referenced by readMagData(), and RunEKF().
|
private |
Definition at line 134 of file SoloGimbalEKF.h.
Referenced by calcMagHeadingInnov(), fuseCompass(), and RunEKF().
|
private |
Definition at line 136 of file SoloGimbalEKF.h.
Referenced by calcMagHeadingInnov(), fuseCompass(), and RunEKF().
|
private |
Definition at line 135 of file SoloGimbalEKF.h.
Referenced by calcMagHeadingInnov(), fuseCompass(), and RunEKF().
|
private |
Definition at line 129 of file SoloGimbalEKF.h.
Referenced by getStatus(), reset(), and RunEKF().
|
private |
Referenced by alignHeading(), fuseCompass(), fuseVelocity(), getDebug(), getGyroBias(), getQuat(), predictCovariance(), predictStates(), RunEKF(), and setGyroBias().
|
private |
Definition at line 108 of file SoloGimbalEKF.h.
Referenced by fuseCompass(), fuseVelocity(), and reset().
|
private |
Definition at line 127 of file SoloGimbalEKF.h.
Referenced by fuseVelocity(), getDebug(), reset(), and RunEKF().
|
private |
Definition at line 126 of file SoloGimbalEKF.h.
Referenced by alignHeading(), calcMagHeadingInnov(), and predictStates().
|
static |
Definition at line 100 of file SoloGimbalEKF.h.
Referenced by SoloGimbalEKF().
|
private |
Definition at line 131 of file SoloGimbalEKF.h.
Referenced by fuseVelocity(), getStatus(), predictCovariance(), and RunEKF().