9
Journal of Manufacturing Systems Vol. 16/No. 3 1997 Virtual Prototyping of Mechanical Assemblies with Deformable Components Yong Fang and F.W. Liou, University of Missouri-Rolla, Rolla, Missouri Abstract This paper presents the implementation of a computer prototype modeling system for three-dimensional mechani- cal assemblies with deformable components. Mechanical assemblies are modeled as multi-body systems. The elastic behavior is modeled using the finite element method. Based on this approach, a designer can create an assembly of mechanical components ready for dynamic and elastic analysis, and therefore the behavior of a mechanical assem- bly can be tested in a computer. This paper presents is a proposed framework to achieve such a system and a proto- type example to demonstrate the idea. Keywords: Computer Prototyping, Product Assembly, Deformable Parts, Finite Elements Introduction Visualizing and testing CAD models on a comput- er before they are physically fabricated is becoming an effective way to reduce product development cycle time. Virtual prototyping can be accomplished by run- ning a computer model through interactive dynamic simulation very close to the real-world situation. This paper presents a system that can be used to prototype mechanical assemblies with deformable components. Full development of this system can provide a power- ful tool for the performance evaluation of a mechani- cal assembly and visualization of the physical interac- tion between a product and its manufacturing environ- ment. It can then serve as a cost-effective simulation tool in developing machine components and assem- blies for industrial application. In the previous research, the simulation of the dynamic behavior of mechanical hinged systems (rigid bodies) has been studied using discontinu- ous equations of motion by some researchers. 1"3 Although these algorithms can handle the change of geometric constraint condition of a system, the change must be manipulated by a user, and this can be a tedious task when multi-body systems with unpredictable changing constraints are con- sidered. Another way of modeling the motion of multi-body systems is to use the concept of force- closed constraint, 4-7 which has been developed to deal with the changing topologies of rigid body systems during motion. In many cases, during the assembly process or other manufacturing activities, mechanical compo- nents may be subjected to elastic/plastic deforma- tion. For example, to snap-fit two parts together in an assembly process as shown in Figure 1, elastic defor- mation in components will be encountered. In this paper, a framework to model and prototype mechan- ical assemblies with deformable components is out- lined, and a socket assembly example is presented. Using this approach, a user can interactively cre- ate a mechanical assembly through the Boolean operation of the geometric primitives or features. These features can be modeled as either rigid or elastic. The external forces and fixed kinematic joints can be defined by the user. The goal of this research is that the modeling system can automati- cally and continuously animate the behavior of the assembly without user interface. The contact detec- tion and contact response modules are used to auto- matically set up boundary conditions for analysis. In this research, linear elastic deformation and low- velocity contact conditions are considered. Overview To achieve the described prototyping system, two key issues have to be resolved: contact point identi- fication and contact response analysis. The first issue deals with the detection of the contacting point(s) between two bodies, and this will be used to set up part of the loading condition for contact response analysis to evaluate how two bodies react during contact. There are many approaches to detecting the colli- sion between moving objects, s-n In this research, a methodology based on polyhedral approximation of objects is used. n A linear programming technique to find the minimum distance between two objects is employed for contact detection. 211

Virtual prototyping of mechanical assemblies with deformable components

Embed Size (px)

Citation preview

Journal of Manufacturing Systems Vol. 16/No. 3

1997

Virtual Prototyping of Mechanical Assemblies with Deformable Components Yong Fang and F.W. Liou, University of Missouri-Rolla, Rolla, Missouri

Abstract This paper presents the implementation of a computer

prototype modeling system for three-dimensional mechani- cal assemblies with deformable components. Mechanical assemblies are modeled as multi-body systems. The elastic behavior is modeled using the finite element method. Based on this approach, a designer can create an assembly of mechanical components ready for dynamic and elastic analysis, and therefore the behavior of a mechanical assem- bly can be tested in a computer. This paper presents is a proposed framework to achieve such a system and a proto- type example to demonstrate the idea.

Keywords: Computer Prototyping, Product Assembly, Deformable Parts, Finite Elements

Introduction Visualizing and testing CAD models on a comput-

