Proceedings of the Institution of Mechanical Engineers, Part C: Journal of Mechanical Engineering Science http://pic.sagepub.com/
Solving the forward kinematics problem of six-DOF Stewart platform using multi-task Gaussian process Jianjun He, Hong Gu and Zhelong Wang Proceedings of the Institution of Mechanical Engineers, Part C: Journal of Mechanical Engineering Science 2013 227: 161 originally published online 17 April 2012 DOI: 10.1177/0954406212444508 The online version of this article can be found at: http://pic.sagepub.com/content/227/1/161
Published by: http://www.sagepublications.com
On behalf of:
Institution of Mechanical Engineers
Additional services and information for Proceedings of the Institution of Mechanical Engineers, Part C: Journal of Mechanical Engineering Science can be found at: Email Alerts: http://pic.sagepub.com/cgi/alerts Subscriptions: http://pic.sagepub.com/subscriptions Reprints: http://www.sagepub.com/journalsReprints.nav Permissions: http://www.sagepub.com/journalsPermissions.nav Citations: http://pic.sagepub.com/content/227/1/161.refs.html
>> Version of Record - Dec 17, 2012 OnlineFirst Version of Record - Apr 17, 2012 What is This?
Downloaded from pic.sagepub.com by guest on October 11, 2013
Original Article
Solving the forward kinematics problem of six-DOF Stewart platform using multi-task Gaussian process
Proc IMechE Part C: J Mechanical Engineering Science 227(1) 161–169 ! IMechE 2012 Reprints and permissions: sagepub.co.uk/journalsPermissions.nav DOI: 10.1177/0954406212444508 pic.sagepub.com
Jianjun He, Hong Gu and Zhelong Wang
Abstract The forward kinematics problem of general six-degree-of-freedom Stewart platform is addressed in this article. Unlike the convention taking positional variables as independent ones and solving them individually, this article presents an alternative approach which takes the positional variables as multiple-related tasks and exploits the commonality between them using a multi-task Gaussian process learning method, as a result, a simple adaptive algorithm, which may satisfy the requirements for high accuracy and real-time processing, is established. Moreover, the proposed algorithm can achieve the desired accuracy using 1000 training samples at most, which is far less than those of other algorithms. Simulation results on a Stewart platform used in aircraft flight simulation system show that the proposed algorithm can achieve superior performance. Keywords Stewart platform, forward kinematics, multi-task learning, Gaussian process Date received: 22 June 2011; accepted: 14 March 2012
Introduction The six-degree-of-freedom (DOF) Stewart platform is a parallel mechanism that generally consists of six identical telescopic links, a mobile platform, and a base platform. As shown in Figure 1, each link connects the base and the mobile platforms with universal and spherical joints respectively, and the link length is controlled by a prismatic joint. The base platform is generally fixed as a base and the mobile platform has sixDOF motion with respect to the base platform. Over the past years, six-DOF Stewart platform has received more and more attentions from researchers due to its extensive applications in various fields such as machine tool technology, medical robots, crane technology, underwater research, flight simulation systems, airto-sea rescue, and telescopes. The forward kinematics problem (FKP) of Stewart platform is to compute the position and orientation (pose) of mobile platform when link lengths are given. Because it involves a set of highly coupled nonlinear equations and in general there is no closed form and unique solution, this problem has never been fully solved and researchers have to explore new algorithms.
Approaches for solving FKP may be classified into two categories. The first category mainly focuses on finding all the possible solutions of FKP for a certain Stewart platform. Some representative approaches of this category are polynomial, continuation, and interval analysis methods. Polynomial methods1,2 usually use different variable elimination techniques to generate a high degree of polynomial equation with a single unknown. Also, all the possible solutions can be found by solving this polynomial equation. In continuation methods,3,4 a solvable start system of equations is transformed into a target system of equations incrementally, while all the solutions of the target system can be found by tracking the solutions of start system. The main idea of interval analysis method5 is to obtain convergence region of all Faculty of Electronic Information and Electrical Engineering, Dalian University of Technology, Dalian, China Corresponding author: Hong Gu, Faculty of Electronic Information and Electrical Engineering, Dalian University of Technology, Chuangxinyuan Building B712, Dalian, Liaoning, 116024, China. Email:
[email protected]
162
Proc IMechE Part C: J Mechanical Engineering Science 227(1)
The mobile platform t6
Spherical joint
t1
z' M-frame
t5
x'
O' t4
Prismatic joint y' t2
t3
Universal joint
z b5
b4
b6
y
O
b3
x b1
b2 B-frame
The base platform
Figure 1. An example of six-DOF Stewart platform. DOF: degree of freedom.
solutions by subdividing the solution space of equations. The other category tries to find a unique actual pose of mobile platform in real time using numerical techniques. Neural network is one of the popular approaches of this category. In Yurt et al.,6 a feedforward neural network was trained using backpropagation algorithm to solve the FKP of 6-3 Stewart platform. Parikh and Lam7 proposed a neural network based hybrid approach where they obtained an initial solution to the Newton–Raphson method through a neural network. Considering the hybrid approach may be time consuming, they developed an iterative neural network approach8 which consists of a trained neural network and an error compensation algorithm in the feedback loop. Some other approaches also have been introduced. Wang9 presented a numerical method that utilizes the relationship between the small change in link lengths and the small motion of mobile platform to generate a unique solution. Liu et al.10 discussed the solution of FKP of general Stewart platform using hybrid immune genetic algorithm. In Chen et al.,11 the FKP was solved using a nonlinear observer designed to estimate the system states including threeaxis translations and rotations. Principal component analysis (PCA) was used to establish an iterative algorithm for FKP by Wang et al.12 Since the PCA-based algorithm can hardly be used in real-time situation, recently, they presented an improved algorithm using independent component analysis.13 Though many
approaches have been developed and promising results have been achieved for certain simplified configurations of Stewart platform, it is still a challenging problem to devise a methodology that can solve the FKP for general Stewart platform in real time and with high accuracy. Researchers have found that in many situations, learning multiple-related tasks simultaneously can achieve better performance than learning each of them independently.14,15 In machine learning field, this subject is approached through multi-task learning, which aims to improve the performance of learning tasks using a shared model. Since many real-world problems can be solved in the framework of it, multitask learning has received extensive attentions of researchers and many algorithms have been developed using the strategies such as sharing hidden nodes in neural networks,14 placing a common prior in Bayesian models,15,16 sharing parameters of Gaussian processes,17–19 and structured regularization in kernels methods.20 In the previous approaches for solving FKP of Stewart platform, the six positional variables (i.e. variables represent the position and orientation of the mobile platform) are taken as independent ones and individually solved. However, it is attractive if one can exploit commonality in these variables to improve performance. The aim of this article is to show how this can be carried out. Using a multi-task Gaussian process (MTGP) learning method, link lengths are transformed into other six variables called intermediate variables, each of which is only related to one of the positional variables. Then, six one-to-one relationships between these intermediate and positional variables may be identified. As a result, a simple iterative algorithm for solving the FKP can be established using these oneto-one relationships. The structure of the remainder of this article is as follows: ‘The kinematic model of Stewart platform’ is illustrated in the following section. Next, ‘Multi-task Gaussian process’ is used to get a set of intermediate variables. Thereafter, ‘Iterative algorithm’ is presented. Then, ‘Simulations’ are carried out. The ‘Conclusions’ make up the final section.
The kinematic model of Stewart platform For the convenience of a establishing kinematic model, two right-handed Cartesian coordinate systems were set up for the Stewart platform. As shown in Figure 1, the B-frame Oxyz has its origin at the centroid of the base platform and the M-frame Ox0 y0 z0 at the centroid of the mobile platform. The z- and z0 -axes are vertically directed out of the plane of base and mobile platforms, respectively. The axes of the two coordinate systems are
He et al.
163
aligned when the mobile platform is at its initial position. The terms bi and ti are the joints of ith link on the base and mobile platforms, respectively. The pose of the mobile platform can be represented by six positional variables (x, y, z, , , and ). Here, (x, y, z) are the coordinates of O0 in the B-frame and , , and the rotational angles of the mobile platform relative to z-, y-, and x-axes of B-frame, respectively. Let (bi1, bi2, bi3)T denote the coordinate of joint bi in B-frame and (ti1, ti2, ti3)T be the coordinate of ti in M-frame. Here, li is the length of ith link (i ¼ 1, . . . , 6). The inverse kinematic model of Stewart platform may be established as follows jjðx, y, zÞT þ Rðti1 , ti2 , ti3 ÞT ðbi1 , bi2 , bi3 ÞT jj ¼ li , i ¼ 1, . . . , 6
ð1Þ
where R is a rotation matrix defined as 0
cos cos cos sin sin sin cos R ¼ @ sin cos sin sin sin þ cos cos sin cos sin
where Yk ¼ {yi(xk)ji ¼ 1, . . . , m}. For notional convenience, S ¼ {(x1, Y1), . . . , (xn, Yn)} is named ‘training set,’ and Y is represented by a vector (y1(x1), . . . , y1(xn), . . . , ym(x1), . . . , ym(xn))T rather than the set {Y1, . . . , Yn}. The purpose of multi-task learning is to predict the function values {g1(x*), . . . , gm(x*)} for a new input x* based on the training set S. To this end, the basic idea of MTGP is to place a Gaussian process prior over the functions {gi(x)ji ¼ 1, . . . , m, i.e. suppose {gi(x)ji ¼ 1, . . . , m} are Gaussian processes with zero mean and the following covariance covð gi ðxÞ, gj ðx0 ÞÞ ¼ Kgij kðx, x0 Þ, i, j ¼ 1, . . . , m
ð3Þ
where Kg is a positive semi-definite matrix that specifies the correlations among {giji ¼ 1, . . . , m} and k(,) a covariance 2 function over input x; kðx, x0 Þ ¼ 0 jj expð jjxx Þ is used in this study. 2
1 cos sin cos þ sin sin sin sin cos cos sin A cos cos
ð2Þ
Thus, the FKP of Stewart platform is to find a set of functions {x ¼ f1(L), y ¼ f2(L), . . . , ¼ f6(L)} using equation (1); here, L ¼ (l1, . . . , l6)T. The proposed algorithm will be described based on a real-world six-DOF Stewart platform used in aircraft flight simulation system.21 This Stewart platform includes a fixed base and a payload platform upon which a cockpit and a visual display are mounted. The payload platform is a six-DOF motion system drove by six hydraulically powered position servomechanisms. Its geometrical parameters are given in Dieudonne et al.21
Let G ¼ (g1(x1), . . . , g1(xn), . . . , gm(x1), . . . , gm(xn))T and G* ¼ (g1(x*), . . . , gm(x*))T be two vectors that, respectively, consist of the values of functions {gi(x)ji ¼ 1, . . . , m} on X and x*. The following prior distributions over G and G* can be obtained using equation (3),
Multi-task Gaussian process
where K is the covariance matrix of X, K** ¼ k(x*, x*), K* is the covariance vector between X and x*. Thus, the conditional prior
It can be seen from the above section that the FKP of Stewart platform is to find functions {f1, . . . , f6}. In this section, MTGP is used to find an approximation function fi of fi (i ¼ 1, . . . , 6), which will be used to establish an iterative algorithm for solving FKP. MTGP is a multi-task learning model recently proposed by Bonilla et al.19 in the context of Gaussian processes. Let {gi(x)ji ¼ 1, . . . , m} be m related task functions that cannot be described by any explicit expression. It is typical for more realistic modeling situations that we do not have access to function value gi(x) itself, but only noisy version thereof yi(x) ¼ gi(x) þ "i, i ¼ 1, . . . , m. Let X ¼ {x1, . . . , xn} be a set of inputs and Y ¼ {Y1, . . . , Yn} be the set that consists of the observations of {gi(x)ji ¼ 1, . . . , m} on the input set X,
pðGjX, Kg , Þ ¼ N ðGj0, Kg KÞ pðG , GjX, x , Kg , Þ ¼ g G K K N j0, G Kg K
Kg KT
ð4Þ
Kg K
ð5Þ
pðG jG, X, x , Kg , Þ ¼ N ðG jðIg KT K1 ÞG, Kg ðK KT K1 K ÞÞ
ð6Þ
may be analytically deduced, where Ig is an identity matrix with the same order as Kg. We have assumed that the observation yi(x) differs from the function value gi(x) by additive noise "i, and we will further assume that this noise follows an independent, identically distributed Gaussian distribution with zero mean and variance i2 , i.e. "i N ð0, i2 Þ, i ¼ 1, . . . , m
ð7Þ
164
Proc IMechE Part C: J Mechanical Engineering Science 227(1)
Thus, we can obtain the likelihood
accuracy. In the following section, we will first analyze the relationships between f fi ji ¼ 1, . . . , 6g and {x, y, z, , , }, and then use the obtained relationships to establish a simple iterative algorithm for solving FKP, which can satisfy the requirements for real-time processing and high accuracy.
pðYjG, DÞ ¼ N ðYjG, D IÞ
ð8Þ
where D ¼ diagf12 , . . . , m2 g and I is an identity matrix. Equipped with the prior (4) and the likelihood (8), a close-form of the posterior distribution p(GjY, X, Kg, , D) can be deduced using Bayes’ rule pðGjY, X, Kg , , DÞ ¼
Equation (14) may be obtained by substituting equation (1) into equation (13),
pðYjG, DÞ pðGjX, Kg , Þ pðYjX, Kg , , DÞ
¼ N ðGjðKg KÞ1 Y, ðKg KÞ1 ðD IÞÞ where ¼ Kg K þ D I, and Z pðYjX,Kg ,,DÞ ¼ pðYjG,DÞpðGjX,Kg ,ÞdG
ð9Þ
ð10Þ
denotes the marginal likelihood for the hyperparameter , Kg and D. Using the conditional prior (6) and the posterior (9), we can obtain the predictive distribution of G* pðG jX, Y, x , Kg , , DÞ Z ¼ pðG jG, X, X , Kg , Þ pðGjY, X, Kg , , DÞdG ¼ N ðG jðKg K ÞT 1 Y, Kg K ðKg K ÞT 1 ðKg K ÞÞ
ð11Þ
Thus, the mean prediction on a new input x* for the ith task gi(x) is gi ðx Þ ¼ ðKgi K ÞT 1 Y, ¼ Kg K þ D I
ð12Þ
where Kgi selects the ith column of Kg, and the hyperparameter , Kg and D can be obtained by maximizing the marginal likelihood p(YjX, , Kf, D) (10) using a gradient-based method. Until now, the whole MTGP algorithm has been presented. Let {Qk ¼ (xk, yk, zk, k, k, k)Tj k ¼ 1, . . . , n} be a sample set of positional variables, the corresponding sample set {Lk ¼ (lk1, . . . , lk6)T j k ¼ 1, . . . , n} of link lengths can be computed using equation (1). Taking S ¼ {(Lk, Qk)j k ¼ 1, . . . , n} as a training set, we can obtain an approximation function fi of fi using equation (12), i ¼ 1, . . . , 6, i.e. fi ðL Þ ¼ ðKgi K ÞT 1 Y, ¼ Kg K þ D I
Iterative algorithm
ð13Þ
It can be seen that the computational cost of equation (13) is in proportion to n. Although f fi ji ¼ 1, . . . , 6g may also be taken as a solution of FKP, it usually cannot satisfy the requirement of real-time processing because it needs a big training set to obtain the desired
fi ¼ hi ðx, y, z, , , Þ
ð14Þ
For the convenience of expression, f fi ji ¼ 1, . . . , 6g are called intermediate variables. In order to analyze the relationships between f fi ji ¼ 1, . . . , 6g and {x, y, z, , , }, two sample sets Qð1Þ ¼ fQð1Þ k jk ¼ 1, . . . , n1 g and Qð2Þ ¼ fQð2Þ jk ¼ 1, . . . , n g of positional variables are 2 k generated from the uniform distribution on the range of these positional variables; here, n1 ¼ 500 and n2 ¼ 1000. A sample set fLð1Þ of k j k ¼ 1, . . . , n1 g link lengths corresponding to Q(1) can be computed ð1Þ using equation (1). Taking fðLð1Þ k , Qk Þj k ¼ 1, . . . , n1 g as a training set of equation (13), we can obtain a sample set F ¼ {Fkj k ¼ 1, . . . , n2} of f fi ji ¼ 1, . . . , 6g corresponding to Q(2) from equation (14); here, Fk ¼ ð fk1 , . . . , fk6 ÞT , fki ¼ hi ðQð2Þ k Þ. Figure 2 visualizes the relationships between intermediate variables f fi ji ¼ 1, . . . , 6g and positional variables {x, y, z, , , } by plotting all the samples fðFk , Qð2Þ k Þj k ¼ 1, . . . , n2 g. The relationship between f1 and x may be concluded as follows: (1) f1 is mainly related to x and the other five positional variables do not have much effect on it. (2) f1 ¼ h1 ðx, y, z, , , Þ is a monotone increasing continuous function of x if other positional variables are given. The relationships ð f2 , yÞ, ð f3 , zÞ, . . . , and ð f6 , Þ are the same as ð f1 , xÞ and will not be repeated here. Let L* ¼ (l*1, . . . , l*6)T be the given values of link lengths, the FKP of Stewart platform is to find the corresponding values of positional variables. The proposed algorithm includes two steps: (1) computing the values F ¼ ð f1 , . . . , f6 ÞT of intermediate variables corresponding to L_* using equation (13). (2) Solving the equations f fi ¼ hi ðx, y, z, , , Þji ¼ 1, . . . , 6g, the solution (x*, y*, z*, *, *, *) is the desired values of positional variables. Because f1 , . . . , f6 are mainly related to x, y, z, , , and , respectively, the equations f fi ¼ hi ðx, y, z, , , Þji ¼ 1, . . . , 6g can be solved using a simple iterative method. The flowchart of the proposed algorithm is shown in Figure 3. The termination condition of the algorithm is that the difference jfi hi ðx0 , y0 , z0 , 0 , 0 , 0 Þj is smaller than "i for all i ¼ 1, . . . , 6. Here, "1, . . . , "6 are the critical values of the allowable errors of x, y, z, , , and ,
He et al.
165
The relationship between x and {f¯1 }
The relationship between y and {f¯2 }
(b)
150
150
100
100 Positional variable y
Positional variable x
(a)
50 0 −50
0 −50 −100
−100 −150 −150
−100
−50 0 50 Intermediate variable f¯1
100
−150 −150
150
The relationship between z and {f¯3 }
(c)
50
−50 0 50 Intermediate variable f¯2
100
150
The relationship between α and {f¯4 }
(d)
400
−100
0.4 0.3 Positional variable α
Positional variable z
350
300
250
0.2 0.1 0 −0.1 −0.2
200
−0.3 150 150
(e) 0.6
200
250 300 350 Intermediate variable f¯3
−0.4 −0.4
400
The relationship between β and { f¯5 }
−0.2 0 0.2 intermediate variable f¯4
0.4
The relationship between γ and { f¯6 }
(f) 0.6 0.4 Positional variable γ
Positional variable β
0.4
0.2
0
0.2 0 −0.2 −0.4
−0.2 −0.6 −0.4 −0.4
−0.2
0 0.2 0.4 Intermediate variable f¯5
0.6
−0.8 −0.8
−0.6
−0.4 −0.2 0 0.2 Intermediate variable f¯6
0.4
0.6
Figure 2. The relationships between positional variables and ffi ji ¼ 1, . . . , 6g.
respectively. Because f1 ¼ h1 ðx, y, z, , , Þ is a monotone increasing continuous function of x if other positional variables are given, Nelder–Mead algorithm can be used to search x* that satisfies f1 ¼ h1 ðx , y0 , z0 , 0 , 0 , 0 Þ. The detailed description of the algorithm searching for x* is shown in Figure 4. The algorithms searching for y*, z*, *, *, and *
are the same as the algorithm of x*. Hence, they will not be repeated here.
Simulations For investigating the performance of the proposed ð1Þ algorithm, a training set fðLð1Þ k , Qk Þj k ¼ 1, . . . , n1 g
166
Proc IMechE Part C: J Mechanical Engineering Science 227(1)
Figure 3. The flowchart of the proposed iterative algorithm.
ð2Þ and a test set fðLð2Þ k , Qk Þj k ¼ 1, . . . , n2 g are created, ð1Þ where fQk jk ¼ 1, . . . , n1 g and fQð2Þ k jk ¼ 1, . . . , n2 g are two sample sets of positional variables generated from the uniform distribution on their ranges; ð2Þ fLð1Þ k jk ¼ 1, . . . , n1 g and fLk jk ¼ 1, . . . , n2 g, which can be obtained using equation (1), are the sample sets of link lengths corresponding to fQð1Þ k jk ¼ 1, . . . , n1 g and fQð2Þ k jk ¼ 1, . . . , n2 g, respectively. In the simulations, n2 is set to 5000; the training and test sets, respectively, are generated 10 times, and the average performance is recorded. In addition, the simulations are conducted on a 1.5 GHz CPU, 256 MB RAM computer system based on a Matlab implementation of the proposed algorithm. Table 1 presents the computed results of proposed algorithm with different numbers of training samples when "1, "2, "3 ¼ 0.01 mm and "4, "5, "6 ¼ 0.003 . Here, MAE stands for mean absolute error and Perc stands for the percentage of samples that meet the allowable error. It can be seen that the performance of the proposed algorithm evidently improves when the number of training samples changes from 200 to 500 and then tends to level up in interval [500, 900]. Table 2 presents the computed results of the proposed algorithm with different allowable errors when n1 ¼ 800. It could be observed that Perc is mainly related to the ratio of "1, "2, "3 to "4, "5, "6 and the
Initialization:
iff | f I 1 xU
xI
x0 , f I 1
xU
x0
f**1 | | fU 1
x ', f
h1 ( xI , y0 , z0 ,
1, fU 1
f**1 |, x '
f I1, f I1
0
,
0
h1 ( xU , y0 , z0 ,
xI , x I
fU 1 , fU 1
,
0
0,
) 0
,
0
xU ,
f , end;
No | f I1
f*1 * |
output xI
1
Yess Y Ye
xR
xI
( xI
xU )
f R1
h1 ( xR , y0 , z0 ,
0
,
0
,
0
)
No | fR1 f*1 * |
1
| fI 1 f**1 |
| f R1
f*1 * |
| fU 1
f*1 * |
1
No
xE
Yes xI 2( xI
f E1
h1 ( xE , y0 , z0 ,
| fE1
f*1 * |
| f R1
f*1 * |
Yes xU
fU 1
xU ) 0
,
0
,
0
xU
1
No fU 1
xU
xU
Yes
xR , fU 1
)
xI
1 2
( xI
f R1
f E1
Figure 4. The algorithm for searching x*.
f R1
xU )
h1 ( xU , y0 , z0 ,
xE
xR
fU 1
0
,
0
,
0
)
)
He et al.
167
computing time, and average number of iterations are related to the scale of allowable errors. In order to evaluate the relative performance of the proposed algorithm, it is compared with three published algorithms. Because the codes are difficult to be implemented or obtained, all the information of the published algorithms is taken from their original literatures. The second column in Table 3 presents the reported best accuracy of each algorithm. It can be
seen, as far as the accuracy is concerned, the proposed algorithm can achieve superior performance to the published algorithms. The third and the fourth columns in Table 3, respectively, present the computed time of each algorithm and the configuration of the computer system on which the simulations are conducted, it can be seen that the proposed algorithm will spend more computing time than iterative artificial neural network algorithm8 and Parikh’s algorithm7. However, today, a
Table 1. The performance of the proposed algorithm with different numbers of training samples. MAE of positional variables Number of training samples
Time (s)
Average number of iterations
200 300 400 500 600 700 800 900
0.3522 0.2940 0.2681 0.2593 0.2646 0.2546 0.2475 0.2447
4.8683 4.1264 3.7785 3.5536 3.4640 3.2674 3.1198 2.9877
Perc (%)
x (102 mm)
y (102 mm)
z (102 mm)
(103o)
(103o)
(103o)
77.26 86.83 90.93 92.53 93.26 94.64 95.89 96.68
0.6190 0.4443 0.3418 0.2938 0.2754 0.2545 0.2256 0.2180
0.6793 0.4904 0.3877 0.3338 0.3230 0.2896 0.2639 0.2462
0.8101 0.5788 0.4494 0.3849 0.3740 0.3319 0.2927 0.2781
0.7603 0.7172 0.6930 0.6877 0.6924 0.6841 0.6842 0.6843
0.7712 0.7370 0.7224 0.7130 0.7127 0.7151 0.7045 0.6928
0.7873 0.7571 0.7328 0.7194 0.7206 0.7216 0.7124 0.7032
MAE: mean absolute error.
Table 2. The performance of the proposed algorithm with different allowable errors. Allowable errors
MAE of positional variables
e1, e2, e3 (mm)
e4, e5, e6 ( )
Time (s)
Average number of iterations
0.25 0.1 0.05 0.025 0.01 0.01 0.001
0.01 0.01 0.01 0.01 0.01 0.001 0.0001
0.1244 0.1526 0.1662 0.1849 0.2166 0.2859 0.4435
2.2260 2.4589 2.5780 2.7827 3.0461 3.1859 3.6863
Perc (%)
x (mm)
y (mm)
z (mm)
( )
( )
( )
99.23 98.62 97.83 93.90 78.50 98.86 98.93
3.8 102 1.7 102 9.8 103 7.0 103 5.2 103 1.6 103 1.6 104
4.2 102 2.0 102 1.1 102 7.8 103 6.1 103 1.9 103 1.7 104
4.6 102 2.2 102 1.2 102 8.7 103 6.2 103 2.1 103 1.9 104
2.5 103 2.5 103 2.4 103 2.4 103 2.4 103 2.3 104 2.4 105
2.5 103 2.5 103 2.4 103 2.4 103 2.4 103 2.5 104 2.4 105
2.8 102 2.6 103 2.5 103 2.5 103 2.4 103 2.5 104 2.5 105
MAE: mean absolute error.
Table 3. Comparison of different algorithms. Algorithms
Accuracy 7
Parikh’s algorithm PCA-based algorithm12 Iterative ANN8 The proposed algorithm
0.01 mm, 0.01 0.01 mm, 0.0003 0.25 mm, 0.01 0.001 mm, 0.0001
PCA: principal component analysis and ANN: artificial neural network.
Time (s)
Computer systems
0.02 >1 0.1 0.4
0.5 GHz 1.8 GHz 0.5 GHz 1.5 GHz
CPU, CPU, CPU, CPU,
128 MB 512 MB 128 MB 256 MB
RAM RAM RAM RAM
168
Proc IMechE Part C: J Mechanical Engineering Science 227(1)
Table 4. The performance of the proposed algorithm on the Setwart platform used by Yurt et al.6 Allowable error
MAE of positional variables
e1, e2, e3 (mm)
e4, e5, e6 ( )
Time (s)
Average number of iterations
(0.1 0.05 0.01 0.002 0.001 0.001 0.0001
0.01 0.01 0.01 0.01 0.01 0.001 0.0001
0.0565 0.0613 0.0907 0.1318 0.1445 0.1653 0.2523
1.768 1.1573 1.6279 2.0172 2.0657 2.065 2.3965
Perc (%)
x (mm)
y (mm)
z (mm)
( )
( )
( )
100 100 100 99.03 92.36 100 100
1.4 102 7.6 103 1.6 103 4.5 104 3.3 104 1.4 104 1.5 105
1.5 102 7.7 103 1.6 103 4.0 104 3.1 104 1.4 104 1.6 105
1.2 102 5.7 103 1.4 103 2.9 104 1.9 104 1.3 104 1.4 105
2.5 103 2.5 103 2.5 103 2.5 103 2.5 103 2.5 104 2.3 105
2.5 103 2.4 103 2.4 103 2.4 103 2.4 103 2.3 104 2.4 105
2.4 103 2.4 103 2.4 103 2.4 103 2.4 103 2.3 104 2.4 105
MAE: mean absolute error.
common personal computer has been with 2.7 GHz CPU, 2 GB RAM, which is enough to make the proposed algorithm satisfy the requirements for real-time processing of many applications. At last, in order to evaluate the performance of the proposed algorithm on the Stewart platform adopting other geometrical parameters, it is applied to a 6-3 Stewart platform used by Yurt et al.6 Table 4 presents some results of the proposed algorithm using 800 training samples. It can be seen that the proposed algorithm also can achieve superior performance.
Conclusions The forward kinematics is essential for the applications of Stewart platform. Although many approaches have been developed, it is still a challenge to devise a methodology for general Stewart platform that satisfies the requirements for high accuracy and real-time processing. Unlike the convention taking the positional variables as independent ones and solving them individually, this article presents an alternative approach which considers the variables as multiple-related tasks and solves them simultaneously. Simulation results show that the proposed algorithm can achieve superior performance. Funding This study was supported by China Earthquake Research Funds (grant no. 200808075) and Liaoning Provincial Natural Science Foundation of China (grant no. 20102025).
Conflict of interests None Declared.
References 1. Lee TY and Shim JK. Forward kinematics of the general 6-6 Stewart platform using algebraic elimination. Mech Mach Theory 2001; 36: 1073–1085.
2. Lee TY and Shim JK. Improved dialytic elimination algorithm for the forward kinematics of the general Stewart-Gough platform. Mech Mach Theory 2003; 38: 563–577. 3. Mu Z and Kazerounian K. A real parameter continuation method for complete solution of forward position analysis of the general Stewart. J Mech Des 2002; 124: 236–244. 4. Dong B and Zhang X. Continuation method applied in kinematics of parallel robot. Appl Math Mech 2001; 22: 1278–1284. 5. Merlet JP. Solving the forward kinematics of a Goughtype parallel manipulator with interval analysis. Int J Rob Res 2004; 23: 221–235. 6. Yurt SN, Anli E and Ozkol I. Forward kinematics analysis of the 6-3 SPM by using neural networks. Meccanica 2007; 42: 187–196. 7. Parikh PJ and Lam SS. A hybrid strategy to solve the forward kinematics problem in parallel manipulators. IEEE Trans Rob 2005; 21(1): 18–25. 8. Parikh PJ and Lam SS. Solving the forward kinematics problem in parallel manipulators using an iterative artificial neural network strategy. Int J Adv Manuf Technol 2009; 40: 595–606. 9. Wang YF. A direct numerical solution to forward kinematics of general Stewart-Gough platforms. Robotica 2007; 25: 121–128. 10. Liu S, Li W, Du Y, et al. Forward kinematics of the Stewart platform using hybrid immune genetic algorithm. In: IEEE international conference on mechatronics and automation, Luoyang, China, 25–28 June 2006, pp.2330–2335. United States: Inst. of Elec. and Elec. Eng. Computer Society. 11. Chen S, Huang C and Fu L. Applying a nonlinear observer to solve forward kinematics of a Stewart platform. The 17th IEEE international conference on control applications. San Antonio, TX, United states, 3–5 September 2008, pp.1183–1188. 12. Wang ZL, He JJ, Shang H, et al. Forward kinematics analysis of a six-DOF Stewart platform using PCA and NM algorithm. Ind Rob: Int J 2009; 36(5): 448–460.
He et al. 13. Wang ZL, He JJ and Gu H. Forward kinematics analysis of a six-degree-of-freedom Stewart platform based on independent component analysis and Nelder-Mead algorithm. IEEE Trans Syst Man Cybern Part A Syst Humans 2011; 41(3): 589–597. 14. Caruana R. Multitask learning. Mach Learn 1997; 28(1): 41–75. 15. Bakker B and Heskes T. Task clustering and gating for Bayesian multitask learning. J Mach Learn Res 2003; 4: 83–99. 16. Zhang J, Ghahramani Z and Yang Y. Learning multiple related tasks using latent independent component analysis. In: Advances in neural information processing systems 18. (Weiss Y, Scho¨lkopf B, and Platt J eds). Cambridge, MA: MIT Press, 2006, pp.1585–1592. 17. Lawrence ND and Platt IC. Learning to learn with the informative vector machine. In: Proceedings of the 21st International Conference on Machine Learning, 2004. 18. Alvarez MA and Lawrence ND. Sparse convolved Gaussian processes for multioutput regression. In: Koller D, Schuurmans D, Bengio Y, and Bottou (eds) Advances in neural information processing systems 21. Cambridge, MA: MIT Press, 2009, pp.57–64. 19. Bonilla EV, Chai KMA and Williams CKI. Multi-task Gaussian process prediction. In: Platt J, Koller D, Singer Y, and Roweis S (eds) Advances in neural information processing systems 20. Cambridge, MA: MIT Press, 2008, pp.153–160. 20. Evgeniou T, Micchelli C and Pontil M. Learning multiple tasks with kernel methods. J Mach Learn Res 2005; 6: 615–637.
169 21. Dieudonne JE, Parrish RV and Bardusch RE. An actuator extension transformation for a motion simulator and an inverse transformation applying NewtonRaphsons method. NASA Technical Report TND-7067, NASA Langley Research Center, Hampton, VA, 1972.
Appendix Notation cov(x, y) diag{a1, . . . , an} exp() N (xj, ) or xN (, ) p (AjB) jjvjj vT
covariance between two random variables (processes) x and y diagonal matrix with a1, . . . , an on its diagonal exponential function the variable x has a Gaussian distribution with mean and covariance conditional probability of A given B l2-norm (Euclidean norm) of the vector v transpose of the vector (matrix) v Kronecker product