a physically intuitive haptic drumstick
TRANSCRIPT
ABabcdfghiejkl
A Physically Intuitive Haptic Drumstick
Edgar Berdahl, Bill Verplank, and Julius O. Smith IIICenter for Computer Research in Music and Acoustics
—Gunter Niemeyer
Telerobotics Laboratory—
Stanford University—
International Computer Music ConferenceCopenhagen, Denmark
August, 2007
ABabcdfghiejkl
Outline
Explain how drum rolls are played
Develop a physical model
Implement the model dynamics on a haptic display
Alter the dynamics to make it easier to play drum rolls
ABabcdfghiejkl
Drum Rolls
◮ Drummers can control drum rolls at rates up to 30Hz.
ABabcdfghiejkl
Drum Rolls
◮ Drummers can control drum rolls at rates up to 30Hz.◮ The human neuromuscular system has a reaction time of
over 100ms.
ABabcdfghiejkl
Drum Rolls
◮ Drummers can control drum rolls at rates up to 30Hz.◮ The human neuromuscular system has a reaction time of
over 100ms.◮ How is this possible?!
ABabcdfghiejkl
Drum Rolls
◮ Drummers can control drum rolls at rates up to 30Hz.◮ The human neuromuscular system has a reaction time of
over 100ms.◮ How is this possible?!
1. The bouncing effect: the drum membrane “throws” the stickback at the drummer.
0 0.5 1 1.5−0.005
0
0.005
0.01
0.015
0.02
0.025
Time [sec]
Dis
plac
emen
t [m
]
ABabcdfghiejkl
Drum Rolls
◮ Drummers can control drum rolls at rates up to 30Hz.◮ The human neuromuscular system has a reaction time of
over 100ms.◮ How is this possible?!
1. The bouncing effect: the drum membrane “throws” the stickback at the drummer.
2. Impedance modulation: the drummer can alter theimpedance of his or her hand in real time.
K Routhand
ABabcdfghiejkl
Outline
Explain how drum rolls are played
Develop a physical model
Implement the model dynamics on a haptic display
Alter the dynamics to make it easier to play drum rolls
ABabcdfghiejkl
Above The Drum Membrane
zmg*
handK RoutDrum membrane
Figure: Drumstick dynamics for z > 0
◮ For the purposes of investigating drum rolls, we model thedrumstick as a bouncing ball with mass m.
◮ The spring and dashpot are commuted to the end.◮ Drummer can adjust rest position zh0 of the spring Khand .◮ Letting zss = zh0 − mg∗/Khand , we have
mz + Rout z + Khand (z − zss) = 0.
ABabcdfghiejkl
“Inside” The Drum Membrane
◮ At DC, a drumstick being pressed into a drum membranebehaves like a linear spring Kcoll .
◮ There is still damping Rin due to losses in the hand andcollision.
−z
*mg
handK Rin
collKDrum Membrane
Figure: Drumstick dynamics for z < 0
mz + Rinz + Khand (z − zss) + Kcollz = 0
ABabcdfghiejkl
Coefficient Of Restitution
◮ Let β be the coefficient of restitution (COR) ofdrumstick/membrane collisions.
ABabcdfghiejkl
Coefficient Of Restitution
◮ Let β be the coefficient of restitution (COR) ofdrumstick/membrane collisions.
◮ For a collision beginning at any time tin and ending at anytime tout , if z(tin) = v0, then z(tout) = −βv0.
ABabcdfghiejkl
Coefficient Of Restitution
◮ Let β be the coefficient of restitution (COR) ofdrumstick/membrane collisions.
◮ For a collision beginning at any time tin and ending at anytime tout , if z(tin) = v0, then z(tout) = −βv0.
◮ Perfectly elastic collisions: β = 1
ABabcdfghiejkl
Coefficient Of Restitution
◮ Let β be the coefficient of restitution (COR) ofdrumstick/membrane collisions.
◮ For a collision beginning at any time tin and ending at anytime tout , if z(tin) = v0, then z(tout) = −βv0.
◮ Perfectly elastic collisions: β = 1◮ Inelastic collisions: 0 < β < 1
ABabcdfghiejkl
Coefficient Of Restitution
◮ Let β be the coefficient of restitution (COR) ofdrumstick/membrane collisions.
◮ For a collision beginning at any time tin and ending at anytime tout , if z(tin) = v0, then z(tout) = −βv0.
◮ Perfectly elastic collisions: β = 1◮ Inelastic collisions: 0 < β < 1◮ β ≈ exp −Rinπ√
4mKcoll−R2in
Summary Of Model Dynamics
◮ Above membrane (z > 0, COR α):mz + Rout z + Khand (z − zss) = 0
Summary Of Model Dynamics
◮ Above membrane (z > 0, COR α):mz + Rout z + Khand (z − zss) = 0
◮ “Inside” membrane (z < 0, COR β):mz + Rinz + Khand (z − zss) + Kcollz = 0
Summary Of Model Dynamics
◮ Above membrane (z > 0, COR α):mz + Rout z + Khand (z − zss) = 0
◮ “Inside” membrane (z < 0, COR β):mz + Rinz + Khand (z − zss) + Kcollz = 0
z
z
.
ABabcdfghiejkl
Outline
Explain how drum rolls are played
Develop a physical model
Implement the model dynamics on a haptic display
Alter the dynamics to make it easier to play drum rolls
ABabcdfghiejkl
Haptic Drumstick
◮ We use the three DOF Model T PHANTOM robotic arm1.
1From SensAble Technologies, see http://www.sensable.com.
ABabcdfghiejkl
Sound Synthesis
Figure: Rectilinear 2D Mesh
ABabcdfghiejkl
Sound Synthesis
Figure: Rectilinear 2D Mesh
ABabcdfghiejkl
Outline
Explain how drum rolls are played
Develop a physical model
Implement the model dynamics on a haptic display
Alter the dynamics to make it easier to play drum rolls
ABabcdfghiejkl
Altering The Drumstick Dynamics
◮ Noise and deterministic chaos are not physically intuitive.
ABabcdfghiejkl
Altering The Drumstick Dynamics
◮ Noise and deterministic chaos are not physically intuitive.◮ Stable limit cycles, or self-sustaining attractive oscillations,
describe biological oscillations such as the heart beating.
ABabcdfghiejkl
Altering The Drumstick Dynamics
◮ Noise and deterministic chaos are not physically intuitive.◮ Stable limit cycles, or self-sustaining attractive oscillations,
describe biological oscillations such as the heart beating.◮ Limit cycles also manifest themselves in bowed strings,
vibrating reeds, and drum rolls.
ABabcdfghiejkl
Altering The Drumstick Dynamics
◮ Noise and deterministic chaos are not physically intuitive.◮ Stable limit cycles, or self-sustaining attractive oscillations,
describe biological oscillations such as the heart beating.◮ Limit cycles also manifest themselves in bowed strings,
vibrating reeds, and drum rolls.◮ Goal: Assist the drummer in playing drum rolls.
ABabcdfghiejkl
Altering The Drumstick Dynamics
◮ Noise and deterministic chaos are not physically intuitive.◮ Stable limit cycles, or self-sustaining attractive oscillations,
describe biological oscillations such as the heart beating.◮ Limit cycles also manifest themselves in bowed strings,
vibrating reeds, and drum rolls.◮ Goal: Assist the drummer in playing drum rolls.◮ We can help bring about self-oscillations with
1. system delay
ABabcdfghiejkl
Altering The Drumstick Dynamics
◮ Noise and deterministic chaos are not physically intuitive.◮ Stable limit cycles, or self-sustaining attractive oscillations,
describe biological oscillations such as the heart beating.◮ Limit cycles also manifest themselves in bowed strings,
vibrating reeds, and drum rolls.◮ Goal: Assist the drummer in playing drum rolls.◮ We can help bring about self-oscillations with
1. system delay2. a hysteretic spring Kcoll
ABabcdfghiejkl
Altering The Drumstick Dynamics
◮ Noise and deterministic chaos are not physically intuitive.◮ Stable limit cycles, or self-sustaining attractive oscillations,
describe biological oscillations such as the heart beating.◮ Limit cycles also manifest themselves in bowed strings,
vibrating reeds, and drum rolls.◮ Goal: Assist the drummer in playing drum rolls.◮ We can help bring about self-oscillations with
1. system delay2. a hysteretic spring Kcoll
3. negative damping Rout
ABabcdfghiejkl
Altering The Drumstick Dynamics
◮ Noise and deterministic chaos are not physically intuitive.◮ Stable limit cycles, or self-sustaining attractive oscillations,
describe biological oscillations such as the heart beating.◮ Limit cycles also manifest themselves in bowed strings,
vibrating reeds, and drum rolls.◮ Goal: Assist the drummer in playing drum rolls.◮ We can help bring about self-oscillations with
1. system delay2. a hysteretic spring Kcoll
3. negative damping Rout
4. forcing the drumstick in the z-dimension every time that thestick enters the simulated membrane
h(t) =m∆vpulse
τe−t/τ
ABabcdfghiejkl
Forced Pulses Can Induce Limit Cycles
d
*
z
. zpulsestarts
ABabcdfghiejkl
Forced Pulses Can Induce Limit Cycles
d
*
z
. zpulsestarts
◮ Here we choose each pulse to be of constant magnitude.
ABabcdfghiejkl
Forced Pulses Can Induce Limit Cycles
d
*
z
. zpulsestarts
◮ Here we choose each pulse to be of constant magnitude.◮ But is d stable?
ABabcdfghiejkl
Related Discrete-Time System
e
**
pulsestarts
dp
U
P(q)Eq
z
. z
ABabcdfghiejkl
Related Discrete-Time System
e
**
pulsestarts
dp
U
P(q)Eq
z
. z
◮ P(·) is a Poincare map.
ABabcdfghiejkl
Related Discrete-Time System
e
**
pulsestarts
dp
U
P(q)Eq
z
. z
◮ P(·) is a Poincare map.◮ Let vi is the velocity of the drumstick tip at the end of
the i th collision with the drum membrane.
ABabcdfghiejkl
Related Discrete-Time System
e
**
pulsestarts
dp
U
P(q)Eq
z
. z
◮ P(·) is a Poincare map.◮ Let vi is the velocity of the drumstick tip at the end of
the i th collision with the drum membrane.◮ We analyze the stability of the closed orbit d by analyzing
the stability of:vi+1 = P(vi) = αβvi + β∆vpulse
ABabcdfghiejkl
Applying Pulses With Constant Magnitude
◮ Choose ∆vpulse = k/β, where k is constant
ABabcdfghiejkl
Applying Pulses With Constant Magnitude
◮ Choose ∆vpulse = k/β, where k is constant
◮ vi+1 = P(vi) = αβvi + k
ABabcdfghiejkl
Applying Pulses With Constant Magnitude
◮ Choose ∆vpulse = k/β, where k is constant
◮ vi+1 = P(vi) = αβvi + k = α(β + kαvi
)vi
ABabcdfghiejkl
Applying Pulses With Constant Magnitude
◮ Choose ∆vpulse = k/β, where k is constant
◮ vi+1 = P(vi) = αβvi + k = α(β + kαvi
)vi
◮ At small amplitudes, the effective COR β = (β + kαvi
) > 1.
ABabcdfghiejkl
Applying Pulses With Constant Magnitude
◮ Choose ∆vpulse = k/β, where k is constant
◮ vi+1 = P(vi) = αβvi + k = α(β + kαvi
)vi
◮ At small amplitudes, the effective COR β = (β + kαvi
) > 1.
◮ At large amplitudes, the effective COR β = (β + kαvi
) ≈ β.
ABabcdfghiejkl
Applying Pulses With Constant Magnitude
◮ Choose ∆vpulse = k/β, where k is constant
◮ vi+1 = P(vi) = αβvi + k = α(β + kαvi
)vi
◮ At small amplitudes, the effective COR β = (β + kαvi
) > 1.
◮ At large amplitudes, the effective COR β = (β + kαvi
) ≈ β.◮ α < 1 and β < 1 ⇒ αβ < 1
ABabcdfghiejkl
Applying Pulses With Constant Magnitude
◮ Choose ∆vpulse = k/β, where k is constant
◮ vi+1 = P(vi) = αβvi + k = α(β + kαvi
)vi
◮ At small amplitudes, the effective COR β = (β + kαvi
) > 1.
◮ At large amplitudes, the effective COR β = (β + kαvi
) ≈ β.◮ α < 1 and β < 1 ⇒ αβ < 1
◮ ⇒ limi→∞vi = k
1−αβ
∆
= vlc is positive and finite.
ABabcdfghiejkl
Applying Pulses With Constant Magnitude
◮ Choose ∆vpulse = k/β, where k is constant
◮ vi+1 = P(vi) = αβvi + k = α(β + kαvi
)vi
◮ At small amplitudes, the effective COR β = (β + kαvi
) > 1.
◮ At large amplitudes, the effective COR β = (β + kαvi
) ≈ β.◮ α < 1 and β < 1 ⇒ αβ < 1
◮ ⇒ limi→∞vi = k
1−αβ
∆
= vlc is positive and finite.◮ The discrete-time system is stable.
ABabcdfghiejkl
Applying Pulses With Constant Magnitude
◮ Choose ∆vpulse = k/β, where k is constant
◮ vi+1 = P(vi) = αβvi + k = α(β + kαvi
)vi
◮ At small amplitudes, the effective COR β = (β + kαvi
) > 1.
◮ At large amplitudes, the effective COR β = (β + kαvi
) ≈ β.◮ α < 1 and β < 1 ⇒ αβ < 1
◮ ⇒ limi→∞vi = k
1−αβ
∆
= vlc is positive and finite.◮ The discrete-time system is stable.◮ P(·) is a Poincare map ⇒ d is a stable limit cycle
ABabcdfghiejkl
Conclusions
◮ Informal testing suggests that the altered dynamics make iteasier to play drum rolls.
ABabcdfghiejkl
Conclusions
◮ Informal testing suggests that the altered dynamics make iteasier to play drum rolls.
◮ Drum roll limit cycles are guaranteed to be stable.
ABabcdfghiejkl
Conclusions
◮ Informal testing suggests that the altered dynamics make iteasier to play drum rolls.
◮ Drum roll limit cycles are guaranteed to be stable.◮ Drummers can increase the drum roll rate by increasing
Khand or decreasing zh0 as in traditional drum roll playing.
ABabcdfghiejkl
Conclusions
◮ Informal testing suggests that the altered dynamics make iteasier to play drum rolls.
◮ Drum roll limit cycles are guaranteed to be stable.◮ Drummers can increase the drum roll rate by increasing
Khand or decreasing zh0 as in traditional drum roll playing.◮ The previous point suggests that the new musical instrument
is physically intuitive–i.e., the new instrument supportsphysical interactions that are familiar to traditionalperformers of traditional drums.
ABabcdfghiejkl
Thank You!
Questions?