Inference of link positions for planar closed-loop mechanisms

Inference of link positions for planar closed-loop mechanisms

Research Inference of link positions for planar closed-loop mechanisms J H Oliver and M J Harangozo* A system is presented for the automated assembly...

1MB Sizes 1 Downloads 42 Views

Research Inference of link positions for planar closed-loop mechanisms J H Oliver and M J Harangozo*

A system is presented for the automated assembly of planar closed-loop mechanisms. The system is a combination of an inference-of-position technique and a kinematic orientation analysis method. Given a set of mechanism components in unassembled position and orientation, the system automatically calculates the assembly transformation matrices for each component such that a feasible configuration of the mechanism is obtained. The system requires relatively simple input data: the position of the joint location and the mating relationships of associated 9eometric features. The system facilitates the design and analysis of mechanisms by relieving the user of the manual specification of the assembly configuration. Several examples are presented that demonstrate the capabilities of the automated assembly system. automated assembly, inference of position, mechanism analysis

In many lst-generation CAD systems, representations of assemblies could be generated with a semimanual procedure. Typically, the user first generated a geometric model of each component. For a set of components to be assembled, the location and orientation of each component in the assembly must be determined and entered, in a hierarchical manner. Once generated, the geometric or kinematic performance of the assembly can then be evaluated. However, if any of the components require modification (as a result of various design analyses, for example), a large portion of the assembly model may have to be regenerated. The process of

College of Engineering, Department of Mechanical Engineering,Iowa State University of Science and Technology, 2025 H M Black Engineering Building. Ames, Iowa 50011-2160, USA *Automated Systems Department, General Electric Aerospace, PO Box 588, Burlington, MA 01803, USA Paper received: 26 May 1990. Revised: 12 April 1991

18

determining and entering the location and orientation of each component in such systems is often tedious, and prone to error. Although several contemporary modeling systems now address this need with some form of automated assembly generation, the details of these techniques are rarely published in the open literature. This paper presents a method for the automatic generation of a global transformation matrix for each link of a planar closed-loop mechanism that relates its arbitrary initial position and orientation to a feasible assembled configuration of the mechanism. Previous research in assembly automation can be broadly characterized into three classes: semantic processing, sequence generation, and inference of position. The semantic approach involves the lexical analysis of user-generated assembly programs. In such systems, a source program is either interpreted 1 or compiled: in conjunction with a representation of the assembly environment, which includes geometric models of components 3 and their spatial and logical relationships, to produce a manipulator-level program. More recent work has focused on the automatic generation of assembly sequences. One approach is to generate a data structure of all the possible assembly sequences by either specifying and ordering the precedence constraints for individual part-mating relationships 4, or by recording the results of an exhaustive set of trials of all the possible ways of removing component parts from an assembly and its subassemblies 5. The goal, all possible sequences having been identified, is then to search the data structure for some optimal solution (sequence). An alternative approach is to generate an assembly sequence directly from component geometry. Woo 6 generates a disassembly tree by considering the monotonicity of mating face normals. Traversal of the disassembly tree in pre- or postorder yields a minimal assembly sequence. Ko and Lee 7 present an algorithm for the generation of a hierarchical assembly tree by the automatic grouping of components on the basis of their physical contacts

0010-4485/92/010018-09 © 1992 Butterworth-Heinemann Ltd

computer-aided design

Inference of link positions for planar closed-loop mechanisms

