A State Transition Diagram for Simultaneous Collisions with

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.