Proceedings of the ASME 2015 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference IDETC/CIE 2015 August 2-5, 2015, Boston, Massachusetts, USA
DETC2015-46094
TAILORED FORMULATIONS OF GEOMETRIC CONSTRAINTS FOR ALGEBRAIC ANALYSIS OF MECHANISM KINEMATICS
Samuli Piipponen
Eero Hyry
School of Information Sciences University of Tampere FI-33014, Tampere, Finland Email:
[email protected]
School of Information Sciences University of Tampere FI-33014, Tampere, Finland Email:
[email protected]
Jukka Tuomela
Andreas Muller ¨
Department Physics and Mathematics University of Eastern Finland PO Box 111, 80101 Joensuu, Finland Finland Email:
[email protected]
Institute of Robotics JKU Johannes Kepler University Altenbergerstr. 69, 4040 Linz, Austria Austria Email:
[email protected]
ABSTRACT Algebraic analysis of the kinematics of large and complicated mechanisms is complicated by the fact that the computational complexity grows very quickly as a function of the number of variables. However, for mechanisms which contain only revolute and/or cylindrical joints one can always simplify the original constraint ideal by choosing the right prime component of the ideal of revolute or cylindrical joint. By making these choices one automatically discards components which are irrelevant to the problem and hence the resulting ideal is simpler than the original. In this way one can immediately analyze some systems whose analysis in the original form is not feasible. As an example we illustrate our results using the spherical 4–bar mechanism.
bodies interconnected by different types of joints. The joints connecting the bodies impose different types of constraint equations between the coordinates of the bodies. The constraint equations define the configuration space of the mechanical system and in most cases it can be considered as an algebraic variety. From mathematical point of view the kinematical analysis is simply the analysis of the properties of the variety defined by the constraint equations. The most important properties and problems concern the dimension of the configuration space, i.e. the mobility of the mechanism, and possible singularities. The interpretation of the configuration space as an algebraic variety allows us to use the state of the art computational methods and Gr o¨ bner bases techniques in the actual algebraic analysis of the constraint ideal. However, even for small mechanisms, the complexity of the mathematical algorithms very often makes the actual computations difficult and often impossible. It is known in computational algebraic geometry that the specific form of the polynomial system used to define the variety is crucial. Hence,
1 Introduction The finite kinematic properties of a mechanical system are determined by the geometry of its configuration space. Technical systems are often modeled as mechanisms consisting of rigid
1
Copyright © 2015 by ASME
tailored forms of the constraints describing the mechanism are not only very helpful but indispensable to perform the analysis. Revolute and cylindrical joints are two prevailing types found in many mechanisms. In [1] we showed that the ideals describing the revolute and cylindrical joint have in fact two components, and only one of these components is physically relevant in a given situation. Moreover we showed that in some examples replacing the original ideal by the relevant component dramatically decreased the complexity of the computations [1–3]. For example the analysis of Bricard mechanism which we treated in [4] became trivial using this new idea. Hence the algebraic analysis of any mechanism which contains revolute and/or cylindrical joints becomes easier using this idea, and hence much larger systems can be analyzed in a routine way than would otherwise be impossible. The decompositions computed in [1] used a particular system of local coordinates. However, in order to be generally applicable formulas for decompositions in arbitrary coordinates are required. This is presented in this article. As an example we decompose the variety of the spherical 4–bar mechanism and obtain a complete description of it. It turns out that it has three physically different motion modes, one is the ’nominal’ mode, the other two are those with two joints locked. Moreover we are able to express all these modes as complete intersections which is important from the point of view of dynamic simulations of the mechanism. All the main computations in this article were done by publicly free computer program Singular [5] for computational algebraic geometry.
mensions and we set by definition dim(V(I )) = max dim(V(I j )) . j
The important point is that this number can actually be computed once the Gr¨obner basis for I is available. It is also useful to define the local dimension at a particular point as follows. dim p (V(I )) = max{dim(V(I j )) | p ∈ V(I j )}.
(2)
This can also be computed using the theory of local rings. Let I ⊂ A. Then its k’th elimination ideal is Ik = I ∩ K[xk+1 , . . . , xn ]. Geometrically this is related to projections. Let us set
πk : Kn → Kn−k
,
(x1 , . . . , xn ) → (xk+1 , . . . , xn ).
Now the connection between these notions is that πk V(I ) = V(Ik ).
(3)
where the overline denotes the Zariski closure. In nice situations the projection is already Zariski closed. Since this case will be useful in the analysis below it is convenient to have a notation for it.
2 Mathematical preliminaries 2.1 Ideals and Varieties Here we briefly review the necessary tools that will be needed. For more details and basic notations and definitions in algebraic geometry we refer to [6–9]. The following facts are fundamental
n Definition 2.1. The variety V(I ) ⊂ K is essentially the same n−k as V(Ik ) ⊂ K , if πk V(I ) = V(Ik ) and there is a map F : V(Ik ) → V(I ) such that πk ◦ F is identity and F can be represented as a graph of a polynomial map f . In this case we write V(I ) ≃ V(Ik ).
(i) every ideal is finitely generated, i.e. it has a basis with a finite number of generators. (ii) every radical ideal can be decomposed to a finite number of prime ideals: √ I = I1 ∩ · · · ∩ Is
A basis of an elimination ideal can be computed using a suitable product ordering. Whenever we use product orderings we indicate it with parenthesis. For example
where each Iℓ is prime. This gives the decomposition of the variety to irreducible components:
I ⊂ K[(x1 , x2 , x3 )l p , (y1 , y2 , y3 , y4 )d p ]
√ V(I ) = V( I ) = V(I1 ) ∪ · · · ∪ V(Is ).
means that we use lexicographic order for x variables and degree reverse lexicographic order for y variables. If G is the Gr¨obner basis of I with respect to this ordering then Ge = G ∩ K[y] is a Gr¨obner basis for I3 = I ∩ K[y].
(1)
Evidently the irreducible components can have different di-
2
Copyright © 2015 by ASME
2.2
Singularities
2.3 Euler Parameters Let a = (a0 , a1 , a2 , a3 ) and let us define the following matrices:
Let I = h f1 , . . . , fk i be an ideal and note by TpV the tangent space of V = V(I ) at p.
−a1 a0 −a3 e H(a) = −a2 a3 a0 −a3 −a2 a1 −a1 a0 a3 H(a) = −a2 −a3 a0 −a3 a2 −a1 a0 a1 a2 −a1 a0 −a3 ˜ K(a) = −a2 a3 a0 −a3 −a2 a1 a0 a1 a2 −a1 a0 a3 K(a) = −a2 −a3 a0 −a3 a2 −a1 T e R(a) = H(a)H (a) .
Definition 2.2. A point p ∈ V is singular if dim(TpV ) > dim p (V ). Otherwise the point p is regular. The set of singular points of V is denoted by Σ(V ). Recall that Σ(V ) is itself a variety whose dimension is less than dim(V ). Hence ”almost all” points of a variety are regular. Let V = V1 ∪ · · · ∪ Vℓ be the decomposition to irreducible components. Then there are basically two ways of a point x of a general variety V to be singular: either x is a singularity of an irreducible component Vi or it is an intersection point of two components. That is, the variety of singular points is
Σ(V ) =
ℓ [
i=1
Σ(Vi ) ∪
[
i= j
Vi ∩V j .
(4)
a2 −a1 a0 −a2 a1 a0 a3 a2 −a1 a0 a3 −a2 a1 a0
Note that R(a) = R(−a). One can check easily the following properties: Once we have the irreducible decomposition it is easy to compute the intersections (the second6 term in (4)). To compute the singular points of irreducible components (the first term in (4)) one needs the concept of Fitting ideals.
˜ T b = K(b)T a , R(a)T R(a) = |a|4 I K(a) ˜ T K(a) ˜ K(a) = K(a)T K(a) = |a|2 I
R(c) = R(b)R(a)
Let M be a matrix of dimension k × n with entries in A. The ℓth Fitting ideal of M, Fℓ (M), is the ideal generated by the ℓ × ℓ minors of M. Let now f = ( f1 , . . . , fk ) : Kn 7→ Kk be a map corresponding to the prime ideal I = h f1 , . . . , fk i and let V = V(I ) be the corresponding irreducible variety. The differential (or Jacobian) of f is denoted by d f . Let us suppose that dim(V ) = n − ℓ. The following result is usually called the Jacobian criterion.
⇐⇒
c = ±K(b)T a
˜ K(a) ∈ SO(4). If Hence if |a| = 1 then R(a) ∈ SO(3) and K(a), v ∈ R3 then vˆ = (0, v) ∈ R4 . On the other hand if v ∈ R4 then we can write v = (v0 , v) ˜ where v˜ ∈ R3 . Lemma 2.1. Let y, v ∈ R3 be some vectors. Then y = R(a)v if |a|2 = |y|/|v| and |v| |y| − (v, y) a0 + (a, ˜ y × v) = 0
Theorem 2.1. The singular variety of V is
(|y| v − |v| y, a) ˜ =0
Σ(V ) = V I + Fl (d f ) = V I ∩ V Fl (d f ) .
Proof. The necessary condition |a|2 = |y|/|v| is clear. Let ˜ v) L = K( ˆ T K(y). ˆ The condition y = R(a)v is equivalent to yˆ = T vˆ which implies that ˜ K(a)K(a)
In particular if I + Fl (d f ) = A then V is smooth.
˜ v) La = K( ˆ T K(y)a ˆ = |v|2 |a|2 a = |v| |y| a
The number of minors in the Fitting ideal grows quite quickly as a function of n and k. Hence it is very useful to find appropriate elimination ideals so that we are in the situation of Definition 2.1. In particular if V(I ) ≃ V(I j ) and V(I j ) is smooth then V(I ) is also smooth.
Hence a is an eigenvector of L with eigenvalue |v| |y|. Standard Gaussian elimination applied to L − |v| |y| I yields the conditions given above.
3
Copyright © 2015 by ASME
Let v j and y j be some vectors, j = 1, 2, and set L j = ˜ vˆ j )T K(yˆ j ). Then we have K(
4 Decomposition in Arbitrary Local Frames Let us then consider the ideal of the revolute joint in the general case. We use Euler parameters to represent the orientation of rigid bodies. The unit vectors in the standard basis on R3 are denoted by e j . Other relevant facts and notations related to this representation are summarized in section 2.3. Let us consider two rigid bodies which are joined by a revolute joint. The Euler parameters of body B1 (resp. body B2 ) are denoted by a (resp. b). The axis of rotation of the revolute joint in body coordinates of B2 is χ and the plane orthogonal to this in body coordinates of B1 is spanned by η 1 and η 2 . We assume that η 1 and η 2 are orthogonal. This gives the ideal
Lemma 2.2. Suppose that (v1 , v2 ) = (y1 , y2 ) = 0. Let v be an eigenvector of L1 with eigenvalue |v1 | |y1 | and let
α = |v2 | |y2 | v + L2v Then |α |2 |v1 | 1 y = R(α )v1 |y1 |
and
|α |2 |v2 | 2 y = R(α )v2 |y2 |
Iab = hq1 , q2 , |a|2 − 1, |b|2 − 1i where q1 = R(a)η 1 , R(b)χ q2 = R(a)η 2 , R(b)χ
Proof. We have to show that there is α such that L j α = |v j | |y j |α . Evidently L2j = |v j |2 |y j |2 I and from the orthogonality conditions (v1 , v2 ) = (y1 , y2 ) = 0 it follows that L1 L2 = L2 L1 . This implies that α given above gives the required map.
We decompose Iab using the decomposition of the ideal of the revolute joint in a special coordinate system given in section 3. ˜ e3 )T K(χˆ ) and consider the eigenproblem Let L3 = K(ˆ
3 Decomposition of Revolute Joints Let us give here the ideal of the revolute joint and its decomposition in the standard case. The Euler parameters of body B1 (resp. body B2 ) are denoted by u (resp. z). The axis of rotation of the revolute joint in body coordinates of B2 is e3 and the plane orthogonal to this in body coordinates of B1 is spanned by e1 and e2 . This gives the ideal
L3 β = |χ | β The conditions of Lemma 2.1 give |χ | − χ3 β0 + (β˜ , χ × e3 ) = 0 (|χ | e3 − χ , β˜ ) = 0
Irev = hp1 , p2 , |u|2 − 1, |z|2 − 1i where p1 = R(u)e1 , R(z)e3 p2 = R(u)e2 , R(z)e3
For example we can choose
β = | χ | + χ3 , − χ2 , χ1 , 0
It was shown in [1] that this ideal is in fact reducible and we have 1 2 Irev = Irev ∩ Irev j
j
j
(6)
With this β we have thus j
j
j Irev = hk1 , k2 , k3 , k4 , k5 , |u|2 − 1, |z|2 − 1i
(5)
|β |2 χ = R(β )e3 |χ |
j
where the polynomials km are as follows k11 = z1 u3 + z0 u2 − z3 u1 − z2 u0
k12 = z0 u3 − z1 u2 + z2 u1 − z3 u0
k31 = z3 z1 + z2 z0 − u3 u1 − u2u0
k32 = z3 z1 + z2 z0 + u3u1 + u2u0
k21 = z2 u3 − z3 u2 − z0 u1 + z1 u0 k41 k51
= z3 z2 − z1 z0 − u3 u2 + u1u0 = z22 + z21 − u22 − u21
˜ ek )T K(ηˆ k ), k = 1, 2. Now we use Lemma Then let us set Lk = K(ˆ 2.2. First we compute an eigenvector v of L1 :
k22 = z3 u3 + z2 u2 + z1 u1 + z0 u0 k42 k52
|η 1 | − η11 v0 + (v, ˜ η 1 × e1 ) = 0
(|η 1 | e1 − η 1 , v) ˜ =0
= z3 z2 − z1 z0 + u3u2 − u1u0
= z23 + z20 − u22 − u21
For example we can choose v = |η 1 | + η11 , 0, −η31 , η21
1 ) ∩ V(I 2 )) = 0. Note that V(Irev / rev
4
Copyright © 2015 by ASME
p
Then we compute
α = |η 2 | v + L2 v =
|η 1 |(|η 2 | + η22 ) + η11(|η 2 | + η22) − η21 η12
η32 |η 1 | + η11η32 − η31 η12 −η31 |η 2 | − η31 η22 + η21 η32 η21 |η 2 | − η12|η 1 |
(7)
Now we can write q1 = R(a)R(α )e1 , R(b)R(β )e3 q2 = R(a)R(α )e2 , R(b)R(β )e3
FIGURE 1. The spherical Four bar mechanism in the initial configuration.
Next let us set u=
1 e T K(α ) a |α |
and z =
1 e T K(β ) b |β |
the length of the bodies is 2 and the axes of rotation intersect at p = (1, 1, 1), see Fig. 1. The joint J0 is at origin, and initially joint J3 is at (2, 0, 0), and joint J1 is at (0, 2, 0), and joint J2 is at (2, 2, 0). The body along the x1 -axis, B0 , is supposed to be fixed and its local and global coordinates are identified. B1 is in the initial position along x2 axis, B2 parallel to x1 axis and B3 parallel to x2 axis. The local coordinates of other bodies are chosen such that in Bk local basis vector e1 is from Jk−1 to Jk . The local basis vectors e2 and e3 are chosen implicitly by the construction given below. Let us denote by χ k,ℓ the axis of rotation of Jk in the coordinate system of Bℓ . Let V k,ℓ = span(η1k,ℓ , η2k,ℓ ) be the plane orthogonal to axis of rotation of Jk in the coordinate system of Bℓ . Let a be the Euler parameters of B1 , b of B2 and c of B3 . This leads to equations
(8)
Hence
α 1 )= R(a)R(α ) and |α | |α |2 β 1 R(b)R(β ) R(z) = R(b)R( ) = |β | |β |2
R(u) = R(a)R(
But now our ideal is in standard form for variables u and z: Iuz = hqˆ1 , qˆ2 , |u|2 − 1, |z|2 − 1i where qˆ1 = R(u)e1 , R(z)e3 qˆ2 = R(u)e2 , R(z)e3 Now we can use the decomposition given in (5). Then the formulas (8) give the decomposition in original variables. Note that due to the nature of the generators of the decomposition we do not need to evaluate the square root implicit in |α | and |β |.
(η10,0 , R(a)χ 0,1 ) = 0
(η20,0 , R(a)χ 0,1 ) = 0
(R(a)η11,1 , R(b)χ 1,2 ) = 0
(R(a)η21,1 , R(b)χ 1,2 ) = 0
(R(b)η12,2 , R(c)χ 2,3 ) = 0
(R(b)η22,2 , R(c)χ 2,3 ) = 0
(R(c)η13,3 , χ 3,0 ) = 0
(R(c)η23,3 , χ 3,0 ) = 0
|a|2 − 1 = 0
|b|2 − 1 = 0
|c|2 − 1 = 0
5 Example: Spherical 4–bar Mechanism 5.1 Constraints and Constraint Ideal Let us now use the general decomposition described above to analyze the spherical 4–bar mechanism. It consists of four rigid bodies connected by revolute joints whose axes of rotation intersect at the same point. In its initial configuration the bodies and the axes of rotation of the joints can be thought to form ”a pyramid” whose base is a square and the ”tip” of the pyramid is the point where the axes of rotations intersect. In the initial configuration the base is on the (x1 , x2 ) plane in global coordinates,
R(a) + R(b) + R(c) e1 − e1 = 0
Next we have to specify local coordinates, in other words choose k,l consistently various η k,l j and χ j . For convenience let us define the following vectors v0 =(1, 1, 1) v3 =(−1, 1, 1) w2 =(1, 1, 0) w4 =(1, −1, 2)
5
v1 =(1, −1, 1)
w0 =(1, −1, 0) w3 =(0, 1, 1)
v2 =(−1, −1, 1)
w1 =(0, 1, −1)
w5 =(1, 1, 2)
Copyright © 2015 by ASME
Now considering the first and last joint it is clear that we can choose
χ 0,0 = v0
χ 3,0 = v3
η10,0 = w0
Note that there 14 equations and only 12 unknowns. The ideal we are going to analyze is thus
η20,0 = w1
I0 = hp1 , . . . , p14 i
Let us compute the other vectors. The choice of these vectors implies the choice of specific values of Euler parameters a, b and c which give us the initial position. These values are denoted by ainit , binit and cinit . First let us choose ainit such that R(ainit )e1 = e2 and R(ainit )χ 0,1 = v0 . Hence
The ideal of the initial configuration is Iinit = ha − ainit , b − binit , c − cinit i. To decompose I0 we first define the following ideals: Ia =hp1 , p2 , p9 i Ibc =hp5 , p6 , p10 , p11 i
(e1 , χ 0,1 ) = (R(ainit )e1 , R(ainit )χ 0,1 ) = (e2 , v0 ) = 1
Iabc =hp12 , p13 , p14 i
We can now choose χ 0,1 = v0 and ainit = (1/2, 1/2, 1/2, 1/2). Similarly the choice of binit such that R(binit )e1 = e1 and R(binit )χ 1,2 = v1 yield χ 1,2 = v1 and binit = (1, 0, 0, 0). Fi1 nally the conditions R(cinit )e√ = −e2√and R(cinit )χ 2,3 = v2 give 2,3 2 χ = −v and cinit = (0, 1/ 2, −1/ 2, 0). Now R(ainit )χ 1,1 = v1 and the orthogonality of the frame 1,1 η1 , η21,1 , χ 1,1 implies that
η11,1 = w2
,
η21,1 = w4
Similarly R(binit )χ 2,2 = v2 η12,2 , η22,2 , χ 2,2 gives
η12,2
0
=w
,
η22,2
and
5
=w
and the
and
Obviously I0 = Ia + Iab + Ibc + Ic + Iabc 5.2 Final decomposition Using the decompositions in section 5 we arrive at the relevant constraint ideal
χ 1,1 = v3 orthogonality
χ
2,2
=v
I1 = Ja + Jab + Jbc + Jc + Iabc
of
such that V(Iinit ) ⊂ V(I1 ). Now we compute the Gr¨obner basis of I1 using the following product order:
2
Q(ζ ) (c3 , c0 , a3 , a2 )l p , (a0 , a1 , b0 , b1 , b2 , b3 , c1 , c2 )d p
Then finally R(cinit )χ 3,3 = v3 and the orthogonality of η13,3 , η23,3 , χ 3,3 gives
η13,3 = w2
,
η23,3 = w3
and
Hence we obtain the elimination ideal I3 :
χ 3,3 = −v1
I1 =I2 + I3 = hc3 , c0 − c1 − c2 , a3 − a1 , a2 − a1i + I3 I3 =hq1 , . . . , q32 i ⊂ Q(ζ )[a0 , a1 , b0 , b1 , b2 , b3 , c1 , c2 ]
Now all local vectors are computed and we can write down the polynomials which define our system. p1 = (w0 , R(a)v0 )
p2 = (w1 , R(a)v0 ) (9)
p3 = (R(a)w2 , R(b)v1 )
p4 = (R(a)w4 , R(b)v1 )
p5 = (R(b)w0 , R(c)v2 )
p6 = (R(b)w5 , R(c)v2 )
p7 = (R(c)w2 , v3 )
p8 = (R(c)w3 , v3 )
p9 = |a|2 − 1
p11 = |c|2 − 1
Iab =hp3 , p4 , p9 , p10 i Ic =hp7 , p8 , p11 i
where
In this ring we use the factoring Gr¨obner basis algorithm for I3 and obtain the decomposition I3 = I3,1 ∩ . . . ∩ I3,9 . Due to reflection symmetry of Euler parameters the ideals I3,1 , . . . , I3,4 and I3,6 , . . . , I3,9 all correspond to the same physical motion. For further analysis let us choose for example I3,3 and I3,6 . We have thus three physically different modes:
p10 = |b|2 − 1
p12 , p13 , p14 = R(a) + R(b) + R(c) e1 − e1
6
Copyright © 2015 by ASME
K0 = I2 + I3,5 , K1 = I2 + I3,3 and K2 = I2 + I3,6 . The ideals I3,3 and I3,6 are fairly simple:
. . . .
I3,3 = ha0 − 1, a1 , b0 + b2, b1 − b2 , √ √ 2b2 − c2 , 2b3 − 2c1 − c2 , 2c22 + 2c2c1 + 2c21 − 1i I3,6 = hb0 − a1 , b1 + a1, b2 − a1 , b3 + a0, √ 2c1 + 1, c2, 3a21 + a20 − 1i
− . − . − . − . − . − .
Note that modes K1 and K2 are now in fact complete intersections and the corresponding varieties are essentially ellipses
.
.
.
.
.
V(K1 ) ≃ V(I3,3 ) ≃ V(2c22 + 2c2 c1 + 2c21 − 1)
FIGURE 2. On the left the blue ellipse is V(b20 − b0 b1 + b21 − 1) and the red part is π26 V(Kess ) . On the right the red curve is the other part of π26 V(Kess ) and the green curve is the corresponding part of π36 V(Kess ) .
These are both also degenerate cases and the most interesting mode K0 is a bit more difficult to analyze. Now we compute the Gr¨obner basis of I3,5 in the ring
intersection. This is important from the point of view of doing dynamic simulations. Of course it is not a priori clear if V(Kess ) is actually a complete intersection. Anyway we were able to find the following representation.
V(K2 ) ≃ V(I3,6 ) ≃ V(3a21 + a20 − 1)
Q(ζ ) (b3 , b2 )l p , (a0 , a1 , b0 , b1 , c1 , c2 )d p
Kess =h pˆ0 , . . . , pˆ4 i where pˆ0 =3a21 + a20 − 1
which gives
pˆ1 =b21 − b1b0 + b20 − 1
I3,5 =hb3 , b2 + 2b1c1 c2 + 2b0c22 − b0i + Kess
pˆ2 =2c22 + 2c2c1 + 2c21 − 1
where
pˆ3 =c2 a1 + c2a0 + 2c1 a0 pˆ4 =b1 c1 a1 + b1c1 a0 + b0c1 a1 − 2b0c2 a0 − 3b0c1 a0
Kess =hqˆ1 , . . . , qˆ18 i ⊂ Q(ζ )[a0 , a1 , b0 , b1 , c1 , c2 ]
Hence we have
Using this representation it is quite easy now to check using the Jacobian criterion (Theorem 2.1) that V(Kess ) and hence V(K0 ) is smooth. Note that it is quite remarkable that in the end we do not need the field extensions in the final result. Starting from the above representation it is now not too hard to explicitly parametrize V(Kess ). Some tedious but straightforward calculations lead to the curve [0, 2π ] 7→ R6 whose components are
V(K0 ) ≃ V(I3,5 ) ≃ V(Kess ) Now we can check that Kess and hence K0 is prime over the field Q(ζ ). However when we compute the numerical irreducible decomposition [10, 11] of V(Kess ) over C using Bertini [12] we can see that it has two one dimensional components. This means that the ideal Kess is an intersection of two prime ideals over C, hence the ideal Kess is not prime over C. Now it is conceivable that there could be an algebraic extension field of Q which is big enough to allow the decomposition of Kess over it. In this case we could compute the decomposition. Unfortunately it is not clear how to construct an appropriate extension field or indeed to show that such an extension exists. The fact that V(Kess ) has two components as a complex variety does not necessarily imply anything about the number of the real components of the variety. However, our explicit construction, given below, allows us to conclude that there are (at least) two real components. Let us first express V(Kess ) as a complete
a0 = cos(t) √ a1 = (1/ 3) sin(t) √ b0 = 2 2ξ sin (2t + π /6) + 1 √ b1 = −2 2ξ cos (2t + π /3) + 1 √ c1 = 2 3ξ sin (t + π /3) c2 = −6ξ cos (t) 1 ξ=p . 30 + 24 cos(2t)
7
Copyright © 2015 by ASME
Σ(V (I3 )) = V I3 + F7 (d f ) in the ring Q(ζ )[a0 , a1 , b0 , b1 , b2 , b3 , c1 , c2 ]. This will give us a set of points, but since we already know that all the motion modes are themselves smooth the singularities have to be intersections of the three motion modes and we have in fact three physically different cases in terms of Euler parameters V(K0 + K1 ) ≃ V(a0 − 1, a1, b0 + b2, b1 − b2, √ √ 3b2 + 1, b3, c1 + c2 , 3c2 + 6) V(K0 + K2 ) ≃ V(a0 , a1 − b2, b0 − b2 , b1 + b2, √ √ 3b2 + 1, b3, 2c1 + 1, c2 ) V(K1 + K2 ) ≃ V(a0 − 1, a1, b0 , b1 , b2 , b3 + 1, √ 2c1 + 1, c2 ). All the singularities are characterized by the fact that some joint axes coincide.
FIGURE 3. In upper figures: System in normal mode V (K0 ). In lower left: System in degenerate configuration V(K1 ). In lower right: System in degenerate configuration V(K2 ).
6 Conclusions and Applications We have shown that using the preliminary decomposition of the revolute joint ideal simplifies essentially the analysis of complicated mechanisms. First we can discard components which are not physically relevant. After this all computations become much faster, and we can routinely compute Gr¨obner bases and decompositions which were not at all possible using the original ideal. We illustrated our idea using the spherical 4–bar mechanism which has only revolute joints. However, the same idea will help in the analysis of any mechanism which contains revolute and/or cylindrical joints. This means that it is now possible to analyze much larger mechanisms than before. Besides the interest in the decomposition in general the latter is potentially a key to efficient tailored dynamics simulation models. The main observation is that the encounter of singularities (in the dynamics model) during the time integration of the equations of motions of a multibody system is a numerically difficult situation for which there is yet no sufficient solution.
Note that as a curve this has a period 2π , but the physical position has a period π . This curve gives one real component of V(Kess ) and the other is obtained simply by changing the sign of b. Note that changing the sign does not have any effect on the physical position of the mechanism so the two components represent the same physical mode of the mechanism. Let us show that these curves are actually disjoint. Let us consider the projections
π26 : R6 → R2 π36
6
: R →R
3
, (a0 , a1 , b0 , b1 , c1 , c2 ) → (b0 , b1 )
, (a0 , a1 , b0 , b1 , c1 , c2 ) → (b0 , b1 , c2 )
Now π26 V(Kess ) is not surjective to V(b20 − b0b1 + b21 − 1). It has actually 2 components, see Figure 2. In Figure 2 we have also plotted one component of π36 V(Kess ) . This cuts itself in one point; anyway V(Kess ) itself is smooth. Using the above formulas we can now easily plot the system in different configurations, see Figure 3.
REFERENCES [1] Piipponen, S., and Tuomela, J., 2013. “Algebraic analysis of kinematics of multibody systems”. Mechanical Sciences, 4(33), pp. 33–47. [2] Arponen, T., M¨uller, A., Piipponen, S., and Tuomela, J., 2014. “Computational algebraic geometry and global analysis of regional manipulators”. Applied Mathematics and Computation, 232(1), pp. 820–835.
5.3
Singularities Although the three motion modes V(K0 ), V(K1 ) and V(K2 ) are themselves smooth the original variety V(I1 ) is not. This can be seen easily by computing the singular points of the variety V(I3 ) simply by using the Jacobian criterion and computing
8
Copyright © 2015 by ASME
[3] Arponen, T., M¨uller, A., Piipponen, S., and Tuomela, J., 2014. “Kinematical of overconstrained and underconstrained mechanisms by means of computational algebraic geometry”. Meccanica, 49(4), pp. 843–862. [4] Arponen, T., Piipponen, S., and Tuomela, J., 2009. “Kinematic analysis of Bricard’s mechanism”. Nonlinear Dynamics, 56(1-2), pp. 85–99. [5] Greuel, G.-M., Pfister, G., and Sch¨onemann, H., 2012. S IN GULAR 3.1.6. A Computer Algebra System for Polynomial Computations, Centre for Computer Algebra, University of Kaiserslautern. [6] Cox, D., Little, J., and O’Shea, D., 2007. Ideals, Varieties and Algorithms, 3rd ed. Springer. [7] Cox, D., Little, J., and O’Shea, D., 2005. Using algebraic geometry, 2nd ed. Springer. [8] Decker, W., and Lossen, C., 2006. Computing in algebraic geometry, Vol. 16 of Algorithms and Computation in Mathematics. Springer-Verlag, Berlin. [9] Greuel, G.-M., and Pfister, G., 2008. A Singular introduction to commutative algebra. Springer. [10] Bates, D., Hauenstein, J., Sommese, A., and Wampler, C., 2013. Numerically Solving Polynomial Systems with Bertini. SIAM. [11] Sommese, A., and Wampler, C., 2005. The numerical solution of systems of polynomials. World Scientific Publishing Co. Pte. Ltd., Hackensack, NJ. [12] Bates, D. J., Hauenstein, J. D., Sommese, A. J., and Wampler, C. W. Bertini: Software for numerical algebraic geometry. Available at bertini.nd.edu with permanent doi: dx.doi.org/10.7274/R0H41PB5. Appendix A: Minimal polynomial We want to construct a field extension of Q which contains the square roots of m and r. The minimal polynomial related to this is pmin = x4 − 2(m + r)x2 + (m − r)2
(10)
Let√us denote by ζ the generic root of pmin . Hence Q(ζ ) = √ Q( m, r) and we have √
1 3m + r ζ3 − ζ 2(r − m) 2(r − m) √ 1 3r + m r= ζ3 − ζ 2(r − m) 2(r − m) m=
In our case we have m = 2 and r = 3 which gives √ 2 = 12 ζ 3 − 92 ζ
√ 3 = 12 ζ 3 − 11 2 ζ
√ 6 = − 12 ζ 2 + 52
9
Copyright © 2015 by ASME