(mating conditions), and on whether relative motion between components is possible. Part of the assembly sequence is inferred directly from the assembly tree, by consideration of the parent-child relationships. The rest of the sequence must be determined by an exhaustive series of geometric interference checks among siblings in the tree. Inference of position involves the generation of assembly transformation matrices from the spatial relationships (mating features) imposed on each part in the assembly. In the original work by Ambler and Popplestone a, constraint equations are formulated algebraically, and solved via symbolic manipulation. Lee and Andrews 9 present an algorithmic approach to the same problem that formulates an overdetermined system of nonlinear equations that is solved numerically. This technique was later improved ~o by the redefinition of the transformation matrices in terms of fewer variables, and by the use of a least-squares technique to solve the constraint equations. Kim and Lee t ~ have extended this general technique to facilitate the assembly of complex assemblies. By structuring the components of an assembly into subgroups that may be assembled without affecting the relative positions of components in other subgroups, this technique reduces the number of equations that must be solved simultaneously. This assembly system has also been considered for a closed-loop mechanism. For such mechanisms, the links are assembled one joint at a time. Once a joint has been assembled, the system prompts the user to provide the relative position of the pair of links connected by that joint. Therefore, the assembly of closed-loop mechanisms using this system is an interactive assembly process that relies on the user to orient visually the links in the mechanism. Another technique for integrated mechanism design and kinematic simulation has been presented by Tilove ~2. A general method is described for representing and manipulating open-loop, lower-pair mechanisms in a contemporary solid-geometricmodeling system. The system does not generate an assembly, but rather represents an assembly by assigning a local coordinate system to each individual component in the assembly. The method uses a kinematic analysis to determine the motions that are possible. For closed-loop mechanisms, the author suggests that a technique for the kinematic analysis of such mechanisms could be similarly integrated with the geometric-modeling system. The assembly of mechanisms requires consideration of the relative orientation of each link. Sandor and Erdman ~3 present a general method for position analysis (i.e. the finding of the relative link orientations) of spatial mechanisms. This method models the links and joints of the mechanism by using suitable elementary transformation matrices. These matrices describe the relationship between local coordinate systems located at the joints of each link. The product of these matrices in the order of loop traversal produces the identity matrix. These matrices are made up of constants and variables, where the constants represent dimensional values, such as the link lengths, and the variables represent variable values, such as an angle between two links. The volume 24 number 1 january 1992

position-analysis method solves for a set of feasible variable values. This paper presents a technique for the automatic assembly (i.e. for the inference of link position and orientation) of planar closed-loop mechanisms. This technique combines the inference-of-position approach of Lee et a/. 7'9'I1 with a spatial position (orientation) analysis such as that of Sandor and Erdman ~3. This combined approach provides a general mechanismassembly procedure that exploits the advantage of each technique, while simultaneously ameliorating their deficiencies. The primary strength of the traditional inference-of-position approach is its ability to calculate the absolute assembled position of components given relatively simple input data based on unassembled component geometry. However, when it is applied to assemblies in which the components are subject to relative motion (i.e. mechanisms), the method relies on the visual or analytical interpretation of the user to specify relative component orientation at each assembly step. On the other hand, the strength of the kinematic positionanalysis technique is its ability to determine the relative orientation of the links of a mechanism. This approach, however, does not provide absolute assembly transformations. The mechanism-assembly technique presented in this paper uses the results of a spatial position analysis as an additional constraint for an inference-of-position calculation so that the assembly transformation matrices for a feasible configuration of a closed-loop mechanism may be efficiently calculated. Like the inference-ofposition approach, this technique requires relatively simple input data; the positions of joint locations must be specified (on components in unassembled position) as well as the mating relationships of associated geometric features. However, as with the kinematic positionanalysis method, no further intermediate user input is required; the global transformation matrices for the closed-loop mechanism are calculated automatically. Although the technique is formulated in this paper for planar (2D) mechanisms, it is completely general, and could easily be extended to accommodate general spatial (3D) mechanisms.

ORIENTATION ANALYSIS The general technique of modeling mechanism behavior via a sequence of 4 x 4 homogeneous transformation matrices 14 is widely accepted in the kinematics and robotics literature. The obvious utility and popularity of this technique is probably due to the fact that it is simple to formulate and implement, and it results in a very robust and efficient algorithm. In the following section of the paper, this technique is summarized to illustrate its application to the automated-assembly problem. A complete contemporary description of the technique is presented by Sandor and Erdman 13. Although this method is described as a kinematic position analysis in Reference 13, in this application, it is referred to as an orientation analysis, to reflect its contribution to the general assembly procedure.

19

J H Oliver and M J Harangozo

