throbber
Welch et al.
`
`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

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket