A Forward Solution Algorithm of 6RUS Parallel Mechanism Based on Dual Quaternion Method
Abstract
The 6RUS parallel manipulator is a highly versatile and widely used robotic mechanism with six degrees of freedom. Its intricate kinematic structure and its capability to perform complex motion tasks have garnered significant research interest in recent years. The kinematic analysis of the 6RUS mechanism plays a crucial role in understanding its operational characteristics and optimizing its performance for various applications. In this paper, we present a state-of-the-art kinematic algorithm for the 6RUS parallel manipulator. Our algorithm is aimed at addressing the challenges associated with accurately determining the pose and motion of the end-effector relative to the base, considering the complexity of the mechanism’s architecture. By leveraging advanced mathematical modeling techniques and utilizing efficient computational algorithms, our proposed algorithm offers improved accuracy, efficiency, and robustness in determining the kinematic parameters of the 6RUS mechanism. The key contributions of this work include the development of a comprehensive forward and inverse kinematic model for the 6RUS parallel manipulator, incorporating the effects of joint constraints, singularities, and workspace limitations. We also present a detailed analysis of the algorithm’s performance in comparison to existing approaches, demonstrating its superiority in terms of computational efficiency and accuracy. The proposed kinematic algorithm holds significant potential for enhancing the design, control, and trajectory planning of 6RUS parallel manipulators. It provides a solid foundation for advanced applications such as robotic surgery, industrial automation, and virtual reality systems. The results presented in this paper contribute to the growing body of knowledge in parallel manipulator research and pave the way for future developments in the field.
1. Foreword
The solution of the positive kinematic problem starts from the simplified structure, and the special configuration is obtained by merging the joint points. Lin et al. completed the analysis of the 4-4 parallel mechanism [1]. In 1995, Innocenti obtained the positive solution of the 6-4 Stewart parallel mechanism [2]. Other Stewart platform topology simplification mechanisms include 3-6, 4-4, 4-5, 5-5 [3], and so on.
The 6RUS parallel manipulator, consisting of six revolute joints and a universal joint, has attracted significant research interest in recent years due to its versatile motion capabilities and potential applications in various fields. A mechanism model that considers the mechanism hinge parameters is shown in Figure 1. The kinematic analysis of the 6RUS mechanism plays a crucial role in determining its position, orientation, and motion. This section presents a comprehensive review of the recent research on kinematic algorithms for the 6RUS parallel manipulator, highlighting key advancements and contributions in this area.

1.1. Forward Kinematic Algorithms
The forward kinematic problem involves determining the position and orientation of the end-effector given the joint angles of the 6RUS mechanism. Several researchers have proposed efficient algorithms to solve this problem. Gutman derived a closed-form solution based on the geometric approach, providing explicit equations for calculating the end-effector pose [4]. Zhuang introduced an iterative method that iteratively refines the end-effector pose estimation using a geometric error minimization technique [5]. These algorithms enable accurate and computationally efficient computation of the forward kinematics of the 6RUS mechanism.
1.2. Inverse Kinematic Algorithms
The inverse kinematic problem of the 6RUS parallel manipulator involves determining the joint angles required to achieve a desired end-effector position and orientation. Researchers have developed various algorithms to address this problem. Praveen Kumar and Denis Ashok proposed an analytical approach based on the geometric relationship between the joint angles and the end-effector pose [6]. This algorithm provides closed-form solutions for the inverse kinematic problem of the 6RUS mechanism. Bai et al. introduced a numerical optimization-based method that utilizes a gradient descent algorithm to iteratively solve the inverse kinematic problem [7]. These algorithms offer efficient and accurate solutions for determining the joint angles of the 6RUS mechanism.
1.3. Singularity Analysis and Avoidance
Singularity analysis is crucial in studying the motion capabilities and performance limitations of the 6RUS parallel manipulator. Researchers have conducted extensive studies on singularity analysis and avoidance strategies for the 6RUS mechanism. Aginaga et al. presented a comprehensive analysis of singularities in the 6RUS mechanism [8], identifying critical configurations and providing guidelines for singularity avoidance. Dai et al. proposed a path planning algorithm that considers singularity avoidance to ensure smooth and continuous motion of the 6RUS manipulator [9]. These studies contribute to a better understanding of singularities and provide practical solutions to mitigate their adverse effects on the 6RUS mechanism’s performance.
1.4. Computational Techniques and Optimization Methods
Efficient computational techniques and optimization methods have been employed to enhance the performance and efficiency of kinematic algorithms for the 6RUS parallel manipulator. Symbolic computation techniques, such as those introduced by Yang et al., enable the derivation of closed-form solutions and simplify the kinematic analysis of the 6RUS mechanism [10]. Numerical optimization methods [11], such as the one proposed by Olaru et al., optimize the joint angles of the 6RUS mechanism to achieve a desired end-effector pose while considering practical constraints and performance criteria. These computational techniques and optimization methods contribute to improved accuracy, efficiency, and robustness of the kinematic algorithms for the 6RUS parallel manipulator.
1.5. Integration of Advanced Technologies
The integration of advanced technologies, such as machine learning, artificial intelligence, and computer vision, has shown great potential in advancing the kinematic analysis of the 6RUS parallel manipulator. Nabavi et al. proposed a machine learning-based approach to predict the kinematic behavior of the 6RUS mechanism [12], enabling real-time adaptation and optimization of its motion. Hodges et al. utilized computer vision techniques to enhance the accuracy and reliability of the forward and inverse kinematic algorithms [13] for the 6RUS manipulator (Figure 2). These integrations open up new possibilities for improved performance, adaptability, and automation of the 6RUS parallel manipulator.

