You are on page 1of 5

See

discussions, stats, and author profiles for this publication at:


https://www.researchgate.net/publication/6923204

V-Pong: An immersive table tennis simulation

Article in IEEE Computer Graphics and Applications · July 2006


DOI: 10.1109/MCG.2006.92 · Source: PubMed

CITATIONS READS

24 241

3 authors:

Guido Brunnett Stephan Rusdorf


Technische Universität Chemnitz 3D Insight GmbH
168 PUBLICATIONS 1,075 CITATIONS 16 PUBLICATIONS 108 CITATIONS

SEE PROFILE SEE PROFILE

Mario Lorenz
Technische Universität Chemnitz
10 PUBLICATIONS 80 CITATIONS

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

"The Smart Virtual Worker" – digital human models for simulations of industrial
operations View project

All content following this page was uploaded by Guido Brunnett on 14 June 2016.

The user has requested enhancement of the downloaded file.


V-Pong: an Immersive Table Tennis Simulation
Guido Brunnett and Stephan Rusdorf
Computer Graphics and Visualization, Chemnitz University of Technology

Most applications for immersive virtual environments are of which with a native resolution of 1024*768 pixels and a
built to allow slow or medium speed user interaction. brightness of 3000 Ansi Lumens. Each beamer is mounted
Examples of this kind of interaction include: changing the to custom mechanics supporting 5 DOF adjustment. This
position of an object, triggering an action or setting a allows an exact positioning of the left eye beamer’s optical
control parameter. To broaden the range of application for system to avoid geometric distortions, e.g. keystoning.
VR systems it seems necessary to integrate technologies Since we are able to align the tiles exactly we do not need
that allow faster movements of the user in a virtual to deal with edge blending and overlap areas. For
environment. This raises the question what response times separation between left and right images we use a linear
can be achieved with VR systems built from standard recent polarization filter system with 72 percent transmission of
hardware components. To answer this question we decided the pre-polarized light sent from the LCD beamers. Circular
to realize a table tennis simulation because this game polarization can be done by adding a quarter plate to the
involves very fast movements and has moderate space filter system.
requirements. In this article we report on the realization of
our immersive table tennis simulation V-Pong that has been
presented on major events as IEEE VR2005 and Cebit2006.

1. HARDWARE
The hardware for this application consists of three major
components: the projection system, the tracking system and
the application host.
Obviously a front projection system is not appropriate for a
simulation where the user performs fast movements in front
of the projection wall. Therefore we realized a rear
projection system based on standard components. To
achieve the sensation of immersion the projection wall has
to be quite large. Consequently we constructed a frame to
hold two acryl glass panels yielding a single screen of
dimensions 4x3m. To reduce weight we use relatively thin
glass with a thickness of 5mm. From the different types of figure 1: rear projection with 8 beamers
panels we chose the medium ones (gain 2.5, half angle 52
degrees) to achieve the best compromise between visual Each projector is driven by one graphics pipeline using
quality, contrast and viewing angle dependency. digital signaling (DVI). The necessary parallel rendering is
For the first version of the projection system we used only done on 8 GeForce 7800GTX graphics cards. Therefore 8
two LCD beamers. As a result the pixel raster could be seen PCs are connected with 2 separate copper Gigabit networks.
by the player and the brightness was to low to play under Since our Virtual Table Tennis is a single instance
daylight conditions. For the second version we subdivided application we had to develop a parallel GL rendering
the whole display area into four tiles to achieve a suitable interface based on the Chromium framework. Thereto we
resolution as well as an adequate brightness for daylight added some new functionality to the Chromium framework
presentations. For the tiled display we had to develop a low to allow fast and synchronized rendering.
cost projector array as well as a rendering cluster to drive
this mosaic. When driving tiled displays using a sort-first configuration
based on the Tilesort stream procession unit (SPU) the
Each screen tile shows stereoscopic image pairs of the performance bottlenecks are the high utilization of the
corresponding frame area. To project the stereoscopic client host caused by the expensive sorting and bucketing of
images we use per tile two PLC-XU58 LCD projectors each geometry and the high bandwidth consumption caused by a
significant amount of redundant unicast transmissions. We For the rules of the game a special plug-in has been created.
addressed these problems with an implementation of a true To control the set-up of the game we provide intuitive
point-to-multipoint connection type using UDP multicast. interaction techniques. The user can use the second hand to
In addition we integrated different optimizations to adjust the level of the game with a simple device that uses
eliminate the transfer of redundant information. As a result three thimbles attached to the thumb, the middle and the
our parallel interface allows to render large scenes index finger. Reset and Replay can be triggered by certain
synchronously on an arbitary number of tiles at nearly gestures of the player .
constant performance [2].

