Computational algebraic geometry and global

1 downloads 0 Views 1MB Size Report
in practice because generators of syzygy modules can be computed in a similar ... Global analysis was only presented for particular regional manipulators [4–6]. ... In Section 2 we recall the necessary algebraic background. .... side the blocks. ..... moves along the x-axis of the global coordinate system and the first joint can ...
Applied Mathematics and Computation 232 (2014) 820–835

Contents lists available at ScienceDirect

Applied Mathematics and Computation journal homepage: www.elsevier.com/locate/amc

Computational algebraic geometry and global analysis of regional manipulators Teijo Arponen a, Andreas Müller b, Samuli Piipponen a,⇑, Jukka Tuomela a a b

Department of Physics and Mathematics, University of Eastern Finland, PO Box 111, 80101 Joensuu, Finland University of Michigan-Shanghai Jiao Tong University Joint Institute, 800 Dong Chuan Road, Shanghai 200240, PR China

a r t i c l e

i n f o

Keywords: Regional manipulators Kinematical analysis Algebraic geometry Gröbner bases Ideal decomposition

a b s t r a c t The global analysis of the singularities of regional manipulators is addressed in this paper. The problem is approached from the point of view of computational algebraic geometry. The main novelty is to compute the syzygy module of the differential of the constraint map. Composing this with the differential of the forward kinematic map and studying the associated Fitting ideals allows for a complete stratification of the configuration space according to the corank of singularities. Moreover using this idea we can also compute the boundary of the image of the forward kinematic map. Obviously this gives us also a description of the image itself, i.e. the manipulator workspace. The approach is feasible in practice because generators of syzygy modules can be computed in a similar way as Gröbner bases of ideals. Ó 2014 Elsevier Inc. All rights reserved.

1. Introduction Robot manipulators inevitably possess forward kinematic singularities. It is therefore desirable to ensure at least that a manipulator does not possess higher-order forward kinematic singularities. Since this is known to be a generic property [1], such manipulators are called generic. That is, typically their set of forward kinematic singularities is a smooth manifold. Most industrial manipulators are non-generic, however, in the sense that their singular variety is not a smooth manifold. The analysis of kinematic singularities of serial manipulators is commonly attempted by means of local approaches [2,3]. The stratification of the singular set according to the corank of singularities of regional manipulators was introduced by Pai and Leu [1]. Global analysis was only presented for particular regional manipulators [4–6]. The kinematics of a closed loop mechanism is described by a system of constraint equations that define its configuration space (c-space) – the variety generated by the constraints. This c-space is in general not a smooth manifold but possesses singular points, which correspond to points where the mechanism’s instantaneous mobility changes. Hence the singularities of the c-space variety are critical configurations that interfere with the operation of the mechanism. The kinematics of a serial manipulator (i.e. a serial kinematic chain) is described by its forward kinematics mapping. Its configuration space is a priori a smooth manifold. Serial manipulators exhibit forward kinematic singularities, which are merely the critical points of the forward kinematic mapping forming a subvariety R within the c-space. From an application point of view it is imperative to characterize the singular variety in regard to its manifold structure. In particular if R is a smooth manifold, then the manipulator’s motion is well-defined when passing through a singularity. Since the singular variety is also defined by the ⇑ Corresponding author. E-mail addresses: teijo.arponen@uef.fi (T. Arponen), [email protected] (A. Müller), samuli.piipponen@uef.fi (S. Piipponen), jukka.tuomela@uef.fi (J. Tuomela). http://dx.doi.org/10.1016/j.amc.2014.01.138 0096-3003/Ó 2014 Elsevier Inc. All rights reserved.

T. Arponen et al. / Applied Mathematics and Computation 232 (2014) 820–835

821

vanishing of certain polynomials, the singularities of closed loop and serial chains can be treated in a uniform way, as shown in this paper. Traditionally it is common practice to model the kinematics of serial manipulators by means of relative coordinates, i.e. using joint angles as configuration parameters. Aiming at a general approach also covering closed loop mechanisms in this paper the so called absolute coordinate formulation (spatial position and orientation of each link) is used to construct the forward kinematic mapping. This formulation applies equally to open and closed loop mechanisms. It further avoids the known problems of choosing independent topological loops for a given closed loop mechanism. The absolute coordinate approach is reported in detail in this paper, and the relative coordinate formulation is shown for completeness. The essential problem in characterizing the singular points of the forward kinematic map is that its differential is a map from the tangent space of the configuration space to R3 . The novelty of our approach is to use the syzygy module of the differential of the constraint map to characterize these tangent spaces at different base points. This module can be represented as a matrix whose columns are the generators of the module and moreover these generators can actually be computed in pretty much the same way as the generators of a Gröbner basis of a given ideal. Composing this syzygy matrix with the differential of the forward kinematic map gives us a matrix whose Fitting ideals characterize the singular points of the forward kinematic map and give the desired stratification of the configuration space. Similar methods of computational algebraic geometry have been applied before for mechanisms and multibody systems with closed kinematical loops for example in [7–16]. The fact which makes our computations feasible also for more complicated mechanisms is the simplified joint constraints [13,17] given here in Appendix A. This is also explained in Section 3.2. An interesting alternative approach based on numerical homotopy continuation can be found for example in [18–20]. This same approach allows us to compute the boundary of the image of the forward kinematic map. This boundary is a subset of the image of the singular points, and the Zariski closure of this image can be computed. This in turn gives evidently a description of the image itself. The boundary of the workspace of regional manipulator has been previously investigated in [21] using manifold stratification where the boundary is obtained as an analytic variety. Whereas for analytic varieties the theory is usually local, in our approach the boundary is obtained as an algebraic variety for which the theorems are usually global. The paper is organized as follows. In Section 2 we recall the necessary algebraic background. In Section 3 we present the needed constraints and the essential decompositions of the revolute joint constraints. In Section 4 we analyze our system using the absolute coordinates and in Section 5 we do the same thing using the relative coordinates. Finally in Section 6 we give some conclusions. The actual computations were done with well established computer program Singular [22] for polynomial computations and the computations done in this article are almost completely automated. 2. Mathematical preliminaries Here we quickly review the necessary tools that will be needed. For more details we refer to [23–29]. 2.1. Ideals and varieties Let us consider polynomials of variables x1 ; . . . ; xn with coefficients in the field K and let us denote the ring of all such polynomials by A ¼ K½x1 ; . . . ; xn . In the kinematical analysis we are given a set of polynomials f1 ; . . . ; fk 2 A and the configuration space is its zero set. This zero set is called the variety corresponding to the system of polynomials and the goal is to analyze the geometry of this variety using algebraic properties of polynomials. The given polynomials f1 ; . . . ; fk 2 A generate an ideal:

I ¼ hf1 ; . . . ; fk i ¼ ff 2 A j f ¼ h1 f1 þ . . . þ hk fk ; where hi 2 Ag: We say that the polynomials fi are generators of I and as a set they are the basis of I . The variety corresponding to an ideal is

VðIÞ ¼ fa 2 Kn jf ðaÞ ¼ 0 8f 2 I g  Kn : The radical of I is

pffiffiffiffi I ¼ ff 2 Aj9m P 1 such that f m 2 I g: An ideal I is a radical ideal if I ¼

fg 2 I

)

pffiffiffiffi pffiffiffiffi I . Note that VðI Þ ¼ Vð I Þ. An ideal I is prime if the following holds:

f 2 I or g 2 I :

Evidently a prime ideal is always a radical ideal. Given 2 ideals their sum is defined by

