Skyward boardcore
|
Functions for managing quaternions. More...
Functions | |
Vector4f | eul2quat (const Vector3f &euler) |
Vector3f | quat2eul (const Vector4f &quat) |
Vector3f | quat2stepperAngles (const Vector4f &q) |
Vector4f | rotationMatrix2quat (const Matrix3f &rtm) |
Matrix3f | quat2rotationMatrix (const Vector4f &q) |
bool | quatNormalize (Vector4f &quat) |
Vector4f | quatProd (const Vector4f &q1, const Vector4f &q2) |
Eigen::Vector4f | eul2quat (const Eigen::Vector3f &euler) |
Transform a vector of euler angles (ZYX) to quaternion. | |
Eigen::Vector3f | quat2eul (const Eigen::Vector4f &quat) |
Transform a quaternion into a vector of euler angles (ZYX). | |
Eigen::Vector3f | quat2stepperAngles (const Eigen::Vector4f &quat) |
Translates quaternions to yaw and pitch angles assuming roll stays close to 0. | |
Eigen::Vector4f | rotationMatrix2quat (const Eigen::Matrix3f &rtm) |
Transform a rotation matrix into a quaternion. | |
Eigen::Matrix3f | quat2rotationMatrix (const Eigen::Vector4f &quat) |
Transform a quaternion into a rotation matrix. | |
bool | quatNormalize (Eigen::Vector4f &quat) |
Normalize a quaternion. | |
Eigen::Vector4f | quatProd (const Eigen::Vector4f &q1, const Eigen::Vector4f &q2) |
Compute the product of two quaternions. | |
Functions for managing quaternions.
Convention used: [x, y, z, w] (scalar element as last element).
Eigen::Vector4f Boardcore::SkyQuaternion::eul2quat | ( | const Eigen::Vector3f & | euler | ) |
Transform a vector of euler angles (ZYX) to quaternion.
euler | The vector of euler angles to be transformed [deg]. |
Vector4f Boardcore::SkyQuaternion::eul2quat | ( | const Vector3f & | euler | ) |
Definition at line 40 of file SkyQuaternion.cpp.
Eigen::Vector3f Boardcore::SkyQuaternion::quat2eul | ( | const Eigen::Vector4f & | quat | ) |
Transform a quaternion into a vector of euler angles (ZYX).
quat | The quaternion to be transformed [x, y, z, w]. |
Vector3f Boardcore::SkyQuaternion::quat2eul | ( | const Vector4f & | quat | ) |
Definition at line 62 of file SkyQuaternion.cpp.
Eigen::Matrix3f Boardcore::SkyQuaternion::quat2rotationMatrix | ( | const Eigen::Vector4f & | quat | ) |
Transform a quaternion into a rotation matrix.
quat | The quaternion to be transformed [x, y, z, w]. |
Matrix3f Boardcore::SkyQuaternion::quat2rotationMatrix | ( | const Vector4f & | q | ) |
Definition at line 196 of file SkyQuaternion.cpp.
Eigen::Vector3f Boardcore::SkyQuaternion::quat2stepperAngles | ( | const Eigen::Vector4f & | quat | ) |
Translates quaternions to yaw and pitch angles assuming roll stays close to 0.
This applies to systems with 2 degrees of freedom, used to get the absolute yaw and pitch angles wrt the north.
quat | The quaternion to be transformed (scalar last: [x, y, z, w]). |
Vector3f Boardcore::SkyQuaternion::quat2stepperAngles | ( | const Vector4f & | q | ) |
Definition at line 87 of file SkyQuaternion.cpp.
bool Boardcore::SkyQuaternion::quatNormalize | ( | Eigen::Vector4f & | quat | ) |
Normalize a quaternion.
quat | The quaternion to be normalized [x, y, z, w]. |
bool Boardcore::SkyQuaternion::quatNormalize | ( | Vector4f & | quat | ) |
Definition at line 219 of file SkyQuaternion.cpp.
Eigen::Vector4f Boardcore::SkyQuaternion::quatProd | ( | const Eigen::Vector4f & | q1, |
const Eigen::Vector4f & | q2 ) |
Compute the product of two quaternions.
q1 | First factor [x, y, z, w]. |
q2 | Second factor [x, y, z, w]. |
Vector4f Boardcore::SkyQuaternion::quatProd | ( | const Vector4f & | q1, |
const Vector4f & | q2 ) |
Definition at line 231 of file SkyQuaternion.cpp.
Eigen::Vector4f Boardcore::SkyQuaternion::rotationMatrix2quat | ( | const Eigen::Matrix3f & | rtm | ) |
Transform a rotation matrix into a quaternion.
rtm | The rotation matrix to be transformed (3x3). |
Vector4f Boardcore::SkyQuaternion::rotationMatrix2quat | ( | const Matrix3f & | rtm | ) |
Definition at line 125 of file SkyQuaternion.cpp.