Closed-loop mechanisms made up of individual components may be represented by a series of transformation matrices, where each matrix represents a specific translation or rotation (or a combination of both ) that defines the location of one link joint relative to another with respect to local joint coordinate systems. The example shown in Figure 1 illustratesthe principles used in analyzing the orientations of mechanism links. All rotations are about the global x axis, and all translations occur in the yz plane. In this example, the transformation relating point P~ on L~ to P 2 o n L 2 includes a rotation of - 9 0 ° about the x axis, and then a translation of magnitude equal to the length of L 2 (denoted a s D 2 in Figure 1) in the y~ direction. The transformation matrix for this transition is obtained by concatenating the rotation and translation matrices. The resulting transformation matrix is referred to as So~. The transformation matrices for the other links (S~2, $23 and $30) are formulated in a similar fashion. These matrices, when concatenated in loop order, produce the identity matrix Soo : 8 0 1 5 1 2 5 2 3 5 3 0

:

I

So0 = SolS12...S~,- 1~,S,0

D3

L2

L4

D4

cos0

c

0

0 0 -cos0

cos 0

(3)

-sin 0

0

0

where the matrix product is equal to the derivative of the left-hand matrix with respect to 0, and Q is called the derivative operator matrix. For this example,

Q =

0 1

-1 0

0

0

(4)

l

Similar derivative operator matrices for other common kinematic joint relationships have been developed (see Reference 13). The general loop-closure equation consists of transformation matrices where any one variable in a mechanism is completely contained in only one of the matrices in the product equation. Thus, the loop-closure equation can be differentiated with respect to each variable. For example, of qm is a variable in the Stk-l)k matrix of the loop-closure equation, it can be shown 13 that the partial derivative of Soo with respect to qm may be written as

D,,

4

D1

20

sin0

- DmSoo

(5)

where

Yl

Figure 1. Planar closed-loop mechanism

- sin 0

-sin0

Oq,.

z1

cos 0

0

t~Soo

L1

(2t

The technique used to solve for the dependent variables is a Newton Raphson procedure, Thus, a partial derivative of the loop-closure equation with respect to each variable is necessary. For a matrix equation, it is mathematically convenient to perform the partial differentiation by multiplying the matrix by an operator matrix whose elements have values such that the resulting matrix product is the derivative of the original matrix. For example, the derivative (with respect to the rotation angle 0) of the transformation matrix for rotation about the x axis and translation in the yz plane can be represented by the following matrix equation:

(1)

This matrix product, representing the closed-loop mechanism, is called the loop-closure equation. In this example, the lengths of the links are constant, and the mechanism variables or 'joint variables' are represented by the angles between the links. This matrix equation is nonlinear, and it may be used in analyzing the relative orientation of the links in the mechanism. The loopclosure equation is valid when the joint variables have geometrically feasible values. Closed-loop mechanisms are often characterized by two types of variable. The first is the independent motion variable, which is typically the input variable to the mechanism. The second type is the dependent variable. These are functions of the independent variable and the constraints of the mechanism. The mechanism constraints are mathematically expressed by the loop-closure equation. Therefore, the process of obtaining values for the dependent variables is one that solves the loop-closure equation for these values. The following

D2

derivation is presented for the general case o t a spatial mechanism, and it is then applied specifically to planar mechanisms. The general loop-closure equation is

Y4

= (SolS12...S(k_l)k)Q(SolS12...Stk

1)k) - 1

(6)

or

D~ = SokQS& 1

(7)

computer-aided design

Inference of link positions for planar closed-loop mechanisms

Thus, Dm is the derivative operator matrix with respect to the mth variable in the loop. In terms of the independent and dependent variables, the nonlinear loop-closure equation may be written as Soo(qo, ql) -- I = 0

(8)