The application runs on a separate standard pc with a 3GHz


PentiumIV processor and an nVidia Quadro or ATI X600
graphics board. This computer is also used for the tracking
software.

The table tennis application requires two targets to be


tracked: the polarization glasses and the table tennis racket
(fig. 2). For the tracking we use 4 ARTtrack1 cameras This
system requires a minimum of 4 markers per target but to
achieve robust tracking 6 markers are used for the racket.
We let all markers stick out on the same side of the racket.
This allows to put the racket on a table when the game is
over. For the glasses we use a standard target construction
with five markers.
figure 3: the virtual jogdial and its degrees of freedom
The virtual environment is completely defined by an
external scene that is loaded by the application. This has the
advantage that the environment can be easily changed (e.g.
replacement of the table) or extended to achieve a nicer
visual appearance. A map is used to assign their game
figure 2: the two objects with installed tracking target
relevant meaning to the important objects of the scene (e.g.
object 7 is the ball).
In contrast to common VR applications where the user Sound data can be defined in order to give a realistic audio
stands relatively still and makes only slow movements with feedback. Currently we use our own implementation of
his hands or arms the table tennis sport involves fast, wide spatial audio calculation which supports Prologic Surround
range movements. This is an important aspect when it and the Doppler Effect. It is well known that audio
comes to tracking. In such an application the probability of feedback is an important aspect to achieve immersion into a
marker occlusion of a tracked object is much higher. If virtual environment. For the table tennis we found that the
there are not enough cameras installed, this results in a less performance of the human player decreases, when audio is
reliable tracking process. The tracking works reasonably disabled
well with three cameras but we achieved considerably more
reliable results with four cameras. Any additional camera of
course improves the tracking even further but the gain in 3. Physics and Game strategy
quality is quite small. The integrated physics engine has to deal with the following
major aspects of the simulation: the movement of the ball,
2. Basic Software the modeling of a collision and the game strategy. We
The table tennis application is based on our scene graph distinguish two possible ways of movement for the ball:
library V3D which consists of modules for the user flying and rolling. For the simulation of flying we consider
interface handling and the underlying render engine [1]. the influence of gravity and air resistance. Since we deal
V3D is system independent and runs on Windows, Linux or with an extended object we include the influence of the spin
Unix. The most important advantage of our system is that on the movement of the ball (Magnus effect). Between two
we have full access control of all components. We are able collisions the ball moves on a defined path that is
to integrate new algorithms at any level of the library. To determined by initial conditions which are the result of the
achieve high performance it is possible to optimize certain last collision.
routines for a special purpose.
Although for the table tennis game it seems not really the real objects (e.g. the racket) and the corresponding
necessary to model how the ball rolls over the table, we visible feedback at the screen.
found that this feature improves the sensation of immersion To explain why latency is a big problem we note that a
and thus affects how much the player enjoys the game. racket speed of 15 meters per second (which is very
The physical simulation of a collision is invoked by a difficult to achieve for a non professional player) and a total
module responsible for the detection of collisions. Note, latency of 100ms in the system would result in a maximum
that in the game simultation only six objects are involved: error of more than one meter in the racket position. This
the ball, two rackets, the table, the net and the ground. illustrates the need of correction algorithms.
Furthermore, we can simplify the collision detection by The analysis of our system revealed the following latencies:
only computing collisions of the ball with the five other 20 ms due to the tracking system, 20 ms due to the beamers
objects. All other collisions can be neglected. However, it is and about 10 ms for the data processing and visualization.
necessary to compute all collisions that occur within the In addition there is a variable component less than 17ms
time interval between two frames. For example it is possible due to an unavoidable asynchrony of the tracking and data
that the ball touches both the net and the table within this processing.
period. Therefore we need to determine the first intersection
that is going to occur in the relevant time interval. Based on In order to cope with the latency the system has to predict
this collision the movement of the ball is recomputed and the movements of the tracked objects (racket, glasses) over
another collision search is started for the remaining time this duration. We predict the position for the glasses and the
interval. racket based on their velocities and acceleration values in
the last three measurements [3]. In addition to this the
The user acceptance of the table tennis application very
algorithm takes into account some simple movement rules
much depends on the behaviour of the virtual opponent.
for the human body. For instance it is not possible to move
This simulation proceeds in the following steps. Based on
the hand out of the range of the arm or to rotate the hand at
the conditions set by the last collision the virtual opponent
any angle. To minimize the prediction error a maximum
precomputes the movement of the ball. The implemented
velocity and acceleration for translation and rotation can be
game strategies suggest a target position for the return.
set. Such properties help to remove peaks in the prediction
Then the racket movements necessary to perform this return
system.
are computed. As in real life an enjoyable game takes only
place when both players are nearly on the same level. In
order to avoid that the virtual player makes all points one Prediction
has to integrate strategies to reduce his skills. As known mm Position (Z) Real
from other game simulations (e.g. chess) we realized 1400 Collision

