You are on page 1of 6

Simulation of Rigid Body Motion with Impulsive Friction Force

Katsuaki Kawachi
kawachi@cim.pe.u-tokyo.ac.jp

Hiromasa Suzuki
suzuki@cim.pe.u-tokyo.ac.jp

Fumihiko Kimura
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
An algorithm for simulating simultaneous collision impulse with friction working between rigid bodies is described. Based on this algorithm a simulator for the motion of rigid bodies with collision impulse, friction impulse, contact force, and friction force is developed. The results of some simulations of parts feeding mechanisms are shown.

problem. This formulation enables to calculate collision impulse which works between rigid bodies colliding at multiple points. In addition to this, the relation between collision impulse and relative normal velocity was also formulated as a linear programming problem. Baraff [4] also presented a simple and fast algorithm for calculating contact force with friction by formulating the relation between force and relative acceleration as a LCP (linear complementarity problem). The algorithm is based on Dantzigs algorithm for solving LCPs, and extended for systems with friction. The simulator based on this algorithm has achieved real-time and interactive simulation of twodimensional mechanisms with contact force, friction force and collision impulse, but no friction force at collision is described in this work. Mirtich and Canny [5] presented an Impulse based algorithm which can trace in detail the change of friction force at a single colliding point by numerical integration of both contact force and friction force, and Berkowitz and Canny [6] presented a method for designing parts feeder by the dynamic simulator based on this algorithm. The impulse based method can simulate realistic friction in collision, but it is not described how to extend this method to simultaneous collision at multiple points. This paper presents an extended formulation of Baraff [3] [4] for simulating the impulsive friction force which acts at the collision of bodies. We also give the results of the simulation and compare the results by our algorithm with those by Impulse-based algorithm presented by Mirtich and Canny [5].

1 Introduction
The mechanisms generally have many constraints as links or sliders, therefore the degree of freedom of the mechanisms is small. In addition to this, the constraints are constant even when the mechanisms work. In contrast, we also see mechanical objects which move under fewer and changing constraints. For instance, mechanical methods such as vibratory bowl feeders are used to feed assembly parts in a machine assembly line. There the parts are loosely constrained to the feeding track, and their contact condition frequently changes. Fast simulation of the colliding objects with simplied rigid body dynamics can be useful for testing such mechanisms early in the design cycle and is expected to reduce product development time. Some works have approached to simulate the motion of rigid bodies with such changing contact constraints. In this motion, rigid bodies frequently make collisions. Thus one of the key issue is calculation of collision impulse between rigid bodies. Moore and Wilhelms [1] presented an analytical method 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 collision impulse with friction working at a single point. This method models contact as small collisions. Baraff [3] formulated the relation between contact force and relative normal acceleration as a linear programming 182

Collision Model

In this section we describe the kinematic assumptions in this work and the modeling of collision impulse and velocity based on that of Baraff [3].

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 collision. The shape of an object is polygonal. Contact or collision occurs between a vertex and an edge. Contact between edges are represented by a pair of contacts between a vertex and an edge. Contact force and impulse act on vertices. Collision is modeled by the coefcient of restitution. Friction is modeled by Coulombs law. In order to simplify the change of position in simultaneous collision at multiple points we make the following assumptions. Position of objects does not change from the start of collision till the end of the collision.

pN n

rA rB

GA GB

n
B

Figure 1: Collision impulse