er before they are physically fabricated is becoming an effective way to reduce product development cycle time. Virtual prototyping can be accomplished by run- ning a computer model through interactive dynamic simulation very close to the real-world situation. This paper presents a system that can be used to prototype mechanical assemblies with deformable components. Full development of this system can provide a power- ful tool for the performance evaluation of a mechani- cal assembly and visualization of the physical interac- tion between a product and its manufacturing environ- ment. It can then serve as a cost-effective simulation tool in developing machine components and assem- blies for industrial application.

In the previous research, the simulation of the dynamic behavior of mechanical hinged systems (rigid bodies) has been studied using discontinu- ous equations of motion by some researchers. 1"3 Although these algorithms can handle the change of geometric constraint condition of a system, the change must be manipulated by a user, and this can be a tedious task when multi-body systems with unpredictable changing constraints are con- sidered. Another way of modeling the motion of multi-body systems is to use the concept of force-

closed constraint, 4-7 which has been developed to deal with the changing topologies of rigid body systems during motion.

In many cases, during the assembly process or other manufacturing activities, mechanical compo- nents may be subjected to elastic/plastic deforma- tion. For example, to snap-fit two parts together in an assembly process as shown in Figure 1, elastic defor- mation in components will be encountered. In this paper, a framework to model and prototype mechan- ical assemblies with deformable components is out- lined, and a socket assembly example is presented.

Using this approach, a user can interactively cre- ate a mechanical assembly through the Boolean operation of the geometric primitives or features. These features can be modeled as either rigid or elastic. The external forces and fixed kinematic joints can be defined by the user. The goal of this research is that the modeling system can automati- cally and continuously animate the behavior of the assembly without user interface. The contact detec- tion and contact response modules are used to auto- matically set up boundary conditions for analysis. In this research, linear elastic deformation and low- velocity contact conditions are considered.

Overview To achieve the described prototyping system, two

key issues have to be resolved: contact point identi- fication and contact response analysis. The first issue deals with the detection of the contacting point(s) between two bodies, and this will be used to set up part of the loading condition for contact response analysis to evaluate how two bodies react during contact.

There are many approaches to detecting the colli- sion between moving objects, s-n In this research, a methodology based on polyhedral approximation of objects is used. n A linear programming technique to find the minimum distance between two objects is employed for contact detection.

211

Journal of Manufacturing Systems Vol. 16/No. 3 1997

Figure 1 Two Parts in a Snap-Fit Assembly: Lower Part is Fixed to the Ground

and Upper Part is Subject to a Downward Vertical Force

The automatic contact response analysis involves several tasks. In this paper, an approach based on the finite element method is presented. The key tasks include contact identification, contact constraint modeling, finite element formulation and solution, and boundary condition setup. Contact identification and constraint modeling tasks are to automatically detect contact point(s) and to set up equations to determine contact normals and contact forces. The finite element formulation and solution task is to address the system discretization process. The bound- ary condition task is to set up the force and geometric conditions for the finite element analysis. The follow- ing sections summarize the overall algorithms: (1) governing equations of motion of deformable bodies, (2) contact identification, (3) contact constraint mod- eling to set up equations to determine contact normal and force conditions, (4) finite element formulation and solution strategy, (5) boundary condition identifi- cation, and (6) system implementation.

Governing Equations of Motion To properly govern the motion of bodies during

free motion as well as forced motion, a general set of equations of motion is needed and is summarized here. Let qi represent the generalized coordinates of body i.

q,= (q~,q~)r (1)

where