different skill levels for the opponent that can be chosen by 1200
the user. By reducing the level the user takes influence on 1000
the different properties of his opponent. One important 800
factor is the height above the net that is chosen for the 600
return. Other factors include the maximum speed of the
400
racket and an artificially introduced time delay. This delay
involves a constant value that corresponds to a reaction 200
time and a variable value that depends on the distance the 0 ms
37885

37933

37981

38028

38076

38124

38172

38220

38269

38317
virtual player has to move to perform the return. This delay
time may cause the player to miss the ball or to hit it at a
different position as intended. Furthermore, we included a
random noise function in the computation of the parameters
for an optimal return of the ball. The amplitude of the noise figure 4: position prediction diagram of a racket
function is decreased for higher game levels but increases movement
over the time the ball is played without interruptions. This
intends to model an increasing likeliness of mistakes when Figure 4 shows the position prediction diagram for the z
the ball is successfully returned for a long time. coordinate (approximately the distance to the screen) of a
moving racket. The x-axis shows the simulation time in
4. Prediction milliseconds. The ball was hit at 38105ms. It can be
The major difficulty in the design of this application is the observed that the predicted movement has higher energy
synchronization of the players movement with the visual and more jittering. But it’s clearly noticeable that the error
output. Our system consists of several components each of between real position and predicted position at the time of
which contributes to the delay between the movements of collision is very small.
5. Results and Perspectives
With our implementation we have shown that the high
requirements of a table tennis simulation can be met with
recent hardware. We presented the system at events as
IEEE VR2005 and Cebit06. At these instances we found
that users with no experience with VR environments can
use our system without any introduction. The reason for this
is the closeness of our simulation to a real table tennis
environment. This is achieved by the realistic video and
audio output and the familiar input device. The complete
environment is immediately accepted by the users. Users
who are familiar with VR environments are mostly
impressed by the fast response of the system. The third
group of users is formed by the table tennis players. They
confirmed the nearly realistic behavior of the system with
respect to the ball motion including the influence of spin.
However, since they perform much faster movements than figure 5: VR 2005, March 12-16th 2005, Bonn-Germany
other users the limits of the simulation with respect to
correct prediction become obvious.
We realized that the sensation of immersion created by our 6. References
system is very high. Very often we noticed that users tried
to put the racket on the table after finishing the game. [1] S. Rusdorf, M. Lorenz, S. Wölk, G. Brunnett: Virtualiti3D:
Sometimes very enthusiastic players hit the screen with the A System-Independent, Real Time-Animated, Three-
racket. These incidents indicate that the player seems to Dimensional Graphical User Interface, Proc. of IASTED
forget what the environment really looks like. Conf. on Vis., Imag. & Image Proc. 03 , pp. 955-960, Acta
Press 2003, ISSN 1482-7921.
Further developments will concern the distribution of our
[2] Lorenz, M., Brunnett, G.: Optimized Visualization for Tiled
application to allow two remote human users to play against Displays, Proc. of Eurographics Symp. on Parallel Graphics
each other. For this it will be necessary to cope with the and Vis. 2006, see also: Technical Report 02/06, Dept. of
network latency. Furthermore, we plan to realize a table Comp. Science, Chemnitz University of Technology, 2006,
tennis simulation with multi-user support on a single screen. ISSN 0947-5125.
This will allow us to realize table tennis doubles. We also [3] Rusdorf, St./Brunnett, G.: Real Time Tracking of High Speed
intend to integrate a haptic feedback for the ball collision Movements in the Context of a Table Tennis Application,
with the racket in our simulation. Proc. ACM Symposium on Virtual Reality Software and
Technology 2005, pp. 192-201, ACM 2005, ISBN 1-59593-
098-1.

View publication stats

You might also like