Juggling Tutor
An Augmented Realty Environment
to Teach the Art of Juggling
George Hart, Klaus
Mueller, Dimitris Samaras
Master's project:
This CSE523 Masters Project
is to create an interactive, multi-modal, virtual juggling tutor environment.
A user who wants to learn to juggle (or wants to learn a new juggling pattern)
will face a screen which displays virtual juggling balls in motion. Two
cameras track the movements of the user's hands (which are wearing colored
gloves) to determine the trajectory of each simulated ball at the moment
it is released. The palm of the gloves have a different color from the
outside of the fingers, so that the camera can easily detect when the hand
opens, triggering the release of a virtual ball held in that hand. The
screen displays the ball's computed motion and can also also display a
target trajectory so the user can see if the ball is being released at
the incorrect time or with incorrect force. If the hand is not positioned
properly to catch the ball in its descent, the simulation displays it falling
to the floor and resets to start again.
From personal juggling experience, it is expected that the tactile feedback
of feeling the balls land in the hand is important for developing proper
timing. So we will put a buzzer in the palm of each glove to give
a tactile impression of contact with the descending ball. Sound will
also be used for this moment of contact.
The user interface will contain a library of different juggling patterns
to be learned, and will allow the simulated acceleration of gravity to
be adjusted. It is expected that the user will be able to learn a pattern
most easily when gravity is reduced, as there is more time to think about
how the hands should move. Then by gradually increasing the simulated
gravity to its actual value, it is hoped that the user will internalize
the juggling skills. The goal is to then transfer these skills to
real juggling of actual balls.
This concept of motion learning by starting slowly and gradually increasing
speed makes sense when once considers how metronomes are commonly used
in learning piano pieces. However, we can think of no previous examples
where it has been demonstrated that three-dimensional movement skills can
be learned in a slowed virtual environment then transferred to the real
world. ((Do flight simulators ever reduce gravity or
slow the simulated adversaries as a teaching tool?)) So this
project involves not only the technical aspects of creating the system,
but also novel aspects of human-computer interaction and learning.
Skills required:
-
Understanding of computer graphics at a level comparable to CSE328.
-
Understanding of computer vision at a level comparable to CSE327.
-
C/C++ programming.
-
Ability to interface a hardware device (hand buzzer) to computer system.
-
Interest in learning to juggle if not already able to juggle three balls.
References:
For background information on juggling and what is meant by different "juggling
patterns" see
An excellent reference book on the mathematics of juggling is:
- Burkard Polster, The Mathematics of Juggling, Springer, 2003.