The method of deriving the Euler angle velocity for a given sequence is to transform each of the derivatives into the reference frame. Remember that an Euler angle sequence is made up of three successive rotations. In other words, the angular velocity
needs one rotation,
needs two and
needs three.
Carrying out the matrix multiplication with
being the Euler 321 sequence
and
gives us
Adding the vectors together yields
Of course, we also wish to have the Euler angle velocities in terms of the angular velocities which requires us to solve the linear equations for them. Using a program like Matlab makes it easy for us to get
In matlab solving for the Euler angle velocites can be done with the following commands. Using the notation , we want to solve for , such that
. For our problem then
syms wx wy wz phd thd psd SPS cth cps b x A;
b = [wx wy wz]';
x = [phd thd psd]';
A = [ -sth 0 1; sps*cth cps 0; cps*cth -sps 0];
and solve for the angle velocites with the command
x = inv(A)*b
Note that matlab spits out extra sine and cosine terms that just equal 1 through
The shorthand notation used in this article is
|