Swing Dancing and Multi-agent Coordination Sommer Gentry Eric Feron MURI Meeting March, 2002
Feb 23, 2016
Swing Dancing and Multi-agent Coordination
Sommer GentryEric Feron
MURI Meeting March, 2002
And a 5, 6, a 5-6-7-8
• About swing dancing• High-level cooperative motion
planning• Experimental work: Connection force
estimates from video via inverse dynamics
Why Swing Dancing?• Sports biomechanics studies abound for
gymnastics, swimming, pole vaulting, etc.• Swing dancing is a partnered form of movement
necessitating shared momentum• Could be a setting for novel cooperative maneuver
studies– unknown environments– constrained resources and communication – leader and follower structure
Lindy Hop (1935)
Closed
SlingCrosshand
Right hand
Tuck turn
Sendout
Pullthrough
Underarm
WhipCircle
Connection StateConnection Statedetermines which determines which actuators on the actuators on the
follower’s motionfollower’s motionare available to leaderare available to leader
Follower
Decentralized Hybrid Controller
P
K
Leader
P
K
Forces (Forces (κ))(x(xf f ,, yyf f ,, θθf f ))
Desired (xDesired (xf f ,, yyf f ,, θθf f ))--
Connection AutomatonConnection AutomatonConnection state change requestConnection state change request
κ
For fixed κ
Decentralized hybrid control• Connection state
– {closed, right hand, two hands, crosshand, no hands}
• (xl , yl , θl ), (xf , yf , θf ) are leader’s and follower’s position on floor and facing angle
• Leader choreographs dance in real-time• Leader knows desired follower trajectory
– Hypothesis: leader imparts force, but can not cause the complete motion of the follower
• Follower knows a lexicon of swing dance moves– Hypothesis: follower interprets leader’s force signals to select a
sequence of moves
• Two hands one hand – no restrictions
• One hand closed– close enough: (xl - xf)2 + (yl - yf)2 < C
– facing each other: 90 < θl - θf < 180
– on the correct side: (cos θl)xl < (cos θl)xf (sin θl) yl > (sin θl) yf
Controlled switching surfaces
Follower’s problem
• Given the lead as an input, decide what movement to do– model imperfect or noisy leads (late leads,
over-forceful turns, etc.)– uncover or learn strategies for robust following
Leader’s problem
• Given a movement from a shared dance vocabulary, design a lead that – is unambiguous – doesn’t render the movement impossible for
either the leader or the follower– minimizes some physical criterion (jerk for
example)
Dancers tune their connection• A few quotes from swing dancers
– “When I dance with a new partner, I try to feel whether he wants to counterbalance me and try to judge how much he can take.”
– “Is she a light or heavy follow? Is she matching my counterbalance or I hers? Is she supporting her own weight? Or as a follow: is he a strong lead or do I need to think about what he's trying to get me to do? Does he pull me too hard on swingouts or is he clear and minimal in his leads?”
– “I have seen some footage of late 30s and early 40s L.A. style Lindy and it relies on lots of counter-balance and traveling steps.”
• Source: www.delphiforums.com/(socalswing|swingoutdc)
Force / trajectory control• Dancers use counterbalance force
– leader and follower holding hands both shift center of gravity back slightly; the resulting static force is connection, or counterbalance
– counterbalance enables faster spins and travel• Movement is also initiated by force
– How is force that requests increased counterbalance distinguished from force that requests follower to move forward? Preliminary data suggest ‘move forward’ is coded in the first derivative of force
==
and if on the expected beat, coded properly in derivativeand if on the expected beat, coded properly in derivative
A follower is not a ton of bricks
F / m = aF / m = a
F = follower motion= follower motion.
Force estimates from video
• Acquire estimate of the connection force between dancers in video
• Active marker systems (Optotrak) exist, but here I used standard video recording frames
• Lindy hop is a historical dance form– uninstrumented video from 1930’s and 1940’s is
treasured by dancers and could be studied• Example: sugar push video
Inverse Dynamics• Given inertial properties and a time history
of the motion of a system, generate force/torque histories for that system
• Tabulate motion history from video frames
Sugar Push
Inertial properties of a human• Yeadon, M.R. "The simulation of aerial movement
- II. A mathematical inertia model of the human body." J. Biomechanics 23, pp 67-74
• From lengths and circumferences of body segments, Yeadon’s model gives inertial properties of the segments of the body (M, Ix, Iy, Iz)
• Stadia: trunk segments• Truncated cones: arm,
leg segments
SD/FAST results• SD/FAST software computed the inverse
dynamics given time histories of the joint angles and the follower’s inertial properties
Measured connection force
Tek-scan sensor system captured connection forces between leader and follower
Thanks to: Dr. Patricia Schmidt of the MIT Manned Vehicle Lab
Sugar push connection force
Conclusions from first stage
• Video, via inverse dynamics, might be used to generate estimates of connection force
• The pattern of connection force for a particular maneuver is consistent with some noise; that is, a sugar push lead has a certain nominal force pattern with some bounded variation
Sugar pushes versus swingouts
0
5
10
15
20
25
30
0.0 0.3 0.5 0.7 1.0 1.3 1.5 1.7 2.0 2.2 2.5 2.7 3.0 3.2 3.5 3.7 4.0
Time (secs)
Forc
e (N
)
Representing dance leads quantitatively
• Push and pull should be distinguished• Some moves involve leads which push and
pull while hands move• Right and left hands are not always
symmetric• Which foot the follower is on changes the
meaning of a lead
Relevant work
• Physical interaction between human and a bipedal humanoid robot: Realization of human-follow walking, A. Takanishi et al [1999 IEEE Conf. Robotics and Automation]
• Controlling formations of multiple mobile robots, J.P. Desai, J. Ostrowski, V. Kumar [1998 IEEE Conf. Robotics and Automation]
• Robust hybrid control for autonomous vehicle motion planning, E. Frazzoli, M. Dahleh, E. Feron [LIDS-P-2468]
Relevant work• Optimal robot motions for physical criteria, J.E.
Bobrow et al, Journal of Robotic Systems 18(12), 2001– “One view of a motion program is as a concatenation of
simpler motion primitives. The compiler's role then is to optimize this sequence of motion primitives with respect to some performance criterion. In this sense the motion compiler can be viewed as a choreographer - it pieces and blends a sequence of crude basic motions into a fluid and artistic dance.”
Graceful motion is optimized• Planning of joint trajectories for humanoid
robots using B-spline wavelets, A. Ude, C. Atkeson, M. Riley [IEEE Conf. Robotics and Automation 2000]– regularization by
minimizing amplitude of acceleration or jerk
Big Picture• What is the perfomance measure being optimized by
expert swing dancers? – objectively judge dance performances
• Characterize swing dance lead and follow– lead is not just a ‘signal’ but also makes the movement
physically possible or impossible• Ultimate goal might be to create a control strategy for a
robot that can swing dance– control multi-agent systems with a leader and follower(s) in
collision-free coordinated motion
Questions? Ideas?
5th Place American Showcase 2001