~
Pergamon
Mech. Mach. Theory Vol. 32, No. 3, pp. 323-341, 1997 © 1997 Elsevier Science Ltd Printed in Great Britain. All rights reserved P I I : S0094-114X(96)00017-1 0094-114x/97 $17.00 + 0.00
A SIMPLE A N D G E N E R A L M E T H O D FOR KINEMATIC SYNTHESIS OF SPATIAL MECHANISMS J. M. JIMI~NEZ and G. A L V A R E Z University of Navarre and CELT, P. Manuel de Lardizfibal, 15, 20009 San Sebastihn, Spain J. C A R D E N A L and J. C U A D R A D O University of La Corufia, Mendiz~ibal, s/n. Esteiro, 15403 Ferrol (La Corufia), Spain (Received 11 September 1995)
Abstract--In this paper a simple and efficientmethod for optimum kinematic synthesis of multibody systems is presented. The proposed formulation is based on the use of a set of fullyCartesian coordinates. Using the coordinates,the systemis describedby a set of geometric constraints and the design requirements are introduced by a set of functional constraints. An objectivefunction is definedand minimizedto obtain the values for design parameters. Finally, some planar and three-dimensionalexamplesare presented that illustrate the application of the method. © 1997 Elsevier Science Ltd. All rights reserved.
1. INTRODUCTION The kinematics and dynamics of multibody systems is an important part of what is referred to as CAD (computer-aided design) and MCAE (mechanical computer-aided engineering). The name mu#ibody stands as a general term that encompasses a wide range of mechanical systems such as automobile steering and suspensions systems, trucks, robotic arms, industrial machinery, satellites and deployable antennas, heavy machinery and many others. In general, these are mechanical systems composed by rigid and flexible bodies linked together by kinematic joints which allow some degrees of freedom of relative motion. The use of computer-aided kinematic and dynamic simulation has emerged as a powerful tool for the analysis and design of multibody systems. The advantage of computer simulations carried out using CAD and M C A E tools is that they show the kinematic and dynamic behaviour of all types of multibody systems in great detail during all the design stages, from the first design concepts to the final prototypes. At any stage of the design process, computer-aided analysis provides an important amount of data to study the influence of the different design parameters, even before the construction of any physical device or prototype. These tools allow the designer to carry out a large number of simulations quickly and economically. The first computer programs for multibody simulation were developed and implemented in the mid 1960s and early 1970s. In general, they were particular purpose programs to solve specific problems coming from two different areas; automotive industry and aerospace applications. Examples of such programs may be found in [1-4]. Computer codes including some kinematic synthesis capabilities were also developed such as that described in [5]. Those programs evolved in the late 1970s and it may be said that they reached their maturity in the 1980s. They incorporated more general, robust and efficient kinematic and dynamic solvers and some of them became general purpose programs extensively used in many different industrial applications. A complete revision of such general purpose multibody simulation programs may be found in [6, 7]. However, all these programs are not design tools but analysis tools. The analysis programs simulate the behaviour o f a multibody system once all of its geometric and inertial characteristics have been defined. Although they are a useful help, analysts ask for more general and powerful design programs in order to decrease the final cost of the design process. Engineers are mainly interested in visualizing a whole set of successive responses of a complex mechanical system, with a simulation of its behaviour and operation over all the workspace and during a certain period of time. They want to know how changes in design parameters affect the system behaviour and 323
324
J . M . Jim6nez et al.
they need the answer in a short time. Therefore, new design tools should be developed to allow interactive design which will help the engineer to optimize his productivity and the use of his own time, which is in the end the most expensive part of the design process. In order to become real design tools, multibody simulation packages should incorporate parametric design capabilities and modules for kinematic synthesis and dynamic optimization. The use of such modules will overcome the difficulties that arise in the traditional trial-and-error approach to the design process which is slow and depends strongly on the experience of the analyst. Kinematic synthesis and optimization methods lead directly without the intervention of the analyst to a design that accomplishes all given specifications or at least is the optimum one considering some particular aspects. Those methods deal with different problems. Kinematic synthesis methods treat a purely geometric problem. They try to optimize in some sense the mechanism behaviour when some conditions are given by just modifying some geometric parameters like body lengths or angles between axles of different kinematic joints. On the other hand, optimization methods are more general procedures that optimize the system response taking into account not only geometric constraints but also dynamic factors such as reaction forces. In this case, the design variables are not only geometric magnitudes but also inertial properties like body masses. In this context, the work developed in this paper is presented. Its main objective is the development of a general method for optimum kinematic synthesis of multibody systems. The formulation presented here is very simple and leads to a computationally efficient approach. It may be used for the design of almost any particular system topology such as planar and three-dimensional mechanisms, open and closed loop kinematic chains with any number and type of joints and may be applied to most of the kinematic synthesis problems described in the bibliography. 2. AN OVERVIEW ON KINEMATIC SYNTHESIS Traditionally, the problems considered by kinematic synthesis are classified in three different categories which are closely related to the whole process of design of a new mechanical device. The first category includes all those considerations concerning the selection of the type of mechanism that more conveniently complies with the design requirements. Actually, it may be referred to as a type synthesis and it is the first step that must be clone by the analyst. Here the choice of the kind of links or constructional units as bodies, joints, cams, gears, etc. is determined. The second level or category may be called number synthesis: given a particular mechanism, this type of synthesis tries to determine the number of bodies and the most appropriate number and kind of kinematic joints which the mechanical system should include in order to obtain a given number of independent inputs. The aim of the latest step is the selection of the most appropriate values for all the geometric parameters and mechanism dimensions in order to fulfil the requirements imposed by the analyst or at least to be considered as an optimum design from certain viewpoints. This third level is usually known as the dimensional synthesis. A detailed description of these types of synthesis may be found in [8]. Among the three mentioned categories, type and number synthesis are problems which depend strongly on designer experience and are difficult to describe in an algorithmic way. In contrast, dimensional synthesis is an activity more suitable to being solved using graphic or algebraic approaches. In general, the problems treated by dimensional synthesis are grouped together into three different families: function generation synthesis, path generation synthesis and rigid body guidance synthesis. A four bar linkage is used to illustrate each one of these kinds of problems. In Fig. 1 an example of function generation synthesis is depicted. The objective of this kind of synthesis is to obtain an output angle g, as close as possible to a given function of the input angle ~0. Path generation synthesis is a problem that basically consists of designing a mechanism so that a specific point of one body draws a trajectory which passes through a set of predefined positions, or at least goes as close as possible to them (see Fig. 2). Finally, a problem of rigid body guidance synthesis is shown in Fig. 3. In this case, the design requirement is to develop a mechanism in which a specific reference frame linked to a particular body coincides with a set of given positions for some values of the input parameters.
Kinematic synthesis of spatial mechanisms
325
Fig. 1. Function generation synthesis.
Fig. 2. Path generation synthesis.
Fig. 3. Rigid body guidance synthesis.
Dimensional kinematic synthesis is a research field into which a considerable amount of work has been invested, especially in the last half of the past century and the first decades of the present one, see [8-11]. During that time, a large number of graphic and analytic methods were developed, most of them focused on the planar case especially on the four bar mechanism. Those methods present a considerable amount of originality and provide ingenious solutions to the problem. However, these methods lack generality. Graphic methods are too specific and in some cases are difficult to use. In addition, they are usually focused on the study of planar mechanisms. On the other hand, analytic methods tend to be more general but their application to the synthesis of three-dimensional systems is a hard, tedious or even impossible task. MMT 32/3--C
326
J.M. Jim6nezet al.
With the advent of digital computers, computational methods for kinematic synthesis were developed, see [12-14], and mathematical models were proposed for this purpose; for example, Wilde applied the Error Linearization theory to minimize the objective function [15] and Hansen performed the optimization process through several intermediate steps that were obtained by means of continuation methods [16]. All these authors presented partial solutions to the synthesis problem. As a more general design tool, Hansen achieved a full approach to the kinematic optimization problem with the computer program SYNMEC [17], including type, number and dimensional synthesis--which also considered territory restrictions--as well as a certain level of dynamic improvement. However, even in this case, the objective of generality was not reached: the program applicability was limited to planar mechanisms and only for revolute and prismatic joints.
3. P R O P O S E D M E T H O D
The proposed method belongs to the category of dimensional synthesis methods. Its goal is to develop a mechanical system that fulfils a set of given design requirements (or at least minimizes a defined objective function based on those requirements) by finding the adequate value for all the design parameters. The method proceeds in the following way. In the first step, the analyst must select a particular system topology. The result of this step is a complete description of the system including the number of bodies and their topological distribution as well as the kind of kinematic joints that link them together. Once the system topology has been selected and described, a set of design parameters must be chosen and the design requirements must be stated. The considered design variables are the geometric dimensions of the bodies, that is, their lengths, the angles between segments, and so on. Among the design variables some geometric characteristics of the kinematic joints are also considered, like angles between axes of different kinematic joints, etc. Together with the design parameters, a set of design requirements must be defined. These requirements constitute a set of constraints that the system should fulfil in order to be taken as an optimum solution. Usually, it is not possible to find a system that exactly fulfils all the requirements at the same time. Then, only a solution that is optimum in some particular aspects may be obtained. From the viewpoint of the mathematical formulation of the problem, the design requirements allow the definition of an objective function that depends on the set of design parameters. Once that function has been defined, an optimization procedure may be followed in order to achieve a set of values for the design parameters that minimizes the value of the objective function. These values will constitute the desired solution and the synthesized mechanism will be an optimum mechanism in some sense. In the proposed formulation, design requirements are introduced by means of a set of equations called the functional constraints. These equations have different forms depending on the particular kind of synthesis being performed. This approach allows the analyst to combine functional constraints corresponding to different types of synthesis. For example, path generation and function generation conditions may be considered at the same time. Functional constraints are expressed in terms of some magnitudes, like an output angle or the coordinates of a point fixed to a particular body, which may be known as a function of the set of coordinates used to describe the kinematic behaviour of the mechanism. These coordinates are related to the design variables by means of a set of nonlinear equations called the geometric constraints. Therefore, the geometric constraints may be seen as the set of equations that describe the kinematics of the mechanism. They relate the kinematic magnitudes of the mechanism (that is, the position and orientation of bodies and joints, output angles, etc.) with the values of the design parameters (geometric dimensions of bodies and joints). A given set of functional constraints together with the set of geometric constraints constitute a system of nonlinear equations that represent the whole set of constraints imposed to the mechanism. The key point of this formulation relies on the use of a set of fully Cartesian coordinates to derive the geometric constraints, which results in two very important advantages. First, geometric constraints are quadratic or linear equations. The second advantage is that design variables appear explicitly in the geometric constraint expressions and the use of complicated coordinate
Kinematic synthesis of spatial mechanisms
327
transformations is not needed. These characteristics lead to a very simple and straightforward definition of the objective function and allow an efficient computer implementation. All these points are illustrated in the following sections.
3.1. Geometric constraints As mentioned in the previous section, the geometric constraints model the kinematic behaviour of the mechanism. The particular expression of this set of nonlinear equations depends on the choice of the set of dependent coordinates used to describe the mechanism. The goal of such a set of dependent coordinates is to describe unequivocally the position and orientation of all the bodies of the system. There are several ways to solve this problem, and different authors have chosen one way or another depending on the peculiarities of their particular formulations. The types of coordinates more commonly used in multibody analysis may be classified into two different categories: relative coordinates and Cartesian coordinates. Relative coordinates describe the position of each body in relation to the previous one in the kinematic chain, using the relative coordinates defined in the kinematic joint that links the bodies. On the other hand, Cartesian coordinates define directly the absolute position of each body in the inertial reference frame. A detailed description of the different types of coordinates and a discussion on their advantages and disadvantages may be found in [18]. In this paper, the natural coordinates (also often referred to as fully Cartesian coordinates) are chosen as the set of dependent coordinates because of their simplicity. These coordinates were originally introduced for kinematic and dynamic analysis of planar multibody systems in [19, 20] and extended to the analysis of three-dimensional systems in [21, 22]. In the case of planar multibody systems, the set of natural coordinates is made up of Cartesian coordinates of some points located preferably at the kinematic joints. Each body must have at least two points in order to define its position and angular orientation. Frequently, contiguous bodies linked by a joint share a point, that is, the same variables thus reducing the total number of unknowns. The constraint equations between natural coordinates come from two sources: rigid body conditions and constraints corresponding to some kinematic joints. To illustrate these constraints let us consider the next example. Fig. 4 shows a four bar linkage with three hinges and a prismatic joint and modelled using natural coordinates. This mechanism has three mobile bodies which are respectively located through the points A and 1, 1 and 2 and 3 and B. Points A and B are fixed points. The system has one degree of freedom and six dependent coordinates, hence five constraint equations have to be imposed. These equations are listed below: (xA - x,) 2 + (ya - y,)2 _ d~, = 0
(1)
(x~ -- x2): + (y, -- y2)2 - ~2 = 0
(2)
(x3 - xB)2 + (y3 - yB)2 -- d~B = 0
(3)
Fig. 4. Planar four bar mechanism.
328
J.M. Jim6nez et al.
(x3-x,)(y2-y,)-(x2-x,)(y3-y,)=O (x2 -- x,)(x3 - xa) + (y2 -- y,)(y3 -
(4)
yB)-dt2d3Bcos ~t34= 0.
(5)
Constant length conditions (1)-(3) represent the rigid body constraints. In the prismatic joint, point 3 must be permanently aligned with points 1 and 2, as indicated by (4). A constant angle condition between bodies 3 and 4 is stated by (5). The consideration of additional variables may be easily done by introducing additional constraint equations. Let us consider a fourth point located in the coupler of the four bar linkage, as shown in Fig. 5. This may be, for instance, a point of interest in the kinematic synthesis problem. This point is linked to the coupler and it moves according the rigid body conditions. The constraint equations that must be added are x4 - x, + (x2 - x,) 24 d,2 y4--y,+(Y2
-
Y,)24+
(Y2 - -
yl) )74 = 0
(6)
(x: -
x,) 37.
(7)
d,---U--
=0.
In (1)-(7) two important characteristics must be pointed out. First, all these equations are quadratic equations on the unknowns which may be arranged as a vector in the form qT = {Xl, yl, X2, y2, X3, y3, X4, y4}. Second, it must be noted that the geometric parameters of the mechanism, that is, the body lengths, the angle in the prismatic joint and the local coordinates of point 4, appear explicitly in the equations. These parameters are considered as design variables and are grouped in the form b r = {dA,, d,2, d3B, ~t34,24,374}. In three-dimensional mechanisms, the natural coordinates describe the position and orientation of each body by means of the Cartesian coordinates of some points and the Cartesian components of some unit vectors. The unit vectors usually point in the direction of axes of special interest, such as the axle of a revolute joint or a prismatic joint. Each body has to include a sufficient number of points and vectors linked to it, so that the motion of the element is well defined. As in the planar case, points and unit vectors are mainly located at the kinematic joints, and therefore they are shared by contiguous elements, contributing to a moderate number of unknowns. Again, constraint equations arise from the rigid body conditions and restrictions caused by some kinematic joints. To illustrate the use of the natural coordinates in the three-dimensional case, the RSCR mechanism depicted in Fig. 6 is considered. This system has three mobile bodies linked through two hinges, a spherical joint and a cylindrical joint. The position of body 2 is defined by the points rA, rl and the vector UA; body 3 is located by means of the points r,, rE, and the vector u,; body 4 is located by means of the points r3, rB and the components of two unit vectors, u, and uB. A 4
~2 1
3
A Fig. 5. Additional variables of interest.
Kinematic synthesis of spatial mechanisms
329
u,j 1
®
®
uA
Fig. 6. RSCR spatial mechanism. total of 12 variables has been considered (points r a and rB and unit vectors UA and uB are fixed) so that 11 constraint equations should be formulated. These constraints are (rA -
rt)T(rA
u~(rA
-
r,) - d2~ = 0
(8)
0
(9)
- d~2 = 0
(lO)
UlT(rl -- r2) -- dl2 cos a2 = 0
(11)
(r~
r,)
--
-
- r2)T(r, --
u~u~ -
MAI C O S ~1 =
r2)
1 -
(r2 -- r3) ×
0
Ul ~-
(12)
0
(13)
(r3 - rB)T(r3 -- rB) -- d2B = 0
(14)
uT(r3 -- rB) -- d3B cos a3 = 0
(15)
u~(r3 - rB) - d3B cos ~4 = 0
(16)
u~uB-cos ~5=0.
(17)
Rigid body conditions for body 2 are given by (8) and (9). Condition (8) imposes a constant length constraint between points rA and r~ while (9) represents a constant angle condition between the vectors (rA - r~) and uA. Similar constraints are considered for rigid body conditions of bodies 3 [(10)--(12)] and 4 [(14)-(17)]. The vectorial expression (13) leads to two independent scalar equations. It comes from the alignment condition between points r2 and r3 and the unit vector Ul imposed by the cylindrical joint. The equations derived from the spatial mechanism considered in the last example show the same characteristics that have been pointed out for the equations obtained in the planar case. They are also quadratic equations on the vector o f unknowns and the design variables appear explicitly. These conclusions m a y be generalized to any given planar or spatial system with any topological structure when the kinematic model is done using natural coordinates. Although they have not been included in the examples above, relative coordinates defined in the
330
J.M. Jimrnezet al.
kinematic joints may be easily expressed as a function of the natural coordinates and therefore included in the vector of dependent coordinates q. For further information on the use of natural coordinates, the reader is addressed to the original references [18]. The geometric constraint equations described above model the kinematic behaviour of a given multibody system. This system of equations may be expressed in a compact form as follows: • (q, b) = 0
(18)
where • represents a vector that groups the geometric constraints. Once all the geometric variables b have been defined, the kinematic analysis of the mechanism may be carried out by solving (18) for different values of the degrees of freedom. For the kinematic synthesis problems, more equations must be added to the system (18) in order to determine the vector of design variables b. Those additional equations are the functional constraints. 3.2. Functional constraints
The goal of the functional constraints is to impose a set of design requirements that must be fulfilled by the multibody system. This set of constraints may be derived from many different sources depending on the particular type of kinematic synthesis being considered. In the formulation proposed in this paper, functional constraints impose some conditions to one or more of the dependent coordinates q used to describe the mechanism. This is a simple approach that allows the designer to study the typical problems considered in dimensional synthesis of mechanisms or to define more complicated design requirements through special relationships between the dependent variables. To carry out a function generation synthesis, the input angle ~o and the output angle q; have to be included among the dependent coordinates. Then a functional constraint that relates both angles is defined in the form ff~-f(q~') = 0
i = 1. . . . . N.
(19)
The superindex i in (19) stands the number of different design points (or precision points) specified by the analyst. Path generation and rigid body guidance may be considered in the same way. In the case of path generation synthesis, a functional constraint that gives the coordinates of a particular point linked to a body in the mechanism is defined. This constraint leads to two scalar equations in the planar case and to three equations in the spatial case. Considering again the planar mechanism shown in Fig. 5, a path generation synthesis may be performed if the coordinates of point 4 are given as follows: x~
- - X p
i =0,
y~-y~=0,
i = 1,
N
(20)
i = 1. . . . . N
(21)
,
,
,
,
where Xp and y~ are the design values of the coordinates of point 4. Rigid body guidance synthesis may be also performed introducing functional constraints similar to those used in path generation synthesis. Those constraints will define the coordinates of a point considered as the origin of a particular reference frame attached to the body, and some components of the unit vectors that represent the axes of that reference frame. In the most general case, functional constraints are expressed as a set of functional relationships involving the vector of dependent coordinates q. These equations may be written in the following form: F(q i ) = 0 ,
i = 1. . . . . N
(22)
where q' is the vector of dependent coordinates particularized for each design or precision point. At the same time, this vector must accomplish the geometric constraints given by (18). Therefore, for each precision point the mechanism must fulfil a set of equations that comprise the
Kinematic synthesis of spatial mechanisms
331
geometric constraints (18) and the functional constraints (22). This system of equations may be written as,
O'(ff, b)=[
~~i(qi, b)'~ F(q') J=O'
(23)
It may be noticed that there is no restriction in the number of equations included in the vector of functional constraints F. There is no relationship between this number and the number of design variables or the number of degrees of freedom that the mechanism has. It depends only on the type and number of design requirements imposed by the analyst. Moreover, different types of functional constraints (path generation, rigid body guidance, etc.) may be combined in the same problem. The constraints that the mechanism must satisfy for a given precision point are given by (23). Therefore, the total number of constraints involved in the problem of synthesis will be equal to N times the dimension of vector O i, where N is the number of precision points. On the other hand, the number of unknowns will be N times the number of dependent coordinates (a different ff vector is taken for each design point) plus the dimension of the vector b, which is common to all the precision points. In general, the number of constraints will be greater than the number of unknowns to an overdetermined system of nonlinear equations. This system will not have a solution that fulfils all the constraints and a procedure to achieve the "best" solution in some sense must be followed.
3.3. Objective function This section is devoted to the development of a procedure to find an optimum value for the vector of design variables b. The starting point is to consider the whole set of constraints that governs the problem of synthesis which is given by (23) particularized for each design point O~(q' , b ) = [
~q¥(q/, b)~
F(q9 J = 0 '
i = l . . . . . N.
(24)
The optimum mechanism should accomplish exactly all the design requirements or in other words should fulfil the set of geometric and functional constraints for all the design points. If this objective is not possible, the "best" possible solution will be a multibody system whose geometric dimensions guarantee that the error in getting the design points is minimum in some sense. Since an exact solution for the design problem may not exist, the optimum solution in the least squares sense is sought. To achieve this goal an objective function may be defined in the form N
V ( q l , , , , , qN b) = ½~ oiT(q i, b)Oi(ff, b)
(25)
i~l
or in a more compact form,
'~'(~n, b) = ½~(~, b)TO(~, b)
(26)
~]r. = {q,T.... , q~r}
(27)
Or = {O'(q', b)T. . . . . OU(qu, b)T}.
(28)
where
Now, the kinematic synthesis has been reduced to the problem of minimizing the objective function given by (26) with respect to the vectors of unknowns ~1and b, which mathematically is expressed as, rain ~(4, b) = ½0(~!, b)T~0], b).
(29)
332
J, M. Jimrnez et al.
Differentiating with respect to the vectors of unknowns and equating to zero, a system of nonlinear equations is obtained and may be written as J(4, b)TO(4, b) = 0
(30)
where J(q, b) is the Jacobian matrix whose expression is,
J(4, b) = Il_-°°(4' b) 0o(4, b)-]_]' ~-~ •b
(31)
The system of nonlinear equations given by (30) may be solved using a quasi-Newton iterative procedure. Expanding the vector of constraints O(4, b) in Taylor's series and substituting in (30) the following equation is obtained: faa)
(32)
From (32) an iterative expression may be derived, (33)
The iterative procedure stated by (33) must be followed until the difference between two successive iterations is smaller than a given tolerance. The vector of design parameters obtained in this procedure constitutes an optimum solution to the kinematic problem since it minimizes the value of the defined objective function. Similarly, a weighted least squares strategy may be followed to obtain the desired optimum solution. In this case, a set of weighting coefficients must be fixed in order to define the relative importance of each functional or geometric constraint for each precision point.
3.4. Implementation aspects This section summarizes some implementation aspects of the proposed method. Some of them have been considered when solving the numerical examples shown in Section 4, while others are possible enhancements that should improve the numerical performance of the method. During the iterative process described by (33) the solution vector may be far from the desired optimum solution. In that case the increment obtained when solving (32) may lead to a point in which the objective function increases. To avoid this undesired effect, the computed increment should be reduced. One possible strategy is simply to take a user defined fraction of the increment. This technique has been successfully applied in almost all the examples included in the next section: the module of the increment vector has been limited to 10% of the module of the initial solution vector. Another possibility may be to consider a set of equally spaced points within the computed increment and to evaluate the objective function in each of them. Then, the selected increment would be that corresponding to the point with minimum value of the objective function (see Fig. 7). The second aspect concerns the selection of the starting point for the iterative process. Once stated the initial values of the design variables b, a kinematic simulation may be performed in order to obtain a suitable initial value for the natural coordinates 4. In this kinematic simulation, the analyst plays an important role because he should select those configurations that better approximate the functional constraints. Due to the inherent difficulties that the iterative process exhibits, it may be convenient to consider the functional constraints gradually. For example, the path generation problem shown in Fig. 8 might be performed in several steps. The first objective may consist of obtaining a solution that goes through points 1 and 2; afterwards, starting from the mechanism previously synthesized a new objective function is defined considering points 1, 2 and 3. This process is followed until all the precision points are satisfied. To improve the initial guess for each step, kinematic simulation may
Kinematic
synthesis of spatial mechanisms
333
o I
I
I
J
I
y
q,b
F i g . 7. S e l e c t i o n o f i n c r e m e n t .
141- . . . . . . . : . . . . . . . . , . . . . . . . . .. . . . . . . . .. . . . . . . .
! ....... i ...... t7 +
I
6[ .......
!.
.
.
.
.
.
.
.
.
! .......
4[ ....... i ....
:
:
:
:
2
! ......
! ........
i ........
i........
! ....
0
2
4
6
8
°2
.......
~
i
:
i
1~
2
4
6
8
'i ....... ~ ! .......
10
~
2
1
0
four bar linkages
in path
(b) and
i -.+. +
E
(a) F i g . 8. " I n i t i a l "
: ....... !........ :
i ~ i ! i ::........ i...p3..i ....... i ....... i .... + +°oP 4 + +
"synthesized"
generation
10
12
' synthesis.
be used as described in the previous paragraph. An alternative to this step by step procedure may be the use of the continuation methods, see [16]. 4. NUMERICAL EXAMPLES To show the application of the proposed method as well as its generality, several examples have been solved, considering both planar and three-dimensional linkages. 4.1. E x a m p l e 1: Path generation f o r a f o u r bar mechanism
Let us consider a four bar mechanism like those shown in Fig. 8(a) and (b). In this example we look for a mechanism that goes through the five precision points P1 to P5, depicted in Fig. 8b. Fixed points A and B are not considered as design parameters and their coordinates are given. Table 1 shows the coordinates for precision and fixed points. In this example, we consider six constraints for each precision point or configuration of the mechanism: five constant distance conditions and one constant cross product condition for triangle I, 2, 3. The latter restriction is expressed as (x2 - x,)(y3 - y , ) - (y2 - y,)(x3 - x,) - W = 0.
(34)
Therefore, the total number of equations is 30. It may be seen that there are no functional constraints in this case, because point 3 is assumed to be at the correct position for each precision point. There are four natural coordinates for each precision point: (x~, y~, x2, y2), and six design
334
J.M. Jimrnez et al. Table 1. Precision and fixed points coordinates Point x y PI 4.00 8.00 P2 4.50 10.00 P3 5.00 11.50 P4 5.50 11.00 P5 6.00 10.00 A 0.00 0.00 B 10.00 0.00
1 2 3 4 5
Table 2. Initial and "optimum" values for natural coordinates Initial values Final values Xl y~ x2 y2 X] y~ X2 3.00 10.00 8.00 12.00 6.86 6.17 7.67 3.00 10.00 8.00 12.00 6.04 6.97 7.94 3.00 10.00 8.00 12.00 4.25 8.19 6.75 3.00 10.00 8.00 12.00 2.97 8.73 5.03 3.00 10.00 8.00 12.00 2.83 8.78 4.25
y2 8.53 8.60 8.23 7.32 6.72
Table 3. Initial and "optimum" values for the design variables Initial values Final values Ll^ 10.44 9.23 L,2 5.39 2.50 LzB 12.17 8.84 Lt3 2.24 3.40 L23 5.66 3.71 W - 12.00 8.23
variables (L~A, L~2, L2B, LL3, L2s, W). This leads to a total of 26 unknowns. Although the number of constraints is greater than the number of variables, the problem is determined and has a unique solution, since there is a redundant constraint for each configuration and also a redundant design variable. In Table 2, each row shows the data corresponding to a particular configuration or precision point. As m a y be seen, the starting point is very bad, since the values of the natural coordinates are the five precision points. Design variable starting values (first column of Table 3) correspond to the initial natural coordinate values of the first precision point. Tables 2 and 3 show the " o p t i m u m " values computed for both natural coordinates and design variables. The initial value of the objection function (sum of squares of the constraint violations) is 2785.70 and, after 14 iterations, it changes to 10 -11. The last row in Table 3 gives the initial guess and final value of the constant corresponding to the cross product equation (34). The sign of this constant indicates the orientation of point 3 in relation to the segment defined by points 1 and 2. Initially, point 3 is "under" the segment 1, 2 but its orientation changes in the synthesized mechanism and, finally, this point lies "over" that segment (see Fig. 8(a) and 8(b)). Fig. 9 shows paths described by point 3 for the initial mechanism and those obtained after 5, 10 and 14 iterations (the final solution). Notice that in this figure the great difference between the path described by point 3 of the initial mechanism and the path described by the same point in the final solution. 4.2. Example 2: Function generation for a windshield cleaner In this example, kinematic design of a Lancia Delta windshield cleaner is attempted. Fig. 10 shows the mechanism of such a device. Measures taken on a real car indicated that the cleaner at point B must describe an angle of 100 ° and the cleaner at point C must describe an angle of 80 °. The objective is to obtain another mechanism which produces the same angles for the cleaners but
Kinematic synthesis of spatial mechanisms
1-"
.......
H
335
-
10846
1
~
10 •
!
-2 . . . . -8
, -6
: A -4
i -2
i
i 2
I 4
, 6
' 8
0~ 1
1'2
Fig. 9. Path evolution of point three along the iteration process.
~~,
windscree~
36
,]e
58.8
Fig. 10. Schematic representation of a windshield cleaner of a car.
or1(2)
A 10) 20) 2(0 Fig. 11. Precision points for the first four bar linkage.
using some different design requirements (this will be explained later). Certain real mechanism dimensions are also useful to determine suitable starting points. The synthesis process is carried out in two steps. First, the four bar linkage on the left is synthesized. The crank has to be capable of turning completely around point A. Meanwhile, the bar fixed at point B must describe an angle of 100 °, 50 ° at each side of the car central axis. A time ratio of one is also required. Fig. 11 shows the two precision points imposed. As there are infinite solutions that meet these requirements [all that fulfil the relationship LIA-=-L2B* sin (50°)], an additional condition is introduced: fixed point A and point 2 in both configurations have to be aligned. This restriction could be expressed by means of the cross product constraint (r2(1) - rA) × (r2(2) - ra) = 0
(35)
which involves the natural coordinates of point 2 at two different configurations. This fact demonstrates the generality of the method, that allows one to consider whatever design condition or functional constraint the analyst desires. Points A and B are fixed and their coordinates are (0.00, 0.00) and (36.00, 3.00), respectively. In addition to (35), three constant distance constraints and two restrictions involving input and
J. M. Jiminez et al.
336
30) Fig. 12. Precision points for the second four bar linkage.
output angles are considered for each precision point. These angle conditions are introduced in sin and cos form. For example, (xz - XB)- LZBcos Y = 0
(36)
is satisfied when x = xB and LzB = 0, which means that the bar disappears. To avoid this problem we rewrite this condition in the form (XI -
XB)/I&
-
COS y
=
0.
(37)
In all, there are seven constraint equations for each precision point, plus the alignment condition described in (35). The total number of constraints is 15. Concerning the variables, there are four natural coordinates for each precision point and three design variables. This leads to a set of 11 variables. Table 4 shows the initial values for the natural coordinates as well as the results of the optimization for each precision point. Values for the design variables are given in Table 5. The initial value of the objective function is 41666.0 and after only four iterations takes the value lo-“. Despite the different number of constraints and variables the problem is determined, since there are four redundant constraints due to the sine and cosine variants for each angle condition. Once the first linkage has been solved, the second one is attempted. Again a four bar mechanism for which the input-the bar attached to point B-is known and the output-the bar fixed at point C-has to describe an angle of 80”, distributed in 20” to the right and 60” to the left (see Fig. 12). As for the first part, only two precision points are considered. It must be noticed that in this case the length of the bar fixed at B is known (LzB = 4.67), because point 2 is desired to be shared by both mechanisms. Coordinates for the fixed points B and C are (36.00, 3.00) and (94.80, 3.00), respectively. Table 4. Initial and “optimum” values for natural coordinates #
x1
1 2
3.00 - 3.00
Yl 0.00 0.00
Initial values x2 Y2 41.00 0.00 31.00 0.00
XI 3.58 - 3.58
Yl 0.00 0.00
Final values X2 Y2 39.56 0.00 32.42 0.00
Table 5. Initial and “optimum” values for the design variables LA LIZ L2B
Initial values
Final values
3.00 36.00 5.00
3.58 36.00 4.67
Table 6. Initial and “optimum” values for design variables
L23 LC
Initial values
Final values
58.00 5.50
57.29 5.87
Kinematic synthesisof spatial mechanisms
337
) Fig. 13. Five link suspension. In this case, the numbers of constraints and dependent variables are slightly lower than those corresponding to the previous one, because the length of bar attached at point B is known. There are 14 constraints with only 10 independent, and a total of 10 variables. Thus the system is determined and a unique solution may be obtained (see Table 6). The whole example is quite simple and may be solved by hand without any difficulty. This allows to verify easily the computed results. 4.3. Example 3: Five link rear suspension
In the last example, we consider a spatial mechanism which is a five link rear suspension system of a car. Data for this problem come from a kinematic benchmark proposed by IAVSD, see [7]. A scheme of this mechanism is depicted in Fig. 13. Parameters that describe the behaviour of such a suspension are the camber angle and the lateral displacement of the wheel centre. A good suspension system requires small variations in both parameters. Great camber angles may cause an unstable response of the vehicle due to gyroscopic forces. On the other hand, great values of lateral displacement increase tyre wear. Taking as a starting point the data mentioned above, we carried out a kinematic simulation in order to measure how good the suspension was. In this simulation, we controlled the vertical displacement of the wheel 10 cm up and down from the equilibrium position. The observed behaviour is presented in Fig. 14. From these results, the aim is to synthesize another suspension with an improved behaviour, this is, with small variations of the camber angle and the lateral displacement. Three precision points are considered: bottom, equilibrium and top position. In the three positions, the desired value for the camber angle is zero while the lateral displacement must be 10 mm in the top and bottom positions taking as reference the equilibrium position. This example may be considered as a typical problem of rigid body guidance synthesis. Figure 15 shows the set of natural coordinates considered in the suspension system. The segment defined by points 11 and 12 is the wheel rotation axis. Restrictions come from the rigid body
11
14 mm top position
12
~ o0.698'
12
ll
-t--
10 cm equilibrium position 10 cm bottom position
11
21 mm Fig. 14. Initial behaviour.
338
J. M. Jimrnez et al.
11
Fig. 15. Kinematic model of the suspension.
conditions for each link of the mechanism and for each precision point. Five constant distance conditions corresponding to the rods are defined between points 1 and 6, 2 and 7, 3 and 8, 4 and 9, 5 and 10. Three different types of restrictions are considered for the spindle. A reference frame attached to the spindle is defined by two distance conditions between points 11 and 6, and 11 and 9 and three dot products between segments 11, 6 and 11, 12, 11, 6 and 11, 9, and 11, 9 and 11, 12. A constant distance condition between points 11 and 12 is not included because their positions are imposed and so they are known for each precision point. Three additional linear combination conditions are introduced in order to fix points 7, 8 and 10 to the frame defined on the spindle. Considering the three precision points, a total number of 57 constraint conditions are formulated. Design variables are the lengths of the rods, the constants that define the spindle reference frame and the coefficients of the three linear combination conditions. Coordinates of points 6, 7, 8, 9 and 10 for each precision point complete the vector of unknowns. The total number of variables is 64. Table 7 shows coordinates for points fixed to the chassis. Table 8 shows initial values for the coordinates of points 6 to 10. These values are presented in three groups, each one corresponding to a different configuration or precision point of the mechanism. The coordinates of design points 11 and 12 at the three precision positions are shown in the last two columns of Table 8. Tables 9 and 10 present the initial and "optimum" values for all design parameters, that is, for lengths, constants of the dot products and coefficients of the linear combination constraints. Initially, the objective function takes the value 1.8064. This small value is expected because the Table 7. Fixed point coordinates Point PI P2 P3 P4 P5
x
y
z
-0.0640 -0.3030 -0.0930 -0.2360 0.2115
0.4130 0.4320 0.3660 0.3880 0.3845
0.3270 0.2950 -0.0040 -0.1090 -0.1000
Table 8. Initial natural coordinates values and coordinates for design points Point 6
Point 7
Point 8
Point 9
Point 10
Point 11
Point 12
y z
0.0396 0.3285 0.1213
- 0.0854 0.3470 0.1417
- O.1891 0.6435 0.0501
- 0.0024 0.7334 -0.1507
0.0034 0.7346 --0.1568
0.0000 0.7580 --0.1000
0.0000 0.6760 --0.1000
2 x y z
-- 0.0640 0.6360 0.3450
-- O. 1170 0.6360 0.3380
-- O. 1880 0.6470 - 0.0230
-- 0.0050 0.7370 - 0.1300
0.0025 0.7370 - 0.1340
0.0000 0.7680 0.0000
0.0000 0.6860 0.0000
3 x y z
--0.0710 0.2441 0.1805
--0.1239 0.2515 0.1792
--0.1912 0.6105 0.1336
-0.0061 0.7069 0.0361
0.0014 0.7109 0.0358
0.0000 0.7580 0.1000
0.0000 0.6760 0.1000
1
x
-
Kinematic synthesis of spatial mechanisms
339
Table 9. Initial and final values for lengths and dot product constants Initial values Li,6
0.2237 0.2794 0.2972 0.4191 0.4112 0.3749 0.1337 0.0105 -0.0404 0.0027
L2,7 L3,8 L4,9 Ls,~0 t6,, tg,ii ~H,6),~H.~2)
dll,6L(]l,9} ~11,9},(11,121
Final values 0.28339 0.32829 0.45076 0.52310 0.60737 0.48623 0.15183 0.01919 -0.06914 0.00240
Table 10. Initial and final values for linear combination coefficients Initial values 1 2 3
1.8764 6.6349 0.7663
- 1.8065 -4.9269 0.2476
Final values
1.6815 2.4192 --0.0989
1.0690 6.7331 2.3124
- 3.5072 - 5.6755 - 3.3180
1.4234 2.7981 0.6518
initial values considered for the coordinates are obtained by means of a kinematic simulation of the original mechanism. For this reason, the initial approximation is quite good. After 33 iterations, the objective function is 10 -4, which is a good result. It must be pointed out that during the iterative procedure, the objective function exhibits in some points an oscillatory behaviour. A value near l0 -4 is reached after 13 iterations. Subsequent iterations give similar values for the objective function but completely different solutions. This means that the objective function has a "flat" shape in the neighbourhood of the computed solution. If a kinematic analysis of the proposed solution is carried out, the behaviour depicted in Fig. 16 is observed. Conditions in the lateral displacement are perfectly satisfied while variations in camber angle are greatly decreased. Figures 17 and 18 show numerically the differences between the original and the synthesized suspensions: dotted lines correspond to the original suspension while plain lines show the response of the proposed solution. As it may be seen, an improvement in the suspension behaviour is achieved according with the design conditions. However, as we have mentioned, there are many solutions which differ largely and give almost the same value for the objective function. A graphic simulation of the selected solution shows that it could not be actually constructed, because bars collide during the motion and the mechanism does not ever look like the starting one. To obtain suitable solutions in the three-dimensional case, a possible strategy is the consideration of inequality constraints: the analyst may limit the values for the design variables thus avoiding unfeasible solutions. 10mm
12 10 6°
-..[--top position
12,~~Oll
] 10cm T-equilibrium position
12 ~ ~ 0 . ~ . 3 . 1 1
I 10cm bottom position
H lOmm Fig. 16. Behaviour of the proposed solution.
J . M . Jim6nez et al.
340 0.005
-0.005
--
iiii! i
-0.020 -0.10
-0.05 0.00 0.05 Vertical Displacement (z)
0.10
Fig. 17. Relative lateral displacement.
2.0 1.0 ,--..
0.0
....................
~.~.~-.-.~. .........................................
-1.0 -2.0 -3.0
..................:................... !...................... ~.,............. ..................
.~ ..................
i ...................
." ............
!
:-,---
I
-4.0 -0.10
i
I
i
I
l
i
t
i
i
i
i
i
,
i
-0.05 0.00 0.05 Vertical Displacement (z)
,
i
0. l0
Fig. 18. Camber angle.
5. C O N C L U S I O N S
In this paper we introduce a general method for the computer-aided optimum kinematic synthesis of planar and spatial linkages with any kinematic configuration. This method is based on the use of natural coordinates to describe the mechanism, which leads to a very simple and efficient formulation. Two types of constraints are distinguished, namely geometric and functional constraints. Functional constraints are closely related to the kind of synthesis problem the analyst wishes to solve. Conditions for the classical kinematic synthesis problems (i.e. path generation, function generation and rigid body guidance) are easily stated. Furthermore, mixed synthesis problems may be solved combining different types of functional constraints. A second advantage of the proposed formulation is that the design variables appear explicitly in the expression of the constraint equations avoiding the need for complicated and expensive computations to evaluate the derivatives of the objective function. Minimization of the objective function is carried out using a quasi-Newton iterative procedure which has proved to be an adequate approach. However, more general minimization schemes may be used, in particular, methods that are able to deal with inequality constraints. This kind of constraint is useful to state a valid range for design variables. Suitability and robustness of the proposed method have been demonstrated by solving several practical examples. In some cases, a suitable solution is reached even if the considered starting point differs greatly from the final solution. REFERENCES 1. 2. 3. 4. 5.
Cooper, D. W., Bitonti, F. Frayne, D. N. and Hansen, H. H., Soc. Automot. Eng. Paper N. SP-272, 1965. Chace, M. A. and Smith, D. A. SAE Paper 710244 1971. Paul, B. Mechan. Mach. Theory, 1975 10, 481. Frisch, H. P., Supplementary Documentation, NASA Technical Memorandum 80546, IV 1979. Kaufman, R. E. Mach. Des., 1978 50, 94.
Kinematic synthesis of spatial mechanisms
341
6. Schiehlen, W. O.. Multibody Systems Handbook. Springer-Verlag, Berlin 1990. 7. Kortiim, W. and Sharp, R. S. (eds.), Multibody Computer Codes in Vehicle System Dynamics, Swets & Zeitlinger B. V., Amsterdam 1993. 8. Hartenberg, R. S. and Denavit, J,, Kinematic Synthesis of Linkages. McGraw-Hill, New York 1964. 9. Suh, C. and Radcliffe, C. W., Kinematics and Mechanism Design. Wiley 1978. 10. Angeles, J., Spatial Kinematic Chains. Springer-Verlag 1982. 11. Erdman, A. and Sandor, G. Mechanism Design: Analysis and Synthesis Prentice-Hall 1984. 12. Haug, E. J. and Sohoni, V. N. Computer Aided Analysis and Optimization of Mechanical System Dynamics. NATO ASI Series 1984. 13. Avil6s, R., Ajuria, M. B. and Garcia de Jal6n, J. Mechan. Mach. Theory, 1985, 20, 321. 14. Hansen, M. R., Structural Optimization 1993. 15. Wilde, D. J., ASME J. Mech. Des., 1982, 104, 881. 16. Hansen, J. M., Computer Aided Analysis of Rigid and Flexible Mechanical Systems. NATO ASI Series 441 1993. 17. Hansen, M. R., Computer Aided Analysis of Rigid and Flexible Mechanical Systems. NATO ASI Series 423 1993. 18. Garcia de Jal6n, J. and Bayo, E., Kinematic and Dynamic Simulation of Multibody Systems. The Real Time Challenge. Springer-Verlag, New York 1994. 19. Garcia de Jal6n, J., Serna, M. A. and Avil6s, R., Mechan. Mach. Theory, 1981 16, 543. 20. Serna, M. A., Avil6s, M. and Garcia de Jal6n, J., Mechan. Mach. Theory, 1982 17, 397. 21. Garcia de Jal6n, J., Unda, J. and Avello, A. Comput. Methods Appl. Mech. Engng, 1986 56, 309. 22. Garcia de Jal6n, J., Unda, J., Avello, A. and Jim~nez, J. M. ASME J. Mech. Trans. Automat. Des., 1987 109, 460. UNE METHODE SIMPLE SYNTHESE CINEMATIQUE
ET GI~NI~RALE POUR LA DE MECANISMS SPATIAUX
Resum6---Dans cet article, une nouvelle m&hode pour la synth~se cin6matique des m6canismes en trois dimensions est pr6sent6e. La formulation propos6e emploie un syst~me de coordonn6es Cart6siennes pour d6crire le syst+me m6canique. Le m6canisme est mod61is6 par un syst+me d'6quations alg6briques, appel6es restrictions gbombtriques. Les conditions du dessin sont exprim6es en utilisant un syst~me de restrictions fonctionnelles. On d6finit une fonction objective, laquelle doit 6tre minimis6e pour obtenir les valeurs des param&res de dessin. Finalement, quelques exemples sont inclus pour montrer l'applicabilit6 de la m6thode propos6e.