Bryant’s angles

by Roberto Lot

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

Rotation matrix

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

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

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

> alias(S=sin,C=cos):

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

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

> set_frame_name(TB,'TB'):

Angular velocity and

> Omega := angular_velocity(TB): 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 Bryant's angles time derivatives

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

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

>

>

Comments are closed.