[ Maverik Level 1 functions ]


mav_matrixRPYGet

Summary

Query rotation terms of matrix.


Syntax

void mav_matrixRPYGet(MAV_matrix m, float *r, float *p, float *y);


Description

This function returns in r, p and y, the roll, pitch and yaw specifed by the rotation elements of matrix m. m must be of unit scale.

The conversion from an orientation matrix to a set of roll, pitch and yaw values is inherently ill-defined. That is to say there are multiple sets of RPY values which describe a given orientation - there is no one-to-one mapping. For example, a RPY of (0, 0, 145) is mathematically identical to one of (180, 180, 35) in that they both give the same orientation.

mav_matrixRPYGet returns just one of the many possible RPY values which can describe a given orientation. This may or may not be the most "intuitive" set.

If you use all three RPY values together there should not be a problem. What you cant do is modify one of the values in isolation and expect to get sensible behaviour.


Back to the index page.