Macros | Functions
mavlink_conversions.h File Reference
#include <math.h>
Include dependency graph for mavlink_conversions.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define M_PI_2   ((float)asin(1))
 

Functions

MAVLINK_HELPER void mavlink_dcm_to_euler (const float dcm[3][3], float *roll, float *pitch, float *yaw)
 
MAVLINK_HELPER void mavlink_dcm_to_quaternion (const float dcm[3][3], float quaternion[4])
 
MAVLINK_HELPER void mavlink_euler_to_dcm (float roll, float pitch, float yaw, float dcm[3][3])
 
MAVLINK_HELPER void mavlink_euler_to_quaternion (float roll, float pitch, float yaw, float quaternion[4])
 
MAVLINK_HELPER void mavlink_quaternion_to_dcm (const float quaternion[4], float dcm[3][3])
 
MAVLINK_HELPER void mavlink_quaternion_to_euler (const float quaternion[4], float *roll, float *pitch, float *yaw)
 

Detailed Description

These conversion functions follow the NASA rotation standards definition file available online.

Their intent is to lower the barrier for MAVLink adopters to use gimbal-lock free (both rotation matrices, sometimes called DCM, and quaternions are gimbal-lock free) rotation representations. Euler angles (roll, pitch, yaw) will be phased out of the protocol as widely as possible.

Author
James Goppert
Thomas Gubler thoma.nosp@m.sgub.nosp@m.ler@g.nosp@m.mail.nosp@m..com

Definition in file mavlink_conversions.h.

Macro Definition Documentation

#define M_PI_2   ((float)asin(1))

Definition at line 13 of file mavlink_conversions.h.

Function Documentation

MAVLINK_HELPER void mavlink_dcm_to_euler ( const float  dcm[3][3],
float *  roll,
float *  pitch,
float *  yaw 
)

Converts a rotation matrix to euler angles

Parameters
dcma 3x3 rotation matrix
rollthe roll angle in radians
pitchthe pitch angle in radians
yawthe yaw angle in radians

Definition at line 68 of file mavlink_conversions.h.

MAVLINK_HELPER void mavlink_dcm_to_quaternion ( const float  dcm[3][3],
float  quaternion[4] 
)

Converts a rotation matrix to a quaternion Reference:

Parameters
dcma 3x3 rotation matrix
quaterniona [w, x, y, z] ordered quaternion (null-rotation being 1 0 0 0)

Definition at line 146 of file mavlink_conversions.h.

MAVLINK_HELPER void mavlink_euler_to_dcm ( float  roll,
float  pitch,
float  yaw,
float  dcm[3][3] 
)

Converts euler angles to a rotation matrix

Parameters
rollthe roll angle in radians
pitchthe pitch angle in radians
yawthe yaw angle in radians
dcma 3x3 rotation matrix

Definition at line 189 of file mavlink_conversions.h.

MAVLINK_HELPER void mavlink_euler_to_quaternion ( float  roll,
float  pitch,
float  yaw,
float  quaternion[4] 
)

Converts euler angles to a quaternion

Parameters
rollthe roll angle in radians
pitchthe pitch angle in radians
yawthe yaw angle in radians
quaterniona [w, x, y, z] ordered quaternion (null-rotation being 1 0 0 0)

Definition at line 118 of file mavlink_conversions.h.

MAVLINK_HELPER void mavlink_quaternion_to_dcm ( const float  quaternion[4],
float  dcm[3][3] 
)

Converts a quaternion to a rotation matrix

Parameters
quaterniona [w, x, y, z] ordered quaternion (null-rotation being 1 0 0 0)
dcma 3x3 rotation matrix

Definition at line 38 of file mavlink_conversions.h.

MAVLINK_HELPER void mavlink_quaternion_to_euler ( const float  quaternion[4],
float *  roll,
float *  pitch,
float *  yaw 
)

Converts a quaternion to euler angles

Parameters
quaterniona [w, x, y, z] ordered quaternion (null-rotation being 1 0 0 0)
rollthe roll angle in radians
pitchthe pitch angle in radians
yawthe yaw angle in radians

Definition at line 102 of file mavlink_conversions.h.



rosflight_firmware
Author(s): Daniel Koch , James Jackson
autogenerated on Thu Apr 15 2021 05:07:50