where qt is the input variable, and qD the feasible dependent variables. Written in this way, the dependent variables are the roots of this equation. Using the Newton-Raphson procedure, the process begins with an initial estimate of qD. From this, a small correction Aqo is calculated so that, when it is added to the estimate, a value closer to a solution is obtained. A lst-order linear expansion of the loop-closure equation yields O S oo(qD,qOAqi- I = 0 Soo(qD, ql) + ~ ~q/ i=1

(9)

"

where m is the total number of all variables (independent and dependent). With the use of derivative operator matrices, the equation may be written as Soo - I + ~ (DiSooAqi) = 0

(10)

i=1

Postmultiplication by Soo~ results in I - Soo~ + ~ (D,Aq,) = 0

(11)

i=1 or

(DiAqi) = Soo1 -- I

(12)

i=1

This is a 4 x 4 matrix equation. By the equating of the two sides, element by element, 16 scalar equations are obtained. However, these 16 equations are not all independent and meaningful. In fact, for this application, in which only planar mechanisms are considered (restricted to revolute and prismatic joints), Equation 12 is reduced to D(3, 2)1

I

D(3, 2)2

...

D(3, 2),,1FAqt q

""

0(3, 4),,.] Laqm j

D(2,4) 1 D(2,4)2 O(3,4),

O(3,4)2

FE(3,2)I (13) LE(3,4)J where E(i,j) are the elements of the matrix on the right-hand side of Equation 12, and D(i,j) are the elements of the appropriate derivative operator matrix. The coefficient matrix of Equation 13 is called the system geometry matrix. For a general spatial mechanism, this matrix has six rows, but, for the planar formulation described above, there are only three rows, The number m of columns is the number of joint variables. The rank r of the system geometry matrix determines the number of dependent joint variables. Note that, for a planar single-loop mechanism, there are, at most, three inde-

volume 24 number 1 january 1992

pendent equations. The number of independent joint variables (or degrees of freedom) for a mechanism is given by (m - r). Equation 13 may be partitioned to separate the independent and dependent variables:

[-

0 ', K~J L Aql J

R2

(14)

As the independent variable is given, Aqx = 0, and this equation may be solved for AqD: AqD = KI~IR1

(15)

At each iteration, AqD is added to the current estimate: qD(i) = q D ( i - 1 ) q - A q D ( i - 1)

(16)

The new estimate obtained is closer to a feasible set of dependent variables. This iteration procedure is continued until the changes AqD are small, and Soo converges to the identity matrix. A typical 4-bar linkage mechanism is defined by four joint variables (angles). By Gruebler's equation 15, a 4-bar has one degree of freedom, and thus its system geometry matrix will have a rank of 3. The independent degree of freedom is generally assumed to be the angle between the crank and ground links. This link relationship is the input displacement to the mechanism. In the context of the orientation analysis, one joint angle is assumed as input, and is referred to as the independent variable. The other three link angles are dependent variables, and are determined by the orientation analysis.

INFERENCE OF POSITION The inference-of-position technique developed by Rocheleau and Lee 1° is used in this work because of its generality and ease of implementation. This method generates and solves a set of constraint equations, where the equation variables are used to form the assembly transformation matrices. For a mechanism to be assembled with N components, the goal is to compute the transformation matrices (relative to a global reference coordinate system) that transform each component from its initial designed position to its final assembled position. As one of the links is assumed to be held stationary, (N - 1) transformation matrices must be determined for the N - 1 links to be assembled to the stationary link. The transformation matrices for assembly are calculated from the mating features of each component. The basic mating conditions between components as proposed by Lee and Andrews 9 are used: the against condition and thefits condition. These are illustrated in Figures 2 and 3. For the against condition, each mating planar face is defined, in unassembled position, by its normal vector Vi and a point Pi on the face. The assembled position and orientation are denoted as P~ and V;. To satisfy the against condition, the points on mating faces must lie on the same plane, and thus V'.(P'~ - P~) = 0

(17)

21

,J ~ O~ver and M J Harangozo Z1

angles), thus further reducing the number of unknowns ~" A general transformation matrix is therefore completely defined by six variables: three translational and three rotational. For the second of the two basic mating conditions, the fits condition, six constraint equations must be satisfied. These equations require that the centerlines of each respective component be collinear. Thus, (P~,x - P'Lx) _ (P~,r - P',,y) _ (P~,= -- P',.=) (P'2.x -- P'I.:,) (P'2,y - P,.y) (P2,= -- P,,=) !

(23)

,

P',,z)

