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].