I þ J ¼ ff þ g 2 A j f 2 I ; g 2 J g: The geometric meaning of the definition is that

VðI þ J Þ ¼ VðIÞ \ VðJ Þ: The following facts are fundamental

822

T. Arponen et al. / Applied Mathematics and Computation 232 (2014) 820–835

(i) every ideal in A 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:

pffiffiffiffi I ¼ I 1 \    \ Is : This gives the decomposition of the variety to irreducible components:

pffiffiffiffi VðIÞ ¼ Vð I Þ ¼ VðI1 Þ [    [ VðIs Þ: In general a ring is said to be Noetherian if all its ideals are finitely generated. For example if I  R is an ideal and R is Noetherian then also the quotient ring R=I is Noetherian. 2.2. Modules The basic example of a module is a Cartesian product Ak . A module M is finitely generated, if there is a finite number m of elements a1 ; . . . ; am 2 M such that M ¼ ha1 ; . . . ; am i. Since A is a Noetherian ring every submodule of Ak is finitely generated and we say that any module is Noetherian if all its submodules are finitely generated. Let N be a submodule of M. One can construct the quotient module M=N in a standard way and if M is Noetherian then M=N is also Noetherian. Let I  A be an ideal and let A=I be the quotient ring and let ðA=IÞk be the corresponding module. This is a Noetherian module because it is isomorphic to Ak =IAk . In the following let T be either A or A=I. An m  k matrix B whose entries belong to the ring T defines a module homomorphism B : Tk ! Tm . We denote by 1 k 1 k i b ; . . . ; b 2 Tm the columns of B. Let M 0 ¼ imageðBÞ ¼ hb ; . . . ; b i  Tm be the submodule generated by b . Let Fj ðBÞ denote the ideal generated by all j  j minors of B. Obviously Fjþ1 ðBÞ  Fj ðBÞ for all j. If j 6 0 we set Fj ðBÞ ¼ T and if j > minfk; mg we set Fj ðBÞ ¼ 0. These are called Fitting ideals of B or M 0 because it can be shown that the Fitting ideals depend only on the module M0 . The rank of B and M 0 is the largest nonnegative integer r such that Fr ðBÞ – h0i. Note that when T ¼ A the variety VðFj ðBÞÞ consists of the points where the rank of B is less than j. If there is s 2 Tk such that 1

k

Bs ¼ s1 b þ    þ sk b ¼ 0;

ð1Þ k

k

then s is called a syzygy of M 0 (or B) and all such s form the (first) syzygy module M 1  T of M 0 . Since T is Noetherian, there are generators s1 ; . . . ; s‘ 2 Tk such that M 1 ¼ hs1 ; . . . ; s‘ i. We denote by S the matrix with columns s1 ; . . . ; s‘ and of course by construction BS ¼ 0. 2.3. Gröbner bases In practical computations we need often elimination ideals. Let I  A. Then its kth elimination ideal is

I k ¼ I \ K½xkþ1 ; . . . ; xn : Geometrically this is related to projections. Let us set

pk : Kn ! Knk ; ðx1 ; . . . ; xn Þ ! ðxkþ1 ; . . . ; xn Þ: Now the connection between these notions is that

pk ðVðI ÞÞ ¼ VðI k Þ:

ð2Þ

where the overline denotes the Zariski closure of pk ðVðI ÞÞ. The nice situation where pk ðVðI ÞÞ is already Zariski closed is very useful so it is convenient to have a notation for this case. We say that the variety VðI Þ  Kn is essentially the same as VðI k Þ  Knk , if pk ðVðI ÞÞ ¼ VðI k Þ holds and there is a map F : VðI k Þ ! VðI Þ such that pk  F is identity and F can be represented as a graph of a polynomial map f. In this case we write VðI Þ ’ VðI k Þ. The important thing is that in the nice situation if we can compute I k then the same computation gives us in fact also the polynomial map f. Let us introduce the product ordering where xj  xsm for all j 6 k; m > k and all s. Let us now compute the Gröbner basis G of some I with respect to this ordering and let I k ¼ I \ K½xkþ1 ; . . . ; xn  be the kth elimination ideal. Then Ge ¼ G \ K½xkþ1 ; . . . ; xn  is a Gröbner basis for I k . Moreover if VðI Þ ’ VðI k Þ then the polynomials in G n Ge give the polynomial map f whose graph is VðI Þ. The subscripts lp (resp. dp) indicate that lexicographic ordering (resp. graded reversed lexicographic ordering) is used inside the blocks. Finally one can extend the Gröbner basis methods to modules so that one can compute the generators of (syzygy) modules pretty much in the same way as the generators of ideals. 2.4. Singularities Let I ¼ hf1 ; . . . ; fk i be an ideal and let us denote by f ¼ ðf1 ; . . . ; fk Þ the map defined by the generators. The differential (or Jacobian) of f is then denoted by df, and its value at p is dfp . Let us suppose that I is a prime ideal. Then the tangent space of the irreducible variety V ¼ VðI Þ at p is

T. Arponen et al. / Applied Mathematics and Computation 232 (2014) 820–835

823

T p V ¼ fz 2 Kn j dfp z ¼ 0g: Note that by definition T p V is a vector space so its dimension is well defined. Definition 2.1. Let V be irreducible. The point p 2 V is singular if

dimðT p VÞ > dimðVÞ: Otherwise the point p is smooth. The set of singular points of V is denoted by RðVÞ. A general variety V may be reducible with the decomposition to irreducible components

V ¼ V1 [ . . . [ V‘

ð3Þ

and its singularities are characterized as follows: Definition 2.2. Let V have the decomposition (3). A point p 2 V is singular if it is a singularity of a V i or it is an intersection of some irreducibles, i.e.

RðVÞ ¼

‘ [

RðV i Þ [

[ V i \ V j:

ð4Þ

i–j

i¼1

Let us recall that RðVÞ is itself a variety whose dimension is less than dimðVÞ. Hence ‘‘almost all’’ points of a variety are smooth. Once we have the irreducible decomposition it is easy to compute the intersections. The singular points of irreducible components can be characterized using Fitting ideals. Let now f ¼ ðf1 ; . . . ; fk Þ : Kn # Kk be a map corresponding to the prime ideal I ¼ hf1 ; . . . ; fk i and let V ¼ VðI Þ be the corresponding irreducible variety. Let us suppose that dimðVÞ ¼ n  ‘. The following result is usually called the Jacobian criterion. Theorem 1 (Jacobian criterion). The singular variety of V is

RðVÞ ¼ VðI þ F‘ ðdf ÞÞ ¼ VðI Þ \ VðF‘ ðdf ÞÞ: In particular if I þ F‘ ðdf Þ ¼ A then V is smooth. The number of minors in the Fitting ideal grows quite quickly as a function of n and k. Hence it is again very useful to find an appropriate elimination ideal I k such that VðI Þ ’ VðI k Þ. Since the singular sets are in fact varieties we have then also RðVðI ÞÞ ’ RðVðI k ÞÞ. In particular in this case VðI Þ is smooth if and only if VðI k Þ is smooth. 2.5. Tangent map In order to study the singularities of the forward kinematic map we need some notions from differential geometry. Let us consider the variety V and let us suppose that p 2 V is a smooth point. Let u : V ! Rk be a polynomial map. The differential k k du then induces n a map between o tangent spaces: dup : T p V ! T uðpÞ R ’ R . The rank of u at p is by definition the rank of dup . Let m ¼ max rankðdup Þ j p 2 V . We can then define the subvarieties V j by

V0  V1  . . .  Vm ¼ V

such that p 2 V j

)

rankðdup Þ 6 j:

ð5Þ

It is convenient to define the corank of u at p to be m  rankðdup Þ. Note that the sets S j ¼ V j n V j1 where the rank is precisely j are Zariski open and they define a kind of stratification of V:

V ¼ S0 [ . . . [ Sm : Now let V ¼ VðIÞ where I ¼ hf1 ; . . . ; f‘ i ¼ IðVÞ and let f ¼ ðf1 ; . . . ; f‘ Þ be the corresponding map. In this situation T p V ¼ fv j dfp v ¼ 0g. Now in order to do effective computations we should have a basis for T p V. Recall that T p V is a vector space so for each p this is a standard computation in linear algebra. However, we are interested in a global analysis and want to analyse the map dup : T p V ! Rk for all p 2 V at the same time, and this leads us to modules. Now df : An ! A‘ defines a homomorphism of modules. If p 2 V then we can write T p V ¼ kerðdfp Þ. However, if p R V this kernel is irrelevant to us and we should restrict our attention to what happens to this kernel only on V. This can be done with quotient rings. The map df induces in a natural way a map df : ðA=IÞn ! ðA=IÞ‘ . Since everything is Noetherian we can compute the syzygies of df. This gives S

df

ðA=IÞn1 ! ðA=IÞn ! ðA=IÞ‘ ; where the matrix S is such that imageðSÞ ¼ kerðdf Þ. Hence at points p 2 V the columns of Sp span T p V. Let now u : V ! Rk be some map as above. Then the rank of du can be computed by considering the matrix B ¼ du S where the elements of B are (interpreted to be) in A=I. Next we compute the Fitting ideals Fj ðBÞ for j ¼ 1; . . . ; m where m is as in (5). Now we interprete the generators of Fj ðBÞ to be ordinary polynomials in A and this allows us to compute the varieties V j in (5) by the formula

824

T. Arponen et al. / Applied Mathematics and Computation 232 (2014) 820–835

  V j ¼ V I þ Fjþ1 ðBÞ :

ð6Þ

2.6. Example Let us here give a simple example of this analysis where everything can be shown explicitly. Let V ¼ f 1 ð0Þ  R3 be a surface defined by

f ¼ 12a21 þ 12a23  4ða2 þ 1Þ3 ð1  a2 Þ3  1=10: It is straightforward to check that V is smooth and compact, see Fig. 1. Let us be given a map u : V ! R2 . We want to analyze the rank of u but we are also interested in its image M ¼ uðVÞ. Computing the syzygy module of df gives

0 B S¼B @

2

120a2 ða21  1Þ 40a22 ða22  2Þ  120a21 þ 41 a1 a2 ða22  1Þ

0

a3

a3

0

40a1 ða22  1Þ

40a1 a2

a21

a1

120a1 a2 a3

120a1 a3

0

2

a2 ða22  1Þ

1 C C: A

Let us simply consider the projection of V to ðx; yÞ plane so that uðaÞ ¼ ða1 ; a2 Þ and we obtain

B ¼ du S ¼

0

a3

a3

0

120a2 ða21  1Þ 40a22 ða22  2Þ  120a21 þ 41 a1 a2 ða22  1Þ 40a1 ða22  1Þ

40a1 a2

2

a21

! :

Now we have V 0  V 1  V 2 ¼ V and it is easy to check that V 0 is empty. To compute V 1 we have

hf i þ F2 ðBÞ ¼ ha3 ; 12a21  4ða2 þ 1Þ3 ð1  a2 Þ3  1=10i; as expected. Then computing the elimination ideal

ðhx  a1 ; y  a2 i þ hf i þ F2 ðBÞÞ \ Q½x; y ¼ h12x2  4ðy þ 1Þ3 ð1  yÞ3  1=10i; which is the boundary of the image of u. The appropriate Singular code is given in below. ring r0 = 0, (a1,a2,a3), (c,dp); poly f = 12*a1^2 + 12*a3^2–4*(a2 + 1)^3*(1-a2)^3–1/10; ideal df = jacob (f); ideal i0 = f,df; ideal i0g = groebner (i0);size (i0g);dim (i0g); // we check that the variety is smooth qring qr0 = std (f); ideal df = imap (r0,df); matrix S = syz (df); S = reduce (S,std (0)); matrix B[2][5]=S[1..2,1..5]; ring r1 = 0, (a1,a2,a3,y,x), (lp (3),lp (2)); matrix B = imap (qr0,B); poly f = imap (r0,f); ideal fit1 = minor (B,1);ideal fit2 = minor (B,2); ideal i1 = f,fit1;ideal i1g = groebner (i1); // V0 is empty ideal i2 = f,fit2; ideal i2g = groebner (i2);ideal i3 = i2g,x-a1,y-a2;ideal i3g = groebner (i3);

3. Kinematic analysis with absolute coordinate representation and Euler parameters In contrast to the use of relative joint transformations and the corresponding description of the forward kinematics in terms of joint angles, which is the standard approach to the analysis of serial manipulators, the so-called ‘absolute coordinate’ description treats each link as a spatially moving body subject to the joint constraints. The configuration of a rigid body is represented by a body-fixed reference frame whose configuration is determined by the position of its origin and its orientation w.r.t. a space-fixed reference frame.

T. Arponen et al. / Applied Mathematics and Computation 232 (2014) 820–835

825

Fig. 1. The lemon surface (left) and the boundary of its projection to (x,y)-plane (right).

3.1. Orientation We represent the orientation and the corresponding rotation matrix using Euler parameters. Let a ¼ ða0 ; a1 ; a2 ; a3 Þ and define the matrix Rby

0

a20 þ a21  12 B RðaÞ ¼ 2@ a1 a2 þ a0 a3 a1 a3  a0 a2

a1 a2  a0 a3 a20 þ a22  12 a2 a3 þ a0 a1

a1 a3 þ a0 a2

1

C a2 a3  a0 a1 A: a20 þ a23  12

If a belongs to the unit sphere a 2 S3  R4 ; jaj ¼ 1 then RðaÞ is orthogonal with detðRðaÞÞ ¼ 1 and we get a polynomial representations for rotation matrices. Note that RðaÞ ¼ RðaÞ and from this it follows that sometimes we may have 2 or more distinct subvarieties of the configuration space which nevertheless correspond to the same physical positions of the mechanism. Perhaps a simple example clarifies the situation. Consider a single rigid body with a constraint 2a23  1 ¼ 0. In this situation

pffiffiffi pffiffiffi I ¼ hjaj2  1; 2a23  1i ¼ I1 \ I2 ¼ h2a20 þ 2a21 þ 2a22  1; a3  1= 2i \ h2a20 þ 2a21 þ 2a22  1; a3 þ 1= 2i: Let us further denote V ¼ VðIÞ and V j ¼ VðIj Þ. Now interpreting R as a map R : S3 ! SOð3Þ then it is clear that

RðVÞ ¼ RðV 1 Þ ¼ RðV 2 Þ; although V j  V and moreover V 1 \ V 2 ¼ ;. From the point of view of analysis of the configuration space it is evident that we can simply take one of the V j and ignore the other. Since this situation occurs frequently it is convenient to have a notation m for it. Suppose we have m rigid bodies whose orientations are constrained to be in some variety V  ðS3 Þ . Then the map R m ^ : V ! ðSOð3ÞÞ . Now suppose that V j  V are some subvarieties. induces in a natural way a map R ^ 1 Þ ¼ RðV ^ 2 Þ. In this case we write V 1 V 2 . Moreover if V 1 is a proper Definition 3.1. V 1 and V 2 are physically same, if RðV subvariety of V 2 then we write V 1 -V 2 . Hence the goal in the analysis is to find the ‘‘smallest’’ or ‘‘most convenient’’ W such that W-V. 3.2. Constraints In the following we will analyze some mechanisms which have only revolute joints. Let us first consider a situation where 2 bodies B1 and B2 are connected with a revolute joint. Let the Euler parameters of the bodies be denoted by a and b. Let ej denote the standard unit vectors. Figs. 2–4. Let v be the vector giving the axis of rotation of the revolute joint in the body coordinates of B2 and let g1 and g2 be the basis of the subspace which is orthogonal to the axis of rotation in the body coordinates of B1 . Then we get the following constraints and the corresponding ideal for Euler parameters describing the revolute joint:

Irev ða; bÞ ¼ hh1 ða; bÞ; h2 ða; bÞ; hðaÞ; hðbÞi where hj ða; bÞ ¼ ðRðaÞgj ; RðbÞvÞ and hðaÞ ¼ a20 þ a21 þ a22 þ a23  1:

ð7Þ

This is then interpreted as an ideal in Q½a; b. It will also be convienient to use this notation in a slightly different sense. Suppose we are given a certain Euler parameter a and we do not want to consider the components of a as ring variables. In this situation Irev ða; bÞ is interpreted as an ideal in QðaÞ½b.

826

T. Arponen et al. / Applied Mathematics and Computation 232 (2014) 820–835

3 1

3 1

2 1 3

2

2

Fig. 2. The ortho–parallel manipulator. The cylinders represent the revolute joints. The global basis vectors coincide with the basis vectors of 1st body (red) in this configuration. (For interpretation of the references to colour in this figure caption, the reader is referred to the web version of this article.)

Fig. 3. The ortho–parallel manipulator in configurations corresponding to ideals W 9 ; W 10 and W 85 illustrated with computer program AlaskaÒ.

Fig. 4. The ortho–parallel manipulator in configurations corresponding to ideals T 23 ; T 66 and T 67 . The figures in different modes were again drawn with the computer program Alaska.

Now as shown in [17] this ideal is reducible. This is in fact very important in practical computations because using the prime components instead of original ideal makes all computations much faster. In the following we will need the decomposition of Irev ða; bÞ when ðg1 ; g2 ; vÞ ¼ ðe1 ; e2 ; e3 Þ. This choice leads to the decomposition

Irev ða; bÞ ¼ I1rev ða; bÞ \ I2rev ða; bÞ; j1

j2

j3

j4

j5

j6

j7

Ijrev ða; bÞ ¼ hk ; k ; k ; k ; k ; k ; k i;

ð8Þ

ij

where the polynomials k are given in Appendix A. We need also the decomposition of Irev ða; aÞ for a ¼ ð1; 0; 0; 0Þ and ðg1 ; g2 ; vÞ ¼ ðe2 ; e3 ; e1 Þ. which gives

Irev ða; aÞ ¼ I1 ðaÞ \ I2 ðaÞ ¼ ha20 þ a21  1; a2 ; a3 i \ ha0 ; a1 ; a22 þ a23  1i:

ð9Þ

T. Arponen et al. / Applied Mathematics and Computation 232 (2014) 820–835

827

4. Example 1: 3R Ortho–parallel manipulator using absolute coordinates 4.1. Ortho–parallel manipulator with fixed link lengths 4.1.1. Basic equations and forward kinematic map Let us investigate an ortho–parallel manipulator composed of three bars connected by revolute joints and an arm endeffector, see Fig. 2. This leads to the following system:

w1 ¼ ðe2 ; R1 e1 Þ; 1 1

2 3

w2 ¼ ðe3 ; R1 e1 Þ;

w3 ¼ ðR e ; R e Þ;

w4 ¼ ðR1 e2 ; R2 e3 Þ;

w5 ¼ ðR2 e1 ; R3 e3 Þ;

w6 ¼ ðR2 e2 ; R3 e3 Þ;

w7 ¼ hðaÞ;

w8 ¼ hðbÞ;

w9 ¼ hðcÞ;

I w ¼ hw1 ; . . . ; w9 i:

The position in Fig. 2 corresponds to the ideal

pffiffiffi pffiffiffi pffiffiffi pffiffiffi I init ¼ I a þ I b þ I c ¼ ha0  1; a1 ; a2 ; a3 i þ hb0  1= 2; b1 ; b2 ; b3 þ 1= 2i þ hc0  1= 2; c1 ; c2 ; c3 þ 1= 2i: In order to choose the correct components in the decompositions (8) and (9) we now check that

VðIa Þ  VðI1 ðaÞÞ VðI b þ I c Þ 

VðI a þ I b Þ  VðI1rev ða; bÞÞ

VðI1rev ðb; cÞÞ:

Hence the appropriate component of I w is given by

I ¼ I1 ðaÞ þ I1rev ða; bÞ þ I1rev ðb; cÞ:

ð10Þ

Let us also note that since a2 ¼ a3 ¼ 0 we can after substitutions interprete that I is an ideal in the ring

A ¼ Q½a0 ; a1 ; b0 ; b1 ; b2 ; b3 ; c0 ; c1 ; c2 ; c3 : Hence we consider the constraint variety V ¼ VðI Þ as a subset of R10 and as usual we denote by f the map corresponding to the ideal I . A straightforward computation shows that I is prime and dimðVÞ ¼ 3. Then using Jacobian criterion we check that V is smooth as expected. In particular dimðT p VÞ ¼ 3 for all p. The forward kinematic map for the end-effector hand is a map u : V # R3 given by

u ¼ l1 R1 ðaÞe1 þ l2 R2 ðbÞe1 þ l3 R3 ðcÞe1 :

ð11Þ

At this point we fix the lengths as l1 ¼ l2 ¼ l3 ¼ 1 and inspect their effect later. Our goal is to study the rank of the map u and compute the induced stratification

V ¼ S0 [ S1 [ S2 [ S3

where S j ¼ V j n V j1

and V j are as in (5). Hence we first interprete df as a homomorphism ðA=I Þ10 ! ðA=I Þ3 . Computing the first syzygy module as in (1) gives us a matrix S 2 ðA=I Þ1072 . Then B ¼ du S 2 ðA=I Þ372 and the stratification can be computed using the relation (6). It is easy to check that V 0 ¼ ; and thus we need to compute V 1 and V 2 . 4.1.2. Stratum S 2 ¼ V 2 n V 1 : the case of corank at least 1 The variety V 2 is given by V 2 ¼ VðI þ F3 ðBÞÞ and to find its irreducible components we analyze the ideal I þ F3 ðBÞ in the ring

A ¼ Q½ðc3 ; c2 ; c1 Þlp ; ðc0 ; b3 ; b2 ; b1 ; b0 ; a1 ; a0 Þdp : Computing the Gröbner basis we notice that one of the generators is 3

ðb3  c3 Þðb3 þ c3 Þðb1 b2 b3 c1 þ b0 c31 þ b2 c3  b2 c21 c3 Þ: To take the 3 possible choices into account we introduce

J 21 ¼ I þ F3 ðBÞ þ hb3  c3 i

J 22 ¼ I þ F3 ðBÞ þ hb3 þ c3 i 3

J 23 ¼ I þ F3 ðBÞ þ hb1 b2 b3 c1 þ b0 c31 þ b2 c3  b2 c21 c3 i: The radicals of ideals J 21 and J 22 decompose easily into prime components, 10 each, and we denote these by

qffiffiffiffi J 21 ¼ W 1 \ . . . \ W 10 ;

qffiffiffiffi J 22 ¼ W 11 \ . . . \ W 20 :

The ideal J 23 turns out to be a little more difficult to analyze. However one generator of the Gröbner basis of J 23 factorizes as

828

T. Arponen et al. / Applied Mathematics and Computation 232 (2014) 820–835 2

ðc0  b0 Þðc0 þ b0 Þðc20 þ b0  a20 Þ: Again in order to take the three choices into account we define

J 231 ¼ J 23 þ hc0  b0 i J 233 ¼ J 23 þ hc20 þ

2 b0

J 232 ¼ J 23 þ hc0 þ b0 i

 a20 i:

The radicals of ideals J 231 and J 232 decompose easily to 24 prime components:

qffiffiffiffiffiffi J 231 ¼ W 21 \ . . . \ W 44 ;

qffiffiffiffiffiffi J 232 ¼ W 45 \ . . . \ W 68 :

The ideal J 233 is again little bit more complicated to analyze. However since ðc3  b0 Þðc3 þ b0 Þ 2 J 233 we can consider

J 2331 ¼ J 233 þ hc3  b0 i and J 2332 ¼ J 233 þ hc3 þ b0 i: The radicals of these decompose quite easily into prime components, 17 each,

qffiffiffiffiffiffiffiffi J 2331 ¼ W 69 \ . . . \ W 85

and

qffiffiffiffiffiffiffiffi J 2332 ¼ W 86 \ . . . \ W 102 :

Hence we have found all prime components of I þ F3 ðBÞ. However, these components are not all distinct. Removing the repeated and embedded components is a straightforward and quick algorithmic task which leaves us 6 distinct components:

V 2 ¼ VðW 9 Þ [ VðW 10 Þ [ VðW 19 Þ [ VðW 20 Þ [ VðW 85 Þ [ VðW 102 Þ: All components are two dimensional. Furthermore, some of these components, although being different varieties, correspond to physically same configurations (see Definition 3.1). After removing these redundant components, we have

^ 2 ¼ Vð^I2 Þ ¼ VðW 9 Þ [ VðW 10 Þ [ VðW 85 Þ-V 2 : V

ð12Þ

where ^I2 ¼ W 9 \ W 10 \ W 85 and other ideals are given by

W 9 ¼ hc0 þ b0 ; c1 þ b1 ; c2  b2 ; c3  b3 i þ I ess ; W 10 ¼ hc0  b0 ; c1  b1 ; c2  b2 ; c3  b3 i þ I ess ; W 85 ¼ hc0 þ b3 ; c1  b2 ; c2 þ b1 ; c3  b0 i þ I ess ; I ess ¼ hq1 ; . . . ; q7 i; q2 ¼ b3 a1 þ b2 a0 ;

q1 ¼ b3 b1 þ b2 b0 ; q3 ¼ b0 a1  b1 a0 ; q5 ¼ a20 þ a21  1;

q4 ¼ b3 b2  b1 b0 þ a0 a1 ; q6 ¼ a21 

2 b2



2 b1 ;

where

q7 ¼

2 b3

2

2

2

þ b2 þ b1 þ b0  1:

Hence evidently VðW 9 Þ ’ VðW 10 Þ ’ VðW 85 Þ ’ VðI ess Þ. Next we check that I ess is prime, dimðVðI ess ÞÞ ¼ 2, and the Jacobian criterion shows that VðI ess Þ is smooth. 4.1.3. Stratum S 1 ¼ V 1 : the case of corank 2 Since we have already checked that V 0 is empty we know that S 1 ¼ V 1 . The variety V 1 is given by V 1 ¼ VðI þ F2 ðBÞÞ. Computing directly the prime decomposition of F2 ðBÞ gives

pffiffiffiffiffiffiffiffiffiffiffiffi F2 ðBÞ ¼ J F1 \ . . . \ J F34 : Next we combine these with the constraint ideal:

J 1i ¼ I þ J Fi ; Each

J 1i

i ¼ 1; . . . ; 34:

has 2 to 6 components, together 82 components, denoted by T k . This gives us

V 1 ¼ VðI þ F2 ðBÞÞ ¼ VðT 1 Þ [ . . . [ VðT 82 Þ: The ideals T k are prime but they are not all distinct. Removing the embedded and repeated ones we have

V 1 ¼ VðT 13 Þ [ VðT 14 Þ [ VðT 23 Þ [ VðT 24 Þ [ VðT 65 Þ [ . . . [ VðT 70 Þ: Then removing the redundant components gives us

V^ 1 ¼ VðT 23 Þ [ VðT 66 Þ [ VðT 67 Þ-V 1 dimðVðT 23 ÞÞ ¼ dimðVðT 67 ÞÞ ¼ 1; dimðVðT 66 ÞÞ ¼ 2: Now somewhat unexpectedly1 dimðVðT 66 ÞÞ ¼ 2 and in fact one can check that T 66 ¼ W 85 . Moreover it is again easy to check ^ 1 such that V ^1  V ^ 2. using Jacobian criterion that the modes VðT 23 Þ; VðT 66 Þ and VðT 67 Þ are smooth. Note that we have chosen V 1

Note that this mode only exists when l2 ¼ l3 as we see in next section.

T. Arponen et al. / Applied Mathematics and Computation 232 (2014) 820–835

829

4.1.4. The motion corresponding to different singular modes Let us then describe the motion of the mechanism in singular modes W 9 ; W 10 ; W 85 ¼ T 66 ; T 23 and T 67 . (W 9 ) The end-effector moves along the x-axis of the global coordinate system and the first joint can rotate freely (2-dim mode). (W 10 ) The end-effector moves along the boundary of the workspace defined by the sphere S ¼ Vððx  1Þ2 þ y2 þ z2  4Þ (2dim mode). (T 66 ) The end-effector is fixed on the center of the sphere on the second joint and first joint rotates freely (2-dim mode). (T 23 ) The end-effector is fixed on the ‘‘north pole’’ of the sphere S and the first joint rotates freely (1-dim mode). (T 67 ) The end-effector is fixed on the ‘‘south pole’’ of the sphere S and the first joint rotates freely (1-dim mode). 4.1.5. The boundary of the manipulator workspace Let us again consider the forward kinematic map u : V ! R3 given in (11). Let M be the image of u and let @M be its boundary. Now evidently M cannot be a variety, but it is at least plausible that @M could be a variety. Let us still denote by m the maximal rank of u. Recall that p 2 V is a critical point, if rankðup Þ < m and that q 2 R3 is a critical value if it is an image of a critical point. ^ 2 Þ. Now N is not necessarily a variety, but by Now all points of @M must be critical values and consequently @M  N ¼ uðV  is a variety and this can be computed because u is a polynomial map. 2 Let ^I2 be as in (12) and definition its Zariski closure N consider the ideal

I xyz ¼ hx  u1 ; y  u2 ; z  u3 i þ ^I2  A;

where

A ¼ Q½ða0 ; a1 ; b0 ; b1 ; b2 ; b3 ; c0 ; c1 ; c2 ; c3 Þdp ; ðx; y; zÞdp : Next we compute the 10th elimination ideal E10 to find the x; y; z dependent expression where the rank of the mapping

uða; b; cÞ ¼ ðx; y; zÞ drops by at least one. E10 ¼ I xyz \ Q½x; y; z ¼ hðx  1Þ2 þ y2 þ z2  4i \ hz; yi: Hence

 ¼ VðE10 Þ ¼ Vððx  1Þ2 þ y2 þ z2  4Þ [ Vðy; zÞ: N By inspection we can now conclude that @M ¼ Vððx  1Þ2 þ y2 þ z2  4Þ and of course M is the corresponding ball. Since ^I2 ¼ W 9 \ W 10 \ W 85 a similar analysis shows that

uðVðW 9 ÞÞ ¼ x  axis uðVðW 9 ÞÞ ¼ ðx; 0; 0Þ; where x 2 ½1; 3; uðVðW 10 ÞÞ ¼ @M uðVðW 85 ÞÞ ¼ fð1; 0; 0Þg: Now recall that W 85 ¼ T 66 so that at the center of the ball the rank drops by 2. This suggests that perhaps the points where x axis intersects @M could also be special. Indeed it is straightforward to check that

uðVðT 23 ÞÞ ¼ fð1; 0; 0Þg and uðVðT 67 ÞÞ ¼ fð3; 0; 0Þg: 4.2. Ortho–parallel manipulator with length l3 as a free parameter 4.2.1. Forward kinematics We generalize the previous example by taking the length l3 to be arbitrary. The constraint equations are independent of the bar lengths hence the constraint ideal I is still given by (10). The forward kinematic map is now

u ¼ R1 ðaÞe1 þ R2 ðbÞe1 þ l3 R3 ðcÞe1 and the goal is to compute the varieties V j as in (5). As before it is easily seen that V 0 ¼ ;. 4.2.2. Stratum S 2 ¼ V 2 n V 1 As before we look for the 3  3 minors of B ¼ duS where S is the syzygy module of the differential of the constraint map. We first compute the Gröbner basis

F3 ðBÞ ¼ hg 1 ; . . . ; g 74 i  A where A ¼ Qðl3 Þ½c3 ; c2 ; c1 ; c0 ; b3 ; b2 ; b1 ; b0 ; a1 ; a0 : The ideal F3 ðBÞ is too complicated to be prime decomposed directly. By inspection the generators g 12 and g 14 factorize which leads to the following preliminary decomposition:

2

Zariski closure of M is R3 so this does not give any useful information.

830

T. Arponen et al. / Applied Mathematics and Computation 232 (2014) 820–835

~1 \ . . . \ U ~8 I þ F3 ðBÞ ¼ U

where

~ 1 ¼ I þ F3 ðBÞ þ hh1 ; h2 ; h3 ; h4 i; U ~ 3 ¼ I þ F3 ðBÞ þ hb2 ; c1 i; U

~ 4 ¼ I þ F3 ðBÞ þ hc3 b2  b3 b1 ; c1 þ b2 i; U

~ 5 ¼ I þ F3 ðBÞ þ hc1  b2 ; c3 i; U ~ 7 ¼ I þ F3 ðBÞ þ hb3  c3 i; U

~ 2 ¼ I þ F3 ðBÞ þ hc1 þ b2 ; c3 i; U

~ 6 ¼ I þ F3 ðBÞ þ hc3 b2 þ b3 b1 ; c1  b2 i; U

~ 8 ¼ I þ F3 ðBÞ þ hb3 þ c3 i U

and

  2 2 2 2 2 h1 ¼ l3 c21 c21  b2  b1 þ b2 b1 ; h3 ¼ l3 c 3 c 1 þ b 3 b 1 ;

  2 2 2 h2 ¼ l3 c1 b3 c21  b2  b1  c3 b2 b1 ;

2

2

2 2

2 2

h4 ¼ c21 b3 þ c23 b2  b3 b2  b3 b1 :

~ 2; . . . ; U ~ 8 decompose easily into prime components, 126 altogether. Denote these by U 1 ; . . . ; U 126 . For The radicals of ideals U ~ 1 we first use the factorizing Gröbner basis algorithm and get 12 components which further decompose into 25 prime ideU als which we denote U 127 ; . . . ; U 151 . Now we have

V 2 ¼ VðI þ F3 ðBÞÞ ¼ VðU 1 Þ [ . . . [ VðU 151 Þ: Removing the repeated and embedded components we are left with

V 2 ¼ VðU 53 Þ [ VðU 92 Þ [ VðU 109 Þ [ VðU 122 Þ [ VðU 151 Þ: All of these are two dimensional. Furthermore we have VðU 53 Þ VðU 92 Þ and VðU 109 Þ VðU 122 Þ so that we have the decomposition

b 2 ¼ Vð^I2 Þ ¼ VðU 53 Þ [ VðU 109 Þ [ VðU 151 Þ-V 2 ; V

where

ð13Þ

^I2 ¼ U 53 \ U 109 \ U 151 :

Comparing to the previous l3 ¼ 1 case we see that VðU 53 Þ corresponds to VðW 85 Þ and VðU 109 Þ corresponds to VðW 10 Þ. Using b 2 itself is not Jacobian criterion we can see that the varieties VðU 53 Þ; VðU 109 Þ and VðU 151 Þ are smooth. However the variety V smooth because intersections VðU 53 Þ \ VðU 151 Þ and VðU 109 Þ \ VðU 151 Þ are not empty. One suspects that at these intersections the rank drops by 2. 4.2.3. Stratum S 1 ¼ V 1 The variety V 1 is given by V 1 ¼ VðI þ F2 ðBÞÞ and computing directly the prime decomposition of F2 ðBÞ gives

pffiffiffiffiffiffiffiffiffiffiffiffi F2 ðBÞ ¼ J F1 \ . . . \ J F30 : Next we combine these with the constraint ideal:

J 1i ¼ I þ J Fi ; Each

J 1i

i ¼ 1; . . . ; 30:

has 1 to 4 components, together 72 components, denoted by

sj . This gives

V 1 ¼ VðI þ F2 ðBÞÞ ¼ Vðs1 Þ [ . . . [ Vðs72 Þ: All the components are one dimensional. Removing the embedded components and identifying the physically similar ones we obtain

^ 1 ¼ Vðs3 Þ [ Vðs21 Þ [ Vðs57 Þ [ Vðs71 Þ-V 1 : V Now we can check that

VðU 53 Þ \ VðU 151 Þ ¼ Vðs21 Þ [ Vðs71 Þ; VðU 109 Þ \ VðU 151 Þ ¼ Vðs3 Þ [ Vðs57 Þ: 4.2.4. Boundary of the manipulator workspace ^ 2 Þ and let ^I2 be as in (13) and consider the ideal Let again N ¼ uðV

I xyz ¼ hx  u1 ; y  u2 ; z  u3 i þ ^I2  A;

where

A ¼ Qðl3 Þ½ða0 ; a1 ; b0 ; b1 ; b2 ; b3 ; c0 ; c1 ; c2 ; c3 Þdp ; ðx; y; zÞdp : Computing the 10th elimination ideal E10 we get

T. Arponen et al. / Applied Mathematics and Computation 232 (2014) 820–835

E10 ¼ I xyz \ Q½x; y; z ¼ I 1 \ I 2 \ I 3 ;

831

where;

2

I 1 ¼ hðx  1Þ2 þ y2 þ z2  ðl3  1Þ i; 2

I 2 ¼ hðx  1Þ2 þ y2 þ z2  ðl3 þ 1Þ i; I 3 ¼ hy; zi:  ¼ VðE10 Þ but obviously @M ¼ VðI 1 Þ [ VðI 2 Þ. The corresponding M, i.e. the possible positions of the endHence again N effector, is thus the space between these 2 concentric spheres. Further we can check that uðVðU 53 ÞÞ ¼ VðI 1 Þ; uðVðU 109 ÞÞ ¼ VðI 2 Þ; uðVðU 151 ÞÞ ¼ VðI 3 Þ and

uðVðU 151 ÞÞ ¼ ðx; 0; 0Þ where x 2 ½l3 ; l3 þ 2 [ ½l3 ; l3 þ 2: One might again suspect that the points where the x axis intersects the boundary spheres are somewhat special. It is straightforward to check that

uðVðs3 ÞÞ ¼ ðl3 þ 2; 0; 0Þ uðVðs21 ÞÞ ¼ ðl3 ; 0; 0Þ; uðVðs57 ÞÞ ¼ ðl3  2; 0; 0Þ uðVðs71 ÞÞ ¼ ðl3 ; 0; 0Þ: In each case the end effector is fixed either to the north or south pole of the inner or outer boundary and the first joint can rotate freely. 5. Example 2: 3R Ortho–parallel manipulator using relative coordinates In comparison to our first approach of using absolute coordinates to represent the manipulator configuration we now perform the same analysis using relative joint coordinates, i.e. joint angles, which is the standard approach for serial manipulators. 5.1. Forward kinematics Let q1 ; q2 an q3 be the joint angles relative to the position given in Fig. 7. Now the forward kinematic map F is given by

0

1 l1  l2 sinðq2 Þ  l3 cosðq3 Þ sinðq2 Þ  l3 cosðq2 Þ sinðq3 Þ B C FðqÞ ¼ @ l2 cosðq1 Þ cosðq2 Þ þ l3 cosðq1 Þ cosðq2 Þ cosðq3 Þ  l3 cosðq1 Þ sinðq2 Þ sinðq3 Þ A: l2 cosðq2 Þ sinðq1 Þ þ l3 cosðq2 Þ cosðq3 Þ sinðq1 Þ  l3 sinðq1 Þ sinðq2 Þ sinðq3 Þ

The position of Fig. 7 corresponds to the values q1 ¼ q2 ¼ q3 ¼ 0 . As usual, we replace the trigonometric functions of angle qi with corresponding ci ; si and c2i þ s2i  1 ¼ 0. In fact the ci ; si are the Euler parameters of the 1-dim rotation of joint i. Let I ¼ hf1 ; f2 ; f3 i ¼ hc21 þ s21  1; c22 þ s22  1; c23 þ s23  1i and let f be the corresponding map as usual. Now the constraint variety V ¼ VðI Þ ’ S1  S1  S1 and we can interpret F as a map F : S1  S1  S1 ! R3 . 5.2. Singular strata As before, we study the rank of F and compute the induced stratification

V ¼ S0 [ S1 [ S2 [ S3

where S j ¼ V j n V j1

and V j are as in (5). Now the syzygy matrix of df is a very simple 6  3 matrix so the matrix B ¼ dF S is a 3  3 matrix. It is easy to check that V 0 ¼ ; and thus we need to compute V 1 and V 2 . The variety V 2 is given by V 2 ¼ VðI 2 Þ ¼ VðI þ F3 ðBÞÞ and computing directly the prime decomposition gives

pffiffiffiffiffiffi I 2 ¼ K1 \ K2 \ K3; K1 ¼ K2 ¼ K3 ¼

hc22 hc22 hc21

þ þ þ

s22 s22 s21

  

where

1; c21 þ s21  1; s3 ; c3 þ 1i; 1; c21 þ s21  1; s3 ; c3  1i; 1; c22 þ s22  1; c23 þ s23  1; l3 ðs3 s2

 c3 c2 Þ  l2 c2 i:

All varieties VðK j Þ are 2 dimensional. The first component VðK 1 Þ corresponds to the motion of the end-effector in the inner boundary (q3 ¼ p), the second component VðK 2 Þ corresponds to the motion of the end-effector in the outer boundary (q3 ¼ 0). The third component appears more complicated but as will be seen below this corresponds to the case where the end-effector moves along the global x -axis. Now we compute the prime decomposition of radical of I þ F2 ðBÞ and get 4 components

pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi I þ F2 ðBÞ ¼ Hþþ \ Hþ \ Hþ \ H ; H

¼ hc21 þ s21  1; s3 ; c3 1; s2 1; c2 i:

where

832

T. Arponen et al. / Applied Mathematics and Computation 232 (2014) 820–835

The components VðH

Þ give the correct results computed previously VðHþþ Þ: VðHþ Þ: VðHþ Þ: VðH Þ:

The The The The

end-effector end-effector end-effector end-effector

is is is is

‘‘folded’’ to south pole of the inner boundary. ‘‘folded’’ to north pole of the inner boundary. ‘‘stretched ’’ to north pole of the outer boundary. ‘‘stretched’’ to south pole of the outer boundary.

5.3. The boundary of the manipulator workspace Let us again denote by M the manipulator workspace and let @M be its boundary. As before @M  N ¼ FðV 2 Þ and we can  Let compute N.

I xyz ¼ hx  F 1 ; y  F 2 ; z  F 3 i þ I 2  A;

where

A ¼ Qðl1 ; l2 ; l3 Þ½ðc1 ; s1 ; c2 ; s2 ; c3 ; s3 Þdp ; ðx; y; zÞdp : The computation of 6th elimination ideals gives

E6 ¼ I xyz \ Qðl1 ; l2 ; l3 Þ½x; y; z ¼ J 1 \ J 2 \ J 3 ; 2

2

where

2

2

J 1 ¼ hðx  l1 Þ þ y þ z  ðl2 þ l3 Þ i; 2

2

J 2 ¼ hðx  l1 Þ þ y2 þ z2  ðl2  l3 Þ i; J 3 ¼ hy; zi: Hence obviously @M ¼ VðJ 1 Þ [ VðJ 2 Þ so that the boundary consists again of two concentric spheres whose center is ðl1 ; 0; 0Þ and whose radii are l2 þ l3 and jl2  l3 j which of course agrees with our previous computation. The component VðJ 3 Þ corresponds to the motion in which the end-effector moves along global x-axis. Again we guess that the points where x-axis intersects the spheres are special and it is easy to compute that

F ðVðHþþ ÞÞ ¼ ðl1 þ l2  l3 ; 0; 0Þ F ðVðHþ ÞÞ ¼ ðl1  l2 þ l3 ; 0; 0Þ; F ðVðHþ ÞÞ ¼ ðl1 þ l2 þ l3 ; 0; 0Þ F ðVðH ÞÞ ¼ ðl1  l2  l3 ; 0; 0Þ: 6. Conclusion We have proposed an algebraic method for the global analysis of forward kinematic singularities of regional manipulators. The method is based on computing relevant syzygy modules and Fitting ideals. Using the same idea we can also compute the boundary of the image of the forward kinematic map. This gives a systematic way to deal with such problems for arbitrary mechanisms. As preliminary computations have shown the method applied here can be used to tackle the inverse kinematic problem for serial manipulators. This topic will be considered in future works. Appendix A ij

The polynomials k for the decomposition of revolute joint constraint:

k

11

k

12

¼ b3 b1 þ b2 b0  a3 a1  a2 a0 ;

k

13

¼ a23 þ a22 þ a21 þ a20  1;

k

14

¼ b2 a3  b3 a2  b0 a1 þ b1 a0 ;

k

15

¼

k

16

¼ b3 b2  a3 a2  b1 b0 þ a1 a0 ;

k

17

¼ b3 þ a22 þ b0 þ a21  1;

¼ a3 b1 þ a2 b0  b3 a1  b2 a0 ;

2 b2

2



a22

þ

2 b1

2



a21 ;

k

25

k

23

¼ k

21

¼ a2 b1  a3 b0  b2 a1 þ b3 a0 ;

k

22

¼ b3 b1 þ b2 b0 þ a3 a1 þ a2 a0 ;

¼ a23 þ a22 þ a21 þ a20  1; k

2 b2

27

k

24

¼ b3 a3 þ b2 a2 þ b1 a1 þ b0 a0 ;

þ a22 26 k

2

þ b1 þ a21  1;

¼ b3 b2 þ a3 a2  b1 b0  a1 a0 ;

2

2

¼ b3  a22 þ b0  a21 :

Appendix B In Fig. 5 the still shots are related to animations W9.gif, W10.gif and W85.gif. In Fig. 6 the still shots at the right are related to animations T66.gif and to intersection W 9 \ W 85 denoted as T.gif. The still shots related to left figures refer to the motions where system is stretched or folded and the first joint rotates freely. The figures and animations were made with computer program MapleÒ.

T. Arponen et al. / Applied Mathematics and Computation 232 (2014) 820–835

833

Fig. 5. The ortho–parallel manipulator in configurations corresponding to ideals W 9 ; W 10 and W 85 .

Fig. 6. From upper left to lower right: The ortho–parallel manipulator in configurations corresponding to ideals T 23 ; W 85 ¼ T 66 ; T 67 and T ¼ W 9 \ W 85 .

Appendix C Below is a very basic flow chart of the steps used to compute the stratification of the forward kinematic map. You can compare this chart to the singular code of our simpler Example 2.6. Notice that if the system contains closed kinematical loops the constraint variety Vc itself might contain singularities which causes the rank of the forward kinematic map to drop. These singularities needs then to be investigated further.

834

T. Arponen et al. / Applied Mathematics and Computation 232 (2014) 820–835

Fig. 7. A basic flow chart for the algorithm used for computations in this article.

Appendix D. Supplementary data Supplementary data associated with this article can be found, in the online version, at http://dx.doi.org/10.1016/ j.amc.2014.01.138. References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21]

D.K. Pai, M.C. Leu, Genericity and singularities of robot manipulators, IEEE Trans. Rob. Autom. 8 (1992) 545–559. P. Donelan, A. Müller, Singularities of regional manipulators revisited, in: Advances in Robot Kinematics, Springer, 2010, pp. 509–519. A. Müller, On the manifold property of the set of singularities of kinematic mappings: genericity conditions, ASME J. Mech. Rob. 4 (2012). E. Ottaviano, M. Husty, M. Ceccarelli, A study on workspace topologies of 3R industrial-type manipulators, CEAI J. Control Eng. Appl. Inf. 8 (1) (2006) 33–41. E. Ottaviano, M. Ceccarelli, M. Husty, Workspace topologies of industrial 3R manipulators, Int. J. Adv. Rob. Syst. 4 (3) (2007) 355–364. M. Zein, P. Wenger, D. Chablat, An exhaustive study of the workspace topologies of all 3R orthogonal manipulators with geometric simplifications, Mech. Mach. Theory 41 (2006) 971–986. T. Arponen, S. Piipponen, J. Tuomela, Kinematic analysis of Wunderlich mechanism, Mech. Mach. Theory 70 (2) (2013) 16–31. T. Arponen, S. Piipponen, J. Tuomela, Analysis of singularities of a benchmark problem, Multibody Syst. Dyn. 19 (3) (2008) 227–253. T. Arponen, S. Piipponen, J. Tuomela, Kinematic analysis of Bricard’s mechanism, Nonlinear Dyn. 56 (1–2) (2009) 85–99. S. Piipponen, Singularity analysis of planar linkages, Multibody Syst. Dyn. 22 (3) (2009) 223–243. A. Müller, S. Piipponen, The geometric vs algebraic definition of mobility, in: 13th World Congress in Mechanism and Machine Science, Guanajuanto, México, IFToMM, June 4–7 2011, pp. 1–8. S. Piipponen, T. Arponen, J. Tuomela, Classification of singularities in kinematics of mechanism, in: Computational Kinematics, Mechanism and Machine Science, vol. 15, Springer, 2014, pp. 41–48. T. Arponen, A. Müller, S. Piipponen, J. Tuomela, Kinematical analysis of overconstrained and underconstrained mechanisms by means of computational algebraic geometry, Meccanica, 0025-6455 (2013) 1–20. M.L. Husty, M. Pfurner, K. Brunnthaler, Algebraic methods in mechanism analysis and synthesis, Robotica 25 (2007) 661–675. M. Husty, An algorithm for solving the direct kinematics of general Stewart–Gough platforms, Mech. Mach. Theory 31 (4) (1996) 365–380. M. Raghavan, B. Roth, Solving polynomial systems for the kinematic analysis and synthesis of mechanisms and robot manipulators, J. Mech. Des. 117B (1995) 71–79. S. Piipponen, J. Tuomela, Algebraic analysis of kinematics of multibody systems, Mech. Sci. 4 (1) (2013) 33–47. A. Sommese, C. Wampler, The Numerical Solution of Systems of Polynomials, World Scientific Publishing Co., Pte. Ltd., Hackensack, NJ, 2005. C. Wampler, J. Hauenstein, A. Sommese, Mechanism mobility and a local dimension test, Mech. Mach. Theory 46 (9) (2011) 1193–1206. S. Di Rocco, D. Eklund, A. Sommese, C. Wampler, Algebraic c -actions and the inverse kinematics of a general 6R manipulator, Appl. Math. Comput. 216 (9) (2010) 2512–2524. K. Abdel-Malek, J. Yang, Workspace boundaries of serial manipulators using manifold stratification, Int. J. Adv. Manuf. Technol. 28 (2006) 1211–1229.

T. Arponen et al. / Applied Mathematics and Computation 232 (2014) 820–835

835

[22] W. Decker, G.-M. Greuel, G. Pfister, H. Schönemann, SINGULAR 3.1.5 — A computer algebra system for polynomial computations, 2012. . [23] D. Cox, J. Little, D. O’Shea, Using algebraic geometry, Graduate Texts in Mathematics, second ed., vol. 185, Springer, New York, 2005. [24] D. Cox, J. Little, D. O’Shea, Ideals, Varieties and Algorithms, 3rd edition., Springer, Berlin, 2007. [25] W. Decker, C. Lossen, Computing in algebraic geometry, Algorithms and Computation in Mathematics, vol. 16, Springer-Verlag, Berlin, 2006. [26] G.-M. Greuel, G. Pfister, A Singular Introduction to Commutative Algebra, 2nd edition., Springer, Berlin, 2008. [27] K. Hulek, Elementary algebraic geometry, Student Mathematical Library, vol. 20, American Mathematical Society, Providence, RI, 2003. [28] M. Kreuzer, L. Robbiano, Computational Commutative Algebra 2, Springer-Verlag, Berlin, 2005. [29] K.-E. Smith, L. Kahanpää, P. Kekäläinen, W. Traves, An Invitation to Algebraic Geometry, Springer-Verlag, New York, 2000.