(Pi,. - P'I,.)

(P~.,, - P',,x)

(Pi,=-

(P'2,x - Pi,x)

(P'2,y- Pi,y)

(P'2,~ - PI,=)

(24)

number of variables = 6(N - l) number of equations = 4(number of against conditions) + 6(number of fits conditions)

,.-¢7;--~ ,~..4 j

¢; LJ Figure 3. Fits mating condition

As the normal vectors are constrained to be parallel and point in opposite directions, V', = - V ~

It is known that, for an assembly defined by fits and against mating conditions, the number of equations is always equal to or more than the number of variables, i.e. there are usually redundant equations. The method suggested for the solution of these equations is a Newton-Raphson scheme that incorporates a leastsquares technique' 6. This procedure solves for n variables (x,, x z ..... x.) T using m equations (f, ,J2 ..... fro)T, where fl ,f2 ..... f,. are functions of x,, x 2..... x., and m > n. At each iteration, the variables are modified according to the relationship

-~L

0f,

(18)

8X 1

8X 2

The relationship between the mating geometry in the unassembled and assembled configurations is defined by the transformation matrices T~ and T2:

af~

~f2

8X,

8X 2

[ V',,x V'l,y V'I,z0] -- T1 [ Vl,x Vl,yVI,z0] T

(19)

[ P'LxP',,yn'L=l ] = T, [ Pl,xPl.yPl,=l ] ~

(20)

[ V'2.x V'2,y V'2,zO ]

T 2 [ V2,x V2,y V2,zO ] T

(21)

[ P'z,,,P'z,rP'2,= 1 ] = T2 [ P2,xP2.yP2,= 1IT

(22)

These transformation matrices are determined by substituting the above expressions into the four constraint Equations 17 and 18. Note that, if one component is assumed to be stationary, e.g. a base component, then only one transformation matrix is necessary. Also, the nine rotational elements of a general transformation matrix can be defined in terms of three rotational variables (Euler

22

t

In a similar way to that for the against condition, the transformation matrices for the fits condition are formulated by substituting the transformation relationships between the assembled and unassembled configurations into the above constraint equations. For a closed-loop mechanism with N links and one link grounded, the number of equations and variables from the fits and against conditions can be characterized as follows:

Figure 2. Against mating condition

----

t

•fl~x.

ax1]

Ax. i 8X 1

UX2

8X n

i

-fl(Xl, x2 ..... x.)'] !

=

--f2(Xl,X2 ..... X.)[

(25)

/

-

f,.(

X l , x2 .....

x.)_l,

or

AiAxi = R i

(26)

Where the matrix A is an m x n nonsquare Jacobian matrix of the complete set of equations, and the vector

computer-aided design

Inference of link positions for planar closed-loop mechanisms

R is an m x 1 residual vector of all the equations. Solving for Ax yields Axi = (ATA)i- 1ATR,

(27)

where i is the iteration number. An initial guess is used for the values x~, x2 ..... x,, and then the Jacobian matrix A and the residual vector R are calculated. The vector Ax is calculated, and used to update the variables for the next iteration. Convergence results when every element of the residual vector R approaches 0, and the values of Ax become small.

CLOSED-LOOP MECHANISM ASSEMBLY A pinned joint may readily be assembled with the inference-of-position technique by the specification of one fits and one against mating condition. The assembled configuration, however, is not unique. In the mechanismassembly system of Kim and Lee 1~, one degree of freedom, the angular orientation of the link with respect to the pin axis, is unspecified. This necessitates user interaction to provide the relative link orientation at every step of the assembly. For the full automation of the assembly of a closed-loop mechanism via inference of link position, additional rotational constraints are needed to constrain the joints such that a feasible assembly is possible. As shown in Figure 4, this can be accomplished by the assignment of a direction vector (in a plane perpendicular to the pin axis) to both the links that comprise the joint. A set of direction vectors that constitute a feasible configuration can be obtained directly from an orientation analysis of the mechanism. The direction vectors are then constrained to have the same orientation in the assembled configuration, i.e. V'~ = V~

(28)

As in the inference-of-position method, the unassembled and assembled configurations are related by the assembly transformation matrices T 1 and T2 by Equations 19 and 21. On the assumption that one of the components is a

. .

I".......'1

V2

Q

fixed, or 'base', component, only one transformation T~ or T 2 need be calculated. The substitution of Equation 19 or 21 into Equation 28 yields three additional constraint equations. The combining of these with the ten equations obtained from an inference-of-position formulation for a pin joint (i.e. four equations for the against condition and six for the fits condition) yields a system of 13 equations in six unknowns. This nonlinear overdetermined system of equations is solved with the same Newton-Raphson least-squares technique described above for the inference-of-position technique. The automated-assembly technique for planar closedloop mechanisms proceeds as follows. Given mechanism components in unassembled positions, the user must specify the mating conditions for each of the joints (i.e. the faces that contact and the centerlines that align). This information is sufficient for the loop-closure equation to be assembled. In general, a mechanism may have many feasible configurations. If a specific configuration is desired, the user may specify one of the degrees of freedom (i.e. one joint orientation); otherwise, the orientation analysis converges to the first feasible configuration obtained from the initial orientation of the links. Next, the assembly transformation matrices for each link are generated sequentially, in loop order. Direction vectors from the orientation analysis provide constraints on the relative orientation of the link pairs. The first link is assumed to be the base link. Constraint equations are generated from the joint mating conditions and the direction-vector constraints. The system is solved for the global matrix which transforms the second link from its unassembled position to its assembled position relative to the base link. The second link is then designated the base link, and the assembly transformation matrix for the third link is calculated in a similar manner. The process continues around the mechanism loop until all the links have been considered. An alternative to this staged, sequential formulation is the combination of all of the mechanism assembly constraints into one large system of equations. For example, the assembly of a 4-bar linkage mechanism with this formulation would require the solution of a set of 39 equations in 18 unknowns. The sequential approach entails the solution of three separate problems of 13 equations in six unknowns. Through numerous experiments with both formulations, the authors have found that, while the techniques are equally robust in the finding of a feasible solution from a variety of initial positions, the staged sequential approach is generally more computationally efficient than the combined simultaneous formulation. Kim and Lee 11 report a similar result that is based on their decomposition of the system into subgroups of components with mutually independent mating conditions.

RESULTS

Figure 4. Constraint of revolute joint anyular orientation

volume 24 number 1 january 1992

Two simple examples are presented to demonstrate the capabilities of the assembly system. In the first example, a 4-bar linkage mechanism is assembled from two

23

,I H Oliver and M J Harangozo

different initial configurations. The results indicate that the computation time is not substantially affected by the initial guess of the dependent variables. The second example demonstrates the versatility of this technique by incorporating a prismatic joint in the assembly of a slider crank mechanism. Figure 5 shows a 4-bar linkage mechanism in both unassembled and assembled configurations. In this example, the independent variable was selected as the angle 04 between links L 4 and L 1, and it was specified as 270' as measured from the Y4 axis (see Figure 1), to enforce an 'upright' configuration. Initial estimates for the dependent joint variables were arbitrarily selected as 0 1 = 02 = 03 = - 1 0 °. With this input, the assembly transformation matrices were generated in a total of 54 iterations; the solution required 0.81 s of CPU time on a vAx 8700 computer. Another analysis of this mechanism with initial dependent-joint-variable estimates of 01 = Oz = 03 = 10 ° converged in 63 iterations in 0.76 s of CPU time. Many other initial configurations have been analyzed, with negligible variations in the computation time. A planar slider crank mechanism consisting of a crank, connecting rod, slider and ground link is shown in Figure 6. By the fixing of the angle between the slider and the ground link (04 = 270°), and the treating of the length of the ground link as a variable, the assembly of

I

q i--i---,,

II L31!!

l

I

x

U L,

[! II

Y

a

L3

L4 Z

1

L1 Y

b Figure 5. Automated assembly of 4-bar linkage; (a) unassembled configuration, ( b ) assembled configuration

24

L3

I L2

I

U~

L4

uI

TxIr

L1

y a

b

Y

Figure 6. Automated assembly of slider crank mechanism; ( a ) unassembled configuration, ( b ) assembled configuration

this mechanism can be formulated in a manner similar to that for the 4-bar linkage. With initial link-variable choices of0~ = 02 = 03 = 30 °, this assembly analysis was completed in 43 iterations in 0.71 s of CPU time. Again, many different combinations of the specified independent variable, the initial values of the dependent variables, and the initial spatial positions of the components were attempted. The system never failed to converge, and the computation times varied negligibly. The robustness of this technique is due to the nature of the component numerical procedures that comprise it. The initial orientation analysis is known to be very robust with respect to the initial choices of the dependent joint variables, especially for the simple planar, single-loop class of mechanisms addressed in this paper. Of course, with a physically unrealizable collection of links in which, for example, the length of the ground link is greater than the sum of the lengths of the others, the orientationanalysis formulation fails to converge to a feasible solution. However, in the work described in this paper, the orientation analysis never failed to converge to a feasible solution, even for non-Grashof-type 4-bar mechanisms. The robustness of the inference-of-position calculation of each link is actually enhanced by the results of the orientation analysis. Indeed, Rocheleau and Lee 10 observed that the technique could sometimes diverge when the rotational degree of freedom for a fits-type joint was left unconstrained, as in a simple peg in a hole, for example. To overcome this problem, they enforced an arbitrary angular displacement (typically 0). The same approach was implemented for pin joints in the subsequent work on mechanism assembly 11, except that, in this, the user must manually specify the relative angular orientation between each pair of links to satisfy an overall

computer-aided design

Inference of link positions for planar closed-loop mechanisms

assembled configuration of the mechanism. By deriving the additional relative link constraints directly from a kinematic orientation analysis, the technique presented in this paper substantially enhances and automates the inference-of-position technique for mechanisms.

DISCUSSION This system for the automated inference of link position for planar closed-loop mechanisms has several attractive features. Compared with the semimanual assembly facilities available in many commercial CAD systems, this approach requires very little user input. Further, the required input is intuitively simple to understand and specify. The system produces useful output, and is very efficient computationally. These features make this assembly technique ideally suited for incorporation into the design process. To demonstrate the potential of this system, it has been incorporated within a commercial CAD/CAM system. The Integrated Design Engineering Analysis Software 0-DEASTM)package by the Structural Dynamics Research Corporation serves as the host environment. A preliminary implementation of the combined system operates via pre- and postprocessing through a file-driven interface with the automated-assembly processor. A preprocessor allows the user to specify mating conditions from geometric models of the links. It then writes an input file for the automated-assembly processor. The results of the assembly analysis are written to another file and read into the CAD system for further processing. A postprocessor interprets the transformations to facilitate the assembly-modeling process. Results of this preliminary implementation are shown in Figures 7 and 8. Work is continuing on a more sophisticated implementation that will more fully exploit the user interface and database facilities of the CAD system. This assembly system for planar closed-loop mechanisms has illuminated many avenues for future research. For example, the techniques used are quite general, and so an extension of the system to include capability for

Figure 8. 4-bar mechanism after assembly postprocessing the assembly of spatial (3D) mechanisms should be relatively straightforward. Other extensions for multipleloop and open-loop mechanisms are also under consideration. A more challenging problem is that of the determination of a sequence of feasible (i.e. interferencefree) assembly paths given geometric models of two component parts and their global total assembly transformation. Oliver and Huang 17 have demonstrated such a system for 2D polygonal objects. This system generates the total assembly transformation matrix for two parts from user-specified mating conditions. It then decomposes this matrix into a sequence of interferencefree assembly paths. A combination of this approach with the automated-mechanism-assembly technique presented in this paper seems quite promising. The ultimate goal is the provision of a completely automated assemblyplanning system for general assemblies based only on the physical characteristics of the components and their relationships to one another.

REFERENCES I Popplestone, R J, Ambler, A P and Bellos, I M 'An interpreter for a language for describing assemblies' Artif. Intell. Vol 14 (1980) pp 79-107 2 Lieberman, L I and Wesley, M A 'AUTOPASS: an automatic programming system for computer controlled mechanical assembly' IBM J. Res. & Develop. Vol 21 No 4 (1977) pp 321-333

3 Wesley, M A, Lozano-Perez, T, Lieberman, L I, Lavin, M A and Grossman, D D 'A geometric modeling system for automated mechanical assembly' IBM d. Res. & Develop. Vo124 No 1 (1980) pp 64-74

Figure 7. Unassembled 4-bar linkage components from commercial CAO/CAMsystem

volume 24 number 1 january 1992

4 DeFazio, T L and Whitney, D E 'Simplified generation of all mechanical assembly sequences' IEEE J. Robot. & Autom. Vol RA-3 No 6 (1987) pp 640-658 (corrections ibid. Vol 4 (1988) pp 705-708)

25

J H Ohver and M J Harangozo

5 Homem de Meilo, L S and Sanderson, A C ' A N D / O R graph representation of assembly plans' I E E E J. Robot. & A u t o m . Vol 6 No 2 (1990) pp 188~ 199

10 Rocheleau, D N and Lee, K 'System lor interactive assembly modelling' Comput.-Aided De~, Vol 19 No 2 (1987) pp 65 72

6 Woo, T C 'Automatic disassembly and total ordering in three dimensions' A S M E lntegr, lntell. M a n u £ Anal. & Synth. PED-Vol 25 (1987) pp 291~ 303

11 Kim, S H and Lee, K 'An assembly modelling system for dynamic and kinematic analysis" Cmnput.-.4ided Des. V o l 2 1 No 1 ( 1 9 8 9 j p p 2 12

7 Ko, H and Lee, K 'Automatic assembling procedure generation from mating conditions' Comput.-Aided Des. Vol 19 No 1 (1987) pp 3 10

12 Tilove, R B 'Extending solid modeling systems for mechanism design and kinematic simulation' I E E E Comput. Graph. & Applic. Vol 3 No 3 (1983) pp 9 19

8 Ambler, A P and Popplestone, R J 'Inferring the positions of bodies for specified spatial relationships' Art!(. lntell. Vol 6 (1975) pp 157-174

13 Sandor, G N and Erdman, A G Advanced M e c h a n i s m Design: Analysis and Synthesis Vol 2 Prentice Hall, USA (1984)

9 Lee, K and Andrews, G 'Inference of the positions of components in an assembly: Part 2' C o m p u t . - A i d e d Des. Vol t7 No 1 (1985) pp 20-24

14 Denavit, J and Hartenberg, R S'A kinematic notation for lower-pair mechanisms based on matrices' A S M E Trans. J. Appl. Mech. Vol 77 (1955) pp 215-221 15 Erdman, A G and Sandor, G N M e c h a n i s m Design: Analysis and Synthesis - Vol 1 Prentice-Hall, USA (1991)

Dr James Oliver has been active in the area of ----computer-aided design and manufacturing for over ten years. He received his Bachelor's deoree from Union College in Schenectady, New York, USA, and his Master's and PhD degrees from Michigan State University, USA, all his degrees bein9 in mechanical engineering. He has had industrial experience with Mechanical Technology Incorporated, Fluor Corporation and International TechneGroup Incorporated, and he has, most recently, held an academic position at the State University of New York at Buffalo, USA. Dr Oliver's current research interests include sculptured-surface model synthesis based on functional and manufacturability constraints, hybrid geometric-model representations for 3D variational geometry, knowledge-based techniques for conceptual design based on assemblability criteria, and advanced NC generation and ver!fication techniques.

26

16 Lawson, C L and Hanson, R J Solvin9 Least Squares Problems Prentice-Hall, USA (1974) 17 Oliver, J H and Huang, H T 'Automated path planning for integrated assembly design' Comput.Aided Des. (submitted for publication) Martin Harangozo earned his Bachelor's and Master's degrees in mechanical enoineerinOat the State University of New York at Buffalo. He has served as a project engineer at Bethlehem Steel Corporation. He is currently employed by the General Electric Company as a member of their Manufacturing Management Program. His technical interests include production planning, quality control and product assemblability.

computer-aided design