Next Article in Journal
Correlation Mapping of Perfusion Patterns in Cutaneous Tissue
Previous Article in Journal
Single/Multi-Objective Optimization Design and Numerical Studies for Lead-to-Supercritical Carbon Dioxide Heat Exchanger Based on Genetic Algorithm
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A New Solving Method Based on Simulated Annealing Particle Swarm Optimization for the Forward Kinematic Problem of the Stewart–Gough Platform

1
University of Chinese Academy of Sciences, Beijing 100049, China
2
Key Laboratory of Infrared System Detection and Imaging Technologies, Shanghai Institute of Technical Physics, Chinese Academy of Sciences, Shanghai 200083, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2022, 12(15), 7657; https://doi.org/10.3390/app12157657
Submission received: 7 July 2022 / Revised: 25 July 2022 / Accepted: 26 July 2022 / Published: 29 July 2022
(This article belongs to the Section Mechanical Engineering)

Abstract

:
The forward kinematics of the Stewart–Gough platform is vital for high-precision positioning and sensing in six degrees of freedom. In this paper, the solving of forward kinematics is converted to searching for the best posture corresponding to the input outrigger length vectors by inverse kinematic calculation. The simulated annealing (SA) process is embedded into particle swarm optimization (PSO) to improve the convergence speed and overcome the local convergence. The proposed SA–PSO algorithm not only accelerates the convergence speed but also improves the reliability and success rate. After the optimization of algorithm parameters, the success rate of the SA–PSO for random outrigger length vector input is steadily above 99.9% while the results of PSO is between 93% and 100%. In the workspace simulation, the average iteration number of the proposed algorithm is reduced from 146.6 to 122.7, meanwhile, the success rate of SA–PSO is 99.992%, much higher than the 93.805% of PSO. Compared with the traditional Newton–Raphson method, the SA–PSO method has a higher success rate and is less time consuming. Finally, a physical experiment is conducted on a six-degree-of-freedom platform, revealing that the given algorithm is reliable and accurate.

1. Introduction

Since its invention by Gough and Stewart [1], the six-degrees-of-freedom (six DOF) parallel platform has rapidly become popular because of its high stiffness, accuracy, and strong bearing capacity. Nowadays, the Stewart–Gough platform (SGP) is widely applied to motion simulation, optical precision machining, intelligent medical treatment, aerospace positioning, and space measurement. The forward kinematic problem (FKP) of the platform refers to predicting the posture in six degrees of freedom by the length of the six outriggers. The FKP is of great significance for posture detection, SGP calibrating, and high-precision positioning. However, the FKP mathematically means multivariate higher-order nonlinear equations, from which it is a big challenge to ascertain the unique solution.
In order to obtain the high-precision forward solution and improve real-time applications, researchers have put forward many ideas. B. Mourrain and P. Dietmaier found 40 forward solutions by algebraic method [2,3]. M. Raghavan et al. analyzed the polynomial solution of forward kinematics for the different parallel platform [4,5]. Tae-Yong Lee et al. applied the algebraic method to choose one out of all possible postures [6,7]. A. Nag et al. proposed a kind of generic geometric–algebraic framework for FKP [8]. These above algebraic methods analyze the FKP as a math problem, which cannot be applied in engineering, therefore, numerical methods have attracted the attention of researchers. The Newton–Raphson (NR) method is popular for seeking the solutions of nonlinear equations because of its simplicity and fast convergence. Watkins and Chi fu Yang put forward a global NR method to avoid the divergence caused by the selection of initial value [9,10]. However, the NR method requires calculation of the Jacobi matrix or Hessian matrix, which may not exist in some situations, and the calculation of partial derivatives is not conducive to real-time application. Kilryong Han et al. analyzed the number of extra sensors for the FKP of different SGP configurations [11]. Vincenzo Parenti-Castelli et al. made use of two extra rotary sensors to help achieve the solution, and their method could reduce the computational burden [12]. By optimizing the sensor installation position, Yu-Jen Chiu and Ming-Hwei Perng proposed a method based on three redundant sensors, and this method is insensitive to the sensor position deviation and measurement error [13]. By adding additional sensors, the calculation can be simplified. However, the measurement system will increase the costs and the measurement error introduced is also a big challenge. With the improvement of computing power, many intelligent methods have been applied to the calculation of robot kinematics. Pratik J. Parikh, Sarah S. Lam and Choon seng Yee both trained a neural network to replace tedious kinematic calculation [14,15]. Zhelong Wang et al. analyzed the SGP by using the principal component analysis [16]. In this way, the FKP was converted to a two-dimensional nonlinear minimization problem. Antonio Morell et al. developed a popular machine learning method—support vector machines—for classification and regression, and they finally built a solution model for the FKP [17]. However, these intelligent algorithms require a large number of prior data, which are not scalable and are inconvenient to apply to practical engineering.
In this paper, two vector spaces are built: one is composed of all possible length vectors, which is called space L, and the other, named space Q, is filled with posture vectors. The FKP now is regarded as mapping space L to space Q through the complex nonlinear relationship. Considering efficiency and accuracy, the PSO method combined with the SA process is raised to find the target posture from space Q. In Section 2, the geometric structure and kinematics of SGP are analyzed in detail. Section 3 redefines the FKP problem from the perspective of spatial mapping, and the SA–PSO method is introduced to deal with it. The comparative simulation experiments including repetitive, continuous trajectory, and workspace random tests are carried out in Section 4, which verify that the proposed SA–PSO method performs better than standard PSO and NR method. The SA–PSO method is also validated by physical verification in Section 4, and the results of experiment show the effectiveness and reliability of the given method. Section 5 is the conclusion.

