`
`I I
`
`sensor. Each estimate made use of a group of measure(cid:173)
`ments (typically twenty or more) that together overcon(cid:173)
`strained the solution .
`This multiple constraint method had several draw(cid:173)
`backs. First, it had a significantly lower estimate rate due
`to the need to collect multiple measurements per esti(cid:173)
`mate. Second, the system of nonlinear equations did not
`account for the fact that the sensor fixture continued to
`move tl1roughout the collection of the sequence of
`measurements. Instead, the method effectively assumes
`that the measurements were taken simultaneously. The
`violation of this simultaneity assumption could intro(cid:173)
`duce significant error during even moderate motion.
`Finally, the method provided no means to identify or
`handle unusually noisy individual measurements. Thus,
`a single erroneous measurement could cause an estimate
`to jump away from an otherwise smooth track.
`In contrast, the approach we use with the new HiBall
`system produces tracker reports as each new measure(cid:173)
`ment is made, rather than waiting to form a complete
`collection of observations. Because single measurements
`underconstrain the mathematical solution, we refer to
`the approach as single-constraint-at-a-time ( SCAAT)
`tracking (Welch, 1996; Welch & Bishop, 1997). The
`key is that the single measurements provide some infor(cid:173)
`mation about the HiBall's state, and tlms can be used to
`incrementally improve a previous estimate. We inten(cid:173)
`tionally fuse each individual "insufficient" measurement
`immediately as it is obtained. With this approach, we are
`able to generate estimates more frequently, with less
`latency, and with improved accuracy, and we are able to
`estimate the LED positions online concurrently while
`tracking the HiBall (section 5.4).
`We use a Kalman filter (Kalman, 1960) to fuse tl1e
`measurements into an estimate of the HiBall state x (the
`pose of the HiBall). We use the Kalman filter-a mini(cid:173)
`mum-variance stochastic estimator- both because the
`sensor measurement noise and the typical user-motion
`dynamics c·an be modeled as normally distributed ran(cid:173)
`dom processes, and because we want an efficient online
`method of estimation. A basic introduction to the Kal(cid:173)
`man filter can be found in chapter 1 of Maybeck
`(1979), and a more complete introductory discussion
`can be found in Sorenson (1970), which also contains
`
`some interesting historical narrative. More-extensive
`references can be found in Brown and Hwang (1992),
`Gelb (1974), Jacobs (1993), Lewis (1986), Maybeck
`(1979), and Welch and Bishop (1995). Finally, we
`maintain a Kalman filter Web page (Welch & Bishop,
`2000) witl1 introductory, reference, and research mate(cid:173)
`rial.
`The Kalman filter has been used previously to address
`similar or related problems. See, for example, Az(cid:173)
`arbayejani and Pentland (1995), Azuma (1995), Emura
`and Tachi (1994), Fuchs (Foxlin) (1993), Mazuryk and
`Gervautz (1995), and Van Pabst and Kreke! (1993). A
`relevant example of a Kalman filter used for sensor fu (cid:173)
`sion in a wide-area tracking system is given in Foxlin et
`al. ( 1998 ), which describes a hybrid inertial-acoustic
`system that is commercially available today (Intersense,
`2000 ).
`The SCJ\AT approach is described in detail by Welch
`(1996), and Welch and Bishop (1997). Included there
`is discussion of the benefits of using the approach, as
`opposed to a multiple-constraint approach such as that
`by Azuma and Ward (1991). However, one key benefit
`warrants discussion here . There is a direct relationship
`between the complexity of the estimation algorithm, the
`corresponding speed ( execution time per estimation cy(cid:173)
`cle), and the change in HiBall pose between estimation
`cycles (figure 12 ). As the algorithmic complexity in(cid:173)
`creases, the execution time increases, which allows for
`significant nonlinear HiBall motion between estimation
`cycles, which in turn implies the need for a more com(cid:173)
`plex estimati_on algorithm.
`The SCAAT approach, on the other hand, is an at(cid:173)
`tempt to reverse this cycle. Because we intentionally use
`a single constraint per estimate, the algorithmic com(cid:173)
`plexity is drastically reduced, which reduces the execu(cid:173)
`tion time, and hence the amount of motion between
`estimation cycles . Because the amount of motion is lim(cid:173)
`ited, we are able to use a simple dynamic (process)
`model in the Kalman filter, which further simplifies the
`computations. In short, the simplicity of tl1e approach
`means that it can run ve1y fast, which means it can pro(cid:173)
`duce estimates very rapidly, with low noise.
`The Kalman filter requires both a model of the pro(cid:173)
`cess dynamics and a model of the relationship between
`
`META 1018
`META V. THALES
`
`
`
`12 PRESENCE: VOLUME I 0, NUMBER I
`
`component of the linear and angular HiBall velocities as
`a random walk, and then use these ( assuming constant
`interrneasurement velocity) to estimate the HiBall pose
`at time t + 8t as follows:
`
`l o
`t]-;,.tt)
`x(t + 8t = O
`)
`""\
`[
`1
`
`(2)
`
`for each of the six pose elements. In addition to a rela(cid:173)
`tively simple process model, the HiBall measurement
`model is relatively simple. For any ceiling LED (section
`4.2) and HiBall view (section 4.1), the 2-D sensor mea(cid:173)
`surement can be modeled as
`
`Figure 12.
`
`where
`
`[ U] = [c_./ Cz]
`
`Cy/Cz
`
`V
`
`(3)
`
`(4)
`
`the process state and the available measurements. In
`part due to the simplicity of the SCAAT approach, _we
`are able to use a simple position-velocity (PV) process
`model (Brown & Hwang, 1992). Consider the simple
`.
`T
`example state vector x( t) = [ xp( t), x.( t)] , where the
`first element xp(t) is the pose (position or orientation)
`and the second element x.(t) is the co1-responding ve(cid:173)
`locity; that is, x.( t) = ( d/ dt) xp( t). We model the con(cid:173)
`tinuous change in the HiBall state with the simple dif-
`ferential equation
`
`( l)
`
`where u(t) is a normally distributed white (in the fre(cid:173)
`quency spectrum) scalar noise process, and the scalarµ,
`represents the magnitude or spectral density of the
`noise. We use a similar model with a distinct noise pro(cid:173)
`cess for each of the six pose elements. We determine the
`individual noise magnitudes using an offiine simulation
`of the system and a nonlinear optimization strategy that
`seeks to minimize the variance between the estimated
`pose and a known motion path. (See section 6.2.2.).
`The differential equation ( 1) represents a continuous
`integrated random walk, or an integrated Wiener or
`Brownian-motion process. Specifically, we model each
`
`Vis the camera viewing matrix from section 5 .1, l xyz is
`the position of the LED in the world, x."J'z is the posi(cid:173)
`tion of the HiBall in the world, and R is a rotation ma(cid:173)
`trix corresponding to the orientation of the HiBall in
`the world. In practice, we maintain the orientation of
`the HiBall as a combination of a global ( external to the
`state) quaternion and a set of incremental angles as de-
`scribed by Welch (1996) and Welch and Bishop (1997).
`Because the measurement model ( 3) and ( 4) is non(cid:173)
`lin,.;ir, UJt" 11 .~,. ::in t"YtPnrlPrl K::i lm::in filtPr, m::i king 11~,. nf
`the Jacobian of the nonlinear HiBall measurement
`model to transform the covariance of the Kalman filter.
`Although this approach does not preserve the presumed
`Gaussian nature of the process, it has been used success(cid:173)
`folly in countless applications since the introduction of
`the (linear) Kalman filter. Based on observations of the
`statistics of the HiBall filter residuals, the approach also
`appears to work well for the HiBall. In fact, it is reason(cid:173)
`able to expect that it would, as the speed of the SCAAT
`approach minimizes the distance (in state space) over
`wh ich we use the Jacobian-based linear approximation.
`This is another example of the importance of the rela (cid:173)
`tionship shown in figure 12.
`
`META 1018
`META V. THALES
`
`
`
`Welch et al.
`
`13
`
`ing able to estimate the 3-D positions of the LEDs in
`the world concurrently with the pose of the HiBall, on(cid:173)
`line, in real time. This capability is a tremendous benefit
`in terms of the accuracy and noise characteristics of the
`estimates. Accurate LED position estimates are so im(cid:173)
`portant that, prior to the introduction of the SCAA T
`approach, a specialized offline approach was developed
`to address the problem (Gottschalk & Hughes, 1993).
`The method we now use for autocalibration involves
`defining a distinct SCAAT Kalman filter for each LED.
`Specifically, for each LED, we maintain a state 7 ( esti(cid:173)
`mate of the 3-D position) and a 3 X 3 Kalman filter
`covariance. At the beginning of each estimation cycle,
`we form an augmented state vector x using the
`appropriate LED state and the current HiBall state:
`x = [xr, Y] T. Similarly, we augment the Kalman filter
`error covariance matrix with that of the LED filter. We
`then follo.}v the normal steps outlined in section 5.3,
`with the result being that tl1e LED portion of the filter
`state and covariance is updated in accordance witl1 the
`measurement residual. At the end of the cycle, we ex(cid:173)
`tract the LED portions of tl1e state and covariance from
`the augmented filter, and save them externally. The ef(cid:173)
`fect is that, as the system is being used, it continually
`refines its estimates of the LED positions, thereby con(cid:173)
`tinually improving its estimates of the HiBall pose.
`Again , for additional information, see Welch ( 1996)
`and Welch and Bishop (1997).
`
`5.5 Initialization and Reacquisition
`
`The recursive nature of the Kalman filter ( section
`5 .3) requires that tl1e filter be initialized with a known
`state and corresponding covariance before steady-state
`operation can begin. Such an initialization ( or acqu isi(cid:173)
`tion) must take place prior to any tracking session, but
`also upon the (rare) occasion when the filter diverges
`and "loses lock" as a result of blocked sensor views, for
`example.
`The acquisition process is complicated by the fact that
`each LEPD sees a number of different widely separated
`views (section 4.1 ). Therefore, detecting an LED pro(cid:173)
`vides at best an ambiguous set of potential LED direc(cid:173)
`tions in HiBall coordinates. Moreover, before acquisition,
`
`Figure Ila.
`
`At each estimation cycle, the next of the 26 possible
`views is chosen randomly. Four points corresponding to
`the corners of the LEPD sensor associated with that
`view are projected into the world using the 3 X 4 view(cid:173)
`ing matrix for that view, along with the current esti(cid:173)
`mates of the HiBall pose. This projection, which is the
`inverse of the measurement relationship described
`above, results in four rays extending from the sensor
`into the world. The intersection of these rays and the
`approximate plane of the ceiling determines a 2-D
`bounding box on the ceiling, within which are the can(cid:173)
`didate LEDs for the current view. One of the candidate
`LEDs is then chosen in a least-recently-used fashion to
`ensure a diversity of constraints.
`Once a particular view and LED have been chosen in
`this fashion, the CIB (section 4.3) is instructed to flash
`the LED and take a measurement as described in sec(cid:173)
`tion 5.2. This single measurement is compared with a
`prediction obtained using equation ( 3), and the differ(cid:173)
`ence ( or residual) is used to update the filter state and
`covariance matrices using the Kalman gain matrix. The
`Kalman gain is computed as a combination of the cur(cid:173)
`rent filter covariance, tl1e measurement noise variance
`(section 6.2 .1), and tl1e Jacobian of the measurement
`model. This recursive prediction-correction cycle con(cid:173)
`tinues in an ongoing fashion, a single constraint at a
`time.
`A more detailed discussion of tl1e HiBall Kalman filter
`and the SCAAT approach is beyond the scope of this
`paper. For additional information see Welch (1996) and
`Welch and Bishop (1997).
`
`5.4 Online LED Autocalibration
`
`Along with the benefit of simplicity and speed, the
`SCAAT approach offers the additional capability ofbe-
`
`META 1018
`META V. THALES
`
`
`
`14 PRESENCE: VOLUME I 0, NUMBER I
`
`no assumptions can be made to limit the search space of
`visible LEDs. As such, a relatively slow brute-force algo(cid:173)
`rithm is used to acquire lock.
`We begin with an exhaustive LED scan of sufficiently
`fine granularity to ensure tl1at the central primary field
`of view is not missed. For the present ceiling, we flash
`every iliirteentl1 LED in sequence, and look for it with
`ilie central LEPD until we get a hit. Then, a sufficiently
`large patch of LEDs, centered on the hit, is sampled to
`ensure that several of the views of tl1e central LEPD will ward, and more natural, than boili virtual flying and
`be hit. The fields of view are disambiguated by using the walking in place. The unprecedented combination of
`initial hits to estimate the yaw of the HiBall (rotation
`large working volume and the high performance of ilie
`about vertical); finally, more-selective measurements are HiBall system led the researchers to claim that there was
`used to refine the acquisition estimate sufficiently to
`nowhere else that iliey could have meaningfully per-
`switch into tracking mode.
`formed the experiments.
`
`Figure 13.
`
`0
`
`6
`
`Results
`
`Three days after ilie individual pieces of hardware
`were shown to be functioning properly, we dei:non(cid:173)
`strated a complete working system. After months of
`subsequent tuning and optimization, tl1e system contin(cid:173)
`ues to perform boili qualitatively and quantitatively as
`well-or, in some respects, better-than we had antici(cid:173)
`pated (section_ 6.1 ). The articulatipn of iliis success is
`not meant to be self-congratulatory, but to give credit
`to the extensive and careful modeling and simulation
`performed prior to assembly (section 6.2). In fact, the
`Kalman filter parameters found by the optimization pro(cid:173)
`cedure described in section 6.2.2 were, and continue to
`be, used directly in the working system. Likewise, much
`of the software written for ilie original simulations con(cid:173)
`tinues to be used in the working system.
`
`6. I Online Operation
`
`6.1 . I Robustness. As a result of a mechanical
`design tradeoff, each sensor field of view is less than six
`degrees. The focal length is set by the size of the sensor
`housing, which is set by ilie diameter of tl1e sensors
`iliemselves. Energetics is also a factor, limiting how
`small the lenses can be while maintaining sufficient
`light-collecting area. As a result of these design
`t:radeoffs, even a momentary small error in ilie HiBall
`pose estimate can cause the recursive estimates to di(cid:173)
`verge and ilie system to lose lock after only a few LED
`sightings. And yet ilie system is quite robust. In prac(cid:173)
`tice, users can jump around, crawl on the floor, lean
`over, even wave their hands in front of the sensors, and
`the system does not lose lock. During one session, we
`were using the HiBall as a 3-D digitization probe, a Hi(cid:173)
`Ball on the end of a pencil-shaped fiberglass wand (fig(cid:173)
`ure 14, left). We laid ilie probe down on a table at one
`point, and were amazed to later notice that it was still
`tracking, even though it was observing only three or
`four LEDs near the edge of the ceiling. We picked up
`ilie probe and continued using it, without it ever losing
`lock.
`
`The HiBall system is in daily use as a tool for edu(cid:173)
`cation and research. For example, it was used by Martin
`U soh et al. to perform virtual reality experiments com-
`6.1.2 Estimate Noise. T he simplest quantitative
`paring virtual "flying," walking in place, and real walk-
`measurement of estimate noise is the standard deviation
`ing (U soh et al., 1999 ). (See figure 13. ) The researchers of the estimates when a HiBall is held stationary. With a
`used the HiBall system to demonstrate that, as a mode
`tracker as sensitive as the HiBall , it is important to be
`of locomotion, real walking is simpler, more straightfor-
`certain that it really is stationary. The raised floor in our
`
`META 1018
`META V. THALES
`
`
`
`Welch et al.
`
`15
`
`figure 14.
`
`laboratory allows motion, for example when a person
`walks by, that is larger than the expected error in the
`HiBall. We made careful measurements by resting the
`support for the HiBall on the concrete subfloor in our
`laboratory. The standard deviation of the HiBall esti(cid:173)
`mates while stationary was approximately 0.2 mm and
`0.03 deg. The distribution of the noise fit a normal dis(cid:173)
`tribution quite well.
`To make measurements of the noise when the HiBall
`is in motion, we rely on the assumption that almost all
`of the signal resulting from normal human motion is at
`frequencies below 2 H z. We use a high-pass filter
`(Welch, 1967) on the pose estimates, and assume the
`output is noise. The resulting statistics are comparable
`to those made with the HiBall stationary, except at
`poses for which there are very few LEDs visible in only
`one or two views. In these poses, near the edge of the
`ceiling, the geometry of the constraints results in ampli(cid:173)
`fication of errors. For nearly all of the working volume
`of the tracker, the standard deviation of the noise on
`measurements while the HiBall is still or moving is
`about 0.2 mm and 0.03 deg.
`
`6.1.3 Absolute Accuracy. We have performed
`several experiments to measure the accuracy of the Hi(cid:173)
`Ball system; however, the most objective experiment
`took place in July ofl999. Boeing Phantom Works sci(cid:173)
`entists David Himmel and David Princehouse (Associate
`Technical Fellows) visited our laboratory for two days to
`assess the accuracy of the HiBall system and its potential
`use in providing assembly workers with real-time feed -
`
`back on the pose of handheld pneumatic drills during
`the aircraft manufacturing process. (The right image in
`figure 14 shows the HiBall attached to a pneumatic
`drill .)
`The scieE1tists designed some controlled experiments
`to assess the accuracy of the HiBall system. They
`brought with them an aluminum "coupon" (see figure
`14 and figure 15) with 27 shallow holes drilled on I.S(cid:173)
`in . centers using a numerically controlled milling ma(cid:173)
`chine with a stated accuracy of 1/ 1000 in. The holes
`( except one) were not actually drilled through the cou(cid:173)
`pon, but instead formed conical dimples with a fine
`point at the center. The center-most hole (hole 14) was
`actually drilled completely through to provide a mount(cid:173)
`ing point. Using that hole, we attached the coupon to a
`military-grade tripod situated on the (false) floor of our
`laboratory, under the HiBall ceiling. As shown in the
`left image of figure 14, we mounted the HiBall on our
`standard probe, a rigid plastic, pencil-like object with a
`pointed steel tip . We used one of the coupon holes to
`perform our normal HiBall probe calibration procedure,
`which involves placing the tip of the probe in the hole,
`pivoting the probe about the point while collecting sev(cid:173)
`eral seconds of pose data, and then estimating the trans(cid:173)
`formation from the HiBall to the probe tip. (We have a
`standard application that assists us with this procedure.)
`Together with Himmel and Princehouse, we performed
`several experiments in which we placed the ti_p of the
`HiBall probe in each hole in succession, sampling the
`HiBall pose estimates only when we pressed the probe
`button. We performed several such sessions over the
`
`META 1018
`META V. THALES
`
`
`
`16 PRESENCE: VOLUME 10, NUMBER I
`
`:0 0: 0 0 0 0 0 :0 0:
`:0 0: 0 0 $ 0 0 :0 0:
`:0 0: 0 0 0 0 0 :0 ®:
`
`l
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`was built by Stefan Gottschalk (UNC) for the purpose
`of evaluating the optical behavior and energetics of the
`primary, secondary, and tertiary fields of view; the re(cid:173)
`sults were used by the noise model developed by Chi
`(1995) as described in section 6.2 .1.
`In addition, a complete simulator of the system was
`written in C+ +. This simulator, discussed further in
`section 6 .2 .2, was used to evaluate the speed, accuracy,
`and robustness of the system. In addition, it was used to
`"tune" the Kalman filter for realistic motion dynamics.
`This simulator continues to be used to evaluate me(cid:173)
`chanical, optical, and algorithmic alternatives.
`
`6.2.1 HiBall Measurement Noise Model.
`Signal-to-noise performance is a prime determiner of
`both accuracy and speed of the system, so an in-depth
`study ( Chi, 1995) was performed to develop a detailed
`noise model accounting for properties of the LED, tl1e
`LEPD (sensor), the optical system, the physical distance
`and pose, the electronics, and the dark-light-dark inte(cid:173)
`grations described in section 5.2. The predominant
`noise source is shot noise, with Johnson noise in the
`sheet resistivity of tl1e LEPD surfaces being the next
`most significant. Careful measurements made in the lab(cid:173)
`oratory with the actual devices yielded results that were
`almost identical to those predicted by the sophisticated
`model in Chi (1995). A simplified version of this model
`is used in tl1e real system with the automatic gain con(cid:173)
`trol ( section 5 .2) to predict the measurement noise for
`the Kalman filter (section 5.3).
`
`Figure 15.
`
`course of one afternoon and the next morning. (We
`recalibrated the probe in the morning.)
`For the data from each session, we used a least(cid:173)
`squares optimization method to find an estimate of the
`full 6-D transformation (translation and rotation) that
`minimized the Euclidian distance from the probe data
`to a 2-D plane with 27 holes on 1.5-in. spacing. The
`resulting fit consistently corresponded to an average
`positioning error of20/1000 in. (0.5 mm) at the metal
`tip of the HiBall probe, which is within the target Boe(cid:173)
`ing specifications. The system might actually be more.
`accurate than our experiments indicated. For one, the
`diameter of the (rounded) tip of the HiBall probe is 0.5
`mm . In addition, at the time of the experiments, we
`unfortunately did not heed our own advice to position
`the experimental platform on the rigid c-0ncrete sub(cid:173)
`floor. In any case, we are encouraged by the results, and
`are excited about the possibility that the HiBall system
`has uses beyond tracking for virtual reality.
`
`6.1 Offline Simulation and Modeling
`
`During the design of the HiBall system, we made
`substantial use of simulation, in some domains to a ve1y
`detailed level. For example, Zemax (Focus Software,
`1995) was used extensively in the design and optimiza(cid:173)
`tion of the optical design, including the design of the
`filter glass lenses, and geometry of the optical-compo(cid:173)
`nent layout. AutoCAD was used to design, specify, and
`fit check the HiBall body mechanicals, to visualize the
`physical design, and to transmit the design to our col(cid:173)
`laborators at the University of Utah for fabrication by
`the Alpha 1 System (Thomas, 1984; University of Utah
`Computer Science, 1999). A custom ray-tracing system
`
`6.2.2 Complete System Simulations. To pro(cid:173)
`duce realistic data for developing and tuning our algo(cid:173)
`rithms, we collected several motion paths (sequences of
`pose estimates) from our first-generation electro-optical
`tracker (figure 3) at its 70 Hz maximum report rate.
`These paths were recorded from both naive users visit(cid:173)
`ing our monthly "demo days" and from experienced
`users in our labs. In the same fashion as we had done
`for Azuma and Bishop (1994a), we filtered the raw path
`data with a noncausal zero-phase-shift, low-pass filter to
`eliminate energy above 2 Hz. The output of the low(cid:173)
`pass filtering was then resampled at whatever rate we
`wanted to run the simulated tracker, usually 1,000 Hz.
`
`META 1018
`META V. THALES
`
`
`
`Welch et al.
`
`17
`
`For the purposes of our simulations, we considered
`these resampled paths to be the "truth"-a perfect rep (cid:173)
`resentation of a user's motion. Tracking error was deter(cid:173)
`mined by comparing the true path to the estimated path
`produced by the tracker.
`The simulator reads camera models describing the 26
`views, the sensor noise parameters, the LED positions
`and their expected error, and the motion path described
`above. Before beginning the simulation, the LED posi(cid:173)
`tions are perturbed from their ideal positions by adding
`normally distributed error to each axis. Then, for each
`simulated cycle of operation, the "true" poses are up(cid:173)
`dated using the input motion path. Next, a view is cho(cid:173)
`sen and a visible LED within that view is selected, and
`the image-plane coordinates of the LED on the chosen
`sensor are computed using the camera model for the
`view and the LED as described in section 5.3. These
`sensor coordinates are then perturbed based on the sen(cid:173)
`sor noise model (section 6.2.1) using the distance and
`angle to the LED. These noise-corrupted sensor read(cid:173)
`ings are then fed to the SCAAT filter to produce an up (cid:173)
`dated position estimate. The position estimate is com(cid:173)
`pared to the true position to produce a scalar error
`metric that is described next.
`The error metric we used combines the error in pose
`in a way that relates to the effects of tracker error on a
`head-worn display user. We define a set of points ar(cid:173)
`rayed around the user in a fixed configuration. We com(cid:173)
`pute two sets of coordinates for these points: the u-i1e
`position using the true pose and their estimated position
`using the estimated pose. The error metric is then the
`sum of the distances benveen the true and estimated
`positions of these points. By adjusting the distance of
`the points from the user, we can control the relative
`importance of the orientation and the position error in
`the combined error metric. If the distance is small, then
`the position error is weighted most heavily; if the dis (cid:173)
`tance is large, then the orientation error is weighted
`most heavily. Our two error metrics for the entire run
`are the square root of the sum of the squares of all the
`distances, and the peak distance.
`
`6.2.3 Tuning. Determining the magnitudes of
`the SCAAT Kalman filter noise parameters (section 5.3)
`
`is called system identification or tuning. We use Powell's
`method (Press, Teukolsky, Vetterling, & Flannery,
`1990) to minimize the error metric described above.
`Starting with a set of parameters, we run the simulator
`over a full motion run to determine the total error for
`the run. The optimizer makes a small adjustment to the
`parameters and the process is repeated. These runs re (cid:173)
`quired hours of computer time and some skill (and
`luck) in choosing the initial parameters and step sizes.
`Of course, it is important to choose motion paths that
`are representative of expected target motion. For exam(cid:173)
`ple, a run in which the target is very still would result in
`very different tuning from a run in which the target
`moves very vigorously.
`
`7
`
`Future Work
`
`7.1 -Improving the HiBall
`
`The current SCAAT filter form (section 5.3) and
`tuning values (section 6.2.3) are a compromise between
`the responsiveness desired for high dynamics, and the
`heavy filtering desired for smooth estimates during very
`slow or no motion. As such, we are investigating the use
`of a multimodal or multiple-model Kalman filter frame(cid:173)
`work (Bar-Shalom & Li, 1993; Brown & Hwang,
`1992 ). A multiple-model implementation of the HiBall
`should be able to automatically, continuously, and
`smoothly choose between one Kalman filter tuned for
`high dynamics and another tuned for little or no mo(cid:173)
`tion . We have this working in simulation, but not yet
`implemented in the real system.
`As mentioned in section 4.3, the system was designed
`to support wireless communication between the HiBall
`and tl1e CIB, without significant modification or added
`information overhead. Despite the fact that commercial
`head-worn displays are themselves tethered at this time,
`we are beginning work on a completely wireless HiBall
`and head -worn display system. We also intend to use
`the wireless HiBall with projector-based displays where
`the user is otherwise wearing only polarized glasses.
`Furthermore, the HiBall was designed with extra
`built-in digital input-output capabilities. We are consid-
`ering possibilities for providing access to these signals
`
`C
`
`META 1018
`META V. THALES
`
`
`
`18 PRESENCE: VOLUME 10, NUMBER I
`
`for (wireless) user-centered input devices and even
`body-centric limb tracking.
`Finally, we note that a private startup company called
`3rdTech (3rdTech, 2000) has negotiated a technology
`license with UNC for the existing HiBall Tracking Sys(cid:173)
`tem. 3rdTech is now marketing an updated system with
`simpler LED "strips" instead of ceiling panels.
`
`7.l Wide-Field-of-View HiBall
`
`Beyond improving the existing system, we con(cid:173)
`tinue to head down a path of research and development
`that will lead to systems with reduced dependency on
`the laboratory infrastructure. For example, our current
`ceiling-panel design with 32 LEDs per panel provides
`far more dense coverage than we believe is necessary.
`The density of ceiling LEDs is a result of design based
`on the original sensor fixture shown in figure · 3. Given a
`more sparse field of LEDs, we believe that we could
`achieve similar performance with a version of the HiBall
`that has a small number of wide-field-of-view optical
`sensor units. This would further reduce the packaging
`size of the user-worn sensor component.
`
`7.3 To the Hallway a'!d Beyond
`
`By leveraging the knowledge gained from success(cid:173)
`ful work in the laboratory, our long-term goal is to
`achieve similar performance with little or no explicit
`infrastructure: for example, througho ut a building or
`even (some day) outdoors. Although high-performance
`6-D tracking outdoors is a tremendous challenge tl1at is
`unlikely to be solved any time soon, we believe that the
`eventual solution will involve a clever and careful com(cid:173)
`bination of multiple complementary technologies. In
`particular, we are pursuing the hybrid approach initially
`presented by Welch (1995 ). We look forward to a day
`when high-performance 6-D tracking outdoors enables
`pose-aware devices for work such as Feiner's outdoor
`augmented reality (Feiner, MacIntyre, Hi::illerer, &
`Webster, 1997; Hi::illerer, Feiner, Terauchi, Rashid, &
`Hallaway, 1999 ), the "WorldBoard" initiative (Spohrer,
`1999a, 19996 ), and other wonderful applications.
`
`Acknowledgments
`
`We acknowledge former Tracker Project members and con(cid:173)
`tributors (alphabetically): Ronald Azuma, Henry Fuchs, Stefan
`Gottschalk, Pawan Kumar, John Thomas, Jih-Fang Wang,
`Mark Ward, Scott Williams, Mary Whitton, and Philip Wins(cid:173)
`ton. We thank Al Barr (California Institute of Technology)
`and John "Spike" Hughes (Brown University) for their contri (cid:173)
`butions to the original offiine LED calibration work that led
`to the simpler ceiling panels (figure 1 and figure 10). Finally,
`we want to acknowledge our many collaborators in the NSF
`Science and Technology Center for Computer Graphics and
`Scientific Visuali zation (below), and in particular our collabo(cid:173)
`rators in mechanical design and fabrication at the University of
`Utah: Rich Riesenfeld, Sam Drake, and Russ Fish.
`This work was supported in part by DARPA/ETO contract
`DABT 63-93-C-0048 "Enabling Technologies and Applica- •
`tion Demonstrations for Synthetic Environments" (Principal
`Investigators Frederick P. Brooks, Jr. and Henry Fuchs
`(UNC)), and by the National Science Foundation Coopera(cid:173)
`tive Agreement ASC-8920219 "Science and Technology Cen(cid:173)
`ter for Computer Graphics and Scientific Visualization," Cen(cid:173)
`ter Director Rich Riesenfeld (University of Utah ) (Principal
`Investigators Al Barr (Caltech), Don Greenberg (Cornell Uni(cid:173)
`versity), Herny Fuchs (UNC), Rich Riesenfeld, and Andy van
`Dam (Brown University)).
`
`References
`
`3rdTech. (2000, July 15). 3rdTech"' [Webpage]. Retrieved
`July 19, 2000, from the World Wide Web : http://
`www.3rdtech.com/.
`Ascension. (2000 ). Ascension Technology Corporation [Web(cid:173)
`page]. Retrieved September 15, 2000 from the World Wide
`Web: http:/ /www.ascension-tech.com/ [2000, September
`15].
`Azarbayejani , A., & Pentland, A. ( 1995 ). Recursive estimation
`of motion, structure, and focal length . IEEE Trans. Pattern