Professional Documents
Culture Documents
41
CHINZ 2009 Interaction Techniques
Sensor Bar
Too close 2.9m
Full Coverage
Figure 1: The Multiple Sensor Bar system used with a first-person-shooter game in a two-walled, virtual
reality theatre (left). A plan of this theatre (right) illustrates the optimal usage region for the Wiimote.
bar, each bar supports two IR sources. The Wiimote, which needs to comply with the following conditions: at least two
is being held in the right hand, has been specially mounted IR sources should visible at most times (justifying why each
on a pistol-grip and is being used for aiming, looking and sensor bar has two IR sources), two sensor bars are visible
shooting. The add-on Nunchuk controller, held in the left when moving from one bar to another, and no more than 4
hand, is being used for player movement. IR sources are visible at any one time. These restrictions de-
Using its IR camera, the Wiimote can track and report the fine the usage region shown in the right hand side of Fig. 1.
position of up to 4 IR sources at once, making it possible for In the full coverage region it is possible to continuously track
two complete sensor bars to be decoded simultaneously. The the pointing direction of the Wiimote for a full 180◦ spin.
position information from one bar can be compared with its When the software starts, the agent initially aligns the dy-
neighbour as a user sweeps across them. This allows the namic model to the centre of the static one, which is equiv-
software receiving the Wiimote’s data to reliably construct alent to the assumption that the user first points towards
an internal model of the physical environment. The software the centre of the MSB array. When comparing two succes-
can use this model to make a reasonable guess as to which sive dynamic models, the agent assumes that a model which
bars are currently being detected and therefore the direction states that two particular sources are separated (i.e. on dif-
in which the Wiimote is currently pointing. Intelligence is ferent sensor bars) is superior to one which has them grouped
built into the driving software to allow the detection and together (i.e. on the same sensor bar). For each iteration, the
correction of erroneous assumptions about the environment following steps are performed:
as play proceeds.
The MSB software driver developed for our system builds 1. The agent groups the tracked, IR points received from
upon the open-source library by Brian Peek [6]. Peek’s li- the Wiimote in an attempt to determine which IR
brary provides the functionality for connecting and exchang- points belong to the same sensor bar. In doing this, it
ing data with the Wiimote. On top of this, we use a model- creates the new dynamic model.
based reflex agent approach [7], in the sense that the driver
tracks and uses what it has seen to interpret the IR data. 2. The agent decides whether the new dynamic model
The agent has been designed to handle any configuration confirms or contradicts the existing dynamic model.
made up of both vertical and horizontal sensor bars. It does If the new model confirms the existing model (i.e. no
this by holding two internal models: a dynamic model, rep- sources are grouped to different sensor bars) then the
resenting what it has seen, and a static model, describing information from the new model is combined into the
the layout of the full MSB array. The dynamic model is existing model.
built from the IR data received from the Wiimote. The
If the new model contradicts the existing model in the
static model is read from a configuration file and describes
sense that two or more of the points which were grouped
the mapping of IR sources to pixel positions on the displays
together are now separated, then the existing model is
behind them. As such, each physical setup requires a unique
replaced with the new model.
configuration file. The agent computes an appropriate cur-
sor position by matching the two models together, calculat- If the new model contradicts the existing model in the
ing a scaling function, and using this function to convert sense that two or more of the points which were sep-
the aim of the Wiimote from an IR position into a pixel arated are now grouped together, then the most recent
position. The scaling function can be computed when at coordinates of the IR points are propagated into the
least 2 IR sources are visible. However, when more than 4 existing model and the new model is discarded.
sources are in the Wiimote’s field of view the reported IR
data is unpredictable. Consequently the MSB configuration 3. The agent aligns the dynamic model with the static
model using the previous alignment as a guide. If it is
42
CHINZ 2009 Interaction Techniques
unable to align these two models then it clears the ex- some even failed to notice it. Some criticisms were made
isting model, waits for more IR data and then returns of the bounding-box aiming-and-looking system, identifying
to Step 1. the need for further refinement.
4. The agent derives the scaling function using the IR 3.2 Second testing phase
points and their corresponding screen coordinates. A
The focus of the second testing phase was to establish the
global scaling function is updated with smoothing to
usability of the complete MSB interface with a demanding
avoid sudden changes between iterations.
FPS game. This environment required the use of multiple
5. A cursor location is computed by converting a central button and motion commands, whilst simultaneously aim-
IR position, into a screen position using the global scal- ing over a large area. We were particularly interested to
ing function. see how frequently the system was reset and whether this
resetting impacted on the enjoyment of the game. Other
The MSB software has been written to deal with out-of- considerations, not discussed further in this paper, included
range errors providing the user re-enters the active area on the mappings of the Wiimote and Nunchuk controls. This
the same sensor bar. The driver can become confused in part of the interaction design was challenging as the use of
situations where a user moves back into range on a different a pistol grip made the Wiimote’s upper controls difficult to
bar. In such cases, the user can manually reset the system access. To alleviate this issue, the motion detection of both
using a pre-specified command, after which the driver once the Wiimote and Nunchuk was utilised to a greater extent.
again assumes that the user is pointing at the centre sensor In the user familiarisation phase, the volunteer partici-
bar. The software can also automatically reset itself if it de- pants (7 male, 1 female, all with computer games experience,
termines that the new dynamic model contradicts the static 6 of whom had previous Wii experience) were shown how
model. We denote occasions where either the user or the they could deliberately confuse the driver and then manu-
system triggers a reset as a “reset-error”. For more details ally reset the system. For the main part of the test, the par-
on this algorithm, we refer readers to our website [10] where ticipants completed two early levels from Half-Life 2 which
source code for this system can be found. included gun combat, object manipulation and navigation
around the levels. Participants spent up to 15 minutes play-
ing each level, although most participants completed it in
3. USER TESTING AND INTERFACE RE- around 10 minutes. During play, the driver logged each re-
FINEMENT set as well as the times when the Wiimote went out of range.
To assess the usability of the MSB system in a demanding, Participants were given a post-test questionnaire which in-
3D environment, it was integrated into a first-person-shooter cluded 15 open-ended questions targeted on the usability of
(FPS) game engine. As described in [8], the Source [12] game the control system.
engine was ported to our two-walled display by a number of While all participants reported to have enjoyed the expe-
modifications including altering the view projection, uncou- rience, most expressed moderate frustration with the con-
pling looking and aiming (changing the fixed reticle system trol system. Several participants reported problems with
to a bounding-box), and displaying a 3D cursor for con- the vertical aiming, while some noted issues related to re-
tinuous, visible feedback. A custom-built walk-and-explore setting. Some participants also described feelings of physical
game, a custom-built FPS game and levels of the Half-Life 2 discomfort due to the rate of movement and rotation of the
[11] game were used for user testing and interface refinement graphical scene. This feedback warranted further refinement
over a period of 6 months. of the system and another phase of testing.
43
CHINZ 2009 Interaction Techniques
6. ACKNOWLEDGEMENTS
Thanks to Ben Swift for providing helpful suggestions in-
cluding measurements of the aiming deviations.
3
The system was also found to have a maximum error of 5◦ ,
similar to that of the Wii console in a typical setup.
44