The 40 \generic" positions of a parallel robot B. Mourrain SAFIRy 2004 Route des Lucioles 06565 Valbonne (France)
[email protected]
Abstract In this paper, we consider the direct kinematic problem of a parallel robot (called the Stewart platform or left hand). We want to show how the use of formal tools help us to guess the solution of this problem and then to establish it. We do not try here to give real time and numerical solutions to the problem of inverse images but focus on tools of eective algebra, which can help us to know a little more about the geometric aspects of the question. In a rst part, we describe experimentations done in order to obtain the number of \generic" positions of this robot, once the length of the arms are known. In a second part, we sketch the proof that the degree of the corresponding map is 40 (details will be given in another paper). We use explicit eliminations techniques, in order to get rid of the solution at in nity and we use Bezout's theorem on surfaces with circularity to conclude. The mechanism of the Stewart Platform (or left hand) is the following. Consider six xed points (Xi )1i6 (of a xed solid SX ) and six other points Zi , attached to a moving solid SZ . The articulations between the two solids SX and SZ are extenwork partially supported by PoSSo, EEC ESPRIT BRA contract 6846. y SAFIR is a common project to INRIA (SophiaAntipolis), Univ. De Nice-Sophia-Antipolis, CNRS
sible bars (Xi ; Zi )1i6 with spherical joints. Z4
X4
Z3
Z5
X3
X5
Z2
Z6
X2
Z1
X6 X1
Changing the length of the bars entails a little displacement of the platform so that this mechanism is well-suited for doing precise movements of adjustement. For more informations on parallel robots, see [6]. From a practical point of view, it is easy to measure the length of these articulations but much less obvious to determine the position of the solid SZ , knowing these lengths. The main purpose of this section will be to study the map which associates to a displacement of the solid SZ , the square of the length kXi ; Zi k2 , or more precisely the number of points in a \generic" ber. The problem of computing the ber of this map may appear concretely when one want, after some experimentation crash, to reset the robot in the
previous position. Solving numerically this problem consists also in the rst step towards the control of this mechanism. Up to few months ago, only empirical and numerical solutions of this problem were proposed, without knowning a correct bound. The problem of computing this degree has been recently addressed by D. Lazard (see [5]) and F. Ronga and T. Vust (see [7]). In the rst paper, the author with the help of Grobner basis computations, found the degree of the map for the planar case by analyzing what happens at in nity. He conjectured the same degree for the general case and bounded it by 320, via Bezout Theorem. In the second paper the two authors, using sophisticated geometric tools (Chow ring, vector bundles, Chern classes : : : ) prove that in the generic case the degree is 40. Here, we give a simple proof of this result, without Grobner
basis and without Chern classes of vector bundles.
1 A rational map and its ber
More precisely, let denote by k the eld (It will be C in theory and something like IR in practice) and A n = kn the ane space of dimension n on k. The canonical basis of A n is (O; e1; : : : ; en). To make a distinction between ane spaces and vector spaces, we note IEn = kn the same space seen as a k-vector space and will consider A n has an open set of the projective space IP (IEn+1). Let us call D, the set of displacements of A 3 . The image of a point Y of A 3 by a displacement D 2 D is the composition of a rotation R 2 SO3 (which xes the origin) and a translation of vector T 2 IE 3 : in a referential, we have D:Y = R Y + T where Y; T 2 k3 and where R also denoted the matrix of the linear map associated to D which satis es such that R:t R = Idk3 and det(R) = 1. The space D = SO3 IE 3 is an algebraic set of dimension 6. Let denote by (Yi ) the position of solid SY . We are going to study the map which associates the square of the distances between the images Zi = D:Yi of Yi and the xed points Xi , to each displacement D of the solid SY : : D !
A
6
D 7! (kD:Yi ? Xi k ) i 2
1
6
The space D will also be called the space of con gurations and A the space of observations. 6
The variety of rotations SO3 can be parametrized1 by
! : IP nV(a + b + c + d = 0) ! SO (a; b; c; d) 7! R = a2 b2 c2 d2 3
"
2
2
2
2
+
1 +
3
+
a2 + b2 ? c2 ? d2 2 ( b c ? d a) 2 (b d ? c a) 2 (b c + d a) a 2 ? b2 + c2 ? d2 2 (c d ? b a) 2 (b d + c a) 2 (c d + b a) a 2 ? b2 ? c2 + d 2
#
(1) (where V(a +b +c +d = 0) is the variety de ned by the polynomial a2 + b2 + c2 + d2). The map ! is a bijective map from IP 3nV(a2 +b2 +c2 +d2 = 0) onto SO3 . The translation T is a vector of coordinates T = [T1; T2 ; T3]. We will consider the "generic" ber (more precisely, the bers which do not meet the critical locus) of the map . It has the same number of points (counted with multiplicities) the ber of (! Id). This number which is called the degree of the map (! Id), corresponds also to the following dimension: De nition 1.1 | The degree d of the map (! Id) is the dimension of the eld k(k!( da ; db ; dc ; 1):Yi + T ? Xi k21i6) as a K -vector space where K = k( da ; db ; dc ; T1 ; T2 ; T3). (see [8][p 56, 116]). To compute explicitly this degree, we will use the following proposition: Proposition 1.2 | The ber of a non-critical value is an algebraic set of d distincts points on which the jacobian of the map is of maximal rank. (see [8]). The non-critical values are in the complementary of the image of the critical locus. This set is a dense open subset of the space of observations. So taking a random point in the last space, we shall almost be sure that it is a non-critical value. This remark will be used in experimentations. For each point in the ber of a non-critical value, the jacobian of the map is of maximal rank. This implies 2
2
2
2
1 To a unitary quaternion
h
cj
+
) is associated the map
pa +b 1+c +d ( + + 7! . Its restriction on
=
2
2
2
2
a
ib
i is an endomorphism which has the following matrix.
dk
i; j; k
q
x
qxq
that the multiplicity of the distinct points of this ber is one. As the number of points (counted with multiplicity) is the degree d of the map, we have exactly d distinct points in a generic ber of . This allows us to compute the degree of as the degree of the ideal de ning a (random or generic) ber of this map.
2 Some experimentations In this section, we describe formal computations which provide directly the degree of the map . In [5], computations of Grobner bases for this 6dimensional problem, were done by introducing extra variables and relations but they nish only in the case where the points of upper platform are on a plane. Here we will work directly in a space of dimension 6, by using the parameterization of rotations by quaternions. The counterpart is that we introduce degenerate conditions that we will have to remove, but computations will terminate in a reasonable time, in each case. Given six square of lengths i and points (Xi ), (Yi ), we have to determine how many solutions D = (R; T ) satisfy the system: [R:Yi + T ? Xi ; R:Yi + T ? Xi ] = i = [Yi; Yi ] + [T; T ] + [Xi ; Xi ] +2 [R:Yi ; T ] ? 2 [Xi ; T ] ? 2 [R:Yi ; Xi ] for 1 i 6. As the points (Yi ) correspond to the original position of the solid SZ , we can assume without loss of generality that Y6 = X6 = O. (From now on, we will also note X6 = X0 = [0; 0; 0], Y6 = Y0 = [0; 0; 0], Z0 = Z6 : : : ) So we have [T; T ] = 6 = 0 and we obtain a new equivalent system: 8 > > > > > > > < > > > > > > > :
[T; T ] = 0 [R:Y1 ; T ] ? [X1 ; T ] ? [R:Y1 ; X1] = 1 [R:Y2 ; T ] ? [X2 ; T ] ? [R:Y2 ; X2] = 2 [R:Y3 ; T ] ? [X3 ; T ] ? [R:Y3 ; X3] = 3 [R:Y4 ; T ] ? [X4 ; T ] ? [R:Y4 ; X4] = 4 [R:Y5 ; T ] ? [X5 ; T ] ? [R:Y5 ; X5] = 5
(2)
The values i are just linear combinations of the squares of the initial lengths (i)1i6 (for instance 1 = 1 ? 6).
In the following examples, the (i)1i6 (and (i)0i5) will be computed from an arbitrary rotation R0 and translation T0 given at random. In this case, D0 = (R0; T0 ) will of course be a solution of our system and the degree of the ber, if D0 is not singular, will be the degree of the map (according to proposition (1.2)). Using the parameterization ! (see (1)), taking T = [u=z; v=z; w=z ] and reducing to the same denominator, we obtain a bi-homogeneous system in (a; b; c; d) and (u; v; w; z ). Let denote by I the ideal of R = k[a; b; c; d][u; v; w; z ] generated by these equations (1.2). We have (at least) two ways to associate a variety to this ideal. Either, in the space of bi-homogeneous polynomials with respect to the two blocks of variables, we denote by W the corresponding variety of IP 3 IP 3. Or in the space of homogeneous polynomials but with respect to all the variables and we note V the corresponding variety of IP 7. We want to compute the number of complex \solutions" of this system (if it is nite) such that a2 + b2 + c2 + d2 6= 0 and z 6= 0. Let note W 0 = WnV(z (a2 + b2 + c2 + d2) = 0) and V 0 = VnV(z (a2 + b2 + c2 + d2) = 0) (where the overline means the closure of the variety). This number will be nite if and only if the varieties W 0 (or the variety V 0) is of codimension 6. In the rst case, we will nd a nite collection of points (q; t) in IP 3 IP 3. This means that all points of the form ( q; t) (where ; 2 k are solutions of the systems I . If we now look at this system in IP 7, this means that all the points of the lines (q; 0), (0; t) are solutions of the system. So to a point \solution" in IP 3 IP 3 corresponds a unique line \solution" in IP 7. As the ber of a non-critical value cannot contain multiple points, this shows that the degree of W 0 and the degree of V 0 will be the same. In the following, we rather work with V 0 because Grobner basis (= standard basis) computations in macaulay are adapted to global homoge-
neous polynomials computations. One reason not to use maple to compute Grobner bases is that we cannot perform localization of ideals in this system. The other reason is that macaulay is more ecient. The ideal corresponding to V 0 can be obtained from the ideal I by localizing with respect to the multiplicative set S = f1; h; h2 ; : : :g where h = z (a2 + b2 + c2 + d2) is the hypersurface of IP 3 IP 3 that we want to avoid. In other words, we have to compute the "saturated" ideal (I : h) = I:S ?1 \ R = fg 2 R ; 9N jhN g 2 I g If Z is a variable of the ring R, one way to compute (I : Z ) is to construct a Grobner basis G of I with a reverse lexicographic order such that Z is the last variable. A Grobner basis (for the same order) of the ideal (I : Z ) is then the set of elements Zgg where g 2 G and Z g is the greatest power of Z which divides g. In the same way, if we want to localize by h, we extend the ring R by introducing a new variable Z , and we compute (I : h) = ((I; Z ? h):R[Z ] : Z ) \ R Remark: computations in macaulay are done over a nite eld (of characteristic 3991, most of the time) but this is not really a problem. If we chose a random characteristic, the degree of the ber of a non-singular value is the same as in characteristic 0.
2.1 Points in general position
We choose the points on SX , SY in a way such that no relation of colinearity, coplanarity, : : : appears. For instance: X [0] = X [6] = [0; 0; 0] Y [0] = Y [6] = [0; 0; 0] 59 X [1] = [ 107 ; 0; 0] Y [1] = [ 500 ; 0; 0] 9 91 991 549 X [2] = [ 25 ; 125 ; 0] Y [2] = [ 1000 ; 1000 ; 0] 211 527 5 114 959 891 X [3] = [ 1000 ; 1000 ; 1000 ] Y [3] = [ 8 ; 125 ; 1000 ] 76 129 59 X [4] = [ 161 ; 161 ; 601 ] Y [4] = [ 125 ; 250 ; 500 ] 500 1000 1000 19 279 181 141 21 477 X [5] = [ 1000 ; 500 ; 500 ] Y [5] = [ 1000 ; 50 ; 500 ] We have chosen (without lost of generality) the position of the solid SY and the coordinates such that X [0] = Y [0] = [0; 0; 0], X [1]; Y [1] are parallel to the
rst axis of coordinates and that X [2]; Y [2] are in the plane of the two rst axes. The coordinates of the translation and rotation given at random, yield to random values i (which correspond almost surely to a non-critical value). Let take for instance: 1=3 ?2=3 2=3 R0 = 64 2=3 ?1=3 ?2=3 75 ; T0 = [1; 1; 1] 2=3 2=3 1=3 2
3
We give here an example of computations that we have done to obtain the degree of the ber corresponding to this example. To compute the system S de ning the ber (see (3)), we have used our favorite Symbolic Calculator (in this case, maple). This one is linked with our favorite system for computations of Grobner bases (ie. macaulay2 ) (it uses the package micmac3 doing the communication between the two systems). With this tool, we can send for instance, the ideal generated by S in the ring R with the right order to macaulay and then use the result of its computation of Grobner basis in maple. > R := ring([a,b,c,d,u,v,w,z]); R := table([ _char = 31991 _order = [] _degrees = [1, 1, 1, 1, 1, 1, 1, 1] _TYPE = ring _var = [a, b, c, d, u, v, w, z] ])
In the ring R with the classical reverse lexicographic ordering, every variable has a degree 1 and the characteristic is 31991. > i := ideal(S); i := table([ _TYPE = ideal 2 2 2 2 _gene = [u + v + w - 14 z , ...] ])
2 but as soon as possible with PoSSo : : : 3 see micmac manual, B. Mourrain (1992).
(available by ftp zenon.inria.fr (132.96.32.21) or by mail to
[email protected]).
which contains 128 elements, that are not transu2 + v2 + w2 ? 14 z2 ; 329000 u a2 + 329000 u b2 ? 472500 u c2 lated under maple but kept in macaulay to save time. This computation took 4m5s (on a sun 4) ? 472500 u d2 + 801500 v b c + 801500 v d a + 801500 w b d 2 2 2 ? 801500 w c a ? 1378278 a z ? 1378278 b z ? 1312555 c z and went up to degree 11.
The generators of the ideal i are
? 1312555 d2 z; 161000 w b d + 161000 v d a + 161000 v b c ? 216000 u d2 ? 216000 u c2 ? 55000 u b2 ? 55000 u a2 + 417491 a2 z ? 161000 w c a + 461122 c2 z + 888641 b2 z 2 2 2 + 932272 d z ? 11500 v c + 86000 v c d ? 686500 v d 2 2 + 86000 u c a ? 686500 v b + 86000 u b d ? 11500 v a ? 675000 u d a + 675000 u b c + 675000 w c d ? 86000 v a b ? 43000 w b2 + 43000 w a2 + 675000 w a b ? 43000 w c2 ? 295303 b c z + 43000 w d2 ? 23306 b d z + 70547 d a z + 60028 a bz ? 23306 c a z ? 60028 c d z; 917000 w b d 2 2 + 917000 v d a + 917000 v b c ? 740500 u d ? 740500 u c 2 2 2 + 176500 u b + 176500 u a + 657218 a z ? 917000 w c a 2 2 2 2 + 1340418 c z + 1274604 b z + 1625780 d z ? 257500 v c 2 2 + 308000 v c d ? 719500 v d + 308000 u c a ? 719500 v b + 308000 u b d ? 257500 v a2 ? 462000 u d a + 462000 u bc + 462000 w c d ? 308000 v a b ? 423500 w b2 ? 115500 w a2 2 2 + 462000 w a b ? 423500 w c ? 1156477 b c z ? 115500 w d ? 667975 b d z ? 635341 d az + 51898 a b z + 320551 c a z ? 549934 c d z; 350000 w b d + 350000 v d a + 350000 v bc ? 218000 u d2 ? 218000 u c2 + 132000 u b2 + 132000 u a2 + 1542640 a2 z ? 350000 w c a + 1756218 c2 z + 1793021 b2 z + 1639643 d2 z ? 341000 v c2 + 199000 v c d ? 428000 v d2 2 2 + 199000 u c a ? 428000 v b + 199000 u b d ? 341000 v a ? 87000 u d a + 87000 u b c + 87000 w c d ? 199000 v a b ? 560500 w b2 ? 361500 w a2 + 87000 w a b ? 560500 w c2 ? 276632 b c z ? 361500 w d2 ? 339814 b d z ? 261668 d a z + 72817 a bz + 305586 c a z ? 233245 c d z; 1634500 w b d + 1634500 v d a + 1634500 v b c ? 1534750 u d2 ? 1534750 u c2 + 99750 u b2 + 99750 u a2 + 1732610 a2 z ? 1634500 w c a + 2961831 c2 z + 3921846 b2 z + 4032915 d2 z 2 2 + 94500 v c + 3409000 v c d ? 2390500 v d + 3409000 u c a 2 ? 2390500 v b + 3409000 u b d + 94500 v a2 ? 2485000 u d a + 2485000 u b c + 2485000 w c d ? 3409000 v a b ? 1991500 w b2 + 1417500 w a2 + 2485000 w a b ? 1991500 w c2 ? 2091082 b c z + 1417500 w d2 ? 1665748 b d z ? 53382 d az + 1828764 a b z ? 1129632 c az ? 2643844 c d z
We compute now a Grobner basis for this ideal in R: > g := gb(i,R): g := table([ _TYPE = ideal 128 _gene = [? ] _name = i_gb _prop = [GB] ])
> deg(g); [codimension = 4, degree = 9]
This corresponds to the degree of the components of maximal dimension of V . This part of V contains the degenerate conditions such as the linear space de ned by u = v = w = z = 0 but also the variety de ned by a2 +b2 +c2 +d2 = 0; z = 0; u2 +v2 +w2 = ~ = 0 where R~ is the numerator of R. It is 0; t R:T of codimension 4 because if a2 + b2 + c2 + d2 = 0 then R~ is of rank 1 as we will see later. To obtain a variety of codimension 6, we localize by z (a2 + b2 + c2 + d2) and we obtain: > gs := sat(g,z*(a^2+b^2+c^2+d^2)): > deg(gs); [codimension = 6, degree = 40]
It took 26m5s to obtain this saturated ideal.
2.2 The other cases Here are other investigations corresponding to specialized cases of the rst problem. We summarize these results in the following table : Case codimdg degdg codim degree (1) 4 14 6 24 (2) 4 9 6 40 (3) 4 9 6 16 (4) 4 9 6 16 With the same notation as in the previous subsection, we compute the Grobner basis of the ideal i in the ring r and then its saturation by z (a2 + b2 + c2 + d2). The rst two columns give the codimension and degree before localization. The two last correspond to the codimension and degree after removing the degenerate conditions. 1. The case where the base and the platform are isometric. Here we suppose that the two sets of points (Xi) and (Yi ) are isometric. So we can assume in this case, without loss of generality that Xi = Yi for 1
i 6. In this particular case of the previ-
ous problem, we consider a generic situation and take the points (Xi) and the lengths at random. We would nd the same degree in the case where there exists a linear transformation A such that Yi = A:Xi . The system can be simpli ed in this case by linear combinations of equations, so that the 40 ? 24 = 16 solutions of the rst problem which are not counted here \go to in nity\. 2. The platform is plane. The points (Yi) are in a same plane and the points (Xi) are arbitrary. Here again, we nd the same degree as in the general case. Assuming that the points Xi are also in a same plane would not change this degree. 3. The case Y1 = Y2, Y3 = Y4, Y5 = Y6. Here the platform is a triangle and the points Xi are arbitrary. Z3
X4
X3
Z5
X5 X2
Z1
X6 X1
Fixing the length implies that each point Z1; Z3 ; Z5 are on circles and its is not surprising to nd a lower degree. One can also check it \by hand". 4. The case Y4 = Y5 = Y6.
Here we almost now the position (two possibilities) of the point Z0 when we know the 3 lengths from the points X0; X1 ; X2. When Z0 is xed, the 3 other points Z3 ; Z4; Z5 are also on circles, so that the degree is the same as before. We do not give here the time of computations, because we are not racing. Either it stops in a reasonable time (lower than 30 minutes) or we stop it. We just notice that this time is signi cantly decreasing with the simplicity of the con gurations. We can also remark that these degrees are multiple of 8, property that we are going to explain it in the following section.
3 The degree of the map We give a proof that the degree of the map is 40 in the \generic" case, using an explicit computation of a resultant and Bezout's theorem on surfaces and curves with a common part at in nity.
3.1 A moving tetrahedron
The general idea of the proof is the following: we rst forget the constrains of length between the points X0 and Z0, X5 and Z5 , taking into account only the distances kXi ; Zi k (for 1 i 4). The solid has in this case two \degrees of freedom\ and each of its point generate a surface. We describe this surface (its degree and its part at in nity) and then add the two last constrains in order to obtain the 40 points. X3 Z3
Z2 X2
Z3
X4
Z4 Z1
X3 Z6
X4
Z2
X5
X2
Z1
X6 X1
X1
Let recall that the initial position of the platform is denoted by SY containing the points (Yi ).
Their image by a displacement D = (R; T ) 2 D (where R is a rotation, T a translation) are noted Zi = D:Yi = R:Yi + T . The situation we are interested in now, corresponds to displacements D = (R; T ) 2 D satisfying the equations: 8 > [R:Y1; T ] ? [X1; T ] ? [R:Y1 ; X1] = 1 > > < [R:Y2; T ] ? [X2; T ] ? [R:Y2 ; X2] = 2 (3) > [R:Y3 ; T ] ? [X3 ; T ] ? [R:Y3 ; X3 ] = 3 > > : [R:Y4; T ] ? [X4; T ] ? [R:Y4 ; X4] = 4 Then we will add the constrains [T; T ] = 0 and kZ5 ; X5k2 = 5 (where Z5 = R:Y5 + T ). Once again, we use the representation of rotations with quaternions: R = a2 +b2 +1 c2 +d2 " # a2 + b2 ? c2 ? d2 2 ( b c ? d a) 2 (b d ? c a) 2 (b c + d a) a 2 ? b2 + c2 ? d2 2 (c d ? b a) 2 (b d + c a) 2 (c d + b a) a 2 ? b2 ? c2 + d 2
and take T = [u=z; v=z; w=z ] and reduce each equation to the same denominator so that the previous system is transformed in a homogeneous system of degree 2 in q = (a; b; c; d) and of degree 1 in t = (u; v; w; z ): 8
< > :
u ;i a + u ;i b + u ;i c + u ;i d +u ;i a b + u ;i a c + u ;i a d +u ;i b c + u ;i b d + u ;i c d 2
0
2
1
2
2
4
5
6
7
8
9
3
9 2 > = > ; 1
i3
evaluated in ui;j = i;j (t) vanishes. In other words, S = V(Res(i;j (t)) = 0) = V(r(u; v; w; z ) = 0). The resultant is of degree 2 2 2 = 8 (see [3][II]) in each set of variables (ui;j )0j 9, so that r is of total degree 8 (1 + 1 + 1 + 1) = 32 in t = (u; v; w; z ).
Computing the resultant of 4 quadratic forms We give a slight generalization of Dixon's method (see [1]) in the case of 4 variables in order to obtain an explicit description of this resultant. See also [2] for the general case. Let consider 4 homogeneous quadratic forms Q1(a; b; c; d); : : :; Q4(a; b; c; d) of C [a; b; c; d]:
Qm (a; b; c; d) =
X
i+j +k+l=2
umi;j;k;l ai bj ck dl
and search the condition on their coecients umi;j;k;l such that they have a common solution. This condition (which is one polynomial in the variables
umi;j;k;l ) known as the resultant of the 4 polynomials will vanish i (Qi(q) = 0) as a solution in IP (C ). It is multi-homogeneous and of degree 2 2 2 = 8 3
in the coecients of each quadratic polynomial (see [3][II]). As for the case of 3 variables, we are going to describe the resultant as a determinant of a \big" matrix which entries depend on the coecients of the Qi . Let note
F (q; ) =
Q (a; b; c; d) : : : Q (a; b; c; d) Q (; b; c; d) : : : Q (; b; c; d) Q (; ; c; d) : : : Q (; ; c; d) Q (; ; ; d) : : : Q (; ; ; d) (a ? ) (b ? ) (c ? ) 1
4
1
4
1
4
1
4
As the numerator vanishes when a = , b = or c = , F (q; ) is a homogeneous polynomial in a; b; c; d; ; ; of degree 8 ? 3 = 5 and at most of degree 6 ? 3 = 3 in a; b; c and ; ; . It is also of degree 1 in the coecients of each Qi . So it can be written in the form:
F (q; ) =
X
i+j +k3
i;j;k (q) i j k
where i;j;k is of degree 5 ? (i + j + k) in a; b; c; d. For instance 0;0;0 is of degree 5 and 1;0;0 of degree 4. As each i;j;k is also at most of degree 3 in a; b; c, it is divisible by d2.! There are 63 = 20 distincts monomials in ; ; in this sum. Let consider the decomposition of ~0;0;0 = 1 1 1 ~ ~ ~ d2 0;0;01;0;0 = d 1;0;0; 0;1;0 = d 0;1;0; 0;0;1 = 1 i j k 3?(i+j +k) (for d 0;0;1 in the 20 monomials of a b c d i + j + k 3). These form the 4 rst ligns of the matrix we are looking for. The next ligns are the decomposition of a Q1; : : : ; a Q4 and so on up to d Q1; : : : ; d Q4. Finally we obtain a 20 20 matrix :
~0;0;0 ~1;0;0 ~0;1;0 ~0;0;1 aQ .. .
aQ bQ
a
3
ab
ac
::::::
d
0 .. . 0 0 .. . 0 0 .. . 0
2
2
1
u;;;
u;;;
u;;;
::::::
4
u;;;
u;;; u;;;
u;;;
:::::: ::::::
1 2000
.. .
4 2000
1 1100
4 1100 1 2000
1 1010
4 1010
3
0 0 .. . b Q4 0 u42;0;0;0 0 :::::: 1 c Q1 0 0 u2;0;0;0 : : : : : : .. .. . . c Q4 0 0 u42;0;0;0 : : : : : : d Q1 0 0 0 : : : : : : u10;0;0;2 .. .. .. . . . 4 d Q4 0 0 0 : : : : : : u0;0;0;2 If q0 = (a0; b0 ; c0; d0) is a solution of the system (Qi(q) = 0) then F (q0; ) = 0 as polynomial in . Consequently, each coecient i;j;k (q0) vanishes. The non-null vector [a30; a20b0 ; : : :; d30] is in the kernel of this matrix and its determinant is zero. This determinant is a polynomial in umi;j;k;l of degree 8 (the i;j;k are of degree 1) in the coecient of each polynomials Qi and vanishes when the resultant vanishes. So up to a scalar, it is the resultant of the 4 quadratic forms. As we have seen 1 is a component of the projection of W so that a power of z divide the resultant. Using this method and taking for instance v = 0; w = 0 (we know that the part at in nity is a line), we are able to nd the greatest power of z which divides r(u; v; w; z ). After some computations (done in maple), we nd that it is z 12 so that the projection contains the plane 1 with a multiplicity 12. 2 ? 12 Let denote by f (u; v; w; z ) the equation r z of the ane S 0 part of S , which is of degree 20. .. .
1
3.3 Intersection with spheres
De nitions 3.3 For every homogeneous polynomial f in
(u; v; w; z ), we denote by f > the part of f of greatest degree with respect to the variables (u; v; w).
The imaginary circle is the curve of IP de ned by u + v + w = z = 0. The circularity of a surface of IP de ned by an equation f is the maximal power c of (u + v + w ) which divide f > (It is the number of
40 2 = 80 points of intersection, counted with multiplicity. But, in this set of points, some are at in nity. As the 40 points (with multiplicity) of the curve Z at in nity are on the imaginary circle, they are also in the intersection of the sphere with the curve. All subtraction done, we are left with 40 points in the ane space. 2
The circularity of a curve C of IP is the number of points of C \ 1 , counted with
Remarks :
3
2
2
2
3
2
2
2
"times" the surface contains the imaginary circle). 3
multiplicity, which belongs also to the imaginary circle.
We consider now the curve C obtained by intersecting W 0 with the variety V([T; T ] ? 0 = 0). Let denote by Z the curve generated by the point Z5 = R:Y5 + T when (R; T ) is on C .
Proposition 3.4 | The curve Z is of degree 40
and circularity 40.
proof. According to Bezout's theorem, the curve C is of degree 40. According to lemma (3.1), to every ane point of the curve Z , corresponds a unique displacement in C . Consequently, the degree of Z is the same as the degree of C (ie. 40). As [T; T ] ? 0 = 0 and T = R:Y5 ? Z5 we also have
[Z5 ; Z5] ? 2 [R:Y5 ; Z5 ] + [Y5; Y5 ] ? 0 = 0 and we see that the part at in nity of the curve
Z must satisfy [Z ; Z ] = 0. Consequently, the 40 5
5
points at in nity (according to Bezout's theorem) of the curve Z are also on the imaginary circle. 2
Proposition 3.5 | Given 6 lengths i , 6 xed generic points (Xi )0i5 and 6 moving generic points (Zi)0i5 belonging to a same solid SZ , there exist 40 complex positions of the solid SZ such that kXi Zi k = i. proof. According to lemma (3.1), the number of position of the solid SZ satisfying the conditions of distances is the number of ane points of intersection of the curve Z (of degree 40 and circularity 40) with the sphere S5 (of center X5 and radius 5 ). According to Bezout theorem, there are
Let us mention a nice property of these mechanisms described by algebraic equations, known as Fichter's theorem : Assume that your solid as one degree of freedom, then each \generic" point of this solid describes a curve of the same degree d and the same circularity. Each line attached to this moving solid describes a curve (in the space of lines) of degree d : : : . See [4] for more informations. If we take into account the sole real points, we would get probably less points, for they are the intersection of a curve with a generic sphere. If the radius is small enough, there are no real points. Using Grobner bases to compute the equation satis ed by the curve Z or the solutions of the complete system will lead to a degree 40 and more. It is probably out of range with such brutal method. Computing the numerical solutions is in fact envisaged with resultants techniques.
3.4 The other cases
We consider now the case where there exists a linear map M of A 3 such that Yi = M:Xi . In this case the system is of the form 8 > < [T T ] = 0 [R M:Xi ; T ] ? [Xi ; T ] ? [R M:Xi; Xi ] = i > : for 1 i 5 As the four points of A 3 are linearly dependent, we can use linear combination of the rst (resp. second) and the three last equations in order to eliminate the terms [R M:Xi ; T ] ? [Xi ; T ] (which are linear with respect to Xi ) so that we are left with a system degree (2; 1; 1; 1; 0; 0) in T and we obtain a surface of degree 8 (1 + 1 + 1 + 0) = 24 for T and also (24 ? 12) 2 = 24 solutions in a generic ber. In the case where Y0 = Y1; Y2 = Y3 ; Y4 = Y5, doing subtractions of equations two by two, we ob-
tain a system (2; 1; 1; 0; 0; 0) in T , an equation of degree 8 (1 + 1 + 0 + 0) = 16 for T and a generic ber is of degree 16. This result can however be checked directly, by computing a polynomial of degree 16 in one variable.
4 Conclusion As it is often the case in mechanics, we are looking here to a map from a space of con gurations to a space of observations of the same dimension. To study this map, we rst look at its ber, which means that we know the observations and we want to know the possible con gurations. The rst step in this approach was to experiment with Grobner basis computations. Using a rationnal parameterization of the rotations, introducing degenerate conditions, that we have to remove, we are able to investigate dierent geometries of our \robot". Such computations give us some topological informations like the degree (which is here 40), but could not really give us a way to compute numerically the solutions, for one polynomial of degree 40 would be one of the multiple polynomials of the resulting Grobner basis. Techniques using resultants however seem more ecients in this case because they give directly the good polynomial. More precisely, reduced resultants for hypersurfaces having a common part at in nity have to be considered here. This study should be completed by the description of the critical locus and its image, which will give us the frontier of the real image, yielding to a semi-algebraic characterization of the space of observations. At the present time, this problem is treated in practice numerically through heavy computations. Another extension is to consider the ber with respect to the critical locus. An interesting question from a practical point of view, consists in describing the way points of a ber can be connected by path when one want to avoid the critical locus (corresponding to movements which go from a noncritical value to the same value after some path in the complementary of the critical locus). Eective methods dealing with this problem related to the topology of the complementary of a real hy-
persurface and to its "1 ", does not seem to exist nowadays (as far as I know). This example shows, I hope, the need to combine dierent tools such as grobner basis computations, resultants, : : : in a common environment. Computations of Grobner basis in (characteristic dierent from zero) help us to guess the geometry of our problem but these techniques are too brutal to go further and external tools such as resultant (taking into account common part at in nity) might also be used if we want to have a system that could solve these concrete problems at our disposal.
Aknowledgment : I would like to thank J.P.
Merlet for interesting discussions on problems that such parallel robots can rise. I am also grateful to M. Merle for fruitful discussions on intersection theory and to Th. Vust that point out some problems to me, in a rst demonstration.
References [1] A.L. Dixon. The eliminant of three quantics in two independent variables. Proc. of Lond. Math. Society, 6:p 49{69,473{492, 1908. [2] J. Canny and I. Emiris. An ecient algorithm for sparse mixed resultant. submitted to AAECC 93, August 1993. [3] W. Hodge and D. Pedoe. Algebraic geometry. Reidel, 1988. [4] K.H. Hunt and E.J.F Primrose. Assembly con gurations of some parallel-actuated manipulators. Mech. Mach. Theory, 00(0):1{12, 1992. [5] D. Lazard. Stewart platforms and grobner bases. Proceedings of Advance in Robot Kinematik, Ferrare, Italia, September 1992. [6] J.P. Merlet. Les robots paralleles. Traites de nouvelles technologiques. Hermes, 1990. [7] F. Ronga and T. Vust. Stewart platforms without computer. note in preparation, 1992. [8] I.R. Shafarevitch. Basic Algebraic Geometry. Springer Verlag, 1974.