q/= (q~, q~)r = (xl, y,, z,, e0,, el,, e2,, e33 r (2)

represents the location, @, and orientation, q~, of the rigid body coordinate system fixed on body i. The orientation of body i is specified by the Euler para- meters (eol, eu, e 2~, e3i) due to the fact that the Euler parameters do not have the singularity problems associated with any set of three rotational coordi- nates such as Euler angles, ma qiu represents the nodal displacement of the body due to elastic defor- mation.

The kinetic energy of a body i can be written as follows:

KE'= ½ ~'~ Mt ~ ' (3)

where M ~ is the mass matrix of body i, and

M ' (mpp rnpo m , . I =[mvo moo mo~ l (4)

rn p. rn o, rn "u i

where the subscripts p and 0 represent rigid body translational and rotational coordinates, respectively, while u represents the elastic deformation coordi- nate.

The strain energy of a deformable body i can be expressed as follows:

. , x q,; (5)

where the stiffness matrix

K i = -J~iBiT E i B i dl n (6)

and B ~ and E ~ are the matrix of strain displacement and the matrix of elastic deformation, respectively, in finite element formulation.

When two bodies are in contact, the contact point is treated as an temporary kinematic joint and thus forms a temporary geometric constraint between the two bodies. The equation for a geometric constraint between two contacting components can be defined as follows:

d~ (q,t) = 0 (7)

Differentiating Eq. (7) twice yields the constraint equation in acceleration form, as follows:

qbq• = - [(qbd) , 4+ qbn] = ~/(q,t) (8)

212

Journal of Manufacturing Systems Vol. 16/No, 3

1997

Therefore, the equations of motion can be written using Lagrangian formulation with the Lagrangian multiplier k to account for the constraint forces in the following form4:

L ( t~K~i I OKEi t~Ui = Qi (9) d t C °3gli ) °~qi ~ °lqi + ~q'Ai

or after substituting Eqs. (3) and (5), Eq. (9) can be written as follows:

Mini + idqi + ~qThi = Oi nt_ Q*i

i = 1,2,..., n (10) where Q~ is the generalized external forces, Q*~ is a quadratic velocity vector that is the fimction of the generalized coordinates, K"q~ represents the elastic forces due to deformation, and n is the number of bodies in the assembly. Combining Eqs. (8) and (10), one obtains the following:

(m i i i ,.aT "~/'"i"~ ( 0 0 0 01fq~ ] pp m po mpu ~'q~ l | q, / i i i T "'i i Im,o moo mo~ (Pq'o //~0 /+/°° 00||qo|=

I n i m i m i r i ' ' - ' i " | 0 0 g ' 0 | | q : | / / / /

t ~q; Oq~ Oul 0 )t zi) tOO 00)t/~i)

Op + O

0 +02/ i=l,...n

+ Q;"J r' (11)

Eq. (11) is a mixed system of differential and algebraic equations that govern the dynamics and elastic behavior of the system.

Contact Identification In the process of motion analysis, the topologies

of the system can be changed due to the formation of a new contact or termination of an old force- closed constraint. Therefore, contact identification and response modules are to automatically monitor and analyze the configuration of the system. In this research, a modified Zeghloul, Rambeaud, and Lallemand H approach is used for contact point iden- tification. Basically, bodies are approximated by polyhedrons, and finding the minimum distance between two polyhedrons is formulated into a stan- dard optimization objective function. The constraint equations are set based on geometric relationships between two bodies.

A quadratic optimization technique is used to for- mulate the contact point search problem. Let O t and Oj be two convex polyhedron bodies defined, respectively, by l i and/ j boundary surfaces. Object O~ can be designated as the collection of the points that satisfy

