Comparison of Three Methods of Length Compensation in a Parallel Kinematic and Their Equivalence Conditions

This paper is a further development of a previous work (PAMM 16, 51–52). In this paper, we derive an analytical formulation of the linear actuators’ length variations for a 2-1-2 DOF joint designed parallel hexapod based on Riebe and Ulbrich’s method (Arch. Appl. Mech. 72, 817–829) and the Euler angles based matrix method. The equivalence conditions as well as the computation errors are given and compared with a quaternion based method.


Introduction
The 2-1-2 DOF (degrees-of-freedom) joint designed parallel hexapod (six universal joints mounted on both the moving and the fixed platform and six linear actuators connecting these two platforms) is a 6-DOF spatial mechanism. If the length variation of a linear actuator is realized by a threaded spindle, a length compensation is necessary because the relative rotation between the upper and the lower part of the linear actuator is coupled with its length variation.
In our previous work [1], we developed an analytical formulation of this passive rotation based on the rotation matrix of the Euler angles of the moving part of the hexapod. Further, for substituting the rotation matrix, a quaternion based method was used, which shows several advantages such as simple geometrical interpretation, compact mathematical representation, coordinate system independency, no gimbal lock, and higher computational efficiency and accuracy [2,3]. In this paper, we compare these two methods with the classical representation of the passive rotation, which shall be denoted as Riebe and Ulbrich's method [4], and provide their equivalence conditions. The paper is organized as follows. In Section 2, we derive Riebe and Ulbrich's method and provide an analytical expression for the angle of passive rotation. In Section 3, we do the same with the Euler angles based matrix method. Section 4 compares these two methods with each other by deriving their equivalence conditions. As a further alternative, the quaternion based method is reviewed in Section 5. In Section 6, the computational performance of Riebe and Ulbrich's method and the Euler angles based matrix method as well as the Euler angles based matrix method and the quaternion based method is compared. Finally, Section 7 concludes the work.
The rotation matrix used in this work represents the rotation of frame referred to frame . The operator ( ), on the other hand, defines a rotation around the axis with an angle of . In the analytical operations, the rotation operator ( ) is also a substitution of the corresponding rotation matrix.

Riebe and Ulbrich's method
In the work of Riebe and Ulbrich [4], the relative rotation between the upper * + and the lower cylinder * + of the linear actuator is computed in a typical way. The two cross shaft universal joints on both ends of the linear actuator are handled separately, and the rotation of the linear actuator is described by the output angles of the input and bending angles, , , , see Fig. 1. In order to build a relation between Riebe and Ulbrich's method and the Euler angles based matrix method described in Section 3, we use the following assumptions.
1) The orientation of the linear actuators' axis is constant or fixed to the z axis of the inertial coordinate system * +, 2) The centers of the universal joints are fixed in space; note that the lengths of the linear actuators are then constant.

Upper platform's and linear actuator's upper part's motion
The rotation of the upper platform * + is composed of three rotations: 1) the platform's tilt motion around the inertial axis, , 2) the platform's rotation around its local axis with angle , 3) the simultaneous rotation of the platform and the upper part of the linear actuator around the inertial axis with angle . Hence, this rotation can be expressed as follows: with respect to the inertial coordinate system * +.
The corresponding rotation of the upper cylinder of the linear actuator * + is composed of: 1) no rotation around the inertial axis, 2) the passive rotation around the inertial axis caused by the platform's local rotation, 3) the simultaneous rotation with platform * + around the inertial axis with angle . Consequently, this rotation can be expressed by with respect to the inertial coordinate system * +.

Lower platform's and linear actuator's lower part's motion
Similarly to the upper platform, the lower platform's ( * +) rotation comprises 1) the platform's tilt motion around the inertial axis, , 2) the platform's rotation around its local axis with angle . The rotation matrix of platform * + can be thus written as with respect to the inertial coordinate system * +.
The corresponding rotation of the lower cylinder of the linear actuator * + is composed of: 1) no rotation around the inertial axis, 2) the passive rotation around the inertial axis caused by the platform's local rotation. Consequently, this rotation can be expressed by with respect to the inertial coordinate system * +.

Angular relation between the upper and the lower part of the linear actuator
The rotation inside a linear actuator affects its length. This rotation is described as follows: In [4], is because this angle is not passive and independent of other pose variables such as and . However, in order to completely obtain the rotation affecting the linear actuator's length, we keep this variable in consideration. The rotation angle between the cylinders * + and * + and thus the passive rotation of the linear actuator can be then determined from where ⁄ and ⁄ .

