Auterion App SDK
Auterion SDK is a library that can be used by AuterionOS apps to communicate with the system.
geometry.hpp File Reference
#include <Eigen/Eigen>

Go to the source code of this file.

Functions

constexpr float auterion::literals::operator""_deg (long double degrees)
 
constexpr float auterion::literals::operator""_rad (long double radians)
 
float auterion::radToDeg (const float rad)
 Converts radians to degrees.
 
double auterion::radToDeg (const double rad)
 
float auterion::degToRad (const float deg)
 Converts degrees to radians.
 
double auterion::degToRad (const double deg)
 
float auterion::wrapAngleToPlusMinusPi (float yaw)
 Wraps an angle to the range [-pi, pi). More...
 
double auterion::wrapAngleToPlusMinusPi (double yaw)
 
Eigen::Vector3f auterion::quaternionToEulerRpy (const Eigen::Quaternionf &q)
 Converts a quaternion to RPY extrinsic Tait-Bryan Euler angles (YPR intrinsic) XYZ axes correspond to RPY angles respectively. More...
 
Eigen::Vector3d auterion::quaternionToEulerRpy (const Eigen::Quaterniond &q)
 
Eigen::Quaternionf auterion::eulerRpyToQuaternion (const Eigen::Vector3f &euler)
 Converts RPY extrinsic Tait-Bryan Euler angles (YPR intrinsic) to quaternion. More...
 
Eigen::Quaterniond auterion::eulerRpyToQuaternion (const Eigen::Vector3d &euler)
 
Eigen::Quaternionf auterion::eulerRpyToQuaternion (const float roll, const float pitch, const float yaw)
 Converts RPY extrinsic Tait-Bryan Euler angles (YPR intrinsic) to quaternion. More...
 
Eigen::Quaterniond auterion::eulerRpyToQuaternion (const double roll, const double pitch, const double yaw)
 
float auterion::quaternionToRoll (const Eigen::Quaternionf &q)
 Convert quaternion to roll angle in extrinsic RPY order (intrinsic YPR) More...
 
double auterion::quaternionToRoll (const Eigen::Quaterniond &q)
 
float auterion::quaternionToPitch (const Eigen::Quaternionf &q)
 Convert quaternion to pitch angle in extrinsic RPY order (intrinsic YPR) More...
 
double auterion::quaternionToPitch (const Eigen::Quaterniond &q)
 
float auterion::quaternionToYaw (const Eigen::Quaternionf &q)
 Convert quaternion to yaw angle in extrinsic RPY order (intrinsic YPR) More...
 
double auterion::quaternionToYaw (const Eigen::Quaterniond &q)
 

Detailed Description

All rotations and axis systems follow the right-hand rule

Euler angles follow the convention of a 1-2-3 extrinsic Tait-Bryan rotation sequence. In order to go from frame 1 to frame 2 we apply the following rotations consecutively. 1) We rotate about our fixed X axis by an angle of "roll" 2) We rotate about our fixed Y axis by an angle of "pitch" 3) We rotate abour our fixed Z axis by an angle of "yaw"

Note that this convention is equivalent to that of a 3-2-1 intrinsic Tait-Bryan rotation sequence, i.e. 1) We rotate about our initial Z axis by an angle of "yaw" 2) We rotate about the newly created Y' axis by an angle of "pitch" 3) We rotate about the newly created X'' axis by an angle of "roll"