[ ( x - x,s), nd -< 0 s = 1,2,...,li (12)

where [ , ] represents an inner product operator, x is an arbitrary point in R a space, x,, is an arbitrary point on the boundary surface s, and n, is the out- ward normal of the surface s. Body i can also be rep- resented as follows:

Ii o , - - {xl[(x - x.,), n,] --- 0) (13)

Therefore=, a the minimum distance between two objects can be stated as follows:

Find x~ of O~ and xj of Oj such that the objective function

x i - x j l 2 (14) f(x i, x j )= 2

is minimized while subjected to the linear con- straints:

gu(xi) : [ (x i - Xas), n,] --< 0 s = 1,2,...,I~ i = 1,2 (15)

The problem defined by Eqs. (14) and (15) is a nonlinear optimization problem. However, because the constraint equations are linear, the problem can be solved by adopting the gradient projection method. 11 The initial point on each body can be selected from the closest intersecting points between the line that connects the centroids of the two bodies and the surface of each body. A nonconvex body is decomposed into a number of convex bodies to find the overall minimum distance.

Contact Constraint Modeling To handle the changing configuration of a gener-

al mechanical assembly, an approach based on the force-closed point-to-surface constraint approach 4 is adopted. Force-closed kinematic constraint main- tains the constraint between two bodies by the use of closing force. This is in contrast to a form-closed kinematic constraint, which is constructed such that the kinematic constraint is physically provided by the bodies. The closing force in the force-closed

213

Journal of Manufacturing Systems Vol. 16/No. 3 1997

constraint acts in the same direction as the reaction force would in an equivalent form-closed constraint. Figure 2 shows the spatial kinematic constraints of various degrees of freedom in their form-closed and force-closed versions. The point-to-surface contact and force closure concepts lend a great deal of flex- ibility to automatically deal with the discontinuity of the system, and allow a system to change its topolo- gies by changing the number of point-to-surface contacts. The point-to-surface kinematic constraint method simply adds or deletes point-to-surface con- straint equations, eliminating the need to determine the type of joint between the bodies and to maintain a joint constraint library.

A general point-to-surface kinematic constraint is shown in Figure 3. Point C~ of body i is instanta- neously in contact with a surface of body j, while the contact is maintained. Under this point-to-surface constraint, point C~ is constrained in a surface on body j, and body i is able to slide along the surface or rotate with respect to point Ci. Thus, the two-body

system has five relative degrees of freedom. A point-to-surface constraint in Eq. (7) can be expressed as follows:

~b; (q, t) = h ' . (~, - ~b) = 0 (16)

where b is an arbitrary point on the contact surface of body j and ff = (n x, ny, n~) r is the outward normal of the contact surface at point Ci. rcl and rb are the vectors from the origin of the global coordinate sys- tem to points Ci and b, respectively. It has been shown 4 that other geometric constraints, such as slider joints, spherical joints, or revolute joints shown in Figure 2, can be substituted by a set of point-to-surface constraints as expressed in Eq. (16). There are some exceptions, such as edge-to-edge, edge-to-vertex, and vertex-to-vertex contacts. When two edges collide with each other and form a special edge-to-edge kinematic constraint, a similar equa- tion to Eq. (16) can be obtained, except point C~ is modeled as the contact point between the two edges, and the surface is defined by two contact edges so

Forced-Closed Constraints Formed-Closed Equivalents

No

No

Spherical Joint

Revolute Joint

Slider Joint

X

Z

/ o, 11 I

J ~.

o, /

vc

rb J

Y

Figure 2 Force-Closed Constraints and Their Equivalents

Figure 3 Force-Closed Point-to-Surface Constraint

214

Journal of Manufacturing Systems Vol. 16/No. 3

1997

that the outward normal can be calculated using the following:

= E ~ X EcD (17)

where EAa and EcD are two contacting edges. There are, however, some cases that are hard to solve because they are geometrically indeterminate, such as vertex-to-edge and vertex-to-vertex contacts? 4

During motion, two or more bodies may interpen- etrate or separate, which is called a collision or a separation, respectively. If two bodies collide and remain in contact after collision, one or more point- to-surface constraints are formed. If a new contact point is detected, the corresponding collision response will be calculated accordingly. A new force-closed constraint is formed if the reaction force is greater than zero, and an appropriate con- straint will be added to the equations of motion. If a new contact occurs at time f, the motion of body i before t ~ is governed by Eq. (10). After the instance, the governing equation becomes

M~?] ' + I~q' + d)ff h + +~2 h c = Qi + Q,i i = 1,2,...,n (18)

where d0~ and h c are the parameters for the new added constraint. The position and the velocity of the sys- tem at t~(-), the time instance just before collision, along with the velocity increment due to impact are used as the initial conditions to solve for Eq. (18).4A similar procedure can be used to adjust the equations of motion of the system due to the loss of an old con- straint. Because the equations of the motion for such a system are discontinuous, with the help of the con- tact detection and contact response modules the modeling system can automatically deal with the dis- continuity of the body and adjust the equations according to the contact condition of the system.