where vA is the velocity after collision. The changes of linear and angular velocity are given by impulse momentum theorem as pN n uA = uA + (3) mA rA pN n A = A + . (4) IA From equations (2), (3), and (4) we obtain vA n rA n + rA )pN mA IA = v A + cA p N , = vA + (

2.2 Frictionless System


In a frictionless system the normal collision impulse pN n acts between colliding bodies, where n is the unit vector perpendicular to the colliding edge (Figure 1). In order to describe the condition for non-penetrating collision we use this notation: m A , mB IA , IB uA , uB uA , uB A , B A , B P GA , GB rA , rB mass of object A, B moment of inertia linear velocity vector before collision linear velocity vector after collision angular velocity vector before collision angular velocity vector after collision collision point center of gravity vector from G{A,B} to P

(5)

where cA is a constant vector. Similarly we can write vB = vB + cB pN . (6)

Baraff [3] utilizes the relative normal velocity of the 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 contacting, and vN > 0 means separating. vN is dened by vA and vB as follows, vN = n (vA vB ). (7)

The relative normal velocity vN after collision is dened by using equations (7), (5), and (6) vN = n (vA vB ) = n (cA cB )pN + vN = c pN + vN , (8) where c is a constant. If we have n colliding points simultaneously, the equation (8) can be expanded as
n

rA and rB do not change in the collision period, because no change of position of bodies in the period is assumed. vA is the velocity of the colliding point P on the object A before collision and written as vA = uA + A rA , and vA = uA + A rA , (2) 183 (1)

vNi =
j=1

Aij pNj + vNi

(9)

where vNi is the relative normal velocity before collision at ith collision point, vNi is that after collision, pNi is the magnitude of normal collision impulse, and Aij is the constant

calculated by the position of colliding points. Equation (9) for all collision points can be simply rewritten v = Ap + v, where v v = (vN1 , . . . , vNn )T Rn = (vN1 , . . . , vNn )T Rn (pN1 , . . . , pNn )T Rn (10)

v = Ap + v,

(14)

where tangent velocity variables vTi , vTi and tangent impulse variables pTi are added to the vectors v , v, and p as v v = = (vN1 , vT1 , . . . , vNn , vTn )T R2n (vN1 , vT1 , . . . , vNn , vTn )T R2n (pN1 , pT1 , . . . , pNn , pTn )T R2n .

p =

p =

A = (Aij ) Rnn . To calculate collision impulses p, Baraff [3] dened the following conditions using the coefcient of restitution i : vNi i vNi pNi 0 pNi (vNi + i vNi ) = 0. (11) (12) (13)

A R2n2n is constant and calculated from the position of colliding points.

3.2

Friction Force in Collision Period

In no friction system the normal contact force fN (t)n acts in the collision period [t0 , t1 ] between two rigid bodies. Consequently the normal impulse pN n at the collision point P (Figure 2) is
t1

pN =
t0

fN (t)dt.

(15)

In this paper these conditions (11), (12), (13) are applied to calculate normal collision impulses p.

3 Friction Impulse
If two objects are in contact and sliding, friction force will work on sliding point of the objects. Similarly if the colliding point between objects is sliding, both collision impulse and impulsive friction force will work. In this section we describe the denition of the impulsive friction force.

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 the coefcient of dynamic friction at P. The tangent impulse pT is dened by the product of d and pN as following equation (16).
t1

pT =
t0

d fN (t)dt = d pN

(16)

3.1 Friction and Velocity


If friction force works in collision, the tangent collision impulse pT t will act, where t is the unit vector tangent to the colliding edge (Figure 2). In this case the relation between the normal and tangent velocity and impulse variables is linear and can be written in the same way as equation (9) as follows.

If the relative tangent velocity of two objects at P keeps zero in the collision period, the friction force fT (t) is static and at most s fN under Coulombs friction model. The tangent impulse pT is limited by |pT |
t1

s fN (t)dt = s pN ,
t0

(17)

where s is the coefcient of static friction. 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

pN n

Force

Fm

Normal Force Tangent Force

n
pT t
t

d Fm
time
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 changing friction mode by numerical integration of both contact force and friction force, but it is difcult to apply this method for simultaneous collision because of complex relations between multiple collision points. In order to simplify the change of velocity in simultaneous collision at multiple points we make the following assumptions. Velocity of objects does not change in collision period. Velocity of objects changes discontinuously at the end of the collision period The relation between impulse and velocity is made linear by these assumptions.

Unnatural Motion

Desirable Motion

Figure 4: Unnatural Motion caused by equation (22) |pTi | di pNi , (23)

3.3 Static Friction Impulse


If the relative tangent velocity before collision vTi is zero, static friction force will work in the collision period in order to minimize vTi , relative tangent velocity after collision. Static friction force fTi is limited by |fTi (t)| si fNi (t) (18)

that is, dynamic friction force stops working in the collision period when the tangent velocity reaches zero. In other words, if the dynamic friction force can not achieve vTi = 0, dynamic friction force will keep working during the collision period and |pTi | = di pNi . This condition is vTi (|pTi | di pNi ) = 0. The sign of pTi is opposite to that of vTi . (24)

where si is the coefcient of static friction. By integrating this condition we get |pTi | =
t1 t0

3.5

Algorithm of Calculation

|fTi (t)|dt si

t1

The conditions of force and impulse described in equations (20), (21), (23) and (24) are |pTi | i pNi , vTi (|pTi | i pNi ) = 0 (25)

fNi (t)dt
t0

(19)

Hence tangent impulse pTi is limited by |pTi | si pNi . (20)

where i is decided by the relative tangent velocity before collision at point i as follows. i = di si (if vTi = 0) (if vTi = 0) (26)

If the static friction force can not maintain vTi = 0, maximum static friction impulse will work and |pTi | = si pNi . This condition is written vTi (|pTi | si pNi ) = 0. The sign of pTi is opposite to that of vTi . (21)

3.4 Dynamic Friction Impulse


If vTi is not zero, dynamic friction force will work in the collision period, and tangent impulse pTi is written as |pTi | = di pNi (22)

where di is the coefcient of dynamic friction. However, if |vTi | is small enough, pTi calculated by this equation may reverse the sign of vTi . For example, when we drop a ball with some tangent velocity on a horizontal plane, it may be observed that the ball seems to bounce off an invisible wall. In order to prevent this unnatural phenomenon, we modify the equation (22) as follows 185

Because solving equation (14) under the conditions (25) (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 the Dantzigs algorithm extended by Baraff. The algorithm works as follows. First, all collision conditions but those for the rst colliding point are ignored, and pNi and pTi are set to zero for all i. The algorithm begins by satisfying the conditions (11), (12), and (13) for pN1 and vN1 . Next, the algorithm satises the conditions (25) and (26) for pT1 and vT1 while maintaining the conditions for pN1 and vN1 . This second operation for pT1 and vT1 may need to modify pN1 and vN1 retroactively. And then, the algorithm satises the conditions for pN2 and vN2 . By satisfying collision conditions of each colliding point in this way, collision impact p can be all calculated.

4 Results
Comparison of Parts Feeding Speed (0 ramp)

Based on this formulation we have developed a simulator for the motion of rigid bodies with impulse, friction impulse, contact force, and friction force. The simulator (Figure 6) is developed on an SGI R4000 workstation. The results of some simulation of parts feeding mechanisms are shown. We also implement an Impulse-based[5] simulator and compare the results of simulation by both methods.

200 150

Position (mm)

100 50 0 -50 With Tangent Impulse Without Tangent Impulse 0 0.2 0.4 0.6 Time (sec.) 0.8 1

4.1 Bowl Feeder


A vibratory bowl feeder [7] (Figure 5) transports parts upward on the slanted feeding track by vibrating the track. If no friction impulse works, steady friction force will not work until the collision becomes very small between parts and feeding track. Figure 7 shows the change in the position of an object on the feeding track along time. The cycle of the vibration of the track is 16Hz. The difference in those two graphs is in the ramp angle, 0 and 3 respectively. The comparison of parts feeding speed shows that the mechanism can not feed parts in the 3 ramp, if the friction impulse does not work. It can be said that the simulation of declined feeding track needs friction impulse to feed parts upward.

Comparison of Parts Feeding Speed (3 ramp)


100 50

Position (mm)

0 -50 -100 -150 0 0.2 0.4 0.6 Time (sec.) 0.8 1 With Tangent Impulse Without Tangent Impulse

Figure 7: Feeding Speeds with/without Friction Impulse

Comparison of Parts Feeding Speed (0 ramp)

4.2 Comparison with Impulse Based Method


The results of simulation of the vibratory bowl feeder (Figure 5) by our method and Impulse Based Method [5] are shown in Figure 8. Though there are small difference between the simulated motions of parts, almost no difference in the steady feeding speed is found. This result can be considered as evidence for the validity of our proposed algorithm.
Position (mm)

200 150 100 50 0 -50 0 0.2 0.4 0.6 Time (sec.) 0.8 1 Our Method Impulse Based Method

Bowl Electromagnet

Comparison of Parts Feeding Speed (3 ramp)


200 150

Position (mm)

Lamellar Spring

100 50 0 -50 0 0.2 0.4 0.6 Time (sec.) 0.8 1 Our Method Impulse Based Method

Figure 5: Bowl Feeder [7]

vibration

Figure 8: Comparison of our Method and Impulse Based Method [5]

Figure 6: Simulator

186

5 Application to Parts Orienter


We also simulate parts orienting mechanisms by the simulator based on our method. A mechanism [8] (Figure 9) uniforms the direction of parts with its center partition. The result shows that the simulation can calculate that the mechanism orients parts in both directions. (1) (2) (3) (4) (5) (6)

The results of simulating another mechanism [8] are shown in Figure 10. The mechanism uniforms the direction of parts by hooking their opening ends. The rst and second results (top and middle) shows that the mechanism orient the direction of parts. The third result (bottom) is one of the bad congurations of the mechanism, where the hook is too short to turn parts upside down, and parts are caught on the way to the feeding chute.

Conclusion

(1)

(2)

(3)

(4)

(5)

(6)

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 Baraffs formulations for contact force, friction 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
(6) [1] Mathew Moore and Jane Wilhelms, Collision detection and response for computer animation, in Computer Graphics Proceedings, 1988, pp. 289298. [2] James K. Hahn, Realistic animation of rigid bodies, in Computer Graphics Proceedings, 1988, pp. 299308. [3] David Baraff, Analytical methods for dynamic simulation of non-penetrating rigid bodies, in Computer Graphics Proceedings, 1989, pp. 223232.

(1)

(2)

(3)

(4)

(5)

(1)

(2)

(3)

(4)

(5)

(6)

[4] David Baraff, Fast contact force computation for nonpenetrating rigid bodies, in Computer Graphics Proceedings, 1994, pp. 2334. [5] Brian Mirtich and John Canny, Impulse-based simulation 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 the IEEE International Conference on Robotics and Automation, 1996, pp. 11271132. [7] Kenneth R. Treer, Automated Assembly, The Society of Manufacturing Engineers, 1979. [8] G. Boothroyd and A. H. Redford, Mechanized Assembly, 1969.

(1)

(2)

(3)

(4)

(5)

(6)

Figure 10: Orientation of Cup Parts (2) 187

You might also like