Joint where frame_b rotates around axis n which is fixed in frame_a.
The two frames coincide when "phi + phi_offset = 0", where
"phi_offset" is a parameter with a zero default
and "phi" is the rotation angle.
This variant of the revolute joint is designed to work together
with a length constraint in a kinematic loop. This means that the
angle of the revolute joint, phi, is computed such that the
length constraint is fulfilled.
Usually, this joint should not be used by a user of the MultiBody
library. It is only provided to built-up the Modelica.Mechanics.MultiBody.Joints.Assemblies.JointXYZ
joints.
In releases before version 3.0 of the Modelica Standard Library, it was possible
to activate the torque projection equation (= cut-torque projected to the rotation
axis must be identical to the drive torque of flange axis) via parameter
axisTorqueBalance. This is no longer possible, since otherwise this
model would not be "balanced" (= same number of unknowns as equations).
Instead, when using this model in version 3.0 and later versions,
the force in the length constraint component (Joints.SphericalSpherical or
Joints.UniversalSpherical) must be calculated such that the driving torque
in direction of the rotation
axis is (RC shall be the name of the instance of RevoluteWithLenghtConstraint):
0 = RC.axis.tau + RC.e*RC.frame_b.t;
If this equation is used, usually the force in the length constraint
and the second derivative of the revolute angle will be part of a linear
algebraic system of equations. In some cases it is possible to solve
this system of equations locally, i.e., provide the rod force directly
as function of the revolute constraint torque. In any case, this projection
equation or an equivalent one has to be provided via variable "constraintResidue" in the "Advanced"
menu of "Joints.SphericalSpherical" or "Joints.UniversalSpherical".