Joint where the origins of frame_a and frame_b always coincide, and the frames are rotating against each other. The joint is realized in such a way, that a singularity cannot occur. This is achieved because the Cardan angles are defined between a frame_fix fixed in frame_a and frame_b. Whenever the Cardan angles are near a singularity, the integration is stopped and frame_fix is changed, such that the Cardan angles are far away from the singularity. The following state variables are used:
phi[3] : Cardan angles, also called Tait-Bryan angles, i.e.,
rotate around 1-, 2-, 3-axis in [rad] from intermediate
frame_fix, which is fixed in frame_a, to frame_b. Initially, frame_fix
is identical to frame_a. If phi[2] is near its singularity (= pi/2 or -pi/2),
the frame_fix and phi are changed, such that phi[2] is far away from
its singularity.
w_rela[3]: Relative angular velocity of frame_b with respect to frame_a
resolved in frame_a in [rad/s].