![]() |
AMS Advanced Air Mobility Sensors UG
|
Classes | |
class | CGeoConstants |
class | CMathConstants |
Functions | |
float | HeightFromPressure (float fPressurePascals) |
Compute height above mean sea level from pressure. Valid input range [22700.0 127780.0]. The range corresponds to height from approximately -2000m to 11000m. | |
float | PartialDerivativeHeightWrtPressure (float fPressurePascals) |
Compute a partial derivative of height above mean sea level with respect to pressure. Valid input range [22700.0 127780.0]. The range corresponds to height from approximately -2000m to 11000m. | |
void | EulerFromSpecificForce (const Eigen::Vector3f &korSpecificForce, float &frRoll, float &frPitch) |
Compute Euler angles (roll and pitch) from specific force measurements. The function does not check for static conditions. Aerospace sequence of Euler angles is assumed. | |
void | EulerFromQuaternion (const CQuaternion &korQuaternion, float &frRoll, float &frPitch, float &frYaw) |
Convert a quaternion to Euler angles. Quaternion's norm shall be 1, otherwise usage of this function does not make sense. The function does not vefify the input, it shall be done by a caller. | |
float | HeadingFromMagnetometer (const Eigen::Vector3f &korMagneticFieldVectorInGauss, float fRoll, float fPitch) |
Compute magnetic heading given known attitude and a magnetometer measurement. | |
CQuaternion | QuaternionFromEuler (float fRoll, float fPitch, float fYaw) |
Convert Euler angles to a quaternion. | |
Eigen::Matrix3f | DcmFromQuaternion (const CQuaternion &korQuaternion) |
Convert a quaternion to a rotation matrix. | |
template<typename tUnsignedType > | |
int32_t | DiffOfUnsigned (tUnsignedType uTimestamp1, tUnsignedType uTimestamp2) |
Computes a signed difference of two unsigned numbers. The function asserts if the diff is greater than the max value of the return type. | |
Eigen::Matrix3f NNavigationUtilities::DcmFromQuaternion | ( | const CQuaternion & | korQuaternion | ) |
Convert a quaternion to a rotation matrix.
korQuaternion | Input quaternion. |
|
inline |
Computes a signed difference of two unsigned numbers. The function asserts if the diff is greater than the max value of the return type.
tUnsignedType | Unsigned type |
[in] | uTimestamp1 | |
[in] | uTimestamp2 |
void NNavigationUtilities::EulerFromQuaternion | ( | const CQuaternion & | korQuaternion, |
float & | frRoll, | ||
float & | frPitch, | ||
float & | frYaw | ||
) |
Convert a quaternion to Euler angles. Quaternion's norm shall be 1, otherwise usage of this function does not make sense. The function does not vefify the input, it shall be done by a caller.
korQuaternion | A quaternion to be converted. |
frRoll | Output roll angle, [rad], from -pi to pi |
frPitch | Output pitch angle, [rad], from -pi/2 to pi/2 |
frYaw | Output yaw angle, [rad], from -pi to pi |
void NNavigationUtilities::EulerFromSpecificForce | ( | const Eigen::Vector3f & | korSpecificForce, |
float & | frRoll, | ||
float & | frPitch | ||
) |
Compute Euler angles (roll and pitch) from specific force measurements. The function does not check for static conditions. Aerospace sequence of Euler angles is assumed.
korSpecificForce | The specific force measurement. |
frRoll | Output roll angle. |
frPitch | Output pitch angle. |
float NNavigationUtilities::HeadingFromMagnetometer | ( | const Eigen::Vector3f & | korMagneticFieldVectorInGauss, |
float | fRoll, | ||
float | fPitch | ||
) |
Compute magnetic heading given known attitude and a magnetometer measurement.
Roll must be between +-pi, pitch must be between +-pi/2. The function returns NaN if inputs are not in the expected range. Rturns NaN in gimbal lock, i. e. when pitch is exactly +pi/2 or -pi/2
korMagneticFieldVectorInGauss | Magnetometer measurement. |
fRoll | Roll angle, [rad], must belong to the closed interval [-pi, pi] |
fPitch | Pitch angle, [rad] |
float NNavigationUtilities::HeightFromPressure | ( | float | fPressurePascals | ) |
Compute height above mean sea level from pressure. Valid input range [22700.0 127780.0]. The range corresponds to height from approximately -2000m to 11000m.
fPressurePascals | Measured pressure. |
float NNavigationUtilities::PartialDerivativeHeightWrtPressure | ( | float | fPressurePascals | ) |
Compute a partial derivative of height above mean sea level with respect to pressure. Valid input range [22700.0 127780.0]. The range corresponds to height from approximately -2000m to 11000m.
fPressurePascals | Measured pressure. |
CQuaternion NNavigationUtilities::QuaternionFromEuler | ( | float | fRoll, |
float | fPitch, | ||
float | fYaw | ||
) |
Convert Euler angles to a quaternion.
fRoll | Roll angle. |
fPitch | Pitch angle. |
fYaw | Yaw angle. |