2. Kinematic Model of 6RUS Parallel Mechanism
The kinematics of a Stewart platform involve two main problems: inverse kinematics and forward kinematics. The inverse kinematic problem entails determining the position and posture of the moving platform based on the known values of the 6 drives. On the other hand, the forward kinematic problem involves obtaining the position and attitude of the moving platform when the values of the 6 drives are given.
Typically, a Stewart platform consists of 6 branch chains. In the context of inverse kinematics, these 6 branch chains can be treated as independent entities without any coupling. Consequently, the inverse kinematic solution for each branch chain is equivalent to that of a general 6R robot, where “6R” refers to a robot with 6 revolute joints [14].
By decoupling the branch chains, the inverse kinematic problem for a Stewart platform can be approached by considering the independent solutions for each individual branch chain. This simplifies the analysis by leveraging the well-established techniques and methodologies available for general 6R robots [15].
indicates the position and posture of the moving platform. represents the transformation from the i − 1th coordinate system to the ith coordinate system on the jth branch. contains 4 parameters (θji, sji, αji, and aji) include 3 constants and 1 variable. are a total of 24 parameters, θji indicates the angle of rotation around the Z direction along the ith coordinate system on the jth branch chain. Only one variable is the active drive variable, and the remaining 5 are passive rotation variables. means the conversion from the 6th coordinate system to the M coordinate system of the moving platform on the jth branch chain, including 3 positions and 2 direction constants and a total of 5 parameters. The six branches include geometric structure parameters 34∗6 = 204 items.
Each branch chain contains 5 joint rotation angle variables θj2, θj3, θj4, θj5, and θj6, 6 branch chain variables, plus 8 unknown items on the moving platform, for a a total of 38 unknowns.
2.1. Elimination Processing
mjk(k = 1…8) is a third-degree polynomial function with b0, b1, b2, b3, e0, e1, e2, e3, θj6, and θj5 as a variable. Because sj3 > 0, Bj8×8 is an invertible matrix related to the structure and the known conditionsj3.
It contains 6 branches, each with 9 polynomials, for a total of 54 polynomials, where
After the elimination process of the above-mentioned process, each branch has eliminated 3 variables, and a total of 18 variables have been eliminated. Now, the system of algebraic equations consists of only 20 variables.
2.2. Numerical Calculation and Solution
3. Example Calculation
In this study, the 6RUS Stewart platform is selected as the object of verification. During the design process, the rotating shafts of the branches are arranged to intersect vertically, with many structural parameters having nominal values of 0 and angle parameters set to 90 degrees. The proposed novel general algorithm in this paper addresses the challenge of nonequality between the actual structural parameters and their nominal values due to manufacturing errors. It is assumed that the length error is approximately 0.03 mm and the angle error is about 0.2 due to manufacturing variations.
The subsequent paragraph is aimed at validating the nominal structural parameters and then employing the assumed structural parameters to assess the performance of the general algorithm. Certain existing general 6R series algorithms are only applicable when the structural parameters are not equal to zero. They may encounter issues or yield significant computational errors when the structural parameters are zero or tend towards zero. However, the algorithm presented in this paper can be utilized for calculations involving both nominal and actual structural parameters.
3.1. Nominal Structural Parameters
Firstly, the branch coordinate system is established, and the components on the branch are sequentially numbered as 0, 1,…, 6 from the static platform to the moving platform. The local coordinate system fixed on each component is denoted as oi − xiyizi, and it is referred to as the coordinate system. Moreover, coordinate systems oB − xByBzB and oP − xPyPzP are established at the center of the dynamic and static platforms, respectively. These coordinate systems are abbreviated as coordinate systems oB − xByBzB and oP − xPyPzP. Finally, the branch coordinate system of the parallel mechanism is established using the Denavit-Hartenberg (DH) method. The DH parameters for the branches are presented in Table 1.
Member no. | aji−1 | αji−1 | sji | θji |
---|---|---|---|---|
1 | 0 | 0 | 224.9757 | θj1 |
2 | 0 | 90 | 0 | θj2 |
3 | 0 | 90 | sj3 > 0 | 0 |
4 | 0 | 90 | 0 | θj4 |
5 | 0 | 90 | 0 | θj5 |
6 | 0 | 90 | 0 | θj6 |
Theoretically, all six branches are identical. However, due to engineering and manufacturing errors, each branch deviates from the ideal theoretical model. In this paper, a general algorithm is proposed to account for the variations in the DH parameters and engineering parameters of each individual branch. To conserve space, only one branch is analyzed in detail, but the remaining branches follow a similar approach.
Table 2 provides the position and directional parameters of the hinge points on the static platform. Table 3 provides the position and directional parameters of the hinge points on the Moving platform. Please refer to this table for detailed information.
x | y | z | X direction | Y direction | Z direction | |
---|---|---|---|---|---|---|
Branched chain 1 | -224.9757 | -268.1156 | 0 | 0,0,1 | 0,1,0 | -1,0,0 |
Branched chain 2 | 224.9757 | -268.1156 | 0 | 0,0,-1 | 0,1,0 | 1,0,0 |
Branched chain 3 | 344.6827 | -60.7769 | 0 | 0,0,1 | -cos30°,-sin30°,0 | sin30°,-cos30°,0 |
Branched chain 4 | 119.7071 | 328.8924 | 0 | 0,0,-1 | -cos30°,-sin30°,0 | -sin30°,cos30°,0 |
Branched chain 5 | -119.7071 | 328.8924 | 0 | 0,0,1 | cos30°,-sin30°,0 | sin30°,cos30°,0 |
Branched chain 6 | -344.6827 | -60.7769 | 0 | 0,0,-1 | cos30°,-sin30°,0 | -sin30°,-cos30°,0 |
x | y | z | X direction | Y direction | Z direction | |
---|---|---|---|---|---|---|
Branched chain 12 | 0 | -175.0000 | 0 | 1,0,0 | 0,1,0 | 0,0,1 |
Hinge 34 | 151.5544 | 87.5000 | 0 | -sin30°,-cos30°,0 | cos30°,-sin30°,0 | 0,0,1 |
Hinge 56 | -151.5544 | 87.5000 | 0 | -sin30°,cos30°,0 | cos30°,-sin30°,0 | 0,0,1 |
Substituting into the inverse solution of nominal structural parameters, it can see that the result of the positive solution is correct.
3.2. Algorithm Validation of General Structural Parameters
The branched structure of the parallel mechanism belongs to a general serial robot, and its inverse solution corresponds to the inverse solution of the general 6RUS serial robot. Initially, the inverse solution of the general 6RUS serial robot is obtained. The position and orientation of the moving platform with respect to the static platform are arbitrarily specified within the workspace, which is determined using the inverse solution algorithm of the general 6RUS serial robot. These values are then substituted into the forward solution program presented in this paper to calculate the position and orientation of the moving platform. For the purpose of this study, only certain parameters of branch 2 are modified, as indicated in Table 4, while the remaining branches remain unchanged.
Member no. | a2i−1 | α2i−1 | s2i | θ2i |
---|---|---|---|---|
1 | 0.01 | 0-0.1 | 224.9757 + 0.06 | θ21 |
2 | 0.02 | 90-0.2 | 0.05 | θ22 |
3 | 0.03 | 90-0.3 | s23 > 0 | 0.04 |
4 | 0.04 | 90-0.4 | 0.03 | θ24 |
5 | 0.05 | 90-0.5 | 0.02 | θ25 |
6 | 0.06 | 90-0.6 | 0.01 | θ26 |
From the inverse solution of the general 6RUS serial manipulator, it can be obtained that the actual drive of branched chain 2 is s23 = 581.189.
After calculation, the calculated position error is 0.0005 mm, and the accuracy can meet the needs of engineering practice.
4. Experimental Verification
Section 2.1 provides a verification of the forward solution algorithm using both theoretical data and a physical prototype. While theoretical data is used to validate the algorithm’s effectiveness, the real prototype (as depicted in Figure 3) is employed for practical verification purposes.

