Document Sample

Simulation of Rigid Body Motion with Impulsive Friction Force Katsuaki Kawachi Hiromasa Suzuki Fumihiko Kimura kawachi@cim.pe.u-tokyo.ac.jp suzuki@cim.pe.u-tokyo.ac.jp kimura@cim.pe.u-tokyo.ac.jp Department of Precision Machinery Engineering, The University of Tokyo 7-3-1 Hongo, Bunkyo-ku, Tokyo 113, Japan Abstract problem. This formulation enables to calculate collision im- pulse which works between rigid bodies colliding at multiple An algorithm for simulating simultaneous collision impulse points. In addition to this, the relation between collision im- with friction working between rigid bodies is described. pulse and relative normal velocity was also formulated as a Based on this algorithm a simulator for the motion of rigid linear programming problem. bodies with collision impulse, friction impulse, contact force, Baraff [4] also presented a simple and fast algorithm for and friction force is developed. The results of some simula- calculating contact force with friction by formulating the tions of parts feeding mechanisms are shown. relation between force and relative acceleration as a LCP (linear complementarity problem). The algorithm is based on Dantzig’s algorithm for solving LCPs, and extended for 1 Introduction systems with friction. The simulator based on this algorithm has achieved real-time and interactive simulation of two- The mechanisms generally have many constraints as links or dimensional mechanisms with contact force, friction force sliders, therefore the degree of freedom of the mechanisms and collision impulse, but no friction force at collision is is small. In addition to this, the constraints are constant described in this work. even when the mechanisms work. In contrast, we also see Mirtich and Canny [5] presented an “Impulse based” mechanical objects which move under fewer and changing algorithm which can trace in detail the change of friction constraints. For instance, mechanical methods such as vi- force at a single colliding point by numerical integration bratory bowl feeders are used to feed assembly parts in a of both contact force and friction force, and Berkowitz and machine assembly line. There the parts are loosely con- Canny [6] presented a method for designing parts feeder by strained to the feeding track, and their contact condition the dynamic simulator based on this algorithm. The impulse frequently changes. Fast simulation of the colliding objects based method can simulate realistic friction in collision, but with simpliﬁed rigid body dynamics can be useful for testing it is not described how to extend this method to simultaneous such mechanisms early in the design cycle and is expected collision at multiple points. to reduce product development time. Some works have approached to simulate the motion of This paper presents an extended formulation of Baraff rigid bodies with such changing contact constraints. In this [3] [4] for simulating the impulsive friction force which acts motion, rigid bodies frequently make collisions. Thus one at the collision of bodies. We also give the results of the of the key issue is calculation of collision impulse between simulation and compare the results by our algorithm with rigid bodies. those by “Impulse-based” algorithm presented by Mirtich Moore and Wilhelms [1] presented an analytical method and Canny [5]. to calculate the contact force and collision impulse. This method treats the collision at multiple point as a series of collisions at a single point. Hahn [2] also presented a method for calculating colli- 2 Collision Model sion impulse with friction working at a single point. This method models contact as small collisions. In this section we describe the kinematic assumptions in this Baraff [3] formulated the relation between contact force work and the modeling of collision impulse and velocity and relative normal acceleration as a linear programming based on that of Baraff [3]. 182 2.1 Basic Assumptions A We simulate motion of bodies in two dimension with these assumptions. • Bodies are rigid and do not deform by contact or col- GA n lision. pN n rA • The shape of an object is polygonal. P rB GB • Contact or collision occurs between a vertex and an B edge. Contact between edges are represented by a pair Figure 1: Collision impulse of contacts between a vertex and an edge. Contact force and impulse act on vertices. • Collision is modeled by the coefﬁcient of restitution. where vA is the velocity after collision. The changes of linear and angular velocity are given by impulse momentum • Friction is modeled by Coulomb’s law. theorem as pN n In order to simplify the change of position in simulta- uA = uA + (3) mA neous collision at multiple points we make the following rA × pN n assumptions. ωA = ωA + . (4) IA • Position of objects does not change from the start of From equations (2), (3), and (4) we obtain collision till the end of the collision. n rA × n vA = vA + ( + × rA )pN mA IA 2.2 Frictionless System = v A + cA p N , (5) In a frictionless system the normal collision impulse pN n where cA is a constant vector. Similarly we can write acts between colliding bodies, where n is the unit vector vB = vB + cB pN . (6) perpendicular to the colliding edge (Figure 1). In order to describe the condition for non-penetrating Baraff [3] utilizes the relative normal velocity of the collision we use this notation: objects at P for the condition for non-penetrating collision. If the relative normal velocity vN is smaller than zero, it means that the objects are colliding. In the same way vN = 0 means m A , mB mass of object A, B contacting, and vN > 0 means separating. vN is deﬁned by IA , IB moment of inertia vA and vB as follows, uA , uB linear velocity vector before collision uA , uB linear velocity vector after collision vN = n · (vA − vB ). (7) ω A , ωB angular velocity vector before collision The relative normal velocity vN after collision is deﬁned by ω A , ωB angular velocity vector after collision using equations (7), (5), and (6) P collision point GA , GB center of gravity vN = n · (vA − vB ) rA , rB vector from G{A,B} to P = n · (cA − cB )pN + vN = c pN + vN , (8) rA and rB do not change in the collision period, because where c is a constant. no change of position of bodies in the period is assumed. If we have n colliding points simultaneously, the equa- vA is the velocity of the colliding point P on the object tion (8) can be expanded as A before collision and written as n vNi = Aij pNj + vNi (9) vA = uA + ωA × rA , (1) j=1 and where vNi is the relative normal velocity before collision at ith collision point, vNi is that after collision, pNi is the mag- vA = uA + ωA × rA , (2) nitude of normal collision impulse, and Aij is the constant 183 calculated by the position of colliding points. Equation (9) v = Ap + v, (14) for all collision points can be simply rewritten where tangent velocity variables vTi , vTi and tangent impulse v = Ap + v, (10) variables pTi are added to the vectors v , v, and p as where v = (vN1 , vT1 , . . . , vNn , vTn )T ∈ R2n v = (vN1 , vT1 , . . . , vNn , vTn )T ∈ R2n v = (vN1 , . . . , vNn )T ∈ Rn p = (pN1 , pT1 , . . . , pNn , pTn )T ∈ R2n . v = (vN1 , . . . , vNn )T ∈ Rn p = (pN1 , . . . , pNn )T ∈ Rn A ∈ R2n×2n is constant and calculated from the position of A = (Aij ) ∈ Rn×n . colliding points. To calculate collision impulses p, Baraff [3] deﬁned the 3.2 Friction Force in Collision Period following conditions using the coefﬁcient of restitution εi : In no friction system the normal contact force fN (t)n acts in vNi ≥ −εi vNi (11) the collision period [t0 , t1 ] between two rigid bodies. Con- sequently the normal impulse pN n at the collision point P pNi ≥ 0 (12) (Figure 2) is pNi (vNi + εi vNi ) = 0. (13) t1 pN = fN (t)dt. (15) In this paper these conditions (11), (12), (13) are applied to t0 calculate normal collision impulses p. Assume that the relative tangent velocity of two objects at P keeps not zero. The magnitude of the friction force (plotted with broken line in Figure 3) is µd fN (t) where µd is 3 Friction Impulse the coefﬁcient of dynamic friction at P. The tangent impulse pT is deﬁned by the product of µd and pN as following If two objects are in contact and sliding, friction force will equation (16). work on sliding point of the objects. Similarly if the colliding point between objects is sliding, both collision impulse and t1 impulsive friction force will work. In this section we describe pT = µd fN (t)dt = µd pN (16) t0 the deﬁnition of the impulsive friction force. If the relative tangent velocity of two objects at P keeps zero in the collision period, the friction force fT (t) is static 3.1 Friction and Velocity and at most µs fN under Coulomb’s friction model. The If friction force works in collision, the tangent collision im- tangent impulse pT is limited by pulse pT t will act, where t is the unit vector tangent to the t1 colliding edge (Figure 2). |pT | ≤ µs fN (t)dt = µs pN , (17) t0 In this case the relation between the normal and tangent velocity and impulse variables is linear and can be written in where µs is the coefﬁcient of static friction. the same way as equation (9) as follows. In these two cases it is assumed that the sign of the relative tangent velocity does not change, but if the sign varies in the A Force pN n Normal Force Fm Tangent Force n d Fm t time pT t B O t0 t1 Figure 2: Normal impulse and tangent impulse at collision Figure 3: Normal force and tangent force in collision period 184 collision period, the friction mode will change between static friction and dynamic friction. “Impulse based” algorithm [5] can calculate this chang- ing friction mode by numerical integration of both contact force and friction force, but it is difﬁcult to apply this method for simultaneous collision because of complex relations be- tween multiple collision points. In order to simplify the change of velocity in simulta- Unnatural Desirable neous collision at multiple points we make the following Motion Motion assumptions. Figure 4: Unnatural Motion caused by equation (22) • Velocity of objects does not change in collision period. • Velocity of objects changes discontinuously at the end of the collision period |pTi | ≤ µdi pNi , (23) The relation between impulse and velocity is made linear by that is, dynamic friction force stops working in the collision these assumptions. period when the tangent velocity reaches zero. In other words, if the dynamic friction force can not achieve vTi = 0, 3.3 Static Friction Impulse dynamic friction force will keep working during the collision period and |pTi | = µdi pNi . This condition is If the relative tangent velocity before collision vTi is zero, static friction force will work in the collision period in order vTi (|pTi | − µdi pNi ) = 0. (24) to minimize vTi , relative tangent velocity after collision. Static friction force fTi is limited by The sign of pTi is opposite to that of vTi . |fTi (t)| ≤ µsi fNi (t) (18) where µsi is the coefﬁcient of static friction. By integrating 3.5 Algorithm of Calculation this condition we get The conditions of force and impulse described in equations t1 t1 (20), (21), (23) and (24) are |pTi | = |fTi (t)|dt ≤ µsi fNi (t)dt (19) t0 t0 |pTi | ≤ µi pNi , vTi (|pTi | − µi pNi ) = 0 (25) Hence tangent impulse pTi is limited by where µi is decided by the relative tangent velocity before |pTi | ≤ µsi pNi . (20) collision at point i as follows. If the static friction force can not maintain vTi = 0, max- imum static friction impulse will work and |pTi | = µsi pNi . µi = µdi (if vTi = 0) (26) This condition is written µsi (if vTi = 0) vTi (|pTi | − µsi pNi ) = 0. (21) Because solving equation (14) under the conditions (25) The sign of pTi is opposite to that of vTi . (26) are mathematically identical with those of contact force with static friction and relative acceleration presented by Baraff [4], normal and tangent impulse can be calculated by 3.4 Dynamic Friction Impulse the Dantzig’s algorithm extended by Baraff. If vTi is not zero, dynamic friction force will work in the The algorithm works as follows. First, all collision con- collision period, and tangent impulse pTi is written as ditions but those for the ﬁrst colliding point are ignored, and pNi and pTi are set to zero for all i. The algorithm begins by |pTi | = µdi pNi (22) satisfying the conditions (11), (12), and (13) for pN1 and vN1 . where µdi is the coefﬁcient of dynamic friction. However, Next, the algorithm satisﬁes the conditions (25) and (26) for if |vTi | is small enough, pTi calculated by this equation may pT1 and vT1 while maintaining the conditions for pN1 and reverse the sign of vTi . For example, when we drop a ball vN1 . This second operation for pT1 and vT1 may need to with some tangent velocity on a horizontal plane, it may be modify pN1 and vN1 retroactively. And then, the algorithm observed that the ball seems to bounce off an invisible wall. satisﬁes the conditions for pN2 and vN2 . By satisfying colli- In order to prevent this unnatural phenomenon, we mod- sion conditions of each colliding point in this way, collision ify the equation (22) as follows impact p can be all calculated. 185 4 Results Comparison of Parts Feeding Speed (0° ramp) 200 Based on this formulation we have developed a simulator for the motion of rigid bodies with impulse, friction impulse, 150 contact force, and friction force. The simulator (Figure 6) Position (mm) 100 is developed on an SGI R4000 workstation. The results of some simulation of parts feeding mechanisms are shown. 50 We also implement an “Impulse-based”[5] simulator and compare the results of simulation by both methods. 0 With Tangent Impulse Without Tangent Impulse -50 0 0.2 0.4 0.6 0.8 1 4.1 Bowl Feeder Time (sec.) Comparison of Parts Feeding Speed (3° ramp) A vibratory bowl feeder [7] (Figure 5) transports parts up- 100 ward on the slanted feeding track by vibrating the track. If no friction impulse works, steady friction force will not 50 Position (mm) work until the collision becomes very small between parts 0 and feeding track. Figure 7 shows the change in the position of an object on -50 the feeding track along time. The cycle of the vibration of -100 With Tangent Impulse the track is 16Hz. The difference in those two graphs is in Without Tangent Impulse the ramp angle, 0◦ and 3◦ respectively. The comparison of -150 parts feeding speed shows that the mechanism can not feed 0 0.2 0.4 0.6 0.8 1 Time (sec.) parts in the 3◦ ramp, if the friction impulse does not work. It can be said that the simulation of declined feeding track Figure 7: Feeding Speeds with/without Friction Impulse needs friction impulse to feed parts upward. Comparison of Parts Feeding Speed (0° ramp) 200 4.2 Comparison with Impulse Based Method 150 The results of simulation of the vibratory bowl feeder (Figure Position (mm) 5) by our method and Impulse Based Method [5] are shown 100 in Figure 8. Though there are small difference between the simulated motions of parts, almost no difference in the 50 steady feeding speed is found. This result can be considered 0 Our Method as evidence for the validity of our proposed algorithm. Impulse Based Method -50 0 0.2 0.4 0.6 0.8 1 Time (sec.) Bowl Comparison of Parts Feeding Speed (3° ramp) 200 Electromagnet 150 Lamellar Position (mm) Spring 100 50 Figure 5: Bowl Feeder [7] 0 Our Method Impulse Based Method -50 0 0.2 0.4 0.6 0.8 1 Time (sec.) vibration Figure 8: Comparison of our Method and Impulse Based Method [5] Figure 6: Simulator 186 5 Application to Parts Orienter The results of simulating another mechanism [8] are shown in Figure 10. The mechanism uniforms the direc- We also simulate parts orienting mechanisms by the sim- tion of parts by hooking their opening ends. The ﬁrst and ulator based on our method. A mechanism [8] (Figure 9) second results (top and middle) shows that the mechanism uniforms the direction of parts with its center partition. The orient the direction of parts. The third result (bottom) is one result shows that the simulation can calculate that the mech- of the bad conﬁgurations of the mechanism, where the hook anism orients parts in both directions. is too short to turn parts upside down, and parts are caught on the way to the feeding chute. (1) (2) (3) (4) (5) (6) 6 Conclusion We have described an extended formulation of Baraff [3] for simulating the impulsive friction force between rigid bodies colliding at multiple points. We implemented a simulation system by integrating our formulation for impulsive friction force with Baraff’s formulations for contact force, friction (1) (2) (3) (4) (5) (6) force and collision impulse. Further simulation of automated assembly and feeding mechanisms, simulations with permanent constraints (like links and sliders), and comparison with other methods are planned. Figure 9: Orientation of Cup Parts (1) References [1] Mathew Moore and Jane Wilhelms, “Collision detection (1) (2) (3) (4) (5) (6) and response for computer animation,” in Computer Graphics Proceedings, 1988, pp. 289–298. [2] James K. Hahn, “Realistic animation of rigid bodies,” in Computer Graphics Proceedings, 1988, pp. 299–308. [3] David Baraff, “Analytical methods for dynamic sim- ulation of non-penetrating rigid bodies,” in Computer Graphics Proceedings, 1989, pp. 223–232. (1) (2) (3) (4) (5) (6) [4] David Baraff, “Fast contact force computation for non- penetrating rigid bodies,” in Computer Graphics Pro- ceedings, 1994, pp. 23–34. [5] Brian Mirtich and John Canny, “Impulse-based simula- tion of rigid bodies,” in Proceedings of Symposium on Interactive 3D Graphics, 1995. [6] Dina R. Berkowitz and John Canny, “Designing parts feeders using dynamic simulation,” in Proceedings of (1) (2) (3) (4) (5) (6) the IEEE International Conference on Robotics and Au- tomation, 1996, pp. 1127–1132. [7] Kenneth R. Treer, Automated Assembly, The Society of Manufacturing Engineers, 1979. [8] G. Boothroyd and A. H. Redford, Mechanized Assembly, 1969. Figure 10: Orientation of Cup Parts (2) 187

DOCUMENT INFO

Shared By:

Categories:

Tags:
Rigid Body, rigid body simulation, rigid bodies, collision detection, Rigid body dynamics, Computer graphics, computer animation, death domain, family members, protein complexes

Stats:

views: | 28 |

posted: | 4/9/2010 |

language: | English |

pages: | 6 |

OTHER DOCS BY accinent

How are you planning on using Docstoc?
BUSINESS
PERSONAL

By registering with docstoc.com you agree to our
privacy policy and
terms of service, and to receive content and offer notifications.

Docstoc is the premier online destination to start and grow small businesses. It hosts the best quality and widest selection of professional documents (over 20 million) and resources including expert videos, articles and productivity tools to make every small business better.

Search or Browse for any specific document or resource you need for your business. Or explore our curated resources for Starting a Business, Growing a Business or for Professional Development.

Feel free to Contact Us with any questions you might have.