Finite Element Formulation and Solution

To perform finite element analysis, Eq. (l 1) can be discretized into nodal representation using the inter- polation function as expressed in Eq. (6). This process is standard except the modeling of contact force dis- tribution in the discretization nodes. As mentioned above, the contact model can be represented as kine- matic constraints of various degrees of freedom in their form-closed and force-closed versions as shown in Figure 2. Based on the corresponding contact

model, the contact point(s) and contact normal can be defined. The contact behavior should also satisfy the following conditions:

If i and j represent two bodies in contact, and material points a [ i and b [ j on the outer surfaces can be identified by its corresponding material sur- face coordinates as ¶a and ~b, respectively, then

1. At time t, the position vectors for point a ~ i in contact with point b ~ j can be written as

X(¶", t) = X(¶b, 0 ( 19 )

and the unit outward normal vectors to the outer surface at a and b can be written as

n (¶", t) = - n (¶o, t) (20)

2. When contact friction is neglected, the action and reaction forces will be along the contact nor- mal line.

3. The identified contact points can be used to determine the affected finite element nodes. The contact force can be distributed to the finite ele- ment nodes by a load distribution vector, L/od,l(X), and

L',od,t(x) = if(x) (-- qb ¢ h') (21)

where/Y(x) is a linear distribution matrix that is a function of distances between a contact point and the nearby nodal points.

On the other hand, if there is no contact between bodies, the contact force should be zero and there is no geometric constraint, or

h i= 0 (22)

Boundary Condition Setup There are two types of boundary conditions: geo-

metric boundary conditions corresponding to the prescribed displacements and rotations, and force boundary conditions corresponding to the pre- scribed forces and moments. The geometric bound- ary conditions can be formed based on the contact point conditions between bodies such as force joint type, contact normal, and contact force. An impene- trability condition for a particular point or region between two bodies can be established based on contact normals, and a persistency condition for a particular point or region between two bodies can be formed based on a positive static friction condition, which indicates that the static friction is greater than

215

Journal of Manufacturing Systems Vol. 16/No, 3 1997

the tangential loads on the contacting point, and a "stiction" occurs. The force boundary conditions have been defined in Eqs. (21) and (22).

The abovementioned system has degrees of free- dom proportional to the number of finite element nodes. For each degree of freedom, either nodal point force or nodal point displacement has to be specified. When the damping effect is neglected, the equilibrium equation of a finite element system without imposition of the displacement boundary is given by is

Mb,~ Mbb ) \q~,b) k.qub Kbb ) I

=(Ra)Rb (23)

where q.o is a vector of the unknown nodal displace- ments and q~ is a vector of known, or prescribed, nodal displacements. More specifically, q.b represents certain boundary nodes, the displacements of which can be defined from the rigid body motion, and there- fore is a known vector. To solve for q~o, one can obtain

M..~I.. + K.°q .° = R. - K.bq .b -- M,~gl~b (24)

Hence, to solve for q~,, only the stiffness and the mass matrices, K.. and M,~, of the complete assem- blage associated with the unknown vector q~o need be calculated, but the load vector R. must be modified to include the effect of imposed displacements. Once the vector q~. has been evaluated from Eq. (24), the nodal point forces corresponding to q~b can be obtained using Eq. (23), that is,

Rb = Mb,~.. + Mbb;q,,b + Kt,.q.. + Kbbq,,b (25)

The above is a formal procedure to evaluate the displacements q.. and reaction forces Rb, when the known displacement vector q.b is along the axes of the global coordinate system.

System Implementation A prototype dynamic simulation system was

implemented by integrating two software modules: AutoCAD for geometric definition and Algor for finite element analysis. The computer codes were written using the C and AutoLISP programming languages.

The modeling system requires the physical charac- teristics and the initial state of a mechanical assembly.

The physical characteristics include geometric description of all the components and their materials and physical parameters such as mass centers and the relationship between the components. The initial state of the system contains the starting position and veloc- ity of each component. Newtonian laws relate the cur- rent and future states of the system to the external loads and constraints.