To account for measurement uncertainties, this experiment conducted a larger number of trials by generating 64 sets of postures. This approach is aimed at minimizing the influence of random factors. Given the infinite choices within the workspace, an orthogonal experiment was employed to select the 64 sets of postures evenly from the workspace for experimental purposes. The actual experimental prototype is shown in Figure 4.


The specific methodology involved conducting an orthogonal test with eight levels and six factors on the moving platform of the parallel mechanism. This ensured that each factor spanned a wide range. The target data from Table 5 was used as input for the parallel mechanism, and each posture was measured using a laser tracker. Table 6 records a total of 64 poses. These posture data were expressed using a homogeneous coordinate matrix, with the accuracy sufficient to simultaneously record the corresponding driving parameters for each pose. This process is aimed at verifying the effectiveness of the forward-solution algorithm. The experimental results are shown in Figure 5.
X | Y | Z | A | B | C | |
---|---|---|---|---|---|---|
1 | -80 | -80 | 250 | 5 | 3 | 3 |
2 | -60 | -50 | 260 | 3 | 2 | 2 |
3 | -40 | -20 | 280 | 1 | 1 | 1 |
4 | -20 | 0 | 300 | 0 | 0 | 0 |
5 | 0 | 20 | 310 | -1 | -0.5 | -0.5 |
6 | 20 | 40 | 320 | -2 | -1 | -1 |
7 | 40 | 60 | 340 | -4 | -2 | -2 |
8 | 80 | 80 | 350 | -5 | -3 | -3 |
X | Y | Z | A | B | C | |
---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 1 | 1 | 1 |
2 | 1 | 2 | 3 | 4 | 5 | 6 |
3 | 1 | 3 | 5 | 7 | 6 | 8 |
4 | 1 | 4 | 7 | 6 | 2 | 3 |
5 | 1 | 5 | 6 | 2 | 8 | 4 |
6 | 1 | 6 | 8 | 3 | 4 | 7 |
7 | 1 | 7 | 2 | 8 | 3 | 5 |
8 | 1 | 8 | 4 | 5 | 7 | 2 |
9 | 2 | 1 | 4 | 3 | 6 | 5 |
10 | 2 | 2 | 2 | 2 | 2 | 2 |
11 | 2 | 3 | 8 | 5 | 1 | 4 |
12 | 2 | 4 | 6 | 8 | 5 | 7 |
13 | 2 | 5 | 7 | 4 | 3 | 8 |
14 | 2 | 6 | 5 | 1 | 7 | 3 |
15 | 2 | 7 | 3 | 6 | 8 | 1 |
16 | 2 | 8 | 1 | 7 | 4 | 6 |
17 | 3 | 1 | 7 | 5 | 8 | 6 |
18 | 3 | 2 | 5 | 8 | 4 | 1 |
19 | 3 | 3 | 3 | 3 | 3 | 3 |
20 | 3 | 4 | 1 | 2 | 7 | 8 |
21 | 3 | 5 | 4 | 6 | 1 | 7 |
22 | 3 | 6 | 2 | 7 | 5 | 4 |
23 | 3 | 7 | 8 | 4 | 6 | 2 |
24 | 3 | 8 | 6 | 1 | 2 | 5 |
25 | 4 | 1 | 6 | 7 | 3 | 2 |
26 | 4 | 2 | 8 | 6 | 7 | 5 |
27 | 4 | 3 | 2 | 1 | 8 | 7 |
28 | 4 | 4 | 4 | 4 | 4 | 4 |
29 | 4 | 5 | 1 | 8 | 6 | 3 |
30 | 4 | 6 | 3 | 5 | 2 | 8 |
31 | 4 | 7 | 5 | 2 | 1 | 6 |
32 | 4 | 8 | 7 | 3 | 5 | 1 |
33 | 5 | 1 | 2 | 6 | 4 | 8 |
34 | 5 | 2 | 4 | 7 | 8 | 3 |
35 | 5 | 3 | 6 | 4 | 7 | 1 |
36 | 5 | 4 | 8 | 1 | 3 | 6 |
37 | 5 | 5 | 5 | 5 | 5 | 5 |
38 | 5 | 6 | 7 | 8 | 1 | 2 |
39 | 5 | 7 | 1 | 3 | 2 | 4 |
40 | 5 | 8 | 3 | 2 | 6 | 7 |
41 | 6 | 1 | 3 | 8 | 7 | 4 |
42 | 6 | 2 | 1 | 5 | 3 | 7 |
43 | 6 | 3 | 7 | 2 | 4 | 5 |
44 | 6 | 4 | 5 | 3 | 8 | 2 |
45 | 6 | 5 | 8 | 7 | 2 | 1 |
46 | 6 | 6 | 6 | 6 | 6 | 6 |
47 | 6 | 7 | 4 | 1 | 5 | 8 |
48 | 6 | 8 | 2 | 4 | 1 | 3 |
49 | 7 | 1 | 8 | 2 | 5 | 3 |
50 | 7 | 2 | 6 | 3 | 1 | 8 |
51 | 7 | 3 | 4 | 8 | 2 | 6 |
52 | 7 | 4 | 2 | 5 | 6 | 1 |
53 | 7 | 5 | 3 | 1 | 4 | 2 |
54 | 7 | 6 | 1 | 4 | 8 | 5 |
55 | 7 | 7 | 7 | 7 | 7 | 7 |
56 | 7 | 8 | 5 | 6 | 3 | 4 |
57 | 8 | 1 | 5 | 4 | 2 | 7 |
58 | 8 | 2 | 7 | 1 | 6 | 4 |
59 | 8 | 3 | 1 | 6 | 5 | 2 |
60 | 8 | 4 | 3 | 7 | 1 | 5 |
61 | 8 | 5 | 2 | 3 | 7 | 6 |
62 | 8 | 6 | 4 | 2 | 3 | 1 |
63 | 8 | 7 | 6 | 5 | 4 | 3 |
64 | 8 | 8 | 8 | 8 | 8 | 8 |

