residue = Orientation.equalityConstraint(Q1, Q2);
This function returns the Real residue vector with 3 elements. This vector has zero elements if quaternions objects Q1 and Q2 are identical, i.e. they describe the same orientation. The residue vector is determined by the relative quaternion object between Q1 and Q2 to formulate the residue in such a way that only identical orientation objects lead to a zero residue vector.
encapsulated function equalityConstraint import Modelica; import Modelica.Mechanics.MultiBody.Frames.Quaternions; extends Modelica.Icons.Function; input Quaternions.Orientation Q1 "Quaternions orientation object to rotate frame 0 into frame 1"; input Quaternions.Orientation Q2 "Quaternions orientation object to rotate frame 0 into frame 2"; output Real residue[3] "Zero vector if Q1 and Q2 are identical (the first three elements of the relative transformation (is {0,0,0} for the null rotation, guarded by atan2 to make the mirrored solution invalid"; end equalityConstraint;