You are on page 1of 4

CHINZ 2009 Interaction Techniques

The Wiimote with Multiple Sensor Bars:


Creating an Affordable, Virtual Reality Controller

Torben Sko, Henry Gardner


School of Computer Science, College of Engineering and Computer Science
The Australian National University, Canberra, ACT, 0200, Australia
Torben.Sko@gmail.com, Henry.Gardner@anu.edu.au

ABSTRACT emitters) on either end of a Wii sensor bar1 . This sensor


A low-cost virtual-reality controller has been constructed bar is traditionally mounted above or below the display.
from the Nintendo Wii Remote using multiple sensor bars. The intriguing package of functionality in the Wiimote,
An agent-based algorithm has been used to allow the con- and its low cost and availability, have spawned communities
troller to move from one sensor bar to another, enabling it of interest amongst researchers and hobbyists. Outside of
to be used in a surround, multiple-screen environment. User gaming, reported applications of the Wiimote as a pointer
testing has verified that the system is suitable for use with device include virtual reality [2], augmented reality [3], in-
a demanding, fast-paced, first-person-shooter game. The teractive art [4] and interactive fashion design [1]. These ap-
tuned version of the system was found to have a low error plications used a traditional Wiimote setup where the user
rate and to be favourably received by test participants. Our faced front-on to a single display. Unfortunately, developing
work has been open-sourced to encourage further research similar applications for use in a surround environment (us-
in this area. ing multiple displays or even, as noted by [2], using a large,
single display) is restricted by the Wiimote’s narrow view-
ing angles. As previous work [8] showed, the Wiimote’s IR
Categories and Subject Descriptors camera has half-angles ranging from 14◦ to 22◦ , providing it
with around a 40◦ aiming range in both the horizontal and
K.8.0 [General]: Games; I.3.7 [Three-Dimensional Graph- vertical directions.
ics and Realism]: Virtual Reality To address the limited interaction range of the Wiimote,
previous work [8] presented the main idea behind a Multi-
ple Sensor Bar (MSB) system which enabled the controller
Keywords to be used in a two-walled, virtual reality (VR) theatre. A
Wii Remote, Sensor Bar, Input and Interaction Technology, subsequent poster presentation [9] outlined the completed,
Agents and Intelligent Systems, Virtual Reality, Computer functioning system. This paper provides details of the core,
Games agent-based algorithm for handling multiple sensor bars and
describes the details of the interaction design and user-testing
used to refine the system.
1. INTRODUCTION
The inexpensive Nintendo Wii Remote [5] (or “Wiimote”) 2. SYSTEM
is a popular game controller which has given rise to many
innovative interaction techniques for computer games and A key concept driving this work was to develop a “tracked”
other applications. It contains a number of buttons, includ- virtual reality controller that could be used in low-budget,
ing a D-pad on its upper surface and a trigger button be- non-technical scenarios. This required the system to be
neath. It includes a 3-axis accelerometer, infrared camera, cheap, accessible and easy to set up - requiring minimal
Bluetooth wireless protocol, rumble feedback and it has an assembly and knowledge of the hardware. To this effect, our
add-on controller known as the Nunchuk (which has its own hardware comprised of five wireless sensor bars (the “MSB
accelerometer, a joy-stick and two buttons). The infrared array”), a Wiimote controller and a Nunchuk. These com-
(IR) camera, located on the front of the controller, enables ponents can all be store-bought for under US$120 combined.
the pointing direction of the Wiimote to be tracked relative Figure 1 shows a single participant2 using our custom
to two IR sources (where each consists of a cluster of IR MSB array in a back-projected, two-display VR environ-
ment. Each of the sensor bars are custom built to be free
standing (to avoid mounting) and oriented vertically (to
minimise their visual disruption and provide a slightly greater
vertical range). Their electronics have been daisy-chained
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are together, allowing all five sensor bars to be powered from a
not made or distributed for profit or commercial advantage and that copies single mains source. As with the standard Nintendo sensor
bear this notice and the full citation on the first page. To copy otherwise, to 1
republish, to post on servers or to redistribute to lists, requires prior specific The term sensor is misleading given it functions as an emit-
permission and/or a fee. ter. However, we have adopted it due to its universal use.
2
CHINZ’09 July 6-7, 2009, Auckland, New Zealand. As the system works on line of sight, it is only practical for
Copyright 2009 ACM 978-1-60558-574-1 ...$10.00. one participant (excluding observers) to use it at a time.

41
CHINZ 2009 Interaction Techniques

TOP DOWN PLAN

Sensor Bar
Too close 2.9m

Full Coverage

Too far away

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.

3.1 First testing phase 3.3 Third testing phase


The first phase of user testing was aimed at determining For the third testing phase several modifications were made.
whether the visual disruption of the MSB array in front of Firstly, the seating position was moved back from the apex
the (back-projected) displays would detract from the user of the theatre and deeper into the optimal coverage area of
experience. The non-demanding, walk-and-explore game Fig. 1. The speed of the player movement was reduced (in-
was used with an early version of the MSB system which was cluding the rotation speed). The in-game aiming was mod-
fully constructed but with only one sensor bar being active. ified to include acceleration along the vertical axis. This al-
The study was conducted with 12 volunteer participants (11 lowed the player to reach a greater proportion of the screen,
male, 1 female), between the ages of 15 and 44, all of whom therefore letting them more easily target threats near the
had computer games experience (8 participants with Wii ex- vertical extremities. Finally, minor changes were made to
perience). The participants were given a navigation task of the mapping of the controls. One of these included flipping
locating characters in response to audio cues and a manipu- the axis of the Nunchuk motion control, as this was occa-
lation task of stacking boxes on top of each other using the sionally being triggered when the controller was being held
game engine’s physics system. They were asked post-test in a resting position.
questions from the Presence Questionnaire (PQ) of Witmer In this study, four of the second-phase participants, all of
and Singer [13] as well as 7 open-ended questions, specifically whom had demonstrated higher reset error rates, were asked
addressing the use of the MSB array. Overall, participants to replay the first level from the previous test. They were
responded favourably to the control system, with aggregate then asked to play a custom level which had most of the
ratings for the PQ subscales of “Involvement/Control” and threats located along the horizon rather than at the top and
“Interface Quality”, on a 7-point Likert scale with 4 neu- bottom of the displays. It was hypothesised that this would
tral and 7 best, as 5.7 and 5.3 respectively. No participant reduce the error rates given that systematic measurements
found the physical presence of the MSB distracting, and of the Wiimote’s range had shown that the system provided

43
CHINZ 2009 Interaction Techniques

a vertical coverage of about 70% of the screen height (76% at 7. REFERENCES


the centre)3 . For both game types, resets and out-of-range [1] C. M. Cheng, M. F. Chung, M. Y. Yu, M. Ouhyoung,
data were logged automatically and the participants were H. H. Chu, and Y. Y. Chuang. Chromirror: a
given a post-questionnaire of 7 open-ended questions. real-time interactive mirror for chromatic and
Compared with the second testing phase, in this third color-harmonic dressing. In CHI ’08: CHI ’08 extended
test the average reset-error rate across all participants for abstracts on Human factors in computing systems,
the first Half-Life 2 level dropped from 2.68 to 1.46 resets pages 2787–2792, New York, NY, USA, 2008. ACM.
per minute. The custom game level had an even lower reset- [2] L. Gallo, G. D. Pietro, and I. Marra. 3d interaction
error rate of just 1.14 per minute, supporting the idea that with volumetric medical data: experiencing the
the problem areas of the system are the vertical extremi- wiimote. In Ambi-Sys ’08: Proceedings of the 1st
ties. The open-ended questions showed that these lower er- international conference on Ambient media and
ror rates were not perceived as detrimental to the enjoyment systems, pages 1–6, ICST, Brussels, Belgium, 2008.
of the game. All users provided positive feedback, with one ICST.
particular user stating that “the aiming felt natural, with
[3] J. Good, P. Romero, B. du Boulay, H. Reid,
the Wiimote just an extension of my arm”.
K. Howland, and J. Robertson. An embodied interface
for teaching computational thinking. In IUI ’08:
4. DISCUSSION Proceedings of the 13th international conference on
Intelligent user interfaces, pages 333–336, New York,
While the test and refinement process described above was
NY, USA, 2008. ACM.
somewhat informal, it served well to help refine our system
to a level where user felt comfortable using the system. Han- [4] J. Grubert, M. Hanckock, S. Carpendale, E. Tse, and
dling the vertical extremities of the screens was identified as T. Isenberg. Interacting with stroke-based rendering
an important issue. However, the decrease in the error rate on a wall display. Rep. 2007-882-34, Dept. of Comp.
between test phases showed that appropriate design of the Science, Univ. of Calgary, 2007.
aiming logic and game content could reduce its impact. Of [5] Nintendo. Wii at nintendo.
course, these problems would be less apparent if the system http://www.nintendo.com/wii, accessed May 2009.
were to be used in a set-up with a smaller vertical range, [6] B. Peek. Managed library for nintendo’s wiimote.
such as a multi-screen desktop display. http://www.codeplex.com/WiimoteLib, accessed May
Future improvements to the code could also help to reduce 2009.
the reset error rate. The accelerated vertical aiming could [7] S. J. Russell and P. Norvig. Artificial Intelligence: A
be incorporated at a driver level, providing a system wide Modern Approach. Pearson Education, 2003.
improvement. Likewise, the relative vertical separation of [8] T. Schou and H. J. Gardner. A wii remote, a game
IR sources could be used to help the driver recognise each engine, five sensor bars and a virtual reality theatre.
sensor bar. In the case of our two-walled setup, the middle- In OZCHI ’07: Proceedings of the 2007 conference of
sensor bar is placed furthest away from the user, making the the computer-human interaction special interest group
separation of its IR sources appear relatively closer than any (CHISIG) of Australia on Computer-human
of the others. This could assist the driver in distinguishing interaction: design: activities, artifacts and
this sensor bar, which in turn would reduce the likelihood of environments, pages 231–234, New York, NY, USA,
an incorrect assumption. 2007. ACM.
[9] T. Schou and H. J. Gardner. A surround interface
using the wii controller with multiple sensor bars. In
5. CONCLUSION VRST ’08: Proceedings of the 2008 ACM symposium
In this paper we have described the development of a MSB on Virtual reality software and technology, pages
system which allows the Nintendo Wiimote to be used as 287–288, New York, NY, USA, 2008. ACM.
a pointer and controller device with large-screens and sur- [10] T. Sko. Wii-ing in vr. http://torbensko.com/wii,
round displays. A series of user-driven refinements have accessed May 2009.
shown the system to successfully support the demanding [11] Valve. Half-life 2.
needs of a first-person-shooter game in a 180◦ , two-screen http://orange.half-life2.com/hl2.html, accessed May
VR theatre. The system is an affordable and accessible op- 2009.
tion for people requiring a wide-angle pointer and controller,
[12] Valve. Valve. http://www.valvesoftware.com, accessed
and could be of benefit for use with low-budget VR theatres
May 2009.
or multi-screen systems, such as desktop set ups or museum
exhibits. [13] B. G. Witmer and M. J. Singer. Measuring presence in
To encourage the use and development of this system, we virtual environments - a presence questionnaire.
have provided more information including videos, executa- Presence: Teleoperators and Virtual Environments,
bles and source code online [10]. 7(3):225–240, 1998.

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

You might also like