Simulation of Rigid Body Motion with Impulsive Friction Force

Document Sample
Simulation of Rigid Body Motion with Impulsive Friction Force Powered By Docstoc
					                              Simulation of Rigid Body Motion with
                                    Impulsive Friction Force

                       Katsuaki Kawachi                 Hiromasa Suzuki                 Fumihiko Kimura

                   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 simplified 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].

2.1 Basic Assumptions
We simulate motion of bodies in two dimension with these

      • Bodies are rigid and do not deform by contact or col-
                                                                                                        GA                n
                                                                                       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 coefficient 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)
neous collision at multiple points we make the following
                                                                                                rA × pN n
assumptions.                                                                    ωA = ωA +                   .                   (4)
      • 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 defined 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 defined 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

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] defined the
                                                                         3.2    Friction Force in Collision Period
following conditions using the coefficient 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 coefficient of dynamic friction at P. The tangent impulse
                                                                         pT is defined 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)
the definition 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)
     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 coefficient 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

                             pN n                                                                                         Normal Force
                                                                                    Fm                                    Tangent Force
                                               n                                d Fm
                      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

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 difficult 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
                                                                             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 coefficient 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)
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 first 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 coefficient of dynamic friction. However,                 Next, the algorithm satisfies 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.             satisfies 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.

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,                                 150
contact force, and friction force. The simulator (Figure 6)

                                                                           Position (mm)
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
                                                                                                 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)
4.2 Comparison with Impulse Based Method
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
                                                                                                 0          0.2     0.4     0.6     0.8   1
                                                                                                                    Time (sec.)
                 Bowl                                                                        Comparison of Parts Feeding Speed (3° ramp)
                                                                           Position (mm)

                  Spring                                                                   100

                 Figure 5: Bowl Feeder [7]
                                                                                             0                        Our Method
                                                                                                            Impulse Based Method
                                                                                                 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

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 first 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 configurations 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

           Figure 9: Orientation of Cup Parts (1)
                                                                       [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,
          Figure 10: Orientation of Cup Parts (2)