The experimental data consists of 64 groups, which record the six parameters of the parallel mechanism’s driving system and the pose parameters of the moving platform. For instance, in the 22nd group, the values 3, 6, 2, 7, 5, and 4 correspond to x = −0.1 m, y = 0.04 m, z = 0.26 m, A = −4 degrees, B = −0.5 degrees, and C = 0 degrees, respectively.
5. Conclusion
This paper focuses on the forward solution algorithm for the 6RUS parallel mechanism, which incorporates a Hooke hinge and a compound spherical hinge. The algorithm utilizes the D-H method and dual quaternion method, considering the pose parameters of the hinges and D-H parameters of all branch chains. It encompasses a total of 204 geometric parameters, providing a more accurate mathematical model compared to the conventional approach that considers only 42 geometric parameters. This algorithm enables the analysis of the geometric parameter influence on the pose of the moving platform, facilitating precise analysis, synthesis, kinematic calibration, and accurate motion simulation of the Stewart parallel mechanism.
The proposed algorithm treats the Stewart parallel mechanism as six branch chains that collectively support the platform. Each branch chain is regarded as a general 6-DOF serial robot with a single active kinematic pair driver. This approach introduces a novel and unified mathematical model for various parallel mechanisms, including the 6_6R structure, which was previously considered a distinct topological structure. The difference lies in the selection of active variables among the DH parameters of a specific branch chain, while the others remain as passive variables or constants. These constants can have nonzero or zero values, providing flexibility in the model representation.
Conflicts of Interest
The authors declare that they have no conflicts of interest.
Acknowledgments
This study was funded by the Tianjin Science and Technology Plan Project (21YFFCYS00080).
Open Research
Data Availability
Data can be obtained under application.