Mechanism and Machine Theory 37 (2002) 717–737 www.elsevier.com/locate/mechmt
Dimensional synthesis of planar Stephenson mechanisms for motion generation using circlepoint search and homotopy methods H. Schreiber a, K. Meer
b,*
, B.J. Schmitt
c
a
b
Imperia GmbH, Automotive Engineering Services, Adlerberg 1, 52066 Aachen, Germany Department of Mathematics and Computer Science, IMADA, Syddansk Universitet SDU, Odense, Campusvej 55, 5230 Odense M, Denmark c Dietrich-Bonhoeffer-Str. 3, 85567 Grafing b. M€ unchen, Germany Received 22 December 1999; received in revised form 9 March 2001; accepted 28 November 2001
Abstract The kinematic synthesis of Stephenson mechanisms for motion generation is often based on specifying arbitrary values for certain kinematic dimensions. If no appropriate values are known, an inadequate choice can make it impossible to find a good mechanism. In the present paper a synthesis method is described where kinematic dimensions can be chosen a priori (to meet side conditions, e.g., a limited area for the locations of the fixed pivots), but do not have to be chosen. A circlepoint search in combination with homotopy methods will be applied. Concerning the homotopy methods two approaches – via the Bezout number and the BKK bound – will be compared. 2002 Elsevier Science Ltd. All rights reserved.
1. Introduction One of the purposes of mechanism synthesis is the generation of a rigid body motion; for example, the car top of a cabriolet has to be guided through certain poses. In addition to this main purpose, side conditions often have to be met. In our example, the fixed pivots of the mechanism guiding the car top can be connected to the car body only within a restricted area.
*
Corresponding author. Fax: +45-6593-2691. E-mail addresses:
[email protected] (H. Schreiber),
[email protected] (K. Meer),
[email protected] (B.J. Schmitt). 0094-114X/02/$ - see front matter 2002 Elsevier Science Ltd. All rights reserved. PII: S 0 0 9 4 - 1 1 4 X ( 0 2 ) 0 0 0 1 6 - 2
718
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
In order to generate a desired motion under side conditions, the capabilities of moving for fourbar linkages are limited. The transition to six-bar planar Stephenson mechanisms opens up a greater flexibility. Like the four-bar linkages, the Stephenson mechanisms are able to realize up to five rigid body precision poses; additionally, they can fulfill desired side conditions. In this paper we want to deal with the complete synthesis of Stephenson mechanisms. Here, complete means that in principle we are interested in finding all possible realizations of a synthesis task. To this end we first express the kinematic synthesis of Stephenson mechanisms as an algebraic problem. This yields systems of nonlinear algebraic equations. The main difficulty in solving such systems is their complicated structure; in general, one cannot express the solutions in an explicit form. Moreover, numerical algorithms might result in computational problems. The latter difficulty is especially true if one is interested in finding several (or all) solutions of the underlying system. In this paper it shall be demonstrated how these methods can be applied to the dimensional synthesis of Stephenson mechanisms for motion generation. To the knowledge of the authors, the problem of motion generation by six-bar mechanisms has until now not been solved without any a priori specification of certain kinematic parameters. In particular, we will for the first time use the theory of the BKK bound to solve numerically the above motion generation problem. A comparison with the main previously used method is given. 1.1. Related previous work Let us briefly summarize work that has been done previously in applying mathematical theories developed to solve polynomial systems to problems in the area of the synthesis of mechanisms. On the mathematical side the study of polynomial systems has a long history impossible to report completely here. A good introduction to the use of homotopy methods to solve such problems is [1]. The background on symbolic methods like Gr€ obner bases or resultants as well as an introduction to Bezout’s theorem can be found, for example, in [2,3]. The mathematical theory around the BKK bound is also described in the latter reference. It originated in work done by Bernshtein [4] and Bernshtein et al. [5]. Its use with respect to homotopy algorithms is studied for example in [6]. The advantage of combining such theories with problems in kinematics has been realized in the last 10–15 years. An excellent textbook is [7]. Together with Wampler and Sommese, Morgan performed the numerical solution of the nine-pose path synthesis problem for four-bar linkages [8], see also [9]. The approach used was related to the original Bezout bound as well as its multihomogeneous versions. A paper that treats six-bar linkages is [10]. Here, some of the unknowns are fixed in order to reduce the complexity of the solution process. Again, the homotopy methods used rely on Bezout type bounds. Further excellent surveys on the general background of using symbolic or numerical methods for synthesis problems are [11,12]. The paper [11] by Nielsen and Roth explains the basic ideas of Bezout, multi-homogeneous Bezout, BKK bounds on the numerical side, as well as Gr€ obner bases and resultants on the symbolic side and gives a lot of references. Let us mention that the paper [13] is probably one of the first dealing with numerical solutions of polynomial systems arising in kinematics. Another interesting reference for the relation between mathematics and kinematics, now called the field of computational kinematics, is [14].
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
719
Our contribution in the present paper is the following: To the best of our knowledge, synthesis problems for Stephenson mechanisms so far were handled by homotopy methods either using the Bezout or related bounds, or by means of symbolic computation (cf. [10] where synthesis problems are treated by applying m-homogenizations. However, in the approach of [10] some of the unknowns are fixed arbitrarily, thereby significantly reducing the complexity of the problem). So far, on the practical side no use has been made of the BKK bound in relation with the synthesis of Stephenson mechanisms. The new aspect of this paper is to apply the BKK theory in order to solve the dimensional synthesis of Stephenson mechanisms for motion generation. The results will be compared with the Bezout bound approaches. Beside the advantage of fixing fewer variables in advance, we will show that the computation time can be reduced considerably. The paper is organized as follows: Section 2 describes the motion-generation problem we are interested in. Its precise mathematical formulation as a system of algebraic equations is given in Section 3. The system is reduced by application of a circlepoint search which can be done independently. For the sake of completeness, Section 4 presents the underlying mathematical approach. Though it is impossible to treat the extensive theory, our survey at least gives an insight to the basic ideas, which we hope clarifies the advantage of using the BKK bound. Section 5 applies the approach to a real life example. We present a numerical solution of the guidance of a garage door based on a slider-crank mechanism. The BKK approach is compared to previously used algorithms relying on Bezout-type bounds.
2. The synthesis problem In order to define the motion of a plane in relation to a fixed base, a n–g-system with its origin P shall be attached to the moving plane. Similarly, a x–y-system shall be attached to the base. Thus, the planar rigid body motion can be defined by certain poses of the n–g-system with respect to the x–y-system, i.e., by the coordinates ðxP;j ; yP;j Þ and the angle cj for every pose j (Fig. 1). With respect to motion generation, four different mechanisms that enhance the motion capabilities of the four-bar mechanisms can be derived from the Stephenson kinematic chain: the Stephenson-1I, -2I, -2II and -3I mechanism (Fig. 2). All these mechanisms have the common feature that there is one link that directly connects the guided plane (n–g-system) with the base (x–y-system), i.e., the link B0 B of length l7 . Fig. 3 makes this evident for a Stephenson-1I mechanism. In order to generate a desired motion with a Stephenson mechanism one of these four different mechanisms has to be chosen (structural synthesis). In the following the unknown kinematic dimensions have to be calculated (dimensional synthesis). For any of these four mechanisms, 15 unknown dimensions have to be calculated. For example in the case of the Stephenson-1I mechanism we have the unknown dimensions: xA0 ; yA0 ;
l1 ¼ A0 C;
xB0 ; yB0 ;
l5 ¼ AE;
j14 ¼ \CA0 A;
l2 ¼ CD; l6 ¼ EP;
j73 ¼ \BB0 D;
l3 ¼ B0 D; l7 ¼ B0 B;
l4 ¼ A0 A; l8 ¼ BP;
j68 ¼ \EPB:
720
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
Fig. 1. Synthesis-task ‘‘Motion generation for five precision poses under specification of a prescribed location of the fixed pivot A0 ’’.
Fig. 2. Six-bar mechanisms for motion generation. The motion generating link is indicated by an asterisk.
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
721
Fig. 3. Design parameters in the six-bar Stephenson-1I mechanism.
In the process of the kinematic synthesis a mechanism can often be found that approximates the desired task, though not solving it exactly. In this situation it is desirable to continue with an optimization technique in order to realize the approximate mechanism at its best. In this sense the synthesis problem can be summarized as follows: • Up to five rigid body poses will be fulfilled exactly. However a slight error in the desired motion is accepted if in this case a practically better suited mechanism can be achieved. • Side conditions like the desired pose of a fixed pivot will additionally be met. • The possibility will be given that all mechanisms of a desired type can be determined that fulfill the required task. • An optimization technique will be made available that adjusts a given mechanism to a desired purpose. The starting point for the method of dimensional synthesis presented in this paper is the determination of the link B0 B that connects the guided plane to the base. Such a link can at most realize five desired precision n–g-poses. The problem of determining such a link leads to a commonly known circle- and centerpoint search [15] and is represented in Fig. 4 for the case of four poses to be fulfilled. If a second link A0 A can be found that also realizes the desired motion, the four-bar linkage A0 APBB0 can be completed to guide the n–g-system through the desired poses (unless branch problems arise). However, it is often the case that the second link A0 A does not satisfy the side conditions. If this event occurs, it can be replaced by a triad (meaning a concatenation of three
722
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
Fig. 4. The link B0 B exactly fulfills four prescribed rigid body poses.
Fig. 5. Development of the Stephenson mechanisms from a combination of a dyad B0 BP and a triad.
links coupled by two revolute joints. In this paper the link in the middle pose is always a ternary link, and the other links are binary). Depending on the way this triad is connected to the dyad B0 BP all of the four different Stephenson mechanism can be achieved (Fig. 5).
3. Formulation As we have already stated, the dimensional synthesis of Stephenson mechanisms will be divided into two successive steps: the determination of the dyad B0 BP and the calculation of the triad. 3.1. Determination of the dyad B0 BP In the first synthesis step, the link B0 B is determined by a circle- and centerpoint search based on linear regression.
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
723
A direct solution of the Burmester problem (i.e., the five-pose problem) is well documented, cf. for example [16]. It corresponds to the solution of a quartic polynomial. However, it is possible that the Burmester points (resp. the circle- and centerpoint-curve) lead to practically unacceptable results. In this situation, information has to be provided about regions of possible joint locations where the error in the desired motion is acceptably low, while the determined link is better qualified for a practical mechanism. A direct calculation does not provide this information. To the authors’ knowledge, very few papers deal with this kind of fuzzy synthesis, and in particular the method presented here has not been published before. A circlepoint B in the moving n–g-plane with its homologous poses xB;j and yB;j in the fixed x–yplane, the corresponding centerpoint B0 in the fixed plane, and the link length B0 B ¼ r satisfy the equation of a circle in every pose j (cf. Fig. 4): ðxB;j xB0 Þ2 þ ðyB;j yB0 Þ2 r2 ¼ 0:
ð1Þ
An arbitrary point Z in the n–g-plane will in general not satisfy Eq. (1) for every homologous pose j, so the right-hand side of this equation will be equal to an error ej instead of being zero. Expanding Eq. (1) yields 2 x2Z;j þ yZ;j 2xZ;j xZ0 2yZ;j yZ0 þ x2Z0 þ yZ2 0 r2 ¼ ej ; |fflfflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflfflffl}
ð2Þ
¼: k
which is a linear equation in the three unknowns xZ0 , yZ0 and k. Application of a common linear regression technique (e.g. a Givens rotation) leads to those values for xZ0 , yZ0 and k that yield the pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi least error with respect to the Euclidean norm kek2 ¼ e21 þ e22 þ þ e2n . Having calculated the errors kek2 for a sufficient number of points Z in a desired region of the n–g-plane, the error function can be visualized according to the representation in Fig. 6. Regions with an adequately low error kek2 are appropriate choices of locations for moving pivots. Thus, from the 15 kinematic dimensions that define the Stephenson mechanism, the four dimensions xB0 , yB0 , l7 and l8 can be determined. Eleven dimensions describing the aforesaid triad remain to be calculated. 3.2. Determination of the triad The second synthesis step is based on the knowledge of the dyad B0 BP. In all of the following procedures the dimensions of this dyad remain unchanged. For the determination of the triad, 11 absolute poses of the dyad B0 BP could be considered, leading to a system of 11 equations. In order to reduce the computational effort it is advantageous to consider one absolute initial pose and 10 displacements. In this case the equation describing the initial pose can be included in the displacement equations and the synthesis problem initially reduces to a system of 10 equations. This reduction corresponds to the fact that the triad in question can be determined by the 10 Cartesian coordinates of the centers of its joints. The kinematic dimensions describing the coupling of the triad to the already known dyad B0 BP can be determined by formulating the initial pose of the mechanism, cf. for example [8] where the ninepose path generating problem of a four-bar linkage is reduced to eight equations; the remaining dimensions are found by considering the initial pose.
724
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
Fig. 6. Error-function arising in a circle- and centerpoint search.
The approach which formulates the displacement equations on the basis of the Cartesian coordinates of the centers of the joints was conducted in [10] for a simplified problem. In following common practice, we resort to complex numbers to represent points in the real plane, but there are alternatives to this practice, e.g., [17]. Referring to Fig. 7, the Stephenson-1 mechanism can be described by two complex vector loops (Fig. 7(a) and (c)): l 0 þ l 4 þ l 5 þ l 6 ¼ p1 ;
ð3aÞ
l 0 þ l 1 þ l 2 ¼ l 3:
ð3bÞ
Fig. 7(b) and (d) represent the mechanism after a displacement from the initial pose 1 to the pose j (j ¼ 2; . . . ; 11). Accordingly, the vector loop equations become l 0 þ l 4 eiu1;1j þ l 5 eiu5;1j þ l 6 eiu8;1j ¼ pj ; iu1;1j
l 0 þ l 1e
iu2;1j
þ l 2e
iu7;1j
¼ l 3e
;
ð4aÞ ð4bÞ
where the angular displacements u7;1j and u8;1j can be determined by the known poses of the dyad B0 BP. After substituting Eqs. (3a) and (3b) in (4a) and (4b) and rearranging, one obtains ðp1 l 0 l 4 l 6 Þeiu5;1j ¼ pj l 0 l 4 eiu1;1j l 6 eiu8;1j ;
ð5aÞ
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
725
Fig. 7. The Stephenson-1 mechanism. (a) Initial pose 1, outer loop; (b) displacement to a new pose j, outer loop; (c) Initial pose 1, inner loop; (d) displacement to a new pose j, inner loop.
ðl 3 l 0 l 1 Þeiu2;1j ¼ l 0 l 1 eiu1;1j þ l 3 eiu7;1j :
ð5bÞ
The angles u2;1j and u5;1j can be eliminated by multiplying each side of Eqs. (5a) and (5b) with its complex conjugate. Expanding and rearranging yields a system of two linear equations in eiu1;1j and eiu1;1j of the form k1;j eiu1;1j þ k2;j eiu1;1j ¼ k3;j ;
ð6aÞ
k4;j eiu1;1j þ k5;j eiu1;1j ¼ k6;j ;
ð6bÞ
726
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
where k1;j ¼ l 4 l 6 eiu8;1j þ ðl 0 pj Þl 4 ;
ð7aÞ
k2;j ¼ l 4 l 6 eiu8;1j þ ðl 0 pj Þl 4 ;
ð7bÞ
k3;j ¼ ðl 0 ðeiu8;1j 1Þ l 4 þ p1 pj eiu8;1j Þl 6 ðl 0 ðeiu8;1j 1Þ l 4 þ p1 pj eiu8;1j Þl 6 ðl 0 þ p1 Þl 4 ðl 0 þ p1 Þl 4 ðp1 pj Þl 0 ðp1 pj Þl 0 þ p1 p1 pj pj ;
ð7cÞ
k4;j ¼ l 0 l 1 l 1 l 3 eiu7;1j ;
ð7dÞ
k5;j ¼ l 0 l 1 l 1 l 3 eiu7;1j ;
ð7eÞ
k6;j ¼ ðl 3 ðeiu7;1j 1Þ l 1 Þl 0 þ ðl 3 ðeiu7;1j 1Þ þ l 1 Þl 0 l 1 l 3 l 1 l 3
ð7fÞ
(the complex conjugate is indicated by an overline). System (6a) and (6b) can be solved for eiu1;1j and eiu1;1j (e.g., by Cramer’s rule). Application of the identity eiu1;1j eiu1;1j 1 ¼ 0
ð8Þ
yields one polynomial equation in the 10 unknowns l 0;
l 0;
l 1;
l 1;
l 3;
l 3;
l 4;
l 4;
l 6;
l6
ð9Þ
describing the displacement of the mechanism from its pose 1 to the pose j (j ¼ 2; . . . ; 11; 10 displacements and one absolute initial pose (3a) and (3b) correspond to the remaining 11 unknowns). Note that according to [8] the complex conjugates are treated as two independent complex variables, since conjugation is not algebraic. A similar procedure can be applied to the other three types of Stephenson mechanisms (cf. Fig. 8): each mechanisms can be described by two vector loops which yield one polynomial equation
Fig. 8. The Stephenson-2 and -3 mechanisms. (a) Stephenson-2I mechanism; (b) Stephenson-2II mechanism; (c) Stephenson-3I mechanism.
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
727
describing the displacement of the mechanism. Concerning the Stephenson-2I mechanism (Fig. 8(a)), the two vector loops under consideration are l 1 þ l 2 þ l 3 þ l 0 ¼ 0;
ð10aÞ
l4 þ l5 þ l6 þ l0 ¼ 0
ð10bÞ
in the Stephenson-2II mechanism (Fig. 8(b)) these vector loops are l 0 þ l 1 þ l 2 þ l 6 ¼ p1 ;
ð11aÞ
l 3 þ l 4 þ l 5 þ l 6 ¼ p1
ð11bÞ
in the Stephenson-3I mechanism (Fig. 8(c)) the vector loops are l 1 þ l 2 þ l 5 þ l A0 ¼ 0;
ð12aÞ
l 3 þ l 4 þ l 5 þ l C0 ¼ 0:
ð12bÞ
For more details see [18]. The triad can realize eleven prescribed poses of the dyad B0 BP. If the location of the fixed pivot A0 is specified a priori by assigning the desired values to its coordinates ðxA0 ; yA0 Þ, the number of the unknowns – and thus the number of poses the dyad B0 BP will reach – is reduced to nine. The same simplification occurs if any other kinematic dimension is specified a priori (see Figs. 9 and 10). Even under considering such reductions, the resulting system of polynomial equations is sufficiently complex that it cannot be solved by commonly known methods. Its (numerical) solution by homotopy methods will be the essential part of the dimensional synthesis presented in this paper. In the next section we shall explain the mathematical background.
Fig. 9. Paths of zeros along t 2 ½0; 1 . Besides two zeros of multiplicity 1 F has a zero of multiplicity 3 as well as a zero in 1.
728
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
Fig. 10. Two paths of zeros intersecting in t . At this point Ht has a zero of multiplicity 2.
4. The mathematical background In this section we want to outline the mathematical methods which are used in order to determine the triad. These methods are tailored to approximately compute solutions of polynomial systems of equations. It would be beyond the scope of this paper to explain completely the mathematical theory behind such techniques. References for the interested reader were given in Section 1. However, for the sake of completeness we believe it is advantageous for the non-mathematical reader to outline the main stream of ideas for dealing with such questions. 4.1. Algebraic systems of equations The mathematical formalization of performing a synthesis for Stephenson mechanisms leads to the problem of solving particular systems of equations over the complex numbers. For a long time such systems have been investigated in mathematics. Every equation involved has a specific form; it is a polynomial in the unknowns of the system. For example, 8 < x3 y þ 2i y z 1 i ¼ 0; ð Þ x y z þ x z2 p x ¼ 0; : x þ 2 y 3i z ¼ 0 represents such a polynomial system of equations in the three variables x; y and z. The structure of a mechanism determines the manner in which the unknowns appear in the corresponding system. In general, the number of variables equals the number of equations. This implies, under specific regularity conditions, that there exists a finite number of solutions for the system (Bezout’s theorem, [3]). The system then is neither underdetermined (infinitely many solutions) nor overdetermined (no solution). There are basically two different mathematical approaches to address such tasks. Roughly speaking, symbolic methods are tailored to mimic the ideas behind Gaussian elimination for nonlinear problems. This leads to Gr€ obner bases algo-
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
729
rithms and resultants; the study of the latter builds an extremely active research area within the field of ‘‘symbolic computing’’ (cf. [2,19]). However, the methods we are going to use are of a numerical nature. The goal is to compute as many solutions as possible approximately. The running time of such algorithms depends on the number n of variables as well as the degree of every equation. In order to define the latter consider once again the above system ð Þ as an example. Every equation is built of sums of monomials. A monomial is the product of a constant with powers of specific variables. For example, the first equation contains the monomials x3 y 1 z0 ; 2 x0 y 1 z1 and ð1 iÞ x0 y 0 z0 . The degree of such a monomial now is defined as the sum of the involved exponents of the variables. For example, the monomial x3 y 1 z0 has degree 3 þ 1 þ 0 ¼ 4, etc. The degree of the entire equation is the maximum degree of its constituent monomials. The above theorem of Bezout states that (under certain regularity conditions) a polynomial system has at most D ¼ d1 d2 dn complex solutions. Here, di denotes the degree of the ith equation in the system. Homotopy methods give the possibility of computing approximations to these solutions. Thus, the number D (or other, better upper bounds for the number of solutions) influences the running time of such algorithms. Another important measure for the complexity is the condition of a system. We shall address this topic in the next section. In our applications in kinematics we shall often at first isolate specific easier subproblems which can be handled without the homotopy approach. This will help to decrease the overall complexity. 4.2. Homotopy methods Let F : Cn ! Cn ; F :¼ ðf1 ; . . . ; fn Þ be polynomials which describe the motion of the given Stephenson mechanism. We want to solve the equations f1 ðxÞ ¼ 0; . . . ; fn ðxÞ ¼ 0 in the n complex variables x :¼ ðx1 ; . . . ; xn Þ. A class of well known methods to compute one approximate solution of F ðxÞ ¼ 0 are iteration algorithms (e.g., Newton’s method). Here, the computation starts with an initial value x0 2 Cn and step by step produces a sequence of iterates which – in the optimal case – converge to a zero of F. Several problems arise with this approach: in general, it is very difficult to determine a value x0 such that convergence is guaranteed. Moreover, for two different initial values it is not clear whether the corresponding sequences converge towards different solutions. Thus, this approach will seldom find all solutions of a system. Instead of operating directly with the ‘‘target’’ system F ¼ 0 homotopy methods use a different idea. First, an easy polynomial system G : Cn ! Cn is considered. Easy here means that one already knows the solutions of the equation G ¼ 0, or at least can easily compute them. Now, by using an additional parameter t this start system is connected with the target system F ¼ 0. This connection mathematically is described by the homotopy H ðx; tÞ. A common choice for H is the linear homotopy H ðx; tÞ :¼ ð1 tÞ GðxÞ þ t F ðxÞ;
0 6 t 6 1:
For t ¼ 0 we have H ð; 0Þ ¼ GðÞ, i.e., the homotopy starts in G. For t ¼ 1 we have H ð; 1Þ ¼ F ðÞ. The aim is to track the information we are interested in from the easy start system
730
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
to the target system. Any system in-between, i.e., any equation Ht ðxÞ :¼ Hðx; tÞ ¼ 0 itself is again a polynomial system in x. Zeros of G (a single, a specific number, or all) are tracked numerically along the polynomials fHt ; 0 6 t 6 1g into zeros of F. Several problems arise: how can we guarantee that we end up with zeros of F? How can we practically perform the method? One extremely important point when following a zero along the homotopy fHt ; 0 6 t 6 1g is to know precisely which zero of a polynomial Ht ðxÞ the current one is. Consider, for example, the equation x2 ðt 14Þ ¼ 0. For t ¼ 14 there exists only one zero x ¼ 0; but for t > 14 there are two. Thus, it is not clear which of the two zeros would have to be followed if we start in x ¼ 0 for t ¼ 14. With respect to the homotopy this implies that we have to avoid crossing of different paths. The above considerations lead to the following requirement: none of the polynomials Ht of the homotopy should have a multiple zero. In order to formalize this condition mathematically, we first would have to generalize the concept of multiple zeros to multivariate polynomials. This is done in algebraic geometry. For an elementary presentation of the underlying idea we refer to [9]. Next, it can be shown (theorem of Sard!) that a random choice of the start system G with high probability yields a linear homotopy fHt ; tg such that the above condition holds true. As already pointed out it is important to be able to deal with the initial system in a reasonable amount of computation time (especially with respect to finding its zeros). One can further apply Sard’s theorem in such a manner that even for the randomly chosen system G the zeros can be found easily. For example, by introducing additional parameters one can perturb the system xd11 1 ¼ 0; . . . ; xdnn 1 ¼ 0 (with the unit roots as solutions) in such a way, that the polynomials Ht satisfy the above task, but we do not lose knowledge about the zeros (cf. [20]). There are three possibilities when tracking a zero of the polynomial G along the homotopy: • a path terminates at t ¼ 1 in an isolated zero of the polynomial F; • several distinct paths of fHt ; 0 6 t < 1g turn into the same point at t ¼ 1: this possibility yields a multiple zero of F; • as t ! 1 a path approaches infinity: one obtains zeros of F in 1; in general, these zeros are not of practical interest. From a mathematical point of view, such zeros are treated by switching to the projective space (cf. [21]). In order to track a zero numerically iteration methods can be used. These are applied to one of the systems Ht . If xk is a sufficiently good approximation of a zero for Htk ; where tk < 1; then the parameter tk is increased to a value tkþ1 ; an iteration step is now applied with initial value xk to get an approximation xkþ1 of the corresponding zero of Htkþ1 . The step size for the difference between tk and tkþ1 as well as the number of iterations necessary to perform the entire process is essentially determined by the Bezout number and the condition of the homotopy. The latter is a measure of how close the homotopy is passing to systems with multiple zeros. Roughly speaking: the larger the distance between the homotopy and such ‘‘degenerated’’ systems is (i.e., the more isolated the zeros of the homotopy are) the faster one can track a zero without jumping onto another path. The condition of the homotopy is a kind of measure how close different zeros come to each other. Since the target system F is itself one member of the family of systems given by the homotopy H,
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
731
the location of the zeros of F influences the conditioning of the homotopy in a way we cannot control. What can be controlled is the condition of the other systems defining the homotopy. This is, for example, attempted by making use of Sard’s theorem to choose an appropriate start system. For precise results into this direction see [23]. Some advantages of the homotopy method are: • the possible treatment of all zeros; • the guarantee that different zeros of the polynomial G lead to different zeros of the polynomial F if the computation is performed with sufficient precision (and the target system is regular). If the target system is degenerate, then a zero of multiplicity k is reached by k paths of the homotopy; • the possibility of performing computations in parallel. In view of applications it might also be reasonable to choose more general homotopies than those attained from an algebraic point of view. One can also try to better reflect kinematic aspects. This approach often leads to a special kind of coefficient homotopies which are called parameter homotopies (cf. [9]). Here, relevant kinematic parameters are changed along the homotopy in a continuous fashion, such that the systems along the homotopy also share kinematic properties with the target system. 4.3. The BKK-bound The above approach has been specialized in many senses in order to better incorporate the specific structure of a given problem. Here, one example is given by methods which build the homotopy in such a way that its algebraic structure better reflects the algebraic structure of the target system F. An important point is the knowledge of tighter upper bounds for the number of solutions than the one given by Bezout’s theorem, [3]. To this end, other measures have been investigated which can lead to better bounds on the number of solutions, and thus to fewer paths that have to be followed. This is important if the Bezout number is much larger than the actual number of solutions. The currently most promising approach in this direction is the use of ‘‘mixed volumes’’ instead of the Bezout number. This mixed volume is related to the Newton polytopes which correspond to the given system. We shall finally give a short description of the underlying ideas. Generally speaking, one takes more account of whether, for a polynomial of fixed degree, some monomials vanish (i.e., have zero as coefficient). The aim is to obtain better (i.e., smaller) upper bounds for the number of solutions, as fewer monomials are present. Consider a polynomial in two variables of degree four, given by f ðx; yÞ :¼ s1 y 2 þ s2 x2 y þ s3 x þ s4 x2 y 2 ; where the si do not vanish. Here, four monomials (instead of the maximal possible number of 15) appear. The idea now is to relate those monomials with a non-zero coefficient to a geometric object, namely a polytope. To this end consider the exponent vector ði; jÞ 2 f0; 1; . . . ; 4g f0; 1; . . . ; 4g of a monomial xi y j . For the polynomial f we are interested in all exponent vectors of its monomials with non-zero coefficient, i.e.,
732
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
Fig. 11. Newton polytope for the polynomial f.
A :¼ fð0; 2Þ; ð2; 1Þ; ð1; 0Þ; ð2; 2Þg: The important object right now is the convex hull convðAÞ of the set A and its volume. The dotted line in Fig. 11 indicates the corresponding convex hull convðBÞ for a polynomial with non-zero coefficients for all its monomials. As the figure shows, the volume of convðAÞ is smaller than that of convðBÞ. It is this volume which has important influence on the bound for the number of solutions. This BKK-bound (due to contributions by Bernstein, Khovanskii and Kushnirenko) generalizes the above idea to systems of polynomials by using the Minkowski sum of polytopes and its mixed volume, see [3]. For dense systems, i.e., if all monomials have non-zero coefficients, this quantity gives us back the Bezout bound, whereas in many other cases it might be much smaller. From a complexity point of view the BKK approach introduces a new difficulty: as opposed to the Bezout number of a system, which can be computed in a trivial manner, the evaluation of the mixed volume of the corresponding Newton polytope is a hard problem in general. Similarly, the construction of reasonable start systems which share the same structure (w.r.t. Newton polytopes) as the target system becomes much more involved. However, the reward for this additional computational effort is in many cases an enormous decrease in the number of paths to follow. The implementation which was the most successful one for our computations, namely the program PHC written by Verschelde [6], uses this approach. 4.4. Final optimization using a Bootstrap method Specific additionally desirable properties are frequently not matched by the mechanism found. This is a typical situation that appears after applying the homotopy method for the main purpose of our synthesis task. In the task of the next section, for example, one could wish to guarantee the movement of the point P along a straight line, specifying more precision poses than the mechanism can realize. This would lead to an overdetermined polynomial system. Thus, in general we cannot expect existence of solutions. However, in this situation homotopy methods are also
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
733
helpful. They can be used on the overdetermined system f in order to solve the least square problem minx kf ðxÞk2 (see [24] and the references cited therein). One can perform such an approach as described in the present section and might hope that a solution of the least square problem yields an almost satisfactory mechanism. However, in the application to many practical kinematic problems where one single mechanism is sufficient, one can simplify this approach. If the linkages found do not satisfy the required side conditions it can be useful – as experience shows – to slightly vary the prescribed poses and to observe whether this variation leads to an improved linkage (in general, a slight change of the prescribed poses will result in a slight change of the mechanism). With respect to this experiment it is not necessary to repeat the above timeconsuming homotopy computation for each variation. Instead, one of the known linkages can be used as an initial guess for an optimization technique. According to Fig. 12, intermediate problems can be formulated by guiding the dyad B0 BP in sufficiently small steps from each start pose j ðxP;j;start ; yP;j;start ; u7;j;start ; u8;j;start Þ – i.e., the poses the initially known mechanism actually fulfills – to the desired corresponding target pose j ðxP;j;targ ; yP;j;targ ; u7;j;targ ; u8;j;targ Þ. Let ktot denote the total number of intermediate problems, then the kth intermediate problem can be obtained by k k u7;j;targ u7;j;start u7;j;k ¼ 1 þ ; ð13Þ u8;j;k u8;j;start ktot ktot u8;j;targ which is a linear homotopy with the homotopy parameter k=ktot 2 ½0; 1 .
Fig. 12. Transformation of the rigid body poses from the start-mechanism into the target poses by guiding the dyad B0 BP.
734
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
In this case the target poses are achieved by varying the parameters (xP;j , yP;j , cj ) of the rigid body poses; this kind of homotopy method has been called a parameter homotopy [9]. These homotopies were introduced into the kinematic synthesis of mechanisms under the name of the Bootstrap procedure in [13]. This method is a restricted homotopy method since we only follow one single solution and suppose we are already close to the system we are looking for. We used this approach in our example (next section). However, note that in principle we could perform this final step also more generally in order to find all solutions of the related least square problem.
5. Example A current solution for the guidance of a garage door is based on a slider-crank mechanism. This mechanism consists of a link with two revolute joints that connects the lower end of the door to the frame, and a slider that guides the upper end of the door in a rail along the wall. The assembly costs can be reduced if the slider and the rail can be dispensed with, replacing them by a mechanism whose fixed pivots are mounted to the frame of the door. In this case the whole mechanism can be assembled independently and can be transported and attached to the garage walls as a unit. This task – generating the desired motion under the side condition of locating the fixed pivots within the frame – cannot be fulfilled in a satisfactory manner by a four-bar mechanism. Here we investigate if, based on a homotopy method, a Stephenson-1I mechanism can be found that is appropriate to meet this purpose (cf. [22]). In the first synthesis step a circle- and centerpoint search leads to the dyad B0 BP with its fixed pivot B0 located in the frame and guiding the door through the desired poses. For the second synthesis step – the determination of the dimensions of the triad – a homotopy method is applied. In order to take into account the given side conditions the following preconditions are stated: • the fixed pivot A0 is located in the upper end of the frame, • with respect to a compact construction the moving pivot E shall be located near the door itself; its location is chosen to be the midpoint of the segment BP. Based on these assumptions the dimensions xB0 , yB0 , l7 and l8 of the dyad B0 BP and the dimensions xA0 , yA0 , l6 and j68 (j68 ¼ 0) of the triad are fixed for the following homotopy calculations (cf. Fig. 3). Seven unknown dimensions are left to be determined. Consequently, seven poses of the dyad B0 BP can be prescribed to be fulfilled by the complete mechanism. After introducing complex vector loops as in Section 3.2 we are left with a polynomial system of six equations in six variables (see Table 1). Under these specifications the homotopy method could detect about 60 mechanisms that generate the desired motion of the garage door without the occurrence of branch problems. Roughly one-half of these mechanisms did not call forth collisions with the ground or the garage roof, so they are appropriate to be used for the practical motion task. Fig. 13 shows a selection of the calculated mechanisms. Fig. 13(a)–(c) represent mechanisms that fulfill the motion task and the side conditions conveniently. Mechanisms that fulfill the desired motion but that call forth collisions with the garage
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
735
Table 1 CPU time for the computation of the triad HOMPACK PHC
Paths tracked
Solutions found
Time elapsed (h)
46 656 (Bezout number) 1138 (BKK bound)
131 133
54.97 4.17
The number of solutions refers to the ones having the form in (9), i.e., pairs of components of the solution vector must be conjugated. The problem was solved on an SGI Octane with one R10000 175 MHz processor.
(a)
(b)
(c)
(d)
(e)
(f)
Fig. 13. Selection of the mechanisms for the guidance of a garage-door found by homotopy calculations.
roof are represented in Fig. 13(d) and (e). Fig. 13(f) shows a mechanism whose lengths l2 and l3 were found approximately equal to zero so that the mechanism actually turns out to be a four-bar linkage. The mechanisms determined that way fulfill the prescribed poses exactly, but the path kP;a of their couplerpoint P in-between these poses shows a visible deviation from the straight line (cf. Fig. 14(a)). To improve this straight line guidance, the Bootstrap procedure was applied to appropriate mechanisms that were found by the previous homotopy calculations. A sufficient number of sample points (here, 20) were specified along the straight line. The result of this optimization is represented in Fig. 14(b). The deviation of the path kP;b of the coupler point P from the straight line has been reduced to a few millimeters, which is no longer a visible deviation in a garage door.
736
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
(a)
(b)
Fig. 14. (a) Path kP;a of the coupler point P in the initial mechanism. (b) Optimized mechanism and its path kP;b .
6. Conclusion The Stephenson mechanisms remarkably extend the capabilities of the four-bar mechanisms with respect to motion generation under consideration of prescribed side conditions. Here a method is presented that allows a complete dimensional synthesis of Stephenson mechanisms without being obliged to specify kinematic dimensions a priori. Nevertheless – if advantageous – kinematic dimensions can be specified. The presented method is appropriate to track down all mechanisms for the solution of a motion-generation problem. A homotopy method based on an approach via the BKK bound is applied for the first time to six-bar mechanisms. Acknowledgements We thank G. Malajovich, P. Mitchener and F. Rouillier for valuable discussions. Moreover, we are very grateful to J. Verschelde for his helpful hints with respect to the use of the PHC package and for providing this software package for free. Finally, we thank two referees for their very precise comments, which helped considerably to improve a previous version of this paper. References [1] E.L. Allgower, K. Georg, Numerical Continuation Methods: An Introduction, in: Springer Series in Computational Mathematics, vol. 13, Springer, Berlin, 1990.
H. Schreiber et al. / Mechanism and Machine Theory 37 (2002) 717–737
737
[2] D. Cox, J. Little, D. O’Shea, An Introduction to Computational Algebraic Geometry and Commutative Algebra, Springer, Berlin and New York, 1992. [3] I.M. Gelfand, M.M. Kapranov, A.V. Zelivinsky, Discriminants and Resultants, Birkh€ auser, Boston, 1994. [4] D.N. Bernshtein, The number of roots of a system of equations, Funct. Anal. Appl. 9 (1975) 183–185. [5] D.N. Bernshtein, A.G. Kushnirenko, A.G. Khovanskii, Newton polyhedra, Uspehi Mat. Nauk 31 (1976) 201–202. [6] J. Verschelde, PHC pack: a general-purpose solver for polynomial systems by homotopy continuation, Algorithm 795 in ACM Trans. Math. Soft. 25 (2) (1999) 251–276. Available from
. [7] A.P. Morgan, Solving Polynomial Systems Using Continuation for Engineering and Scientific Problems, PrenticeHall, Englewood Cliffs, NJ, 1987. [8] C.W. Wampler, A.P. Morgan, A.J. Sommese, Complete solution of the nine-point path synthesis problem for fourbar linkages, J. Mech. Des. 114 (1992) 153–159. [9] C.W. Wampler, A.P. Morgan, A.J. Sommese, Numerical continuation methods for solving polynomial systems arising in kinematics, J. Mech. Des. 112 (1990) 59–68. [10] A.K. Dhingra, J.C. Cheng, D. Kohli, Synthesis of six-link, slider-crank and four-link mechanisms for function, path and motion generation using homotopy with m-homogenization, J. Mech. Des. 116 (1994) 1122–1131. [11] J. Nielsen, B. Roth, Formulation and solution for the direct and inverse kinematics problems for mechanisms and mechatronic systems, in: J. Angeles, E. Zakhariev (Eds.), Computational Methods in Mechanical Systems, NATO ASI Series F, vol. 161, Springer, Berlin, 1998, pp. 233–252. [12] D. Manocha, Numerical methods for solving polynomial equations, Proc. Symp. Appl. Math. 53 (1998) 41–66. [13] B. Roth, F. Freudenstein, Synthesis of path-generating mechanisms by numerical methods, ASME J. Eng. Ind. 85 (1963) 298–306. [14] J. Angeles, G. Hommel, P. Kovacs, Computational Kinematics, Solid Mechanics and its Applications, vol. 28, Kluwer Academic Publishers, Dordrecht, 1993. [15] L. Burmester, Lehrbuch der Kinematik, Verlag von Arthur Felix, Leipzig, Germany, 1888. [16] R. Braune, Ein Beitrag zur Maßsynthese ebener viergliedriger Kurbelgetriebe, Dissertation RWTH, Aachen, Germany, 1980. [17] R. Sinatra, J. Angeles, A new tool in the teaching of planar mechanism and machine theory, in: Proceedings of the Ninth World Congress on the Theory of Machines and Mechanisms, August 29–September 2, Milan, Italy, vol. 4, 1995, pp. 3181–3186. [18] H. Schreiber, Maßsynthese ebener Kurbelgetriebe durch Kreispunktsuche und Homotopieverfahren, Dissertation RWTH, Aachen, Germany, 1999. [19] L. Gonzales-Vega, F. Rouillier, M.F. Roy, G. Trujillo, Symbolic recipes for real solutions, Preprint 1998. [20] A.H. Wright, Finding all solutions to a system of polynomial equations, Math. Comput. 44 (1985) 125–133. [21] E.L. Allgower, K. Georg, Continuation and path following, Acta Numer. (1992) 1–64. [22] G. Dittrich, J. M€ uller, Laufschienenloses Garagentor. Getriebebeschreibung 603, in: G. Dittrich, J. M€ uller, G. Nitz, M. Schmeink, V. Wehn (Eds.), IGM-Getriebesammlung. Loseblattausgabe: 3. Lieferung, Stand Dezember 1995, Selbstverlag, Aachen, Germany, 1995. [23] M. Shub, S. Smale, Complexity of Bezout’s Theorem I: Geometric aspects, J. Am. Math. Soc. 6 (1993) 459–501. [24] J.P. Dedieu, M. Shub, Newton and predictor–corrector methods for over-determined systems of equations, Preprint IBM Research Division RC 21109 (94408), 1998.