Mechanism and Machine Theory 35 (2000) 423±436 www.elsevier.com/locate/mechmt A new method for solving the direct kinematics of general 6-6 Stewart Platforms using three linear extra sensors Ilian A. Bonev, Jeha Ryu* Department of Mechatronics, Kwangju Institute of Science and Technology, 1 Oryong-dong, Buk-ku, Kwangju, 500712, South Korea Received 1 July 1998; accepted 8 January 1999 Abstract This paper presents a new method for solving the direct kinematics problem of a general Stewart Platform by using three linear extra sensors. The sensors are disposed at a most general way, connecting the non-planar base and the planar mobile platform at distinct points. The extra sensory data enables to reduce the problem to the solution of an overdetermined system of 6 quadratic equations in 3 unknowns. Random numerical examples have demonstrated the existence of a unique solution to this system. # 1999 Elsevier Science Ltd. All rights reserved. 1. Introduction A 6-DOF parallel manipulator, also called a Stewart Platform (SP), consists of a rigid body (the mobile platform) connected by six legs to another body (the base) through, respectively, spherical and universal joints. The centers of these joints will be simply referred to as the platform and base joints. Most commonly, the base joints are ®xed on the base while the legs are of variable length. Changing the lengths of these legs controls the position and orientation (the posture ) of the mobile platform. The main advantages of parallel robots are the high nominal load/weight ratio and the high positioning accuracy due to their inherent rigidity. While the inverse kinematics of parallel manipulators is nearly straightforward, the direct kinematics problem (DKP) is a very dicult one that has initiated much research during the past decade. The DKP relates to the determination of the mobile platform posture for a given * Corresponding author. Tel.: +82-62-970-2389; fax: +82-62-970-2384. E-mail address: [email protected] (J. Ryu) 0094-114X/00/$ - see front matter # 1999 Elsevier Science Ltd. All rights reserved. PII: S 0 0 9 4 - 1 1 4 X ( 9 9 ) 0 0 0 0 9 - 9 424 I.A. Bonev, J. Ryu / Mechanism and Machine Theory 35 (2000) 423±436 set of control inputs. It involves the solution of a system of nonlinear coupled algebraic equations in the variables describing the platform posture (the generalized coordinates ) and has many solutions, referred to as assembly modes. The complexity of the DKP has urged the creation of simpli®ed geometries, characterized by either coalescence, collinearity, or coplanarity of some or all of the base and/or platform joints [1]. Even though such specialized geometries can have as few as 16 closed-form solutions to the DKP, they require a complicated mechanical design and often yield a degraded robot performance. Therefore, it is necessary to study the DKP for the most general 6-DOF parallel robots, with 6 distinct base and platform joints and no constraints on their location. For the nearly general SPs (planar base and planar platform), Lazard [2] has shown that the DKP can have up to 40 solutions. Zhang and Song [3] and Wen and Liang [4] arrive at a univariate polynomial (UP) of degree 20 whose solutions lead to 40 mutually symmetric assembly modes. For the most general SPs, Raghavan [5] has demonstrated (with numerical examples) that the maximal number of solutions is still 40. The same result has been proved in [6±9]. Husty [10] is the ®rst researcher to reach to a UP of degree 40 (though not in a symbolic form). The complete closed-form solution of the DKP can be used to gain a better insight into the kinematics of the robot. In practice, however, we are interested only in the `true' solution, namely the assembly mode in which the measurement is taken. Two most common approaches to ®nd directly the `true' solution are (i) to use an iterative numerical procedure or (ii) to use extra sensors. For the numerical method, as the motion is continuous, at each calculation step, an initial estimate is the posture at the previous step. The convergence problem can be solved mainly by choosing a very small time step, which requires fast computation and is not suitable for real-time applications unless expensive computer hardware is utilized. For the extra sensors, the redundant data may be used to determine uniquely the solution to the DKP and possibly to provide a good initial estimate for an iterative method that has to be reset often due to error accumulation. Another advantage of the extra sensors is that they can be used for robot self-calibration [15]. Finally, the sensor redundancy ensures the robot reliability in the case of a sensor failure [16]. From a theoretical point of view, the choice of type and disposition of extra sensors is aimed only at obtaining the unique solution to the DKP with a minimal number of sensors. From a practical point of view, however, the latter is only a necessity while an optimum choice is characterized by minimum overall cost, minimum interference, minimum error on the obtained solution, and many other features. Two types of extra sensors are used: rotary and linear. The ®rst type is placed at both axes of a base universal joint, measuring the leg direction and allowing to obtain the position of the corresponding platform joint. Various sensor dispositions have been proposed [16±18]. At least 4 rotary extra sensors are needed for obtaining a unique solution. The problems associated with their implementation are error build-up and diculties in their attachment. The second type of sensors, the linear sensors, connect the base and the mobile platform and are used in two con®gurations. In the ®rst one, two sensors are attached to a mobile platform joint. Together with the leg, they form a tripod geometry, which enables to ®nd the position of that joint. Hence, this arrangement is kinematically equivalent to the use of 2 rotary sensors at a base universal joint. In the second con®guration, three extra linear sensors are connected to I.A. Bonev, J. Ryu / Mechanism and Machine Theory 35 (2000) 423±436 425 the center of the platform, thus, allowing to calculate the position of the mobile platform [19, 20]. Its orientation is then determined from the six leg lengths by solving a system of 6 linear equations. Nair [19] has proved that for 2 linear extra sensors there exist up to 8 explicit solutions, so at least 3 linear sensors are needed for obtaining a unique solution. Major problems of these con®gurations are an increased risk of leg interference and diculty in constructing the triple spherical joint. In addition, to our best knowledge, the solution in the case of a non-planar base has not been reported yet. In the present work, we propose a method for solving the DKP of general SPs (non-planar base and planar platform) by using three linear extra sensors that connect the mobile platform and the base at distinct points, an arrangement which is the easiest to realize. A proper location of the sensors' base attachment points can eliminate any sensor interference with the legs. In our method we use the coordinates of three points (9 generalized coordinates) to represent the platform posture. Thus, the direct kinematics model can be represented by a system of 6 quadratic equations coming from the leg lengths and 3 quadratic equations coming from the ®xed distances between the three selected points. The 3 linear extra sensors introduce 3 new quadratic equations. Together with the 3 constraint equations, they are used to linearize the ®rst 6 equations. By choosing 3 of the 9 generalized coordinates to be independent, the other 6 may be expressed in terms of them from the 6 linearized equations. Substituting the expressions for the dependent generalized coordinates in the unchanged six quadratic equations leads to an overdetermined system of 6 quadratic equations in 3 unknowns. All of them are in the most general form; thus, by splitting them into two subsystems of three equations, each of the subsystems has up to 8 solutions by Bezout's theorem. Numerous random numerical examples have shown that these systems always have a unique common solution. Further manipulations on the overdetermined system brings us ®nally to the solution of a system of quadratic equations that has up to 5 solutions. In the next section, we introduce the formulation of the direct kinematics equations leading to the overdetermined system. Section 3 presents a method for solving a system of three quadratics, and then suggests a procedure for ®nding the unique solution. A numerical example is given in section 4. Section 5 discusses on the practical implementation issues of the linear sensors, and conclusions are made in the ®nal section. 2. Direct kinematics formulation The complexity of the DKP depends greatly on the choice of generalized coordinates [7]. The 6-DOF platform posture may be represented by using 3 position coordinates and 3 orientation angles. However, these generalized coordinates lead to complicated trigonometric equations of high degree that are dicult to manipulate. Another common approach is to parameterize the rotation matrix in terms of direction cosines or dual quaternions [8, 9, 19]. This approach is useful when the base joints are coplanar but leads to complicated expressions in the non-coplanar case. In this paper, the posture is described by the 9 coordinates of 3 noncollinear points on the platform, subjected to the constraint that their relative distances are ®xed. This choice of generalized coordinates leads to a system of 6 quadratic and 3 linear equations [2, 4, 11] in the case of a planar mobile platform. 426 I.A. Bonev, J. Ryu / Mechanism and Machine Theory 35 (2000) 423±436 Consider a general 6-6 SP with a non-planar base and a planar mobile platform as shown in Fig. 1. The mobile platform is a semiregular hexagon whose angles are equal and each pair of alternate sides is equal to either h1 or h2, as shown in Fig. 2. The base joints are denoted by Ai and the platform joints by Bi (i = 1, . . . , 6). An absolute reference frame is chosen ®xed to the base. The coordinates of base joint Ai are ai, bi, ci. The generalized coordinates describing the platform posture with respect to the base are chosen to be the nine coordinates of three points Ti on the platform, namely xi, yi, zi (i = 1, 2, 3). The points are selected as the intersection points of three alternate sides of the platform hexagon (Fig. 2). The coordinates of the platform joints Bi (i = 1, . . . , 6) are expressed in terms of the generalized coordinates (Table 1), where k = 1ÿh2/p, and p = 2h2+h1=T1T2=T2T3=T3T1. For a given set of control variables, the direct kinematics problem may be set as a system of 6 constraint equations associated with the legs (Subsystem I) and 3 constraint equations on the generalized coordinates (Subsystem II) in 9 unknowns: Subsystem I: F1 1 ÿ kx 3 kx 1 ÿ a1 2 1 ÿ ky3 ky1 ÿ b1 2 1 ÿ kz3 kz1 ÿ c1 2 ÿ l21 0 F2 1 ÿ kx 2 kx 1 ÿ a2 2 1 ÿ ky2 ky1 ÿ b2 2 1 ÿ kz2 kz1 ÿ c2 2 ÿ l22 0 F3 1 ÿ kx 1 kx 2 ÿ a3 2 1 ÿ ky1 ky2 ÿ b3 2 1 ÿ kz1 kz2 ÿ c3 2 ÿ l23 0 F4 1 ÿ kx 3 kx 2 ÿ a4 2 1 ÿ ky3 ky2 ÿ b4 2 1 ÿ kz3 kz2 ÿ c4 2 ÿ l24 0 F5 1 ÿ kx 2 kx 3 ÿ a5 2 1 ÿ ky2 ky3 ÿ b5 2 1 ÿ kz2 kz3 ÿ c5 2 ÿ l25 0 Fig. 1. A general 6-6 SP with non-coplanar base joints and planar hexagonal platform. I.A. Bonev, J. Ryu / Mechanism and Machine Theory 35 (2000) 423±436 427 Fig. 2. The mobile platform and the points Ti. F6 1 ÿ kx 1 kx 3 ÿ a6 2 1 ÿ ky1 ky3 ÿ b6 2 1 ÿ kz1 kz3 ÿ c6 2 ÿ l26 0 (1) Subsystem II: F7 x 1 ÿ x 2 2 y1 ÿ y2 2 z1 ÿ z2 2 ÿ p2 0 F8 x 2 ÿ x 3 2 y2 ÿ y3 2 z2 ÿ z3 2 ÿ p2 0 F9 x 3 ÿ x 1 2 y3 ÿ y1 2 z3 ÿ z1 2 ÿ p2 0 2 where li (i = 1, . . ., 6) are the leg lengths. Substitution of the expressions ui=x 2i +y 2i +z2i (i = 1, 2, 3) and wij=2xixj+2yiyj+2zizj (i, j = 1, 2, 3; i $j ) into the above system of Eqs. (1) and (2) eliminates all the second order terms and thus generates the following linear sets of equations: Table 1 The coordinates of the platform joints Bi (i = 1, . . ., 6) B1 B2 B3 B4 B5 B6 x y z (1ÿk )x3+kx1 (1ÿk )x2+kx1 (1ÿk )x1+kx2 (1ÿk )x3+kx2 (1ÿk )x2+kx3 (1ÿk )x1+kx3 (1ÿk )y3+ky1 (1ÿk )y2+ky1 (1ÿk )y1+ky2 (1ÿk )y3+ky2 (1ÿk )y2+ky3 (1ÿk )y1+ky3 (1ÿk )z3+kz1 (1ÿk )z2+kz1 (1ÿk )z1+kz2 (1ÿk )z3+kz2 (1ÿk )z2+kz3 (1ÿk )z1+kz3 428 I.A. Bonev, J. Ryu / Mechanism and Machine Theory 35 (2000) 423±436 1 ÿ k2 u3 k2 u1 k 1 ÿ kw31 P1 q 1 ÿ k2 u2 k2 u1 k 1 ÿ kw12 P2 q 1 ÿ k2 u1 k2 u2 k 1 ÿ kw12 P3 q 1 ÿ k2 u3 k2 u2 k 1 ÿ kw23 P4 q 1 ÿ k2 u2 k2 u3 k 1 ÿ kw23 P5 q 1 ÿ k2 u1 k2 u3 k 1 ÿ kw31 P6 q (3) w12 u1 u2 ÿ p2 w23 u2 u3 ÿ p2 w31 u3 u1 ÿ p2 (4) where q is the vector of generalized coordinates, and Pi(q) is a linear polynomial in the generalized coordinates (i = 1, . . ., 6). Next, substitution of wij (i, j = 1, 2, 3; i$ j ) from the set of Eqs. (4) into the set of Eqs. (3) generates 1 ÿ ku3 ku1 P1 q k 1 ÿ kp2 1 ÿ ku2 ku1 P2 q k 1 ÿ kp2 1 ÿ ku1 ku2 P3 q k 1 ÿ kp2 1 ÿ ku3 ku2 P4 q k 1 ÿ kp2 1 ÿ ku2 ku3 P5 q k 1 ÿ kp2 1 ÿ ku1 ku3 P6 q k 1 ÿ kp2 : (5) Note that Subsystem I will be more complicated when the platform is a hexagon of most general shape [4, 11], but can still be manipulated in this way. Sets of Eqs. (5) and (4) may be manipulated further and reduced to a system of 6 quadratic and 3 linear equations. This system of equations will have a maximum of 64 solutions by Bezout's theorem, and is still too complex to be solved. Therefore, this paper proposes a more ecient treatment of Eqs. (4) and (5) by utilizing 3 linear extra sensors. The linear extra sensors (Fig. 1) are measuring the distances between three distinct points on the base, with absolute coordinates asi, bsi, csi, and, respectively, the points Ti (i = 1, 2, 3). Without loss of generality, we may assume that csi=0 (i = 1, 2, 3). Then, three new equations are generated as: I.A. Bonev, J. Ryu / Mechanism and Machine Theory 35 (2000) 423±436 429 Subsystem III: F10 x 1 ÿ as1 2 y1 ÿ bs1 2 z21 ÿ s21 0 F11 x 2 ÿ as2 2 y2 ÿ bs2 2 z22 ÿ s22 0 F12 x 3 ÿ as3 2 y3 ÿ bs3 2 z23 ÿ s23 0 (6) where si is the length of extra sensor i (i = 1, 2, 3). From the system of Eqs. (6), the new variables ui (i = 1, 2, 3) can be expressed as: u1 s21 2as1 x 1 ÿ a2s1 2bs1 y1 ÿ b2s1 u2 s22 2as2 x 2 ÿ a2s2 2bs2 y2 ÿ b2s2 u3 s23 2as3 x 3 ÿ a2s3 2bs3 y3 ÿ b2s3 (7) Then, substitution of ui (i = 1, 2, 3) from Eqs. (7) into Eqs. (5) produces a system of 6 linear equations in the 9 generalized coordinates. If the variables x1, y2, z3 are chosen as independent variables, then the six linear equations can be written in the following form: Mqd v0 v1 x 1 v2 y2 v3 z3 , 8 where qd=[ y1, z1, x2, z2, x3, y3]T is the vector of dependent generalized coordinates, M is a 6 6 coecient matrix, and vi (i = 0, 1, 2, 3) are 6 1 vectors, all of which are given in symbolic form in the Appendix. Matrix M depends on the coordinates of the base joints and of the sensor base attachment points. The linear sensor lengths si (i = 1, 2, 3) and the leg lengths lj ( j = 1, . . . , 6) take part only in vector v0. Thus, when the control inputs are the leg lengths, the coecient matrix and the other vectors are all constant. If matrix M is nonsingular, vector qd can be expressed in closed form as: qd Mÿ1 v0 Mÿ1 v1 x 1 Mÿ1 v2 y2 Mÿ1 v3 z3 v0 v1 x 1 v2 y2 v3 z3 : 9 If the expression for qd from Eq. (9) is further inserted into Subsystem II, Eqs. (2), and Subsystem III, Eqs. (6), then the two subsystems form an overdetermined system of 6 quadratic equations in 3 unknowns (x1, y2, z3) as hi,1 x 21 hi,2 y22 hi,3 z23 hi,4 x 1 y2 hi,5 x 1 z3 hi,6 y2 z3 hi,7 x 1 hi,8 y2 hi,9 z3 hi,10 0, i 1, . . . ,6: 10 The coecients hi,j (i = 1, . . . , 6; j = 1, . . . , 10) of this system may be expressed in a short closed form in terms of vi (i = 0, 1, 2, 3) and the coecients appearing in Eqs. (2) and (6), but will not be presented here due to the large number of coecients. 430 I.A. Bonev, J. Ryu / Mechanism and Machine Theory 35 (2000) 423±436 3. The unique solution to the DKP This chapter presents a method for ®nding the unique solution of the overdetermined system in (10). Unfortunately, there is no formal mathematical tool for dealing with overdetermined systems of algebraic equations. In the general case, no solutions exist to such a system. Assuming, however, that the extra sensory data are reliable and the robot geometry is well known, then at least one solution should existÐthe `true' one. Each of the two subsystems forming the set of Eqs. (10) consists of three quadratic equations in three unknowns in their most general form. Hence, each of them can have up to 8 solutions (complex and real) by Bezout's theorem. Subsequently, such an overdetermined system can generally have from 1 to 8 solutions. In the current investigation, we tried numerous random numerical examples in solving the set of Eqs. (10). Results have demonstrated that the overdetermined system has always a unique solution. It is very dicult, however, to ®nd a formal mathematical proof for the uniqueness of that solution. Thus, the uniqueness of the solution can only be perceived as a fact deduced from several random examples. Examples of such facts as well as a discussion on the reliability of such computer-aided proofs can be found in [11]. An overdetermined system that has one solution does not necessarily reduce to a linear system. In our case, we also could not ®nd an equivalent linear system. Thus, we choose a dierent approach for obtaining the unique solution in the following way. From the ®rst three equations in set of Eqs. (10), we solve for the terms x 21, y 22, z 23, and subsequently substitute the expressions in the second three equations to obtain a subsystem of the form: Hi,1 x 1 y2 Hi,2 x 1 z3 Hi,3 y2 z3 Hi,4 x 1 Hi,5 y2 Hi,6 z3 Hi,7 0, i 1, 2, 3: 11 The coecients Hi,j (i = 1, 2, 3; j = 1, . . . , 7) can be expressed in a closed form in terms of the coecients hi,j (i = 1, . . . , 6; j = 1, . . . , 10) from Eqs. (10). System (11) can be solved using a slight modi®cation of the elimination method proposed by Roth [21]. We ®rst suppress one of the variables, say z3, next convert to homogeneous coordinates by substituting x1=X/W, y2=Y/W, and then multiply by W 2 to obtain the following equation: Hi,1 XY Hi,2 z3 Hi,4 XW Hi,3 z3 Hi,5 YW Hi,6 z3 Hi,7 W 2 0, i 1, 2, 3: 12 Next, we ®nd the determinant of the Jacobian of the system of Eqs. (12) as jJj C1 z33 XW 2 C2 z33 YW 2 C3 z43 W 3 C4 z23 XYW, 13 where the coecients Ci (i = 1, . . . , 4) are functions of z3 and the parentheses are used to indicate the highest degree of z3 appearing in the coecient. Next, we take the derivatives of the determinant with respect to the homogeneous coordinates. Equating them to zero gives us three new equations that have the same zeros as the original set of equations, given in (12) I.A. Bonev, J. Ryu / Mechanism and Machine Theory 35 (2000) 423±436 431 jJjX C1 z33 W 2 C4 z23 YW 0 jJjY C2 z33 W 2 C4 z23 XW 0 jJjW 2C1 z33 XW 2C2 z33 YW 3C3 z43 W 2 C4 z23 XY 0: (14) Taking their sum will give us an equation, which is also satis®ed by the zeros of Eqs. (12): C4 XY 2C1 C4 XW C4 2C2 YW C1 C2 3C3 W 2 0: 15 Rewriting Eqs. (12) and (15) in matrix form, we obtain 32 3 2 H1,1 H1,2 z3 H1,4 H1,3 z3 H1,5 H1,6 z3 H1,7 XY 76 XW 7 6 H2,1 H2,2 z3 H2,4 H2,3 z3 H2,5 H2,6 z3 H2,7 76 7 6 54 YW 5 4 H3,1 H3,2 z3 H3,4 H3,3 z3 H3,5 H3,6 z3 H3,7 C4 z23 2C1 z33 C4 z23 2C2 z33 C4 z23 C1 z33 C2 z33 3C3 z43 W2 0: 16 Expanding the determinant of the coecient matrix and setting the result equal to zero in order to have a non-trivial solution for the power products XY, XW, YW, W 2, we obtain a univariate polynomial of degree 5 in the unknown z3. The coecients of this polynomial may be written in a closed form in terms of the coecients of the original set of Eqs. (12). Note that the expressions for the six coecients take some 5 pages to be written obtained by using the Maple symbolic computations program. After ®nding all the 5 roots of this polynomial, we substitute for each real root z3 in (16) and solve the linear system for x1 and y2 by setting W = 1: 3ÿ1 2 3 3 2 2 H1,1 H1,2 z3 H1,4 H1,3 z3 H1,5 H1,6 z3 H1,7 x 1 y2 4 x 1 5 ÿ4 H2,1 H2,2 z3 H2,4 H2,3 z3 H2,5 5 4 H2,6 z3 H2,7 5: 17 H3,1 H3,2 z3 H3,4 H3,3 z3 H3,5 H3,6 z3 H3,7 y2 From (17), we may obtain short explicit expressions for x1 and y2. Thus, the time for solving the system of Eqs. (12) is practically reduced to the time for solving a polynomial of degree 5. The 5 solutions to that system (or actually only those that are real) are then substituted one by one in Eqs. (10). The `true' solution is the one that satis®es all of them within some error tolerance. The dependent generalized coordinates are then found from Eq. (9), which completes the solution of the DKP. 4. Numerical example Although, the coplanarity constraint on the base and mobile platform has no eect on the number of solutions to the DKP [11], the calculation of these solutions in the non-coplanar case is much more complicated and time-consuming. An example of general 6-6 SPs is the class of parallel robots having 6 PRRS kinematic chains (PÐactuated prismatic, RRÐuniversal, 432 I.A. Bonev, J. Ryu / Mechanism and Machine Theory 35 (2000) 423±436 SÐspherical joints). In this class, the leg lengths are constant, and the base joints are sliding along base-mounted actuated prismatic joints (slider axes ). Famous examples of such robots are the INRIA's `active wrist' [12] and the `Hexaglide' robot [13]. Another interesting group, consists of the Toyoda's `HexaM' machine and the `New Parallel Manipulator' at MEL [14]. The ®rst two examples are too particular in the sense that their slider axes are all parallel. In terms of DKP, the other two examples can only be classi®ed as general SPs with the only particularity of constant leg lengths. We choose a HexaM type of manipulator (Fig. 3) as an example to show the eectiveness of the proposed method. The purpose of the numerical example is to examine the in¯uence of the extra sensors' accuracy on the calculation of the posture and to see how the computation time for the DKP solution is distributed among the dierent computation steps. The constant length of the robot legs is l = 900, and the parameters de®ning the mobile platform geometry are p = 543.014 and k = 0.595 (all dimensions are in millimeters). The coordinates of the base joints and the sensor base attachment points are: A1 4ÿ738:035, ÿ 553:122, 0:000T l1 =700525:000, 303:109, 350:000T A2 4ÿ848:035, ÿ 362:596, 0:000T l2 =700525:000, 303:109, 350:000T A3 4ÿ110:000, 915:718, 0:000T l3 =7000:000, ÿ 606:218, 350:000T A4 4110:000, 915:718, 0:000T l4 =7000:000, ÿ 606:218, 350:000T Fig. 3. A HexaM type of parallel manipulator. I.A. Bonev, J. Ryu / Mechanism and Machine Theory 35 (2000) 423±436 433 A5 4848:035, ÿ 362:596, 0:000T l5 =700ÿ525:000, 303:109, 350:000T A6 4738:035, ÿ 553:122, 0:000T l6 =700ÿ525:000, 303:109, 350:000T S1 4ÿ822:724, ÿ 475:000, 0:000T S2 40:000, 950:000, 0:000T S3 4822:724, ÿ 475:000, 0:000T where li $ [0, 700] (i = 1, . . . , 6), as shown in Fig. 3, are the control variables. The proposed procedure for solving the DKP was implemented in Maple. The control variables and the extra sensory data have been computed by a program solving the inverse kinematics problem for a prescribed line trajectory, de®ned as x c t 50 501 8 exp ÿ18t ÿ 9 exp ÿ16t yc t 100 601 8 exp ÿ18t ÿ 9 exp ÿ16t zc t 750 1001 8 exp ÿ18t ÿ 9 exp ÿ16t (18) where xc, yc, zc are the coordinates of the geometric center of the mobile platform, and the simulation has been conducted for 10 seconds with a sampling time of 0.05 s. In this example, the platform orientation is constant, de®ned by the yaw (c ), pitch (y ), and roll (f ) angles as c=p/7, y=p/7, f=p/8. In order to see the eect of the extra sensor measurement error in solving the DKP, we have added 22 random errors to the extra sensory data by using a random number generator. Figs. 4 and 5 show the worst cases as concerning the error between the actual posture and the calculated one. As it may be seen, the error in the position is in the range of micrometers. The error in the orientation is much smaller. We also observed that about 60% of the computation time for the DKP solution accounts for the solution of the univariate polynomial of degree 5. Fig. 4. Error in the zc coordinatte of the mobile paltform. 434 I.A. Bonev, J. Ryu / Mechanism and Machine Theory 35 (2000) 423±436 Fig. 5. Error on the f (yaw) angle of the mobile platform. 5. Implementation issues of the linear extra sensors Basically, in the case of a medium-cost SP, two options exist for the type of linear extra sensors: LVDTs (Linear Variable Dierential Transformers) and CETs (Cable Extension Transducers), known also as string pots. The ®rst type typically allows a low measurement range (0.5 m), its price is high, it requires support electronics, and its installation is dicult, requiring the use of at least universal joints and an additional casing. Further, in case of leg interference with the extra sensor, it is surely damaged. The other option, the CETs, produce electrical signals proportional to the travel of their extension cables. The cable end is attached to the moveable object while the device itself is ®xed to a stationary part. As the object moves, the cable extends or retracts. The linear displacement is then converted to angular displacement with the cable being wound onto a cylindrical spool. A rotary sensor (potentiometer or shaft encoder) measures the spool rotation. The tension of the cable is guaranteed by a spring connected to the spool. Using a cable guide, the cable is allowed to move within a 208 cone, making it suitable for three-dimensional movement applications such as that of the mobile platform. Manufacturers of such sensors are Celesco Transducer Products Inc., SpaceAge Control Inc., Carlen Controls Inc., and several others. CETs provide a long range (0.04±40 m), typical accuracy of 0.2% of full scale (FS) in case of potentiometers and 0.02% FS in case of shaft encoders, and typical repeatability of 0.02% FS. The maximum allowable cable velocity is about 7.2 m/s and the maximum cable acceleration is about 200 m/s2. The characteristics of a typical CET make it appropriate for the discussed application. The attachment place of the CET on the base is to be decided by several criteria. Firstly, the base attachment point should be far from the robot base joints to ensure no interference of the cable with the legs within the workspace of the manipulator. Secondly, the total length of the cable should be large enough to guarantee that the cable stays within the 208 cone throughout the whole workspace while still keeping the CET within the framework of the base. I.A. Bonev, J. Ryu / Mechanism and Machine Theory 35 (2000) 423±436 435 6. Conclusion A new method was proposed for ®nding the unique `true' solution of the DKP of a general SP using three linear extra sensors. The attachment of the linear extra sensors is relatively easy, requiring no coalescence of attachment points on either the base or the platform. The unique solution is obtained by solving a univariate polynomial of degree 5 generated from an overdetermined system of 6 quadratic equations and applying a selection procedure to its solutions. Appendix A Expressions for M, v0, v1, v2, and v3, appearing in Eq. (8): M2 2 k b1 ÿ bs1 6 k b2 ÿ bs1 6 6 1 ÿ k b3 ÿ bs1 6 60 6 40 1 ÿ k b6 ÿ bs1 kc1 kc2 1 ÿ kc3 0 0 1 ÿ kc6 0 1 ÿ k a2 ÿ as2 k a3 ÿ as2 k a4 ÿ as2 1 ÿ k a5 ÿ as2 0 0 1 ÿ kc2 kc3 kc4 1 ÿ kc5 0 1 ÿ k a1 ÿ as3 0 0 1 ÿ k a4 ÿ as3 k a5 ÿ as3 k a6 ÿ as3 3 1 ÿ k b1 ÿ bs3 7 0 7 7 0 7 1 ÿ k b4 ÿ bs3 7 7 1 ÿ k b5 ÿ bs3 5 1 ÿ k b6 ÿ bs3 v3 2 1 ÿ kc1 , 0, 0, 1 ÿ kc4 , kc5 , kc6 T v2 20, 1 ÿ k b2 ÿ bs2 , k b3 ÿ bs2 , k b4 ÿ bs2 , 1 ÿ k b5 ÿ bs2 , 0T v1 2k a1 ÿ as1 , k a2 ÿ as1 , 1 ÿ k a3 ÿ as1 , 0, 0, 1 ÿ k a6 ÿ as1 T v0 ÿa21 b21 c21 ks1 1 ÿ ks3 ÿ l21 m1 , a22 b22 c22 ks1 1 ÿ ks2 ÿ l22 m2 , a23 b23 c23 ks2 1 ÿ ks1 ÿ l23 m3 , a24 b24 c24 ks2 1 ÿ ks3 ÿ l24 m4 , a25 b25 c25 ks3 1 ÿ ks2 ÿ l25 m5 , a26 b26 c26 ks3 1 ÿ ks1 ÿ l26 m6 T where m1 ÿ 1 ÿ ka2s3 1 ÿ kb2s3 ka2s1 kb2s1 k 1 ÿ kp2 m2 ÿ 1 ÿ ka2s2 1 ÿ kb2s2 ka2s1 kb2s1 k 1 ÿ kp2 m3 ÿ 1 ÿ ka2s1 1 ÿ kb2s1 ka2s2 kb2s2 k 1 ÿ kp2 m4 ÿ 1 ÿ ka2s3 1 ÿ kb2s3 ka2s2 kb2s2 k 1 ÿ kp2 436 I.A. Bonev, J. Ryu / Mechanism and Machine Theory 35 (2000) 423±436 m5 ÿ 1 ÿ ka2s2 1 ÿ kb2s2 ka2s3 kb2s3 k 1 ÿ kp2 m6 ÿ 1 ÿ ka2s1 1 ÿ kb2s1 ka2s3 kb2s3 k 1 ÿ kp2 References [1] J-P. Merlet, Les Robots ParalleÁles, 2nd ed., HermeÁs, Paris, 1997. [2] D. Lazard, in: V. Parenti-Castelli, J. Lenarcic, (Eds.), 3rd International Workshop on Advances in Robot Kinematics, Ferrare, September, 1992, pp. 136±142. [3] C. Zhang, S.M. Song, ASME Journal of Mechanical Design 116 (1994) 54±60. [4] F. Wen, C. Liang, Mechanism and Machine Theory 19 (4) (1994) 547±557. [5] M. Raghavan, AMSE Journal of Mechanical Design 115 (1993) 277±282. [6] F. Ronga, T. Vust, Preprint, Universite de GeneÁve 1992. [7] D. Lazard, in: J. Angeles, et al. (Eds.), Computational Kinematics, Kluwer, 1993, pp. 175±182. [8] B. Mourrain, in: M. Bronstein (Ed.), ISSAC'93, ACM Press, Kiev (Ukraine), 1993, pp. 173±182. [9] C.W. Wampler, Mechanism and Machine Theory 31 (3) (1996) 331±337. [10] M.L. Husty, Mechanism and Machine Theory 31 (4) (1996) 365±380. [11] J.C. FaugeÁre, D. Lazard, Mechanism and Machine Theory 30 (6) (1995) 765±776. [12] J-P. Merlet, C. Gosselin, Mechanism and Machine Theory 26 (1) (1991) 77±90 (in French). [13] D. Bernier, J-M. Castelain, X. Li, 9th World Congress on the Theory of Machines and Mechanisms, Milan, 30 August±2 September, 1995, pp. 8±12. [14] T. Arai, T. Tanikawa, J-P. Merlet, T. Sendai, ASME Japan/USA Symposium on Flexible Automation 1 (1996) 145±149. [15] H. Zhuang, L. Liu, IEEE International Conference on Robotics and Automation, Minneapolis, April, 1996, pp. 994±999. [16] R. Stoughton, T. Arai, IEEE International Workshop on Intelligent Robots and Systems, (IROS), November, 1991, pp. 785±790. [17] J-P. Merlet, IEEE International Conference on Robotics and Automation, 1993, 1, pp. 200±204. [18] K. Han, W. Chung, Y. Youm, ASME Journal of Mechanical Design 118 (2) (1996) 214±219. [19] R. Nair, Master Thesis, University of Maryland 1992. [20] K.C. Cheok, J.L. Overholt, R.R. Beck, Journal of Robotic Systems 10 (5) (1993) 689±707. [21] B. Roth, in: J. Angeles, et al. (Eds.), Computational Kinematics, Kluwer, 1993, pp. 3±14.
© Copyright 2026 Paperzz