Defines | 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.

Defines

#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 <thomasgubler@gmail.com>

Definition in file mavlink_conversions.h.


Define 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.



mavlink
Author(s): Lorenz Meier
autogenerated on Wed Sep 9 2015 18:06:18