A State Transition Diagram for Simultaneous Collisions with Application in Billiard Shooting Yan-Bin Jia1 , Matthew T. Mason2 , and Michael A. Erdmann2 1 2 Department of Computer Science, Iowa State University, [email protected] School of Computer Science, Carnegie Mellon University, {mason+,me}@cs.cmu.edu Abstract. This paper models a multibody collision in the impulse space as a state transition diagram, where each state represents a phase during which impacts are “active” at only a subset of the contact points. In the course of the collision, an impact may become active and inactive multiple times, depending on whether the two involved bodies are instantaneously penetrating into each other or not. A state transition happens whenever an active impact finishes restitution, or an inactive impact gets reactivated. The elastic energy due to an impact is not only affected by the impulse at the corresponding contact point, but also by other impulses exerted on the two involved bodies during the impact. Consequently, Poisson’s impulsebased law of restitution could result in negative energy. A new law governing the loss of elastic energy during restitution is introduced. Convergence of the impulse sequence generated by the state transition diagram is established. The collision outcome depends on the ratios of the contact stiffnesses rather than on their individual values. The collision model is applied to billiard shooting in which the cue stick impacts the cue ball, which in turn impacts the pool table. The system is driven by the normal impulses at the two contacts with the tangential impulses determined via a contact mode analysis. 1 Introduction Analysis of frictional impact has been a subject of controversy in order to be consistent with Coulomb’s law of friction, Poisson’s hypothesis of restitution, and the law of energy conservation. It requires correct detection of contact modes (sliding, sticking, reverse sliding) and impact phases (compression and restitution). When the sliding direction stays constant (with possible reversals), the tangential impulse can be determined from the normal impulse based on Coulomb’s law via case-based reasoning. The total impulse stays in the plane and grows along a polyline. Routh [15] developed a graphical method that constructs the trajectory of impulse accumulation based on Poisson’s hypothesis. It was applied in the subsequent studies of two-dimensional rigid-body collisions with friction by Han and Gilmore [6] and by Wang and Mason [18] who classified impact and contact modes and offered a solution for each case. Later, Ahmed et al. [1] extended Routh’s method to impact analysis for multibody mechanical systems with a similar classification. 2 Yan-Bin Jia, Matthew T. Mason, and Michael A. Erdmann To an impact in three dimensions, however, Routh’s method hardly applies since the impulse builds along a curve in the 3-dimensional impulse space. The sliding direction generally varies during the impact. A differential equation in the normal impulse can be set up and solved to determine how the sliding direction varies in the course of the impact, as shown by Keller [9]. Closed-form solution does not exist for many three-dimensional impact problems. This paper deals with simultaneous collisions in three dimensions. No existing impact laws are known to model the physical process well. Previous methods either sequence them into two-body collisions [5] by order of normal approach velocity, or set up linear complementarity conditions at all contacts [16,2]. High-speed photographs of such collisions show that multiple objects are simultaneously in contact rather than two at a time [17]. Stewart [17] pointed out that one difficulty with multiple contacts lies in the lack of a continuous impact law. Observations seem to suggest, during simultaneous collisions, the involved objects may be breaking and reestablishing contacts multiple times. We represent the collision process as a sequence of states based on which impacts are instantaneously “active”, or equivalently, which contacts are instantaneously effective. During a state, multiple impacts may act upon multiple bodies. A transition from one state to another happens when either an active impact finishes restitution or an inactive impact gets reactivated. A state transition diagram is introduced in Section 2 via the example of a ball falling onto another resting on the table. The impulses produced by a pair of active impacts accumulate at a relative rate determined by themselves and by the stiffness ratio. The elastic energy stored at one contact point is no longer affected by just the impulse at this point, but also by those at other contact points involving one or both of these two bodies in the duration of this impact, which could span multiple states. Poisson’s hypothesis may lead to overgrowth of an impulse during restitution, driving the contact elastic energy negative sometimes. The solution is to introduce a new law of restitution that oversees the loss of elastic energy not the growth of impulse.1 We will also see that the outcome of impact is affected by the ratios of stiffnesses at the contact points. This concept of “relative stiffness” is cited in [17] as missing from the current impact literature. Section 3 applies the state transition diagram to model billiard shooting with a cue stick. This is a three-dimensional problem with simultaneous impacts between the cue stick and the cue ball, and between the cue ball and the pool table. Analysis of contact modes due to friction is required. In Section 4, we will discuss the extension to simultaneous collisions involving three or more bodies, and introduce an ongoing project to build a robot pool player. 1 The roles of the coefficients of restitution and friction were discussed in respect of energy loss [4], and solutions were given to two planar single-impact problems. A State Transition Diagram for Simultaneous Collisions 2 3 System of Two Balls We start by considering the problem of a rigid ball B1 with mass m1 and velocity v0 < 0 striking down onto another rigid ball B2 with mass v1 m1 m2 and resting on a table. The centers of the two balls are vertically aligned, as shown on the left l1 + x 1 F1 in Fig. 1. The lower ball B2 in turn impacts the v2 B v m2 table. Let v1 and v2 be the respective velocities 0 m 1 1 (< 0 if downward) of the two balls during the coll 2 + x2 F2 m2 B 2 lision, where the gravitational forces are negligible compared to the large impulsive forces. Our goal Fig. 1. Two-ball collision. is to determine the ball velocities at the end. We attach a virtual spring between B1 and B2 , and another one between B2 and the table, as shown on the right in Fig. 1. Let x1 and x2 be the changes in the lengths of these springs, which have stiffnesses k1 and k2 , respectively. The kinematic and dynamic equations are given below: ẋ1 = v1 − v2 , (1) ẋ2 = v2 , m1 v̇1 = F1 = −k1 x1 , m2 v̇2 = F2 − F1 = k1 x1 − k2 x2 , (2) (3) (4) where F1 and F2 , both positive, are the contact forces, and the dot ‘·’ denotes differentiation with respect to time. The above are a system of four differential equations in four variables vi and xi , i = 1, 2. Since an impact happens in infinitesimal time, it is best analyzed in the impulse space. During the two-ball collision, there are two impulses: I1 = Rt Rt (0) (0) t0 F1 dt and I2 = t0 F2 dt, whose initial values I1 and I2 are both zero at the start of the collision. Immediately, I˙1 = −F1 and I˙2 = −F2 . Integration of (3) and (4) yields the ball velocities in terms of the impulses: 1 (0) (0) ∆I1 , where ∆I1 = I1 − I1 , (5) v1 = v1 + m1 1 (0) (0) v2 = v2 + (∆I2 − ∆I1 ), where ∆I2 = I2 − I2 . (6) m2 The two virtual springs store elastic energies E1 = 21 k1 x21 and E2 = 21 k2 x22 , respectively. To eliminate x1 , from equations (1), (3), (5), (6) we obtain (0) (0) v1 − v2 + ( m11 + m12 )∆I1 − m12 ∆I2 dx1 ẋ1 = = . (7) dI1 −k1 x1 I˙1 Multiply both sides of the above equation with −k1 x1 dI1 and then integrate. (0) We obtain the change in the elastic energy E1 from its initial value E1 : Z I1 1 1 2 1 1 (0) (0) ∆I1 + + ∆I2 dI1 . (8) ∆E1 = v2 − v1 ∆I1 − 2 m1 m2 m2 I1(0) 4 Yan-Bin Jia, Matthew T. Mason, and Michael A. Erdmann (0) Similarly, from equations (2) and (6) we derive the change in E2 from E2 : Z I2 1 1 (0) 2 ∆E2 = −v2 ∆I2 − ∆I + ∆I1 dI2 . (9) 2m2 2 m2 I2(0) A relationship between the two impulses I1 and I2 can be now set up: v u (0) r √ k2 E2 k2 u E + ∆E2 k2 x2 I˙2 dI2 . (10) = = = √ = · t 2(0) ˙ dI1 k1 x1 k1 k1 E1 I1 E + ∆E1 1 With no closed-form solution to (10) in general, the impact process is simulated via numerical integration with a step size, say, h. To start the 2 process, we need to initialize ρ = dI dI1 (h). With I1 (h) = h and I2 (h) ≈ ρh, we substitute into (8) and (9) the following impulse integrals: Z ρh Z ρh Z h 1 1 2 I2 ∆I1 dI2 ≈ ρh2 . dI2 = ρh and ∆I2 dI1 ≈ ρ 2 2 0 0 0 Then plug ∆E1 and ∆E2 into (10) and square both sides. A few more steps of symbolic manipulation lead to a quadratic equation: ρ2 + b 1 ρ − k2 = 0, k1 where b1 = −2 · m2 v0 k2 m2 + . −1− h m1 k1 Since v0 < 0, b1 > 0 and 2k2 dI2 p (h) = ρ = . dI1 k1 · (b1 + b21 + 4k2 /k1 ) As h tends to zero, b1 goes to infinity. Hence 2.1 (11) dI2 dI1 (0) = limh→0 ρ = 0. State Transition Diagram An impact is divided into two stages [12, p. 212]: compression and restitution. In the classical problem of a particle of mass m with downward velocity v0 striking a horizontal table, the impact ends compression when the velocity v = 0, which gives the impulse I = −mv0 . Poisson’s hypothesis states that I will accumulate −emv0 more during restitution to yield the final velocity −ev0 , where e is the coefficient of friction. Setting up a virtual spring at the 1 2 contact point, we can easily show that the elastic energy E = −v0 I − 2m I . 1 2 Restitution starts with E assuming the maximum value 2 mv0 and ends with loss of energy 12 mv02 · (1 − e2 ). Since 0 ≤ e ≤ 1, there is enough elastic energy to provide the impulse accumulation −emv0 during restitution. Coming back to the two-ball collision problem, the ball-ball and balltable impacts end their compressions when ẋ1 = 0 and ẋ2 = 0, respectively; or equivalently, by (1), (2), (5), and (6), under the initial conditions, when 1 1 1 I1 − + I2 = 0 and I1 = I2 . (12) v0 + m1 m2 m2 A State Transition Diagram for Simultaneous Collisions 5 S1 v1 1 spring 1 ends restitution first ( v1 > v2 ) S2 v1 spring 2 ends restitution first ( v2 > 0 ) v2 2 v1 = v2 before spring 2 ends restitution v2 = 0 before spring 1 ends restitution both springs end restitution together v2 S3 v1 v2 End of Collision otherwise, spring 2 ends restitution ( v1 > v2 > 0 ) v1 v2 otherwise, spring 1 ends restitution ( v1 > v2 > 0 ) Fig. 2. State transition diagram for the two-ball collision in Fig. 1. During each state, v1 and v2 can be either upward or downward, except v2 is upward in S3 . We let e1 , e2 ∈ [0, 1] be the coefficients of restitution for the two impacts. The two impacts will hardly start restitution at the same time, neither will they do so to end restitution. When one of them, say, between the two balls, finishes restitution first, the other one (between the ball and the table) will continue. As a result, the two balls may start moving toward each other at some point later, reactivating the first impact. The above discussion suggests us to partition the collision process into (repeats of) three states: S1 when both impacts are active, S2 when only the ball-table impact is active, and S3 when only the ball-ball impact is active. Fig. 2 shows the state transition diagram. The collision starts with the state S1 . A transition from S1 to S2 happens when the ball-ball impact finishes restitution before the ball-table impact. So the two balls are “breaking” contact momentarily. Since the impulse I1 was in restitution just before the transition, ẋ1 > 0, which by (1) implies v1 > v2 when S2 begins. Because gravity is neglected during the collision, v1 will not vary during S2 . The state will transition back to S1 when v2 increases to become equal to v1 . If this does not happen, the ball-table impact will finish restitution with v1 ≥ v2 , hence the end of collision. Similarly, a transition from S1 to S3 happens when the ball-table impact finishes restitution before the ball-ball impact. The state S3 will transition to S1 when v2 = 0, that is, when the lower ball is “re-establishing”contact with the table. Otherwise, the collision will end within the state. The transition diagram describes the collision as a sequence of states, each of which is one of S1 , S2 , S3 . Now, Ii , i = 1, 2, represent the impulses 6 Yan-Bin Jia, Matthew T. Mason, and Michael A. Erdmann accumulated since the start of the collision. Within a state, the superscript ‘(0)’ continues to refer to the starting value of a physical quantity, and the (0) (0) notation ‘∆’ its increment so far in the state. In S1 , I1 = I2 = 0 if it is (0) (0) the start of the collision; I1 = 0 if the previous state is S2 ; and I2 = 0 (0) (0) if the previous state is S3 . In S2 (S3 , respectively), I1 = ∆I1 = 0 (I2 = ∆I2 = 0, respectively). An impact may start with one state, end compression in another, and finish restitution with a third. By induction on the number of states, we can generalize (5) and (6): v1 = v0 + 1 I1 m1 and v2 = 1 (I2 − I1 ). m2 (13) It is easy to show that the conditions in (12) respectively hold when the two impacts end their compressions in a state. 2.2 An Energy-Based Model The relationship (8) between ∆E1 and ∆I1 in the state S1 depends on the masses and initial velocities of both balls, as well as an integral of ∆I2 over I1 . If we were to let the impulse I1 accumulate by a factor of e1 after restitution under Poisson’s hypothesis, there may not be enough elastic energy E1 left to provide such an increase.2 To deal with multiple simultaneous impacts, we limit the amount of energy to be released during restitution relative to the amount accumulated during compression. Since in the single particle impact case, the loss of energy is 12 mv02 · (1 − e2 ), we see that e2 is the needed ratio. When compression ends, the elastic energy is at its maximum Emax . Restitution will finish when E = (1 − e2 )Emax . The remaining amount e2 Emax can be seen as lost at the state transition instead of at the end of compression. In this view, equations (8) and (9) hold during a state for our convenience, and so does the total (elastic and dynamic) energy from (5), (6), (8), (9). (0) (0) Single-Impact States The state S2 starts with v2 < v1 since restitution (0) of the ball-ball impact has just finished. During the state, v1 ≡ v1 and ∆I1 ≡ 0. From (6), we conclude that restitution, if not in process, would happen (0) (0) 2 (0) during the state when ∆I2 = −m2 v2 with E2max = E2 + 21 m2 v2 by (9). (0) The next state will be S1 if S2 starts during compression and v1 < 0. Since (0) v2 increases toward zero by (6), it will reach v1 before compression ends, hence the transition to S1 . Under the new energy-based model, a transition (0) (0) 2 to S1 will also happen if S2 starts during restitution with E2 + 21 m2 v2 2 > We will wait until the end of Section 2.3 to show an example after the states are completely described. A State Transition Diagram for Simultaneous Collisions 7 (0) 2 1 2 m2 v1 + (1 − e22 )E2max . If neither case of transition happens, the collision will end. The impulse accumulation during S2 is (0) (0) m2 (v1r − v2 ), ! if S1 next, (0) 2 2 )E ∆I2 = E −(1−e (0) (0) 2max 2 v2 + 2 2 , if impact ends. − v2 m2 m2 A similar analysis based on (8) applies to S3 to determine whether the collision will end or S1 will follow, and the amount ∆I1 during S3 . Double-Impact State Evolution in the state S1 is governed by the differential equation (10) with increasing impulses I1 and I2 . If S1 is the start of the collision or follows S3 , I1 is the primary impulse (variable), and I2 is the secondary impulse (function of I1 ). If S1 follows S2 , the roles of the two dI1 (h) impulses reverse. Similar to (11), we initialize the impulse derivatives dI 2 dI1 dI2 dI2 or dI1 (h) accordingly. Again, dI2 (0) = 0 and dI1 (0) = 0, respectively, in these two cases. At each step of the numerical integration of (10), we check (12) to see if compression has just ended for either impact, and if so, set the maximum elastic energy E1max or E2max accordingly. The state transitions to S2 when E1 = (1 − e21 ) · E1max during restitution of the ball-ball impact, or to S3 when E2 = (1 − e22 ) · E2max during restitution of the ball-table impact, whichever occurs earlier. 2.3 The Impulse Curve In the state S1 , the differential equation (10), along with (8) and (9), has only one occurrence of the stiffness ratio kk21 but none of k1 or k2 separately. In the states S2 and S3 , the impulse accumulations are independent of k1 or k2 . Therefore, we have Theorem 1. The outcome of the collision depends on the stiffness ratio k1 /k2 but not on individual values of k1 and k2 . The next theorem bounds the total strain energy using the impulses. Theorem 2. The following is satisfied during the collision: 0 ≤ E1 + E2 ≤ −v0 I1 − 1 1 2 I − (I1 − I2 )2 . 2m1 1 2m2 (14) Proof. By induction on the number of states while making use of equations (8), (9), and (13). Details are omitted. 8 Yan-Bin Jia, Matthew T. Mason, and Michael A. Erdmann In the plane with I1 and I2 as the two axes, the impulse curve describes the evolution of their values during the collision. Theorem 2 states that this curve is bounded by an ellipse: 1 1 2 I1 + (I1 − I2 )2 + v0 I1 = 0. 2m1 2m2 m1 m2 m1 + v1 < v2 v2 > 0 (15) v1 > v2 v2 > 0 III −2m1v 0 The semi-minor axis (the I1 -axis) of the ellipse rotates from the x-axis by an angle 2m1 1 and its center is at θ = 2 arctan − m2 −v0 cos θ v0 sin θ . As shown in 1−sin(2θ) , sin2 θ 1+sin(2θ) cos2 θ + l1 I2 l2 IV v1 > v2 v2 < 0 − m 1v 0 I v1 < v2 v2 < 0 −m1v 0 II −2m1v 0 I1 m2 Fig. 3, the ellipse is tangent to the I2 -axis and the line I1 = −2m1 v0 at the origin and the point (−2m1 v0 , −2m1 v0 ), respectively. 3 m2v0 The impulse curve is monotone in the sense that I1 and I2 never decrease. This is clear if Fig. 3. Impulse plane. the state is S2 or S3 in which one of the impulses increases while the other does not change its value. After S1 starts, the strain energies √ √ E1 , E2 > 0, which implies the derivative dI2 /dI1 = k2 E2 / k1 E1 > 0, hence the monotonicity. Add two lines ℓ1 and ℓ2 defined by the two equations in (12). Referred to as the compression lines, they partition the feasible region (I1 ≥ 0) into four smaller regions I–IV. The impulse curve evolves from the origin into region I within the state S1 2 as dI dI1 increases from 0. As I1 increases unconstrained, the curve will cross ℓ1 (or ℓ2 ) when the ball-ball impact (or the ball-table impact) ends compression. During the state S2 , the curve stays to the right of the line ℓ1 , and evolves vertically upward, ending either inside region IV (in which case the collision ends) or on the line ℓ1 for a transition to S1 . Similarly, during S3 , the curves stays to the left of ℓ2 and evolves horizontally to the right, ending either inside the region IV or on the line ℓ2 for a transition to S1 . According to the diagram in Fig. 2, if the state transitions end, v1 ≥ v2 ≥ 0, the impulse curve must terminate inside region IV or on it boundary. The curve will reach the bounding ellipse at termination only if e1 = e2 = 1. Fig. 4 illustrates a collision instance which results in a sequence of four states S1 , S3 , S1 , S2 . In (a), the impulse curve is plotted, along with the bounding ellipse: −3I1 + 21 I12 + 12 (I1 − I2 )2 = 0, and the two compression lines ℓ1 : −3 + 2I1 − I2 = 0 and ℓ2 : I1 = I2 . The impulse segments corresponding to different states are labeled in the order and separated by the dots. The first impulse segment (of a S1 state) crosses ℓ2 before ℓ1 , indicating that the 3 The two horizontal bounding lines are I2 = (−m1 ± tangency to the ellipse at I1 = −m1 v0 . √ m1 m2 )v0 with points of A State Transition Diagram for Simultaneous Collisions I2 4 state S1 S3 S1 S2 3 E2 l1 l2 9 v1 v2 I1 I2 Comp. Res. 0.6085 0.3574 3.6085 3.9659 C2-C1-R2 0.9659 0 3.9659 3.9659 2.4413 −0.1212 5.4413 5.3201 R1 2.4413 0.7357 5.4413 6.177 C2-R2 (b) 2 1 0.6692 (0.3826, 0.6692) 4 3 1 (3.79, 0.4609) I1 2 E1 3.5726 3.79 (a) (c) Fig. 4. The impulse and energy curves for a collision of two balls as in Fig. 1 with masses m1 = m2 = 1kg, the stiffness ratio kk21 = 10, the coefficients of restitution √ √ e1 = 0.9 and e2 = 0.4, and the upper ball velocity v0 = −3m/s. ball-table impact goes into restitution before the ball-ball impact (which is followed by the end of restitution of the first impact). This is marked as C2-C1-R2 in the rightmost entry of the first row in Table (b). Each row in this table describes the status at the end of a state. Diagram (c) in Fig. 1 plots the evolution of the elastic energies E1 and E2 with four segments also labeled in the state order. It shows that energy losses happened after all but the second state. The loss in the total (elastic and dynamic) energy E during the collision is calculated to be 1.2494. Suppose the impulse accumulation during restitution is decided by the coefficient of restitution according to Poisson’s hypothesis for single impact. The same collision yields a new state sequence. During the fourth state, the impulse curve exits the bounding ellipse (15) — the increase of I1 to the required value 5.906 results in a negative elastic energy (E1 = −1.01). It is time now to establish the convergence of the impulse sequence. First of all, every state terminates. This is trivial for S2 and S3 for which ∆I1 and ∆I2 are given in Section 2.2. Within the state S1 , the ‘primary impulse’ must stop increasing because the impulse curve is bounded inside the ellipse (15). (i) (i) Denote by I1 and I2 the values of the two impulses at the end of the (i) (i) ith state. On the impulse curve, the sequence {(I1 , I2 )} is monotone nondecreasing. In case it is finite, the state transition diagram terminates as the impulse curve stops. In case the sequence is infinite, since it is bounded 10 Yan-Bin Jia, Matthew T. Mason, and Michael A. Erdmann inside the ellipse (15), by a result from calculus it must converge to some point (I1∗ , I2∗ ). We can show that this point must lie on the boundary of region IV in Fig. 3, and there exists some integer N > 0 such that all the states after the N th will alternate between S1 and a same state (either S2 or S3 ). Theorem 3. The state transitions will either terminate or the generated impulse sequence will converge with either v1 = v2 ≥ 0 or v1 > v2 = 0. 2.4 Preliminary Experiment To validate the collision model, we let a ping pong ball B1 fall onto another one B2 resting on a plexiglass block. The ball has mass 0.00023kg and radius 0.019m. The following setup helps align the centers of the two balls with a vertical line. The block is placed horizontally on the marker tray of a (vertical) office whiteboard, and against a vertical axis ℓ drawn on the board. The ball B1 is held in the hand. Both balls are positioned almost in contact with the whiteboard such that ℓ “passes through” their centers in the frontal view. When B1 is released, it falls freely down onto B2 . To measure the coefficient of restitution e2 between a ball and the plexiglass surface, we v1 drop the ball from certain height onto the sur- (m/s) face and record the rebounding height (on the axis by human vision). Let ∆h1 and ∆h2 be the changes in the height of the ball’s center during the drop and the rebound, q respec√ √ 2 tively. Then e2 ≈ 2g∆h2 / 2g∆h1 = ∆h ∆h1 . Sixteen measurements from different heights v2 one trial (with four balls) have generated a mean estimate of 0.846529 with a standard deviation of 0.020827. To measure the coefficient of restitution e1 , we use pliers to hold B2 steady on the surface. The ball B1 is dropped from the − v0 0 same height onto B2 multiple times and the (m/s) 2 highest rebound (from the closest-to-a-perfect hit) is recorded. The mean value of e1 calcu- Fig. 5. Collisions between two lated over eight different dropping heights is ping pong balls and a plexiglass surface: experimental re0.807755 with standard deviation 0.021231. sults (dots) vs. predictions A collision trial involves dropping B1 from (curves) by the impact model a fixed height onto B2 multiple times, and (with k2 /k1 = 1.5). choosing the one with the highest rebounds of both balls. The velocity v0 of B1 right before the collision, and the velocities v1 and v2 of the two balls right after the collision are calculated. Results from ten trials, each of a different dropping height, are plotted in Fig. 5 as pairs of points (−v0 , v1 ) and (−v0 , v2 ). The figure also plots v1 and v2 as functions of v0 computed by the impact model as v0 varies from −2m/s to −4m/s. A State Transition Diagram for Simultaneous Collisions 11 Very small vertical distances exist between the velocity points from the experiment and the corresponding v1 - or v2 -curves, in contrast to the large gap between the two curves. Also, the growth patterns of the two discrete point sequences, {(−v0 , v1 )} and {(−v0 , v2 )} agree with those of the v1 and v2 -curves, respectively. Despite the rather primitive setup and measurement method, the result suggests a reasonably good match between the model and the physical collision process. 3 Shooting a Billiard We apply the impact model to the problem of a cue stick shooting the cue ball in the game of pool, as illustrated cue in Fig. 6. The cue stick has initial velocity v c0 . Let c be stick the unit vector v c0 /kvc0 k, n the unit normal at the point c I1 of impact on the ball, and z the unit normal on the table n where the ball makes contact. The condition n·c < 0 must I2 cue hold for the shot to happen. During the shot, we assume z ball that the cue stick is constrained to move along c or −c.4 The cue stick has velocity v c , the ball has velocity v and Fig. 6. Pool shot. angular velocity ω, all varying during the shot. Denote by I 1 and I 2 the impulses at the cue-ball and the ball-ball contacts, as shown in the figure. The impulse I 1 consists of a normal component I1n n and a tangential component I 1⊥ . The impulse I 2 consists of a vertical component I2z z and a horizontal component I 2⊥ . We have I1n > 0 or I2z > 0 whenever the corresponding impact is active. Two virtual springs, with stiffnesses kcb and kbt , are attached at the points of impact in alignment with the n ω normals n and z, respectively. Based on the impact 1 vc model, the shot by the cue stick has three states: S1 v (illustrated in Fig. 7) during which both the ball-ball and the ball-table impacts are active, S2 during which S1 2 z only the ball-table impact is active, and S3 during which only the ball-ball impact is active. The shot starts with S1 and ends in either S2 or S3 . Fig. 7. State S1 . Denote by v cb the relative velocity of the cue stick to the ball, and by v bt that of the ball to the pool table. The state transition diagram has the same structure as that in Fig. 2 except in the transition conditions, v1 − v2 and v2 are respectively replaced by the normal velocity components v cb · n and v bt · z. A cue-ball impact is in compression when v cb · n < 0. A ball-table impact is in compression when v bt · z < 0. If the cue-ball impact finishes restitution before the ball-table impact, the state S1 switches to S2 with v cb · n > 0. If the latter impact finishes first, the state transitions to S3 with v bt · z > 0. A transition from S2 to S1 happens 4 This is the case with our design of a mechanical cue stick to be shown in Fig. 8. 12 Yan-Bin Jia, Matthew T. Mason, and Michael A. Erdmann when the cue stick is about to penetrate into the ball (v cb ·n = 0). Otherwise, restitution will end in S2 with v bt · z > 0 which, together with v cb · n ≥ 0, marks the end of the shot. Similarly, S3 transitions back to S1 when the ball is about to move downward (v bt · z = 0) before restitution ends; otherwise, the shot ends. If the cue stick shoots the ball below its equator (i.e., n · z < 0) or at the equator horizontally or upward, only the cue-ball impact exists. In this case, the transition diagram has only one state — S3 . 3.1 Dynamics and Impact State Analysis The symbols (0) and ∆ carry the same meanings as in Section 2. For instance, (0) ∆v cb = v cb − v cb is the change in the relative velocity of the cue stick to (0) the cue ball during a state from its starting value v cb . Let M be the mass of the cue stick. Let the ball have radius r and mass m, thus angular inertia 25 mr2 . Changes in the velocities during a state can be expressed in terms of the impulse accumulations ∆I 1 and ∆I 2 : 1 1 (∆I 1 · c)c, ∆v = (∆I 2 − ∆I 1 ), (16) M m 5 1 (17) rn × (−∆I 1 ) + (−rz) × ∆I 2 , ∆ω = 2 mr2 ∆v cb = ∆v c − ∆v − ∆ω × (rn), ∆v bt = ∆v − ∆ω × (rz). (18) ∆v c = To find out how I1n and I2z are related to each other in the state S1 , we notice that the two virtual springs at the cue-ball and the ball-table (0) contacts have their lengths change at the rates ẋ1 = n · (v cb + ∆v cb ) and (0) ẋ2 = z · (v bt + ∆v bt ), respectively. From these rates, I˙1n = −kcb x1 , and dx1 dx2 I˙2z = −kbt x2 , we obtain the derivatives dI and dI as linear expressions 1n 2z in ∆I 1 and ∆I 2 over −kcb x1 and −kbt x2 , respectively. Multiplying away the denominators in the derivative equations and integrating both sides of each equation, we obtain the changes in the elastic energies: 1 1 1 (0) (0) T cc + D1 − D2 , (19) ∆E1 = E1 − E1 = −n · ∆I1n v cb + M m m 1 1 (0) (0) ∆E2 = E2 − E2 = −z · ∆I2z v bt − D3 − D4 , (20) m m R I1n where the integrals during the state are defined as D1 = I (0) ∆I 1 dI1n , 1n R I1n R I2z 2 1 D2 = I (0) ∆I 2 dI1n , D3 = I (0) ∆I 1 dI2z , and D4 = 2 ∆I2z . This sets up a 1n 2z differential relationship between I1n and I2z : v u (0) r −kbt x2 I˙2z dI2z kbt u E + ∆E2 = = = · t 2(0) . (21) dI1n −kcb x1 kcb I˙1n E + ∆E1 1 A State Transition Diagram for Simultaneous Collisions 13 The system of equations (19)–(21), along with a contact mode analysis, determines the evolution within the state S1 . A closed-form solution does not exist in general. Numerical integration is performed as follows. Entering a state, we need to set dI1n to h and compute dI2z /dI1n if at the start of the shot or the previous state is S3 , or set dI2z to h and compute dI1n /dI2z if the previous state is S2 . The tangential impulse increments dI 1⊥ and dI 2⊥ , as well as D1 , D2 , D3 , D4 , are also initialized. This is similar to that for the two-ball collision as described right before Section 2.1 but is much more involved since we need also determine the contact modes. After initialization, iterate until one of the impacts ends restitution. At each iteration step, update v cb , v bt according to (18), and E1 , E2 according to (19)–(20). In case one impact is starting restitution, set maximum elastic energy E1max or E2max accordingly. Compute dI1n and dI2z by (21), and I 1⊥ and I 2⊥ based on a contact mode analysis to be described below. The iteration step finishes with updating the values of ∆I 1 , ∆I 2 , D1 , D2 , D3 , D4 . Contact Modes Contact modes depend on the tangential components v cb⊥ and v bt⊥ of the two contact velocities v cb and v bt . Let µcb and µbt be the coefficients of friction between the cue tip and the ball and between the ball and the table, respectively. When a tangential velocity, say, v cb⊥ , is not zero, the cue tip is sliding on the ball. We have dI 1⊥ = −µcb dI1n · v̂ cb⊥ under Coulomb’s law, where v̂ cb⊥ = v cb⊥ /kvcb⊥ k. Similarly, dI 2⊥ = −µbt dI2z · v̂ bt⊥ when the ball is sliding on the table. When one tangential velocity is zero, there are three cases: (1) v cb⊥ = 0 but v bt⊥ 6= 0, (2) v bt⊥ = 0 but v cb⊥ 6= 0, and (3) v cb⊥ = 0 and v bt⊥ = 0. We here treat the first case only as the other two cases can be handled similarly. In case (1), dI 2⊥ = −µbt dI2z · v̂ bt⊥ . We obtain the derivative of v cb⊥ with respect to I1n in terms of those of the tangential impulses I 1⊥ and I 2⊥ . To stay in sticking contact, dv cb⊥ /dI1n = 0, which determines the value of dI 1⊥ /dI1n . If kdI 1⊥ /dI1n k ≤ µcb , the contact stays sticking. Otherwise, the contact starts sliding in the direction of dv cb⊥ /dI1n , which can be solved. Ball-Table Impact Only In the state S2 , E1 = 0 and I 1 = 0. In the case that S2 begins during compression, we set the maximum elastic energy (0) (0) E2max = E2 + 12 m(v bt · z)2 . From (18) under ∆I 1 = 0, the change in the 7 ∆I 2⊥ . So v bt⊥ and I 2⊥ tangential velocity is ∆v bt⊥ = (1 − zz T )∆v bt = 2m will not change their directions during the state. Once v bt⊥ reduces to zero, (0) it will stay zero so as not to contradict Coulomb’s law. To make v bt zero, (0) kv k (0) . Also, S2 would switch to ∆I 2⊥ = −mvbt , which requires ∆I2z ≥ m µbt bt the state S1 when v cb ·n = 0. We hypothesize the outcome of S2 (a transition to S1 or the end of collision), and in the first case, the contact mode (sticking or sliding), and test these hypotheses by checking some derived inequalities (0) (0) (0) which depend on v, v c , v bt , E2 , ∆E2 , and E2max . 14 Yan-Bin Jia, Matthew T. Mason, and Michael A. Erdmann Cue-Ball Impact Only Entering the state S3 from S1 , the ball-table (0) impact had just finished restitution, so v bt · z > 0. Substituting ∆I 2 = 0 1 into (18), we obtain the change in the tangential velocity: ∆v cb⊥ = M (c · 7 ∆I 1 )c⊥ + 2m ∆I 1⊥ . Two special cases, c = n and c · z = n · z = 0, can be treated with analyses similar to that for the case of ball-table impact only. Generally, I 1⊥ varies its direction along a curve in the tangent plane. Numerical integration similar to that described earlier for the two-impact state is employed. The procedure is nevertheless simpler given only one impulse I 1 . 3.2 Billiard Simulation Table 1 shows four different shots and the trajectories5 resulting from three of these shots. With some simplifications,6 the ball trajectory is completely shot vertical horizontal jump massé n (−1,−2,1) √ 6√ √ 2 (− √2 , − 22√, 0) (− 22 , 0, − 22 ) (−2,−1,12) √ 149 (0) vc v (0, 0, −2) (0.3963, 0.7926, 0.4506) ω (27.97, −13.98, 0) (0.8, 0, 0) (0.6299, 0.4614, 0) (0, 0, 10.42) (1, 0, −1) (1.169, 0, 0.1883) (0, 13.15, 0) (4, 0, −16) (−0.3253, 0.2938, 6.232) (−88.48, 179.8, −3.178) (a) (b) (c) Table 1. Four shots at the cue ball (with the x-y plane on the pool table). Trajectories (a), (b), (c) are produced by the 1st, 2nd, 4th shots, respectively. On each trajectory, the red dot marks where sliding switches to pure rolling; and the green line represents the cue stick. We use the following measured physical constants: m = 0.1673kg, M = 0.5018kg, r = 0.0286m, µbt = 0.152479, ecb = 0.656532, and ebt = 0.51625. We set µcb = 0.4 though it can be as high as 0.7 depending on the amount of chalk [14]. The stiffness ratio kcb /kbt is guessed to be 1.5. determined by the x and y components of its velocity v and angular velocity ω. It is known that the ball will first slide along a parabolic arc (unless ω · v = 0) and then roll along a straight line before coming to a stop. 5 6 The trajectory equations are omitted, though some can be found in [11]. We assume no further collisions (with an object ball or the rail) or falling into a pocket. Also, we ignore the effects on the trajectory due to (possibly) multiple collisions between the ball and the table. A State Transition Diagram for Simultaneous Collisions 15 The first shot, vertical but not through the ball center, yields a straight trajectory in Fig. 1(a) along the projection of −n onto the table. The second shot is horizontal along the x-axis, yielding one impact. It hits the point at the polar angle 3π 4 on the ball’s equator. Due to friction, the ball trajectory, shown in Fig. 1(b), forms a smaller angle with the x-axis (the cue stick’s axis) than with the y-axis, exhibiting some effect of English. The third is a jump shot in the x-z plane through the ball center at an angle of − π4 with the x-axis. The last shot is a massé one with the cue erected. The ball slides along a parabola first before rolling straight forward (see Fig. 1(c)). 4 Discussion and Future Work The introduced impact model makes use of the fact that the velocity and angular velocity of a body in simultaneous collisions are linear in the impulses at its contact points (with other bodies) like in (5)–(6) or (16)–(17). Now we explain why the linearity carries over to an object of arbitrary shape whose angular inertia matrix Q is not a multiple of the identity matrix. Suppose the forces f i are P applied on the object at the locations r i . Integrating the dynamic equation i ri × f i = Qω̇ + ω × Qω over the duration ∆t of an impact, we R ∆t P obtain i r i × I i = Q∆ω. Here, as ∆t → 0, the integral 0 ω × Qω dt = 0, since the cross product ω × Qω is bounded during the impact. The state transition diagram can deal with three or more impact points via state partitioning based on which impacts are instantaneously “active” and which are not. The elastic energy at its contact with another body can still be expressed in terms of the impulses q q affecting the two bodies as in (8)–(9). dIi Ei And, the relationship dI = kkji · E holds between j j the active normal impulses at the ith and jth contact points. A state transition happens whenever the set of active impacts changes. The evolution within a state is driven by the primary impulse. We would like to compare the model with other existing models [3,8,5] on multiple impacts. Our main effort, though, will be experimental verification of the impact model for billiard shots. A shooting mechanism has been designed as shown in Fig. 8 which includes a steel cue Fig. 8. A mechanistick constrained to linear motions by ball bearings in- cal cue stick. side an aluminum box. The cue stick can be elevated by adjusting the slope of the attached incline. We expect to examine issues like area contact, shearing effect of the cue tip, bending of the cue stick, gravity, etc. The long term objective is to design a robot able to play billiards with human-level skills based on understanding of the mechanics. To our knowledge, none of the developed systems [13,10,7] perform shots based on the mechanics of billiards, or have exhibited real shooting skills. 16 Yan-Bin Jia, Matthew T. Mason, and Michael A. Erdmann Acknowledgment This work began during the first author’s 6-month sabbatical visit at Carnegie Mellon University in 2007, and has since continued primarily at Iowa State University and in China. The work was sponsored in part by both universities, and in part by DARPA under contract HR0011-071-0002. This work does not necessarily reflect the position or the policy of the U.S. Government. No official endorsement should be inferred. The authors are grateful to Amir Degani and Ben Brown for their generous help in the design of the billiard shooting mechanism, and to the anonymous reviewers for their valuable comments that have helped improve the paper. References 1. S. Ahmed, H. M. Lankarani, and M. F. O. S. Pereira. Frictional impact analysis in open-loop multibody mechanical systems. J. Applied Mechanics, 121:119– 126, 1999. 2. M. Anitescu and F. A. Porta. Formulating dynamic multi-rigid-body contact problems with friction as solvable linear complementarity problems. ASME J. Nonlinear Dynamics, 14:231–247, 1997. 3. D. Baraff. Analytical methods for dynamic simulation of non-penetrating rigid bodies. Computer Graphics, 23(2):223-232, 1989. 4. R. M. Brach. Rigid body collisions. J. Applied Mechanics, 56:133–137, 1989. 5. A. Chatterjee and A. Ruina. A new algebraic rigid-body collision law based on impulse space considerations. J. Applied Mechanics, 65:939–951, 1998. 6. I. Han and B. J. Gilmore. Impact analysis for multiple-body systems with friction and sliding contact. In D. P. Sathyadev (ed.), Flexible Assembly Systems, 1989. 7. K. H. L. Ho, T. Martin, and J. Baldwin. Snooker robot player — 20 years on. In Proc. IEEE Symp. Comp. Intell. Games, pp. 1–8, 2007. 8. A. P. Ivanov. On multiple impact. J. Applied Math. Mechanics, 59(6):887-902, 1995. 9. J. B. Keller. Impact with friction. J. Applied Mechanics, 53(1):1–4, 1986. 10. F. Long et al. Robotic pool: an experiment in automatic potting. In Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., pp. 2520–2525, 2004. 11. W. C. Marlow. The Physics of Pocket Billiards. Marlow Advanced Systems Technologies, 1994. 12. M. T. Mason. Mechanics of Robotic Manipulation. The MIT Press, 2001. 13. A. W. Moore, D. J. Hill, and M. P. Johnson. An empirical investigation of brute force to choose features, smoothers and function approximators. In S. J. Hanson et al., ed., Computational Learning Theory and Natural Learning, pp. 361–379. The MIT Press, 1995. 14. http://physics.usyd.edu.au/~cross/Billiards.htm. 15. E. J. Routh. Dynamics of a System of Rigid Bodies. MacMillan and Co., 1913. 16. D. E. Stewart and J. C. Trinkle. An implicit time-stepping scheme for rigid body dynamics with inelastic collisions and Coulomb friction. Int. J. Numer. Methods Engr., 39:2673–2691, 1996. 17. D. E. Stewart. Rigid-body dynamics with friction and impact. SIAM Review, 42(1):3–39, 2000. 18. Y. Wang and M. T. Mason. Two-dimensional rigid-body collisions with friction. J. Applied Mechanics, 59(635-642), 1991.
© Copyright 2026 Paperzz