Euler angles

by Roberto Lot

> restart: libname := libname, "C:/MBSymba": with(MBSymba_r6):

Rotation matrix

Euler's angles are defined as sequential rotations alpha, beta and delta as follows

> TE := rotate('Z',alpha), rotate('X',beta), rotate('Z',delta);

> euler_angles := alpha(t),beta(t),delta(t);

> PDEtools[declare](euler_angles, prime=t, quiet):

> TE := rotate('Z',alpha(t)) * rotate('X',beta(t)) * rotate('Z',delta(t));

> set_frame_name(TE,'TE'):

Angular velocity and

> Omega := angular_velocity(TE): show(Omega);

> project(Omega,ground): show(%);

Singular configuration

It is easy to verify that when beta = 0, it is not possible to express the body angular velocity in terms of Euler's angles time derivatives

> om := make_VECTOR(TE, omega[X],omega[Y],omega[Z]): show(om);

> solve([comp_XYZ(Omega-om)] , diff([euler_angles],t)): Vector(%[1]);

>

Comments are closed.