Euler angles based rotation matrix method
The main disadvantage of Riebe and Ulbrich's method is that, in most cases, the angles related to the rotation cannot be explicitly given. For this reason, the pose of the hexapod's moving platform is better described by a set of, e. g., Euler angles. In this paper, we use the --Euler angle-set --to describe the hexapod's moving platform's pose. The rotation between the upper platform * + and the lower platform * + can be then written as In order to formulate the linear actuator's length compensation in an analytical way, the pose of the moving platform * + is described by a set of proper --Euler angles for the rotation and the vector ( ) for the linear displacement of the coordinates center. Since the passive rotation is independent of the linear actuator's active length (the length variation caused by the motor's rotation), we define the hexapod's moving platform's pose as the vector ( ) , in which ( ) represents the axial orientation of the linear actuator, i. e., ( ) ( ). A rotational movement of the hexapod can be described in the following sequence. 1) The whole structure rotates around the inertial axis with angle . 2) The whole structure rotates around the inertial axis with angle .
3) The platforms * + and * + rotate back to the initial position inversely to the above motion. 4) The platform * + finally rotates to reach the rotational pose .
After this sequence, the moving platform * + and each linear actuator reach their target pose, and the base platform * + has returned to its initial position. Here, the rotation of platform * + is described by with respect to the inertial coordinate system * +. Point 3) is treated as the rotations of platforms * + and * + around their own and axes, respectively. Consequently, for the individual rotations of the lower cylinder * + and the upper cylinder * +, we get and with respect to the inertial coordinate system * +. Thus, the rotation between * + and * + to be compensated can be written as The rotation angle between the lower cylinder * + and the upper cylinder * + and thus the passive rotation of the linear actuator can be then determined from For cylinder * +, is caused by ( ) ( ), and ⁄ . For cylinder * + , is caused by ( ) ( ) ( ) ( ) . Based on the disassembly of the rotations of the universal joint's cross shaft in the appendix, the output rotation of the upper cylinder is described by

Equivalence of Riebe and Ulbrich's method and the Euler angles based matrix method
The analytical expression of the passive rotation with Riebe and Ulbrich's method is described by Eq. (6). In order to demonstrate the equivalence of this method and the Euler angles based matrix method, described by Eq. (13), we have to show the following relation in a nonrevolution case: that is, we have to find the connection between ( ) and ( ). This can be realized by the following three constraints.

Constraint 2:
The axis of the upper cylinder * + in both methods is the same. This constraint can be written as where The first entry divided by the second one gives us . Thus, where ( ) ( ) and ( ) ( ) . Constraint 3: The two expressions of the rotation around the inertial axis are equal (this is the relation we want to show): Or in matrix form: Since the matrices are always unitary, the following relation holds: After inserting Eqs. (6) and (13), the above equation becomes Consequently, where ⁄ . Rearranging to finally leads to:

Passive rotation in quaternion form
As proven in [5], a rotation matrix can be replaced by a set of four numbers, the quaternions. Using quaternions to compute the passive rotation has shown advantages in the reduction of trigonometric computations. In this case, the pose and location of the moving platform * + is defined as The corresponding rotation quaternion is thus where is a unitary vector that represents the rotation axis, and is the rotational displacement. The inverse kinematics of a hexapod in quaternion form can then be written as (31) and the rotation between the cylinders * + and * + as .
In Eq. (32), , e. g., is determined as follows: where The expression for is obtained in the same way.

Simulation results
The equivalence conditions of Riebe and Ulbrich's method and the Euler angles based matrix method are given in Section 4. In this section, a simulation of the errors of these two methods is carried out depending on the variables ( ) . The values indicate the maximum errors of the pose space formed by ( ) and how are they distributed on a linear actuator's orientation surface formed by ( ) Figure 2 indicates that the error between the two algorithms is limited in a co-domain with a magnitude of , while the definition domain is , for all five variables. However, when we increase the resolution to , the error increases to a magnitude of .  Similarly, the computation error of the Euler angles based matrix method and the quaternion based method is shown in Fig. 3, where the maximum error remains in a magnitude.

Conclusion
The method for the length compensation problem in the parallel hexapod referred to universal joints provided by Riebe and Ulbrich [4] is inexplicit for the engineering occasion. This inexplicit expression disserves the rotation around the universal joints from the Euler angles of the moving platform. This paper provided two more methods that fit for practical use and proved the equivalence of them by proposing three equivalence constraints. The equivalence is true if the equivalence conditions in Eq.
(28) are true. This equivalence is then verified by simulation of the computation error among these three methods. The error of computation remains in a range of roundness error rather than inequality of the computation methods of length compensation.
Appendix. This appendix illustrates the passive rotation caused by two times bending of a cross-shaft universal joint; * +, * +, and * + indicate the lower frame, the upper frame, and the cross shaft of the universal joint, respectively.