The dynamic simulation is treated as an explicit time-series analysis. The contact detection and response modules are used to see if any force-closed constraints have been formed or destroyed. Consequently, the corresponding constraint equation is added into or deleted from the equations of motion at each time step. In each time step, a new state becomes a current state and the corresponding process is repeated for the following time increment.

To integrate the entire system, an integrating mod- ule is also developed. It performs the following func- tions: (1) transforms the geometry data of the mechanical assemblies into the format compatible with the dynamic analysis routine, (2) creates the data structure for each body and links them together to build an overall data file, (3) records the information the user specified, such as external loads, body motion, and so on, (4) updates constraints based on the configuration of an assembly, and (5) updates the geometric configuration of the system based on the feedback from the finite element analysis of the elas- tic deformation.

Case Study A prototype example using the above algorithms is

implemented. To demonstrate the idea, a linear elasto- dynamic approximation 9 is adopted to formulate the system so that the rigid body motion is assumed to be decoupled from the elastic motion to reduce the numerical computation. This model is valid if a system is under relatively small velocity, displacement, and strain conditions. Therefore, the equations of motion in Eq. (11) can be approximated by the following:

i r ///; moo cq~

(o!+o;'] =/Q; +QO'r, (26)

i= 1,. . .n

216

Journal of Manufacturing Systems Vol. 16/No. 3

1997

and

m~,r/~, +/dq~ = Qi + Q*~ _ ~br hi (27)

where the rest of the coupling terms between the elastic and rigid body motion in Eq. (11) are neglect- ed, and the terms, m~,, m~o, d~, d?~o, (~p, ~o, O'~, and Q~ are assumed not to depend on the elastic defor- mation of the body. It is also assumed that two bod- ies will keep contact after collision, which is reason- able if the relative velocity between two bodies is low. After each analysis, the database of the system is updated. If there is no collision between objects, to save computing time bodies are assumed to be rigid, and therefore Eq. (27), which describes elastic deformation, is not used.

Figure 4 shows the 3-D view of the two parts in contact as described in Figure 1. The base size of the upper part of the plastic socket assembly is 5" by 10" by 10". The dimension of each paw of the upper part is 0.5" by 0.5" by 2". The hook on each paw is 0.1" by 45 ° toward the inside: take a left paw as an exam- ple--the hook is a triangular box with the top face parallel to the base of the upper part and 0.1" above the bottom of the paw and 0.1" toward the right. The other face is a surface connecting the bottom of the paw and the top face of the hook and should have a 45 ° angle with the base of the upper part. A 50 lbf external force is applied from the top. The upper part, with inner distance between legs 0.002" larger than the base part outer mating dimension to facilitate assembly, is grasped by a robotic end effector. Before contact, only rigid body motion analysis is per-

! Figure 4

Case Study: Mechanical Assembly at Contact Condition

formed. The initial contact reported edge-to-surface contacts, and slider joints are used to model the con- tact condition. Figure 5 shows the elastic deforma- tion process after contact. The upper part is being deformed according to the finite element model. Figure 6 shows the final stage of the assembling process in which the snap-fit feature is sliding along the base part, and Figure 7 shows the rendered image of the snap-fitting process.

Conclusion A framework to prototype mechanical assemblies

with deformable components is presented in this

,, I ! I I

Figure 5 Simulation of the Deformable Snap-Fit Features

217

Journal of Manufacturing Systems Vol. 16/No. 3 1997

Figure 6 Simulation of Two Parts Fitting to Each Other

paper. A socket assembling process is used to demon- strate the idea. The result shows that this approach can be used to automatically model multi-body systems with elastic components. It will lay the foundation of the computer prototyping of general deformable bod- ies. Full development of this prototype can result in a state-of-the-art computer prototyping tool for new product design and manufacturing. In other words, automated animation of the motion behavior of the 3- D geometric entities can be performed according to the specified physical laws. Deformable bodies can also be prototyped so that relatively flexible bodies

can be considered in the system. This study also shows that excessive computational effort is needed. The current case study takes about one hour on a 486 machine. Future investigation is needed to achieve more efficient simulation results.

Acknowledgment This research was supported by National Science

Foundation Grant No. DDM-9210839 and the Missouri Department of Economic Development through the MRTC grant. This financial support is greatly appreciated.

! 1

t

Figure 7 Virtual Prototyping of a Deformable Snap-Fit Assembly

218

Journal of Manufacturing Systems Vol. 16/]5/o. 3

1997

References 1. E.J. Hang, S.C. Wu, and S.M. Yang, "Dynamics of Mechanical

Systems with Coulomb Friction, Stiction, Impact and Constraint Addition- Deletion-I," Mechanism and Machine Theory (v21, n5, 1986), pp401-406.

2. L. Shih and A.A. Frank, "Dynamic Modelling and Analysis of General Linked Mechanisms with Compliance," Proceedings of the Design Automation Conf. (1987), pp323-331.

3. J. Wittenburg, Dynamics of Systems of Rigid Bodies (Stuttgart, 1977). 4. Y. Fang and EW. Liou, "Computer Simulation of Three Dimensional

Mechanical Assemblies-Part 1: General Formulation," Proceedings of ASME International Computers in Engineering Conf. (1993), pp579-587.

5, B.J. Gilmore and R.J. Cipra, "Simulation of Planar Dynamic Mechanical Systems with Changing Topologies-Part 1: Characterization and Prediction of the Kinematic Constraint Changes," Journal of Mechanical Design (v113, 1991), pp70-76.

6. B,J. Gilmore and R.J. Cipra, "Simulation of Planar Dynamic Mechanical Systems with Changing Topologies-Part 2: Implementation Strategy and Simulation Results for Example Dynamic Systems," Journal of Mechanical Design (v113, 1991), pp77-83.

7. I. Han, B.J. Gilmore, and M.M. Ogot, "The Incorporation of Arc Boundaries and Stick/Slip Friction in a Rule-Based Simulation Algorithm for Dynamic Mechanical Systems with Changing Topologies," Journal of Mechanical Design (v 15, 1993), pp423-434.

8. M.A. Ganter and B.P. Isarnkura, "Dynamic Collision Detection Using Space Partitioning," Proceedings of the 1990 ASME Design Automation Conf. (1990), pp175-181.

9. M. Moore and J. Wilhelms~ "Collision Detection and Response for Computer Animation," Computer Graphics (v22, n4, 1988).

10. H. Noborio, S. Fukuda, and S. Arimoto, "Fast Interference Check Using Oetre¢ Representations Advanced Robotics (v3, n3, 1989), pp193- 212. 11. S. Zeghioul, E Rambeaud, and J.P. Lallemand, "A Fast Distance Calculation Between Convex Objects by Optimization Approach," Proceedings of the International Conf. on Robotics and Automation (1992), pp2520-2525. 12. P.E. Nikravesh, R.A. Wehage, and O.K. Kwon, "Euler Parameters in Computational Kinematics and Dynamics-Part I," Journal of Mechanisms, Transmissions, and Automation in Design (v107, 1985), pp358-365. 13. P,E. Nikravesh, R.A. Wehage, and O.K. Kwon, "Euler Parameters in Computational Kinematics and Dynamics-Part II," Journal of Mechanisms, Transmissions, andAutomation in Design (v107, 1985), pp366-369. 14. D. Baraff, "Analytical Methods for Dynamic Simulation of Non- Penetrating Rigid Bodies," Computer Graphics (v23, 1989), pp223-231. 15. K.J. Bathe, Finite Element Procedures in Engineering Analysis (Englewood Cliffs, N J: Prentice-Hall, 1982).

Authors' Biographies Dr. Yong Fang received his PhD from the Department of Mechanical

Engineering, University of Missouri-Rolla, in 1995. He is now working for American Small Business Computer, Inc.

Dr. EW. Liou is an associate professor in the Department of Mechanical Engineering, University of Missouri-Rolla. He received his PhD from the Department of Mechanical Engineering at the University of Minnesota in 1987. His areas of interest include CAD/CAM, automation, and dynamic systems and control. He has been a senior member of SME since 1988.

219