3-RS parallel mechanism consists of a (r)xed base and a moving platform. Each serial chain contains one passive revolute joint and one passive spherical joint. A variety of 3-RS mechanisms have been proposed in the literature.
3-RS parallel mechanism consists of a (r)xed base and a moving platform. Each serial chain contains one passive revolute joint and one passive spherical joint. A variety of 3-RS mechanisms have been proposed in the literature.
3-RS parallel mechanism consists of a (r)xed base and a moving platform. Each serial chain contains one passive revolute joint and one passive spherical joint. A variety of 3-RS mechanisms have been proposed in the literature.
3-RS parallel mechanism consists of a (r)xed base and a moving platform. Each serial chain contains one passive revolute joint and one passive spherical joint. A variety of 3-RS mechanisms have been proposed in the literature.
Copyright:
Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online from Scribd
Download as pdf or txt
You are on page 1of 14
Direct kinematic analysis of 3-RS parallel mechanisms
Jinwook Kim, F.C. Park
* School of Mechanical and Aerospace Engineering, Seoul National University, Seoul 151-742, Republic of Korea Received 28 February 2000; received in revised form 24 April 2001; accepted 10 May 2001 Abstract This article presents a direct kinematic analysis of 3-RS parallel mechanisms. A 3-RS parallel mechanism consists of a xed base and a moving platform connected by three serial chains, with each serial chain containing one passive revolute joint and one passive spherical joint. A variety of 3-RS mechanisms have been proposed in the literature, to overcome the disadvantages of small workspace characteristic of Stewart platforms and other 66 parallel mechanisms. We provide a computationally ecient method to solve the direct kinematics problem for general 3-RS mechanisms. By appealing to Sylvester's dialytic elimination method, the direct kinematics problem can be reduced to the solution of a 16th order polynomial equation in a single variable. In our approach the polynomial coecients are represented in terms of convolutions of vectors, which considerably simplies the coding of the algorithm, and unlike existing approaches does not rely on symbolic computation software. The method is applied to the direct kinematic analysis of the Eclipse, a novel six d.o.f. 3-RS parallel mechanism designed for ve-face machining. 2001 Elsevier Science Ltd. All rights reserved. 1. Introduction Beginning with the six-linear jack system of Gough and Whitehall [1] and the ight simulator platform devised by Stewart [2], parallel mechanisms are today being used in a wide variety of applications, ranging from machine tool platforms (e.g, [3] and the references cited therein) to robot manipulators (e.g., [4]). A typical six degree-of-freedom (d.o.f.) parallel mechanism consists of a moving platform connected to a xed base by six serial limbs. Each limb is driven by a single actuator, and all the actuators are mounted on or nearby the xed base. Due to its parallel structure and the low inertia of the moving parts, these parallel mechanisms oer the advantages of higher overall stiness, lower inertia, and higher operating speeds. These advantages however Mechanism and Machine Theory 36 (2001) 11211134 www.elsevier.com/locate/mechmt * Corresponding author. Tel.: +82-2-880-7133; fax: +82-2-883-1513. E-mail address: fcp@plaza.snu.ac.kr (F.C. Park). 0094-114X/01/$ - see front matter 2001 Elsevier Science Ltd. All rights reserved. PII: S0094- 114X( 01) 00042- 8 come at the expense of a reduced workspace, dicult mechanical design, and more complex ki- nematics and control algorithms. To overcome the shortcomings associated with six-limb platforms, various alternative archi- tectures possessing fewer limbs have been investigated in the literature (see Fig. 1). In general, it has been observed that by reducing the number of serial chains connected in parallel, it is possible to enlarge the workspace of the parallel mechanism, although at a cost in reduced stiness and speed due to the hybrid serial-parallel structure, and the increased inertia due to the relocation of the actuators. Behi [5] proposes a six d.o.f. parallel mechanism consisting of three PRPS serial structures, with the two prismatic joints actuated (here P denotes a prismatic joint, R denotes a revolute joint, and Fig. 1. Examples of 3-RS mechanisms: (a) the Behi Mechanism [5]; (b) the Alizade mechanism [6]; (c) the Eclipse mechanism [7]; and (d) the Canterbury Tracker Mechanism [8]. 1122 J. Kim, F.C. Park / Mechanism and Machine Theory 36 (2001) 11211134 S denotes a spherical, or ball, joint). Alizade et al. [6] propose a similar topologically equivalent six d.o.f. mechanism, in which the base of the three serial limbs slide along a circular rather than a linear guideway. The Eclipse mechanism proposed by Kim et al. [7] consists of three PPRS serial structures that also slide along a circular guideway. Dunlop [8] also examines the kinematics of a 3-RS mechanism, called the Canterbury tracker, that was originally proposed by Hunt. What the above mechanisms share in common is that they all consist of three serial structures connected in parallel, with each serial chain containing exactly one passive revolute and one passive spherical joint; for this reason we refer to this class of mechanisms as 3-RS mechanisms. When all the actuators are locked, these mechanisms become topologically equivalent. The objective of this paper is the ecient analysis of the direct (or forward) kinematics of 3-RS mechanisms. Direct kinematic analysis is an essential component of the design, programming and control of any mechanism. Due to its diculty, the direct kinematics problem for parallel mechanisms has received extensive attention in the literature. The drawback with standard nu- merical approaches like the NewtonRaphson method is that, although they are reliable and ecient, in general only one solution can be found for each initial guess, and in the case of ki- nematic singularities may fail to converge. Particularly at the design stage, ecient and failure- free methods of direct kinematic analysis that are guaranteed to nd all the solutions are essential. Recently Sylvester's dialytic elimination method has been eectively used to solve the direct kinematics of many special parallel mechanism designs (see [9] for a discussion and literature survey). Nanua et al. [10] oer a solution to the direct kinematics of a special symmetric Stewart platform, while Husty [11] provides a remarkable solution for the general 66 Stewart platform. Dunlop and Jones [8] also oer a dialytic elimination-based solution for the three d.o.f. Can- terbury Tracker mechanism (see Fig. 1). In this paper we develop a computationally ecient method to solve the direct kinematics for the general class of 3-RS parallel mechanisms. We show how to reduce the direct kinematics equations to a system of polynomials, and apply Sylvester's dialytic elimination method to further reduce this system to a single 16th order polynomial equation in one variable. One of the novel features of our approach is that the coecients of the polynomials are rep- resented in terms of convolutions of vectors. This considerably simplies the coding of the al- gorithm. In particular, there is no need to rely on symbolic computation software to compute the coecients during the elimination process. Another motivation of our paper is to introduce the Eclipse [7], a novel six d.o.f. 3-RS mechanism with a signicantly enhanced workspace that is capable of continuously accessing ve faces of a cubic workpiece. We apply our algorithm to evaluate all solutions to the direct kinematics of the Eclipse. 2. Closure equations Each of the three serial chains in a 3-RS parallel mechanism contains one passive revolute and one passive spherical joint. Assuming all the actuated joints are locked in place, Fig. 2 shows the generally topology of a 3-RS parallel mechanism. It is not dicult to see that all of the previous examples of 3-RS parallel mechanisms can be reduced to this equivalent topology. In what follows we formulate the closure equations under the assumption that aside from the R and S joint in each serial chain, all the other joints are locked. First, suppose a xed frame has J. Kim, F.C. Park / Mechanism and Machine Theory 36 (2001) 11211134 1123 been chosen, and let P b1 , P b2 , P b3 denote the locations of the revolute joints with respect to the xed frame origin. Let L 1 , L 2 , L 3 denote the lengths of the xed links, and let P 1 , P 2 , P 3 denote the positions of the three spherical joints with respect to the xed frame. For each serial subchain, dene the angles h i and / i , i =1,2,3 with respect to the xed frame as shown in Fig. 3. Then from the requirement that the distances between the ball joints of the moving platform are xed, the kinematic constraint equations can be expressed in the form g:R 3 R 3 , where g(h) = 1 2 |P 1 P 2 | 2 D 2 |P 2 P 3 | 2 D 2 |P 3 P 1 | 2 D 2 2 4 3 5 = 0 0 0 2 4 3 5 ; (1) P i = P bi L i cos(/ i ) cos(h i ) sin(/ i ) cos(h i ) sin(h i ) 2 4 3 5 : (2) Generally P bi , L i , and / i , i =1,2,3, are functions of the actuated joint values and the geometric parameters of the mechanism, and can be assumed known. The direct kinematic problem is to nd all the solutions h to the constraint equation (1). The constraint equation (1) can be expanded as g i (h) = k i1 k i2 cos h i k i3 cos h i1 k i4 sinh i k i5 sinh i1 k i6 cos h i cos h i1 k i7 sinh i sinh i1 ; where i =1,2,3, all the subscripts of h are moduli of 3, and the coecients k ij are given in the Appendix A. Fig. 3. Denition of the angles h i and / i . Fig. 2. The topology of a 3-RS mechanism with all actuated joints locked. 1124 J. Kim, F.C. Park / Mechanism and Machine Theory 36 (2001) 11211134 We now adopt the following standard trigonometric substitutions used in many kinematics problems: t i = tan h i 2 ; cos h i = 1 t 2 i 1 t 2 i ; sinh i = 2t i 1 t 2 i : The constraint equations can now be expressed in terms of the new variables t 1 , t 2 , t 3 as follows: g 1 = t 2 1 t 1 1
A t 2 2 t 2 1 2 4 3 5 ; (3) g 2 = t 2 2 t 2 1
B t 2 3 t 3 1 2 4 3 5 ; (4) g 3 = t 2 3 t 3 1
C t 2 1 t 1 1 2 4 3 5 ; (5) where the matrices A, B, C are given explicitly in the Appendix B. In Section 3 we discuss how to systematically solve the system of cyclic polynomials given above. 3. Direct kinematic analysis We now describe an algebraic method for solving the constraint equation (1) based on dialytic elimination. Observe that Eq. (1) consists of three nonlinear equations in three unknowns. Using dialytic elimination, we eliminate two of the three variables, which results in a single 16th order polynomial equation in one unknown. Obtaining the solutions of such polynomials is by now quite standard. In what follows all matrices are represented in uppercase, and vectors are aligned in column order and represented in lowercase. In order to eliminate variable t 3 from (4) and (5), rearrange (5) as follows: g / 3 = t 2 1 t 1 1
C T t 2 3 t 3 1 2 4 3 5 : (6) Let b i (t 2 ) and c i (t 1 ), respectively, denote the ith columns of matrices B and C T , i.e., b i (t 2 ) = t 2 2 t 2 1
b i ; c i (t 1 ) = t 2 1 t 1 1
c i : J. Kim, F.C. Park / Mechanism and Machine Theory 36 (2001) 11211134 1125 Then (4) and (6) can be re-expressed as follows: g 2 = b 1 t 2 3 b 2 t 3 b 3 ; g / 3 = c 1 t 2 3 c 2 t 3 c 3 : (7) In order for (7) to have a solution in terms of the variable t 3 , the following must hold: det(R 1 ) = 0; R 1 = b 1 b 2 b 3 0 0 b 1 b 2 b 3 c 1 c 2 c 3 0 0 c 1 c 2 c 3 2 6 6 4 3 7 7 5 Observe furthermore that det (R 1 ) can be calculated as det (R 1 ) = P ijkl x ijkl b i b j c k c l , where the coecients x are given in the Appendix C. Also observe that since b i is a second-order polynomial in t 2 , b i b j is a fourth-order polynomial in t 2 . Denoting b i b j by b i b j = t 4 2 t 3 2 t 2 2 t 2 1 2 6 6 6 6 4 3 7 7 7 7 5 b ij ; the relation between b i , b j , and b ij is given by b ij = b i + b j ; where (*) denotes convolution of vectors, i.e., if c =a*b is the convolution between an m-di- mensional vector a and an n-dimensional vector b, then the components of c are given by c i = X min(i;m) j=max(1;i1n) a j b ij1 ; where a i ,b j ,c k are, respectively, the ith, jth, and kth elements of a, b, c. Based on the above, the equation det (R 1 ) =0 can be reduced to g 4 = t 4 1 t 3 1 t 2 1 t 1 1
D t 4 2 t 3 2 t 2 2 t 2 1 2 6 6 6 6 4 3 7 7 7 7 5 = 0; (8) where D = X ijkl x ijkl (c k + c l )(b i + b j ) T : (9) The requirement that (3) and (8), which have only t 1 and t 2 as variables, have a solution is as follows: 1126 J. Kim, F.C. Park / Mechanism and Machine Theory 36 (2001) 11211134 det(R 2 ) = 0; R 2 = d 1 d 2 d 3 d 4 d 5 0 0 d 1 d 2 d 3 d 4 d 5 a 1 a 2 a 3 0 0 0 0 a 1 a 2 a 3 0 0 0 0 a 1 a 2 a 3 0 0 0 0 a 1 a 2 a 3 2 6 6 6 6 6 6 4 3 7 7 7 7 7 7 5 ; where d i = t 4 1 t 3 1 t 2 1 t 1 1 2 6 6 6 6 4 3 7 7 7 7 5 d i and d i denotes the ith column of D. Note that det(R 2 ) = X ijklmn k ijklmn d i d j a k a l a m a n : Consult the Appendix D for the exact values of k. Eliminating the coecients t 2 , t 3 from (3)(5), the 16th-order polynomial in t 1 can now be obtained by setting det (R 2 ) =0: det(R 2 ) = X 17 i=1 e i t 17i 1 ; (10) e = X ijklmn k ijklmn d i + d j + a k + a l + a m + a n : (11) There exist many methods for nding the roots of a polynomial, e.g., eigenvalue methods for the companion matrix constructed with the coecients e i . Among the 16 solutions, only real roots are physically meaningful. Finding all the roots of a polynomial can also be computationally expensive, and oating point overow may occur due to the high order of the resultant. One means of alleviating this is to normalize the coecients; in our case the norm of the coecient matrices A, B, C in Eqs. (3)(5) is normalized to be close to one (see [9] and the references cited for a further discussion on numerical issues). Once t 1 has been obtained, t 2 and t 3 can be solved by substituting t 1 into (3) and (5), resulting in second-order polynomials. Values for the passive joints can be calculated from the relation h i6 = 2 tan 1 (t i ): From the obtained values of the active and passive joints, the position and orientation of the tool frame can be found. In the Appendix E, matlab code for solving the system of polynomials (3)(5) is available. J. Kim, F.C. Park / Mechanism and Machine Theory 36 (2001) 11211134 1127 4. Case study: the Eclipse In this section we apply the above solution technique to the direct kinematic analysis of the Eclipse mechanism. As shown earlier in Fig. 1, the Eclipse consists of three PPRS serial subchains (P here denotes prismatic, or sliding joint), with the rst P joint denoting sliding motion along the circular guideway. The mechanism has six kinematic degrees of freedom, with the rst two prismatic joints actuated (indicated by arrows). A hardware prototype of the Eclipse mechanism is shown in Fig. 4. For our analysis we set the radii of the circular guideway and moving platform to be 300 and 100 mm, respectively. The length of each of the links connecting the vertical columns to the moving platform is 330 mm. The prototype is intended for ve-face machining, and is capable of accessing the ve visible faces of a cubic workpiece. For the direct kinematic analysis it is sucient to consider the nine joints excluding the three spherical joints. Denote the six actuated joints by (/ 1 , / 2 , / 3 , h 1 , h 2 , h 3 ) and the three passive joints by (h 1 , h 2 , h 3 ). In the constraint equation (1), P bi for the Eclipse is given as P bi = Rcos / i Rsin/ i h i [ [ T : Following the procedure outlined in Section 3, we can derive the 16th-order polynomial equation in a single unknown, whose solutions provide all possible congurations of the end- eector for a given set of actuated joint values. Fig. 4. The Eclipse prototype. 1128 J. Kim, F.C. Park / Mechanism and Machine Theory 36 (2001) 11211134 For the set of actuated joint values corresponding to the home position (i.e., when the spindle is aligned vertically over the center of the workspace), the Eclipse has eight real solutions; the congurations corresponding to the real solutions are shown in Fig. 5. 5. Conclusion In this paper we have applied Sylvester's dialytic elimination method to solve the direct ki- nematics of a general class of parallel mechanisms. These mechanisms, because they consist of Fig. 5. The eight possible solutions corresponding to the home conguration. J. Kim, F.C. Park / Mechanism and Machine Theory 36 (2001) 11211134 1129 three serial subchains connecting two platforms, with each subchain containing one passive re- volute and one passive spherical joint, are referred to as 3-RS mechanisms. We develop a com- putationally ecient procedure in which the kinematic constraint equations are reduced to a single 16th-order polynomial in a single unknown. We then perform a direct kinematic analysis of a novel six d.o.f. parallel mechanism capable of ve-face machining, the Eclipse. One of the open questions raised by this research is whether in fact a 3-RS mechanism with 16 real solutions can be realized; simulation studies of the Eclipse and other similar 3-RS mechanisms indicate an upper bound of eight real solutions. The approach of Dietmaier [12] could provide a denitive answer to this question. Acknowledgements This research was supported by a grant from the National Research Lab for CAD/CAM, and by the BK 21 program in Mechanical Engineering at Seoul National University. Appendix A. Coecients p ij k i1 = |P bi P bi1 | 2 L 2 i L 2 i1 ; k i2 = 2L i (P bi x P bi1 x )(cos / i sin / i ); k i3 = 2L i1 (P bi x P bi1 x )(cos / i1 sin / i1 ); k i4 = 2L i (P bi z P bi1 z ); k i5 = 2L i1 (P bi z P bi1 z ); k i6 = 2L i L i1 cos(/ i / i1 ); k i7 = 2L i L i1 : Appendix B. Matrix A, B, C A = k 11 k 12 k 13 k 16 2k 15 k 11 k 12 k 13 k 16 2k 14 4k 17 2k 14 k 11 k 12 k 13 k 16 2k 15 k 11 k 12 k 13 k 16 2 4 3 5 ; B = k 21 k 22 k 23 k 26 2k 25 k 21 k 22 k 23 k 26 2k 24 4k 27 2k 24 k 21 k 22 k 23 k 26 2k 25 k 21 k 22 k 23 k 26 2 4 3 5 ; C = k 31 k 32 k 33 k 36 2k 35 k 31 k 32 k 33 k 36 2k 34 4k 37 2k 34 k 31 k 32 k 33 k 36 2k 35 k 31 k 32 k 33 k 36 2 4 3 5 : 1130 J. Kim, F.C. Park / Mechanism and Machine Theory 36 (2001) 11211134 Appendix C. Non-zero elements of x Appendix D. Non-zero elements of k Appendix E. Matlab code for solving Eqs. (3)(5) function [t, error]=roots32(a,b,c) % ROOTS32 Find roots of system of polynomial % % [t, error]=root32(A,B,C) % % Inputs A, B, C are matrices consist of coefficients of equations. % % [t1^2 t1 1] A [t2^2; t2; 1]=0 i j k l x ijkl 1 1 3 3 1 1 2 2 3 )1 1 3 2 2 1 1 3 1 3 )2 2 2 1 3 1 2 3 1 2 )1 3 3 1 1 1 i j k l m n k ijklmn i j k l m n k ijklmn 5 5 1 1 1 1 1 1 5 1 2 2 3 )4 3 5 1 1 1 3 )2 1 3 1 3 3 3 )2 4 5 1 1 1 2 )1 2 2 1 3 3 3 1 4 4 1 1 1 3 1 2 5 1 2 2 2 )1 1 5 1 1 3 3 2 2 4 1 2 2 3 1 3 5 1 1 2 2 1 2 3 1 2 3 3 )1 2 4 1 1 3 3 )2 1 1 3 3 3 3 1 3 4 1 1 2 3 )1 1 5 2 2 2 2 1 2 5 1 1 2 3 3 1 2 2 3 3 3 )1 3 3 1 1 3 3 1 1 3 2 2 3 3 1 1 4 1 2 3 3 3 1 4 2 2 2 3 )1 J. Kim, F.C. Park / Mechanism and Machine Theory 36 (2001) 11211134 1131 % [t2^2 t2 1] B [t3^2; t3; 1]=0 % [t3^2 t3 1] C [t1^2; t1; 1]=0 % % Output t are roots of equations. % % t(i,:)=[t1 t2 t3] % % If you want to check how much its roots are exact, see value of `error'. eps=1e-5; g4=[1 1 1 3 3; )1 1 2 2 3; 1 1 3 2 2; )2 1 3 1 3; 1 2 2 1 3; )1 2 3 1 2; 1 3 3 1 1]; g5=[. . . +1,5,5,1,1,1,1; )2,3,5,1,1,1,3; )1,4,5,1,1,1,2; +1,4,4,1,1,1,3; +2,1,5,1,1,3,3; +1,3,5,1,1,2,2; )2,2,4,1,1,3,3; )1,3,4,1,1,2,3; +3,2,5,1,1,2,3; +1,3,3,1,1,3,3; +3,1,4,1,2,3,3; )4,1,5,1,2,2,3; )2,1,3,1,3,3,3; +1,2,2,1,3,3,3; )1,2,5,1,2,2,2; +1,2,4,1,2,2,3; )1,2,3,1,2,3,3; +1,1,1,3,3,3,3; +1,1,5,2,2,2,2; )1,1,2,2,3,3,3; +1,1,3,2,2,3,3; )1,1,4,2,2,2,3]; c=c / ; % constructing coefficient matrix D d=zeros(5,5); for i=1:7 bij=conv(b(:,g4(i,2)),b(:,g4(i,3))); ckl=conv(c(:,g4(i,4)),c(:,g4(i,5))); d=d+g4(i,1)*ckl*bij'; end % constructing resultant coefficient vector e e=zeros(17,1); for p=1:22 cof=g5(p,1); i=g5(p,2); j=g5(p,3); k=g5(p,4); l=g5(p,5); m=g5(p,6); n=g5(p,7); e=e+cof*conv(conv(conv(conv(conv(d(:,i),d(:,j)),a(:,k)), a(:,l)),a(:,m)),a(:,n)); end % solving resultant t1=roots(e); % compute all roots of equations t=zeros(16, 3); t(:,1)=t1; isfirst=1; for i=1:16 1132 J. Kim, F.C. Park / Mechanism and Machine Theory 36 (2001) 11211134 if (isfirst) t2=roots([t1(i)^2 t1(i) 1]*a); t3=roots([t1(i)^2 t1(i) 1]*c). / ; s=[t2.^2 t2 [1;1]]*b*[t3.^2; t3; 1 1]; flag=1; if (flag & abs(s(1,1))<eps) t(i,2)=t2(1); t(i,3)=t3(1); flag=0; end; if (flag & abs(s(1,2))<eps) t(i,2)=t2(1); t(i,3)=t3(2); flag=0; end; if (flag & abs(s(2,1))<eps) t(i,2)=t2(2); t(i,3)=t3(1); flag=0; end; if (flag & abs(s(2,2))<eps) t(i,2)=t2(2); t(i,3)=t3(2); flag=0; end; if (~isreal(t1(i))) isfirst=0; end; else t(i,:)=conj(t(i-1,:)); isfirst=1; end end % check error if(nargout>1) error=0; for i=1:16 t1=t(i,1); t2=t(i,2); t3=t(i,3); error=error + norm([[t1^2 t1 1]*a*[t2^2; t2; 1],[t2^2 t2 1]*b*[t3^2; t3; 1], [t3^2 t3 1]*c'*[t1^2; t1; 1]]); end end References [1] V.E. Gough, S.G. Whitehall, Universal tyre test machine, in: Proceedings of the 9th International Technical Congress, FISITA, 1962, p. 177. [2] D. Stewart, A platform with six degrees of freedom, Proc. Inst. Mech. Eng., Part I 180 (15) (1966) 371386. [3] M. Valenti, Machine tools get smarter, ASME Mech. Eng. 117 (11) (1995) 7075. [4] F. Pierrot, P. Dauchez, A. Fournier, Fast parallel robots, J. Robotic Syst. 8 (6) (1991) 829840. [5] F. Behi, Kinematic analysis for a six-degree-of-freedom 3-PRPS parallel mechanism, IEEE J. Robotics Autom. 4 (5) (1988) 561565. [6] R.I. Alizade, N.R. Tagiyev, J. Duy, A forward and reverse displacement analysis of a 6-DOF in-parallel manipulator, Mech. Mach. Theory 29 (1) (1994) 115124. [7] J.W. Kim et al., Performance analysis of parallel manipulator architectures for CNC machining, in: Proceedings of the 1997 ASME IMECE Symposium on Machine Tools, Dallas, TX, 1997. J. Kim, F.C. Park / Mechanism and Machine Theory 36 (2001) 11211134 1133 [8] G.R. Dunlop, T.P. Jones, Position analysis of a 3-DOF parallel manipulator, Mech. Mach. Theory 32 (8) (1997) 903920. [9] J. Nielsen, B. Roth, On the kinematic analysis of robotic mechanisms, Int. J. Robotics Res. 18 (12) (1999) 1147 1160. [10] P. Nanua, K.J. Waldron, V. Murthy, Direct kinematic solution of a Stewart platform, IEEE Trans. Robotics Autom. 6 (1990) 438444. [11] M.L. Husty, An algorithm for solving the direct kinematics of general StewartGough platforms, Mech. Mach. Theory 31 (4) (1996) 365380. [12] P. Dietmaier, The StewartGough platform of general geometry can have 40 real postures, in: J. Lenarcic, M. Husty (Eds.), Advances in Robot Kinematics: Analysis and Control, Kluwer Academic Publishers, Dordrecht, 1998, pp. 716. 1134 J. Kim, F.C. Park / Mechanism and Machine Theory 36 (2001) 11211134