2. Kinematics Analysis

2.1. Configuration and Coordinate System of SGP

According to different connection modes of upper and lower hinge points, the configuration of SGP can be divided into 6-6 (six upper jungles and six lower jungles), 6-3 (six upper jungles and three lower jungles), and 3-3 (three upper jungles and three lower jungles). In this paper, the classical structure of the 6-6 form is used as the research object. It is worth mentioned that the idea proposed in this paper is also applicable to other configurations of parallel platforms. As shown in Figure 1a, 6-6 SGP consists of top platform A, base platform B, and six actuator outriggers which are respectively linked to the top and base platforms by twelve upper and lower hinges.
Given a moving coordinate system o x y z , o is the center of the top plate, A i is the center of top hinge i (Figure 1b). The global coordinate system o x y z describes the base plate, o is the center of the base plate, B i is the center of the base hinge i. The posture of the top plate is composed of position vector ( x , y , z ) and rotation vector ( α , β , γ ) . The points described in the moving coordinate can be transformed to the global coordinate by rotation operator R ( α , β , γ ) and translation operator L ( x , y , z ) .

2.2. Inverse Kinematic Analysis

With the posture q = ( x , y , z , α , β , γ ) of the moving plate, the length vector of the six outriggers l = ( l 1 , l 2 , l 3 , l 4 , l 5 , l 6 ) can be calculated l i = B i A i , so the vector relationship of outriggers can be described as follows:
B i A i = O O + O A i O B i
Which is:
  l i = t i + R A i O B i
where:
R = [ c o s γ   c o s β c o s γ   s i n β   s i n α s i n γ   c o s α s i n   γ   s i n   α + c o s γ   s i n β   c o s α s i n γ   c o s β c o s α   c o s γ + s i n γ   s i n β   s i n α s i n γ   s i n β   c i n α c o s γ   s i n α s i n β c o s β   s i n α c o s β   c o s α ]
R is z-y-x Euler transformation matrix, t i = ( x , y , z ) is the position vector of the top platform
Let:
P i = R A i
So, the length of the six outriggers is
l i = k = 1 3 [ P i ( k ) B i ( k ) ] 2 i = 1 ,   2 ,   3 6
(3) is the inverse kinematic solution formula of outrigger length. Obviously, it is easy and fast for computer to calculate the length of six outriggers corresponding to the given posture by solving (3).

2.3. Forward Kinematic Problem

In practical terms, it is hard to directly measure the motion posture of the moving platform in six degrees of freedom. Therefore, an efficient and high-accuracy forward solution algorithm is of great significance for the real-time estimation and detection of motion platform posture, which is critical for high precision positioning.
Contrary to the inverse kinematic problem, the forward kinematics focuses on finding the unknown posture ( x , y , z , α , β , γ ) from the given six leg length ( l 1 , l 2 , l 3 , l 4 , l 5 , l 6 ) . The multivariate nonlinear equations which describe the forward kinematics are as follows.
f i ( x , y , z , α , β , γ ) = l i ( t i + R A i O B i ) T ( t i + R A i O B i ) = 0
i = 1, 2, 3 … 6
These six multivariate nonlinear equations describe the forward kinematics of the SGP and the posture can be gotten by solving them which is also a complex problem.

2.4. Newton–Raphson Method for FKP

