A new method for solving the direct kinematics of general 6

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 dicult 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 diculties 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 diculty 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 dicult 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 ÿ k†x 3 ‡ kx 1 ÿ a1 Š2 ‡ ‰…1 ÿ k†y3 ‡ ky1 ÿ b1 Š2 ‡ ‰…1 ÿ k†z3 ‡ kz1 ÿ c1 Š2 ÿ l21 ˆ 0
F2 ˆ ‰…1 ÿ k†x 2 ‡ kx 1 ÿ a2 Š2 ‡ ‰…1 ÿ k†y2 ‡ ky1 ÿ b2 Š2 ‡ ‰…1 ÿ k†z2 ‡ kz1 ÿ c2 Š2 ÿ l22 ˆ 0
F3 ˆ ‰…1 ÿ k†x 1 ‡ kx 2 ÿ a3 Š2 ‡ ‰…1 ÿ k†y1 ‡ ky2 ÿ b3 Š2 ‡ ‰…1 ÿ k†z1 ‡ kz2 ÿ c3 Š2 ÿ l23 ˆ 0
F4 ˆ ‰…1 ÿ k†x 3 ‡ kx 2 ÿ a4 Š2 ‡ ‰…1 ÿ k†y3 ‡ ky2 ÿ b4 Š2 ‡ ‰…1 ÿ k†z3 ‡ kz2 ÿ c4 Š2 ÿ l24 ˆ 0
F5 ˆ ‰…1 ÿ k†x 2 ‡ kx 3 ÿ a5 Š2 ‡ ‰…1 ÿ k†y2 ‡ ky3 ÿ b5 Š2 ‡ ‰…1 ÿ k†z2 ‡ 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 ÿ k†x 1 ‡ kx 3 ÿ a6 Š2 ‡ ‰…1 ÿ k†y1 ‡ ky3 ÿ b6 Š2 ‡ ‰…1 ÿ k†z1 ‡ 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 ÿ k†2 u3 ‡ k2 u1 ‡ k…1 ÿ k†w31 ˆ P1 …q†
…1 ÿ k†2 u2 ‡ k2 u1 ‡ k…1 ÿ k†w12 ˆ P2 …q†
…1 ÿ k†2 u1 ‡ k2 u2 ‡ k…1 ÿ k†w12 ˆ P3 …q†
…1 ÿ k†2 u3 ‡ k2 u2 ‡ k…1 ÿ k†w23 ˆ P4 …q†
…1 ÿ k†2 u2 ‡ k2 u3 ‡ k…1 ÿ k†w23 ˆ P5 …q†
…1 ÿ k†2 u1 ‡ k2 u3 ‡ k…1 ÿ k†w31 ˆ 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 ÿ k†u3 ‡ ku1 ˆ P1 …q† ‡ k…1 ÿ k†p2
…1 ÿ k†u2 ‡ ku1 ˆ P2 …q† ‡ k…1 ÿ k†p2
…1 ÿ k†u1 ‡ ku2 ˆ P3 …q† ‡ k…1 ÿ k†p2
…1 ÿ k†u3 ‡ ku2 ˆ P4 …q† ‡ k…1 ÿ k†p2
…1 ÿ k†u2 ‡ ku3 ˆ P5 …q† ‡ k…1 ÿ k†p2
…1 ÿ k†u1 ‡ ku3 ˆ P6 …q† ‡ k…1 ÿ k†p2 :
(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 ecient 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 coecient 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 coecient 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 coecients 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 coecients appearing in Eqs. (2) and (6), but
will not be presented here due to the large number of coecients.
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 dicult, 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
di€erent 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 coecients Hi,j (i = 1, 2, 3; j = 1, . . . , 7) can be expressed in a closed form in terms of the
coecients 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 coecients Ci (i = 1, . . . , 4) are functions of z3 and the parentheses are used to
indicate the highest degree of z3 appearing in the coecient. 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 coecient 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 coecients of this polynomial may
be written in a closed form in terms of the coecients of the original set of Eqs. (12). Note
that the expressions for the six coecients 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 e€ect 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 e€ectiveness 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 di€erent 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:000ŠT ‡ …l1 =700†‰525:000, 303:109, 350:000ŠT
A2 4‰ÿ848:035, ÿ 362:596, 0:000ŠT ‡ …l2 =700†‰525:000, 303:109, 350:000ŠT
A3 4‰ÿ110:000, 915:718, 0:000ŠT ‡ …l3 =700†‰0:000, ÿ 606:218, 350:000ŠT
A4 4‰110:000, 915:718, 0:000ŠT ‡ …l4 =700†‰0:000, ÿ 606:218, 350:000ŠT
Fig. 3. A HexaM type of parallel manipulator.
I.A. Bonev, J. Ryu / Mechanism and Machine Theory 35 (2000) 423±436
433
A5 4‰848:035, ÿ 362:596, 0:000ŠT ‡ …l5 =700†‰ÿ525:000, 303:109, 350:000ŠT
A6 4‰738:035, ÿ 553:122, 0:000ŠT ‡ …l6 =700†‰ÿ525:000, 303:109, 350:000ŠT
S1 4‰ÿ822:724, ÿ 475:000, 0:000ŠT
S2 4‰0:000, 950:000, 0:000ŠT
S3 4‰822:724, ÿ 475:000, 0:000ŠT
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 ‡ 50‰1 ‡ 8 exp…ÿ18t† ÿ 9 exp…ÿ16t†Š
yc …t† ˆ 100 ‡ 60‰1 ‡ 8 exp…ÿ18t† ÿ 9 exp…ÿ16t†Š
zc …t† ˆ 750 ‡ 100‰1 ‡ 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 e€ect 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 Di€erential 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 dicult,
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):
Mˆ2
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 ÿ k†c3
0
0
…1 ÿ k†c6
0
…1 ÿ k†…a2 ÿ as2 †
k…a3 ÿ as2 †
k…a4 ÿ as2 †
…1 ÿ k†…a5 ÿ as2 †
0
0
…1 ÿ k†c2
kc3
kc4
…1 ÿ k†c5
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 ÿ k†c1 , 0, 0, …1 ÿ k†c4 , kc5 , kc6 ŠT
v2 ˆ 2‰0, …1 ÿ k†…b2 ÿ bs2 †, k…b3 ÿ bs2 †, k…b4 ÿ bs2 †, …1 ÿ k†…b5 ÿ bs2 †, 0ŠT
v1 ˆ 2‰k…a1 ÿ as1 †, k…a2 ÿ as1 †, …1 ÿ k†…a3 ÿ as1 †, 0, 0, …1 ÿ k†…a6 ÿ as1 †ŠT
v0 ˆ ÿ‰a21 ‡ b21 ‡ c21 ‡ ks1 ‡ …1 ÿ k†s3 ÿ l21 ‡ m1 , a22 ‡ b22 ‡ c22 ‡ ks1 ‡ …1 ÿ k†s2 ÿ l22 ‡ m2 , a23
‡ b23 ‡ c23 ‡ ks2 ‡ …1 ÿ k†s1 ÿ l23 ‡ m3 , a24 ‡ b24 ‡ c24 ‡ ks2 ‡ …1 ÿ k†s3 ÿ l24 ‡ m4 , a25 ‡ b25
‡ c25 ‡ ks3 ‡ …1 ÿ k†s2 ÿ l25 ‡ m5 , a26 ‡ b26 ‡ c26 ‡ ks3 ‡ …1 ÿ k†s1 ÿ l26 ‡ m6 ŠT
where
m1 ˆ ÿ……1 ÿ k†a2s3 ‡ …1 ÿ k†b2s3 ‡ ka2s1 ‡ kb2s1 ‡ k…1 ÿ k†p2 †
m2 ˆ ÿ……1 ÿ k†a2s2 ‡ …1 ÿ k†b2s2 ‡ ka2s1 ‡ kb2s1 ‡ k…1 ÿ k†p2 †
m3 ˆ ÿ……1 ÿ k†a2s1 ‡ …1 ÿ k†b2s1 ‡ ka2s2 ‡ kb2s2 ‡ k…1 ÿ k†p2 †
m4 ˆ ÿ……1 ÿ k†a2s3 ‡ …1 ÿ k†b2s3 ‡ ka2s2 ‡ kb2s2 ‡ k…1 ÿ k†p2 †
436
I.A. Bonev, J. Ryu / Mechanism and Machine Theory 35 (2000) 423±436
m5 ˆ ÿ……1 ÿ k†a2s2 ‡ …1 ÿ k†b2s2 ‡ ka2s3 ‡ kb2s3 ‡ k…1 ÿ k†p2 †
m6 ˆ ÿ……1 ÿ k†a2s1 ‡ …1 ÿ k†b2s1 ‡ ka2s3 ‡ kb2s3 ‡ k…1 ÿ k†p2 †
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.