The Newton–Raphson method is a traditional numerical method to solve multivariate nonlinear equations. It turns the nonlinear equations to linear equations through Taylor formula expansion, and gradually gains on the solution of the equations through continuous iteration of approximate solutions. The Jacobian matrix of nonlinear equations is
J ( X k ) = ( F ( X k ) X k
When J is reversible, te root formula is:
X k + 1 = X k J ( X k ) 1 F ( X k )
The steps of Newton–Raphson method to numerically solve the nonlinear equations are as follows:
(1)
Set the initial value X 0 , maximum iterations N, and the target accuracy ε . Set k = 0.
(2)
Solve d k = J ( X k ) 1 F ( X k ) .
(3)
If | d k | < ε , stop the iteration, or set X k + 1 = X k + d k .
(4)
If k = N, stop the iteration, or set k = k + 1, turn to (2).
An important condition of using Newton–Raphson method is that the Jacobian matrix of nonlinear equations at the operating point exists and the matrix shall be nonsingular. Moreover, the computation of the Jacobian matrix and its inverse is complex. This method’s convergences rely on the selection of initial values, while the inappropriate selection of initial values will make the solving progress difficult to converge.

3. SA–PSO Method for FKP

Through the above analysis, it can be concluded that the FKP problem of SGP is much more complex than the IKP. Because of the complexity of the nonlinear equations, it is hard to attain the unique forward solution by the math analytical method. To make it easy to understand, space Q and space L are separated for the IKP and FKP (Figure 2). We can rethink this question in another way: it is easy to determine whether a posture is an accurate solution of (5). The FKP problem can be remodeled as finding a suitable way to conveniently find a posture q in the workspace to satisfy (5). Then, the problem of solving nonlinear equations has become a problem of searching for an optimal solution.

3.1. Particle Swarm Optimization

The problem is how to find the right q in an efficient way since there are endless q vectors in space Q. PSO is a heuristic evolutionary calculation method, derived from the study of bird predation behavior [18]. The main idea of PSO is to search for the optimal solution through cooperation and information sharing among the group.
In PSO, each particle represents a solution to the target problem with two important attributes: velocity v and position x . Each particle searches for the optimal solution separately in the target space and it marks its position as the extreme P b e s t of the current individual. The optimal solution G b e s t of the whole generation of PSO is picked from the individual extremums. In the k + 1th iteration, the position and velocity of particle i is updated by:
x i k + 1 = x i k + v i k + 1   v i k + 1 = ω v i k + c 1 r a n d ( P k b e s t , i x i k ) + c 2 r a n d ( G k b e s t x i k )
where: ω is inertia coefficient, the larger the ω, the better the global search performance; c 1   c 2 are learning factors. r a n d is a random number range from 0 to 1. P k b e s t , i is the best value of particle i in the kth iteration while G k b e s t is the global best value in the kth iteration.

3.2. Improvement by Simulated Annealing Process

One shortcoming of PSO is that particles may appear premature, then the algorithm traps them into the local optimum. The result of local optimum is that the algorithm cannot find the optimal solution meeting the accuracy requirements. The SA algorithm is derived from the principle of solid annealing and has the ability to jump out of the local optimal trap [19]. The main idea of the SA is that the optimization problem is simulated by a thermodynamic system, the energy of the system is regarded as the objective function of the optimization problem, and the optimization process is simulated by the annealing process of gradually cooling the system to reach the lowest energy state. The SA algorithm has the ability of probability jump in the search process, and can effectively avoid the search process trapping into a local minimum. It has been proven theoretically that the SA algorithm converges to the global optimal solution with a probability of 1 under certain conditions [20].
To avoid the local optimum, the SA algorithm is integrated into the selection of P b e s t of PSO to improve the ability to jump out of the local minimum. For the proposed SA–PSO method, P b e s t i k + 1 is individual optimum of particle i in the k + 1 iteration, and it is updated by:
P b e s t i k + 1 = { x i k + 1 ,           f i t k + 1 < f i t k       o r     P r o k + 1 > r a n d     P b e s t i k ,           f i t k + 1 > f i t k   a n d   P r o k + 1 < r a n d
While:
  • f i t k :   the   fitness   of   the     P b e s t i k
  • f i t k + 1 :   the   fitness   of   the   x i k + 1
  • P r o k + 1 :   the   SA   probability   for   the   k + 1   iteration
  • r a n d :   random   number   range   from   0   to   1
The individual optimum is allowed to receive the non-minimum by a probability of P r o k + 1 ,which makes the particles search the SA neighborhood. This kind of SA randomness can jump out of the local minimum. The important factor P r o k + 1 conforms to Boltzmann distribution and it is calculated by:
P r o k + 1 = e f i t k + 1 / T k + 1 T k + 1 = κ B T k
While:
  • T k + 1 :   the   annealing   temperature   of   the   k + 1   iteration
  • T k :   the   annealing   temperature   of   the   k   iteration
  • κ B :   the   Boltzmann   constant  
The initial temperature T 0 depends on the complexity of the problem. Here, we calculated it with the fitness of the initial population: T 0 = f i t n e s s p o p u l a t i o n   s i z e . f i t n e s s is the maximum difference in the fitness. As is shown in Figure 3, the SA searching increased the randomness and received non-optimal individual optimum. In this way, the SA neighborhood searching can help the PSO algorithm jump out of the local optimum.

3.3. Fitness Function for the FKP Problem of SA–PSO

Considering the one-to-one correspondence between each vector in space Q and space L, the indicator is set as the Euclidean distance of the difference vector between l S A P S O and l 0 ( l S A P S O   is the length vector of q which is found by SA–PSO, l 0 is the given length vector), while (10) describes the indicator. When the indicator meets the accuracy requirements, the solution is considered to be generally obtained. More importantly, the Euclidean distance fitness can be regarded as a sign of the success of optimization.
f i t = i = 1 6 ( l S A P S O ( i ) l 0 ( i ) ) 2 / 6
where:
l S A P S O = I K ( q )
Notes: I K (   ) is the inverse kinematic function.

3.4. SA–PSO Algorithm

The SA–PSO algorithm is introduced by the following Algorithm 1. The difference between the standard PSO and SA–PSO is the selection of the individual optimum.
Algorithm 1: Simulated Annealing Particle Swarm Optimization (SA–PSO) for FKP.
Input: Length of outriggers l , Accuracy ε , PSO parameters: (Population size N , Dimension D , Learning factors c 1   c 2 , Maximum number of iterations K m a x , Weight limit w m a x ,   w m i n , Position limit x m a x ,   x m i n , Velocity limit v m a x ,   v m i n ), Boltzmann constant κ B .
Output: Predicted posture q = ( x t r a n s , y t r a n s , z t r a n s , x r o t , y r o t , z r o t ) .
 1: For each particle i
 2: Initialize the position x i 0 the velocity v i 0 with the permissible range
 3: End for
 4: For each particle i
 5: Calculate the fitness value f i t i 0 = I K ( x i 0 )
 6: Initialize the individual optimum and fitness P i , b e s t 0 = x i 0 , P _ f i t i 0 = f i t i 0
 7: End for
 8: Initialize the global optimum G b e s t 0 = x j 0   ( j = i n d e x ( min ( f i t 0 ) ) G _ f i t 0 = f i t 0
 9: Iteration k = 1
 10: Do
 11: Calculate the weight by w k = w m a x k ( w m a x w m i n ) / K m a x
 12: For each particle i
 13: Calculate velocity v i k
 14: Update particle position
 15: Calculate the fitness f i t i k = I K ( x i k )
 16: End for
 17: For each particle i
 18: Find the individual best optimum P i , b e s t k   and update the P _ f i t i k
 19: End for
 20: Update the global optimum of iteration k :
 21: G b e s t k = x j k   ( j = i n d e x ( min ( P _ f i t k ) ) G _ f i t k = P _ f i t j k
 22: Annealing: T k = κ B T k 1
 23: k = k + 1
 24: While the G _ f i t k < ε or k = K m a x
 25: Output: the predicted posture q is G b e s t

4. Simulation and Physical Experiments

The distribution of platform hinge points is shown in Figure 4, the origin o of the moving coordinate system is located at the center of the upper surface of the top platform, and the origin o of the global coordinate system is located at the center of the circle where the center point of the lower hinge is. Due to the symmetry of the SGP structure, the following parameters are enough to define the platform: radius r and R of top and base circumscribed circle of hinge point, the angle between adjacent hinge points θ 1 and θ 2 and distance h 1 , h 2 from upper and lower hinge points to the top platform surface. The SGP can be uniquely determined by the above six parameters. The parameters of the top and base platform for simulation are set as follows:
r = 0.2   m ,   R = 0.3   m ,   h 1 = 0.05   m , h 2 = 0.3   m , θ 1 = θ 2 = π 6   r a d
Table 1 shows the coordinates of the hinge points, while the top coordinates are based on the moving coordinate system, and the base coordinates are described in the global coordinate system.
With the points in Table 1, the initial outrigger length l 0 is calculate by IK function.
l 0 = 29.7619 × 10 2   m

4.1. Optimiazation of SA–PSO Parameters

On the premise of ensuring the success rate, the parameters of SA–PSO algorithm are optimized to reduce the solution time [21]. A set of relatively optimal parameters in Table 2 are obtained. It should be mentioned that all the simulation experiments in the following are carried out in the MATLAB R2021b and the computer CPU is Ryzen 7-5800H.
The PSO parameters are almost the same as SAPSO method without the annealing progress. Considering the convergence speed and accuracy, the weight value decreases with iteration from 0.42 to 0.1. The range of workspace decides the position range, and the range of particles are usually 10% of the position range. The most important parameters are maximum of iterations and the size of population. The optimal parameters are found one by one.

4.2. Feasibility Simulation of SAPSO

The feasibility simulation experiment is designed as follows:
(1)
Given the posture value q   of the top platform. (To be solved)
(2)
Calculate the l   length vector of the six outriggers corresponding to q by IK function. (Input)
(3)
Send l to the SA–PSO algorithm, find the optimal solution q S A P S O (solving).
The SA–PSO algorithm parameters for FKP are set as Table 2. The target posture q is q1 = 0.1208 m, q2 = 0.1009 m, q3 = 0.0817 m, q4 = 0.1824 rad, q5 = 0.0634 rad, q6 = 0.1504 rad.
While the corresponding l is calculated by I K (   )
l1 = 0.3581 m, l2 = 0.3202 m, l3 = 0.3643 m, l4 = 0.3394 m, l5 = 0.2358 m, l6 = 0.4126 m. The value of six dimensions is obtained by the SA–PSO algorithm, and the convergence of each dimension is shown in Figure 5. When the iteration reaches 113 times, the target accuracy is almost achieved. Table 3 gives the final error of each dimension of the posture and the error of each dimension finally converges to the corresponding accuracy.
The dimension error is a little larger than the Euclidean distance fitness accuracy ε , which is based on the structure of SGP. The following simulation is to analyze the relationship between fitness accuracy and iterations. Run the proposed SA–PSO algorithm 10,000 times, count average iterations and record the running time of each solving for different accuracy. It can be seen from Table 4, in order to achieve higher dimension accuracy, the fitness accuracy ε will be higher, which means the iteration time will increase.

4.3. Reliability Simulation

The above analysis and experiments prove the feasibility of the SA–PSO algorithm in the FKP problem of SGP. However, in practical application, the algorithm must have both high precision and low computing time. Moreover, the robustness of the algorithm is also vital. The six DOF postures of SGP change continuously, the proposed SA–PSO algorithm must adapt to it.

4.3.1. Success Rate Comparison

To verify the repeatability and compare the success rate of the PSO and SA–PSO method, six groups of repeated simulation experiments are designed as follows. The target postures are randomly generated in the reachable workspace, and each group carries out the FKP solving 10,000 times. The accuracy is set as 10 8 .
By the comparison of PSO and SA–PSO, as is shown in Table 5, the addition of simulated annealing steps improves the success rate of the FKP solving, while reducing the number of iterations and accelerating the convergence of the algorithm. For the 10 8 accuracy, the performance of the SA–PSO algorithm is much more stable with a success rate above 99.90%, while the average iterations are less than 120. While the standard PSO method has a lower convergence speed with no less than 140 iterations, and it has a lower and unstable success rate. For random input of q values, the SA–PSO method has better robustness than the PSO method.

4.3.2. Continuous Motion Trajectory Simulation

Continuous motion trajectory is set to test the robustness of PSO and SA–PSO. As shown in Table 6, the complex motion of SGP is composed of six sets of postures and each set is a single degree of the motion. Two seconds are cut out and the sampling rate is 1 kHz. Then two thousand posture points are solved into two thousand length vectors by inverse kinematic function, then the vector series are passed to the algorithms. Figure 6 shows the six degrees motion and the moving trajectory of six outriggers.
Figure 7 shows the simulation results of PSO and SA–PSO algorithm, both of them achieve the given accuracy 10 8 in continuous posture motion. While the progress of each time solving is described by Figure 8 and Table 7. The proposed SA–PSO algorithm has fewer average iterations and smaller standard deviation than the PSO algorithm which verifies that the former has higher efficiency and better stability than the latter.

4.3.3. Whole Workspace Randomly Simulation

In this section, 100,000 postures are generated randomly and evenly in workspace Q w o r k . Find the corresponding outriggers length space L w o r k by I K ( Q w o r k ) , pass L w o r k to the two algorithms, and find the solving results. Figure 9 illustrates the comparison between PSO and SA–PSO. The success rate of SA–PSO is 99.992% with only eight group points trapped into the local convergence. However, the PSO method only reaches 93.805% with 6195 groups error solving. The average iterations are 122.7256 versus 146.6126, and the SA–PSO algorithm shows its fast convergence speed than PSO. The success rate and iterations verify the robustness and feasibility of the proposed algorithm in the whole workspace.

4.4. Comparison between NR Method and SAPSO

In this section, we compare the success rate and the time consuming between the NR method and the SA–PSO algorithm. Five groups of experiments are designed. Each group solves 1000 randomly generated L points. The target accuracy is set as 10 8 . The solving results are illustrated in Table 8.
The NR method fails in some points when the initial value is set as [0 0 0 0 0 0], which may be not proper for these points. When the iteration of NR method is active, it no longer converges. However, because of the randomness introduced to the optimization progress, the SAPSO can work well in these points. Moreover, the SA–PSO method is more efficient than NR method with the operation time less than 40 milliseconds, almost 10% of the NR method.

4.5. Physical Verification Experiments

To demonstrate the applicability of the SA–PSO method, experiments are carried on the Stewart–Gough platform H-850 with six laser displacement sensors calculating the length change of six outriggers. The experimental platform is shown in Figure 10. The measurement accuracy of the laser displacement sensor is 10   μ m , and its measuring range is ± 5   mm . The hexapod platform can be controlled by a moving signal from the controller, and the parameters of it are illustrated in Table 9.
Let the H-850 Stewart–Gough platform move in a single degree of freedom, record the reading of the laser displacement sensor, pass it to the SA–PSO forward kinematic algorithm, and finally compare the errors between the algorithm results and the given motion postures of the platform.
The experimental results show that the SA–PSO algorithm can accurately calculate the corresponding platform posture value through the input outrigger length. In Figure 11, the errors between the solution results and the given posture of the controller are no more than   40   μ m . The main sources of these errors are as follows: 1, the measurement error of the laser displacement sensor; and 2, the positioning error of the platform itself. The measurement accuracy of the laser displacement sensor is not more than 10 μ m , and the structure error caused by the installation will also reduce the accuracy of outrigger rod length measurement. There will be a small positioning deviation when the platform moves. In the future, precise optical means can be used to calibrate the attitude of the platform. Based on the efficiency of the SA–PSO algorithm in forward kinematics, we will next consider applying the algorithm to the model calibration of the SGP structure.

5. Conclusions

Forward kinematic solution is meaningful and vital for the building and analysis of the Stewart–Gough platform. In this paper, the link between the length of six outriggers and posture in six dimensions is built by the proposed optimum algorithm. Through the calculation of the inverse kinematic solution and optimum of the input posture, the result gradually converges to the target solution. To overcome the disadvantage of the standard PSO method, a simulated annealing method is applied to the PSO method to help the algorithm remove the local optimum. The feasibility simulation shows that the SA–PSO is a good method for solving the forward kinematics. Based on this, a group of simulations with different accuracy levels is carried out. And the results indicate the method works well for high accuracy with more iterations. Also, the improved algorithm performs better than the standard PSO method in repetitive simulation experiments with higher success rate and faster convergence speed. The continuous trajectory simulation and the workspace random simulation further verify the better reliability and the superior robustness of the proposed algorithm. As for the convergence dilemma of NR method in some special points, the SA–PSO method performs better than the traditional numerical algorithm in success rate and real-time application, that means it is a powerful complement to traditional algorithms. Finally, a physical platform is built to test the proposed SA–PSO method. It is concluded that for the Stewart–Gough platform, the accurate prediction of posture is based on the precise model of the structure, efficient forward kinematic solving, and high precision measurement of six outriggers. Furthermore, it is significative to study the application of this algorithm in platform design, assembly, parameter calibration and motion control in the future.

Author Contributions

Conceptualization, Z.Y.; methodology, Z.Y.; software, Z.Y.; validation, Z.Y. and R.Q.; formal analysis, Z.Y. and R.Q.; investigation, Z.Y. and R.Q.; resources, Y.L.; data curation, Z.Y. and R.Q.; writing—original draft preparation, Z.Y.; writing—review and editing, Y.L.; visualization, Z.Y.; supervision, Y.L.; project administration, Y.L.; funding acquisition, Y.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Major Program of National Natural Science Foundation of China, grant number 42192582, and National Key R&D Program of China, grand number 2016YFB0500400.

Institutional Review Board Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Stewart, D. A Platform with Six Degrees of Freedom. In Proceedings of the Institution of Mechanical Engineers, London, UK, 1 June 1965; Volume 180, pp. 371–386. [Google Scholar]
  2. Mourrain, B. The 40 “generic” positions of a parallel robot. In Proceedings of the 1993 International Symposium on Symbolic and Algebraic Computation, Kiev, Ukraine, 6–8 July 1993; pp. 173–182. [Google Scholar] [CrossRef]
  3. Dietmaier, P. The Stewart-Gough Platform of General Geometry can have 40 Real Postures. In Advances in Robot Kinematics: Analysis and Control; Springer: Dordrecht, The Netherlands, 1998; pp. 7–16. [Google Scholar] [CrossRef]
  4. Raghavan, M.; Roth, B. Solving Polynomial Systems for the Kinematic Analysis and Synthesis of Mechanisms and Robot Manipulators. J. Mech. Des. 1995, 117, 71–79. [Google Scholar] [CrossRef]
  5. Husty, M. An algorithm for solving the direct kinematics of general Stewart-Gough platforms. Mech. Mach. Theory 1996, 31, 365–379. [Google Scholar] [CrossRef]
  6. Lee, T.-Y.; Shim, J.-K. Forward kinematics of the general 6–6 Stewart platform using algebraic elimination. Mech. Mach. Theory 2001, 36, 1073–1085. [Google Scholar] [CrossRef]
  7. Lee, T.-Y.; Shim, J.-K. Improved dialytic elimination algorithm for the forward kinematics of the general Stewart–Gough platform. Mech. Mach. Theory 2003, 38, 563–577. [Google Scholar] [CrossRef]
  8. Nag, A.; Safar, V.; Bandyopadhyay, S. A uniform geometric-algebraic framework for the forward kinematic analysis of 6-6 Stewart platform manipulators of various architectures and other related 6-6 spatial manipulators. Mech. Mach. Theory 2020, 155, 104090. [Google Scholar] [CrossRef]
  9. Kelley, C.T. Solving Nonlinear Equations with Newton’s Method; Society for Industrial and Applied Mathematics: Philadelphia, PA, USA, 2003. [Google Scholar]
  10. Yang, C.-F.; Zheng, S.-T.; Jin, J.; Zhu, S.-B.; Han, J.-W. Forward kinematics analysis of parallel manipulator using modified global Newton-Raphson method. J. Cent. South Univ. Technol. 2010, 17, 1264–1270. [Google Scholar] [CrossRef]
  11. Han, K.; Chung, W.; Youm, Y. New Resolution Scheme of the Forward Kinematics of Parallel Manipulators Using Extra Sensors. J. Mech. Des. 1996, 118, 214–219. [Google Scholar] [CrossRef]
  12. Parenti-Castelli, V.; Di Gregorio, R. A New Algorithm Based on Two Extra-Sensors for Real-Time Computation of the Actual Configuration of the Generalized Stewart-Gough Manipulator. J. Mech. Des. 1999, 122, 294–298. [Google Scholar] [CrossRef]
  13. Chiu, Y.-J.; Perng, M.-H. Forward Kinematics of a General Fully Parallel Manipulator with Auxiliary Sensors. Int. J. Robot. Res. 2001, 20, 401–414. [Google Scholar] [CrossRef]
  14. Parikh, P.J.; Lam, S.S. Solving the forward kinematics problem in parallel manipulators using an iterative artificial neural network strategy. Int. J. Adv. Manuf. Technol. 2008, 40, 595–606. [Google Scholar] [CrossRef]
  15. Yee, C.S.; Lim, K.-B. Forward kinematics solution of Stewart platform using neural networks. Neurocomputing 1997, 16, 333–349. [Google Scholar] [CrossRef]
  16. Wang, Z.; He, J.; Shang, H.; Gu, H. Forward kinematics analysis of a six-DOF Stewart platform using PCA and NM algorithm. Ind. Robot. Int. J. Robot. Res. Appl. 2009, 36, 448–460. [Google Scholar] [CrossRef] [Green Version]
  17. Morell, A.; Tarokh, M.; Acosta, L. Solving the forward kinematics problem in parallel robots using Support Vector Regression. Eng. Appl. Artif. Intell. 2013, 26, 1698–1706. [Google Scholar] [CrossRef]
  18. Eberhart, R.; Kennedy, J. A new optimizer using particle swarm theory. In Proceedings of the Sixth International Symposium on Micro Machine and Human Science, Nagoya, Japan, 4–6 October 1995; pp. 39–43. [Google Scholar] [CrossRef]
  19. Van Laarhoven, P.J.M.; Aarts, E.H.L. Simulated annealing. In Simulated Annealing: Theory and Applications; Springer: Berlin/Heidelberg, Germany, 1987; pp. 7–15. [Google Scholar]
  20. Rutenbar, R. Simulated annealing algorithms: An overview. IEEE Circuits Dev. Mag. 1989, 5, 19–26. [Google Scholar] [CrossRef]
  21. Shieh, H.-L.; Kuo, C.-C.; Chiang, C.-M. Modified particle swarm optimization algorithm with simulated annealing behavior and its numerical verification. Appl. Math. Comput. 2011, 218, 4365–4383. [Google Scholar] [CrossRef]
Figure 1. Simplified structure and vector geometry diagram of the SGP. (a) Main components of SGP. (b) Kinematic vector diagram of single outrigger.
Figure 1. Simplified structure and vector geometry diagram of the SGP. (a) Main components of SGP. (b) Kinematic vector diagram of single outrigger.
Applsci 12 07657 g001
Figure 2. Space Q and L are linked by IK( ) and FK( ).
Figure 2. Space Q and L are linked by IK( ) and FK( ).
Applsci 12 07657 g002
Figure 3. The searching progress comparison of PSO and SA–PSO.
Figure 3. The searching progress comparison of PSO and SA–PSO.
Applsci 12 07657 g003
Figure 4. The geometry and parameters of the SGP. (a) The vertical view of the platform. (b) The main view of the platform.
Figure 4. The geometry and parameters of the SGP. (a) The vertical view of the platform. (b) The main view of the platform.
Applsci 12 07657 g004
Figure 5. Convergence of Six–DOF and fitness by SA–PSO method. (a) Posture convergence progress with iteration. (b) Fitness convergence with iteration.
Figure 5. Convergence of Six–DOF and fitness by SA–PSO method. (a) Posture convergence progress with iteration. (b) Fitness convergence with iteration.
Applsci 12 07657 g005
Figure 6. Continuous motion of the platform. (a) Motion of six degrees. (b) Length of six outriggers.
Figure 6. Continuous motion of the platform. (a) Motion of six degrees. (b) Length of six outriggers.
Applsci 12 07657 g006
Figure 7. The fitness for the continuous trajectory. (a) Fitness of PSO. (b) Fitness of SA–PSO.
Figure 7. The fitness for the continuous trajectory. (a) Fitness of PSO. (b) Fitness of SA–PSO.
Applsci 12 07657 g007
Figure 8. The histogram of iterations for the continuous trajectory. (a) Iterations of PSO. (b) Iterations of SA–PSO.
Figure 8. The histogram of iterations for the continuous trajectory. (a) Iterations of PSO. (b) Iterations of SA–PSO.
Applsci 12 07657 g008
Figure 9. The fitness results and the iterations of the whole workspace postures. (a) Fitness of PSO soling results for workspace sampling. (b) Histogram of PSO iterations. (c) Fitness of SA–PSO solving results for workspace sampling. (d) Histogram of SA–PSO iterations.
Figure 9. The fitness results and the iterations of the whole workspace postures. (a) Fitness of PSO soling results for workspace sampling. (b) Histogram of PSO iterations. (c) Fitness of SA–PSO solving results for workspace sampling. (d) Histogram of SA–PSO iterations.
Applsci 12 07657 g009aApplsci 12 07657 g009b
Figure 10. The experimental platform to verify the SA–PSO forward solution.
Figure 10. The experimental platform to verify the SA–PSO forward solution.
Applsci 12 07657 g010
Figure 11. The SA–PSO results and the error for the experiments. (a) X rotation results and errors. (b) X translation results and errors. (c) Y rotation results and errors. (d) Y translation results and errors. (e) Z rotation results and errors. (f) Z translation results and errors.
Figure 11. The SA–PSO results and the error for the experiments. (a) X rotation results and errors. (b) X translation results and errors. (c) Y rotation results and errors. (d) Y translation results and errors. (e) Z rotation results and errors. (f) Z translation results and errors.
Applsci 12 07657 g011
Table 1. The coordinates of the SGP hinge points for simulation (unit: centimeter).
Table 1. The coordinates of the SGP hinge points for simulation (unit: centimeter).
Top Coordinates (cm)Base Coordinates (cm)
A 1 [−19.3185, −5.1764, −5]T B 1 [−21.2132, −21.2132, 0]T
A 2 [−19.3185, 5.1764, −5]T B 2 [−21.2132, 21.2132, 0]T
A 3 [5.1764, 19.3185, −5]T B 3 [−7.7646, 28.9778, 0]T
A 4 [14.1421, 14.1421, 5]T B 4 [28.9778, 7.7664, 0]T
A 5 [14.1421, −14.1421, −5]T B 5 [28.9778, −7.7664, 0]T
A 6 [5.1764, −19.3185, −5]T B 6 [−7.7664, −28.9778, 0]T
Table 2. SA–PSO parameters after optimization.
Table 2. SA–PSO parameters after optimization.
ParameterValueParameterValue
Population80 κ B 0.98
w m a x 0.42 w m i n 0.1
c 1 1.8 c 2 2.2
x m i n , x m a x ± 0.3 m or rad v m i n , v m a x ± 0.03 m or rad
Table 3. Error of each dimension by SA–PSO.
Table 3. Error of each dimension by SA–PSO.
Dimension Error   ( 10 7 ) Dimension Error   ( 10 7 )
X-trans0.0133X-rot−0.1810
Y-trans0.0660Y-rot0.3021
Z-trans−0.0122Z-rot−0.0730
Table 4. Average iterations and time for different accuracy.
Table 4. Average iterations and time for different accuracy.
Accuracy   ε Average   Iterations   K e v
10 6 95.61
10 7 107.10
10 8 117.54
10 9 127.16
10 10 135.94
Table 5. The average number of iterations and success rate.
Table 5. The average number of iterations and success rate.
GroupPSOSA–PSO
k e v Success Rate k e v Success Rate
1146.3694.54%116.0799.92%
2140.81100%113.51100%
3144.5695.91%113.5199.96%
4140.53100%112.61100%
5142.8396.23%114.8899.97%
6142.1095.47%114.0099.99%
7144.5498.49%115.1199.93%
8140.55100%112.45100%
9147.1794.28%115.0099.96%
10148.0293.89%114.12100%
Table 6. The six-dimensional trajectory.
Table 6. The six-dimensional trajectory.
PostureDimensionMotion Trajectory
X-trans Q 1 ( t ) 0.15 sin ( 2 π t )
Y-trans Q 2 ( t ) 0.12 sin ( 2 π t )
Z-trans Q 3 ( t ) 0.1 t
X-rot Q 4 ( t ) 0.10 sin ( π t )
Y-rot Q 5 ( t ) 0.20 sin ( π t )
Z-rot Q 6 ( t ) 0.05 sin ( π t )
Table 7. The comparison between PSO and SA–PSO in iterations.
Table 7. The comparison between PSO and SA–PSO in iterations.
ItemsPSOSA–PSO
Average iterations141.00100.82
Maximum iterations168113
Minimum iterations12291
Standard deviation5.983.10
Table 8. The random comparison experiments between NR and SA–PSO.
Table 8. The random comparison experiments between NR and SA–PSO.
TestSuccess Rate (%)Average Time Consuming (s)
NRSA–PSONRSA–PSO
196.299.90.37080.0372
297.41000.34680.0356
397.799.80.37250.0377
497.31000.47060.0348
5971000.36380.0350
Table 9. The coordinates of the joints of the Stewart–Gough platform H-850.
Table 9. The coordinates of the joints of the Stewart–Gough platform H-850.
TopCoordinate (mm)BaseCoordinate (mm)
A 1 [ 90.9842 , 22.7693 , 29.9670 ] T B 1 [ 90.6333 , 116.3188 , 273.0900 ] T
A 2 [ 90.9842 ,   22.7693 , 29.9670 ] T B 2 [ 90.6333 ,   116.3188 , 273.0900 ] T
A 3 [ 25.7733 ,   90.1793 , 29.9670 ] T B 3 [ 55.4184 ,   136.6501 , 273.0900 ] T
A 4 [ 65.2109 , 67.4100 , 29.9670 ] T B 4 [ 146.0517 ,   20.3313 , 273.0900 ] T
A 5 [ 65.2109 , 67.4100 , 29.9670 ] T B 5 [ 146.0517 , 20.3313 , 273.0900 ] T
A 6 [ 25.7733 , 90.1793 , 29.9670 ] T B 6 [ 55.4184 , 136.6501 , 273.0900 ] T
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Yin, Z.; Qin, R.; Liu, Y. A New Solving Method Based on Simulated Annealing Particle Swarm Optimization for the Forward Kinematic Problem of the Stewart–Gough Platform. Appl. Sci. 2022, 12, 7657. https://doi.org/10.3390/app12157657

AMA Style

Yin Z, Qin R, Liu Y. A New Solving Method Based on Simulated Annealing Particle Swarm Optimization for the Forward Kinematic Problem of the Stewart–Gough Platform. Applied Sciences. 2022; 12(15):7657. https://doi.org/10.3390/app12157657

Chicago/Turabian Style

Yin, Zihao, Rongjie Qin, and Yinnian Liu. 2022. "A New Solving Method Based on Simulated Annealing Particle Swarm Optimization for the Forward Kinematic Problem of the Stewart–Gough Platform" Applied Sciences 12, no. 15: 7657. https://doi.org/10.3390/app12157657

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop