throbber
Predictive Tracking for
`Augmented Reality
`
`TR95-007
`February 1995
`
`R S I TAT
`
`•
`
`LUX
`
`NIV E
`U
`•
`
`UM
`
`C A R O L S
`
`•
`
`EPT
`
`EN
`
`LIBERTAS
`
`T
`
`L L
`
`I
`GI
`S
`
`Ronald T. Azuma
`
`Department of Computer Science
`CB #3175, Sitterson Hall
`UNC-Chapel Hill
`Chapel Hill, NC 27599-3175
`
`UNC is an Equal Opportunity/Affirmative Action Institution.
`
`META 1013
`META V. THALES
`
`

`

`Predictive Tracking for Augmented Reality
`
`by
`
`Ronald Tadao Azuma
`
`A dissertation submitted to the faculty of the University of North Carolina at
`Chapel Hill in partial fulfillment of the requirements for the degree of Doctor of
`Philosophy in the Department of Computer Science
`
`Chapel Hill
`
`1995
`
`Approved by:
`
`
`
`
`
`
`
`T. Gary Bishop
`
`
`
`
`
` Adviser
`
` Reader
`
`
`
`
`
`Vernon Chi
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Frederick P. Brooks, Jr.
`
` Reader
`
`ii
`
`META 1013
`META V. THALES
`
`

`

`ABSTRACT
`
`Ronald Tadao Azuma. Predictive Tracking for Augmented Reality
`
`(Under the direction of T. Gary Bishop.)
`
`In Augmented Reality systems, see-through Head-Mounted Displays
`
`(HMDs) superimpose virtual three-dimensional objects on the real world. This
`
`technology has the potential to enhance a user's perception of and interaction
`
`with the real world. However, many Augmented Reality applications will not
`
`be accepted unless virtual objects are accurately registered with their real
`
`counterparts. Good registration is difficult, because of the high resolution of
`
`the human visual system and its sensitivity to small differences. Registration
`
`errors fall into two categories: static errors, which occur even when the user
`
`remains still, and dynamic errors caused by system delays when the user
`
`moves. Dynamic errors are usually the largest errors. This dissertation
`
`demonstrates that predicting future head locations is an effective approach for
`
`significantly reducing dynamic errors.
`
`This demonstration is performed in real time with an operational
`
`Augmented Reality system. First, evaluating the effect of prediction requires
`
`robust static registration. Therefore, this system uses a custom
`
`optoelectronic head-tracking system and three calibration procedures
`
`developed to measure the viewing parameters. Second, the system predicts
`
`future head positions and orientations with the aid of inertial sensors.
`
`Effective use of these sensors requires accurate estimation of the varying
`
`iii
`
`META 1013
`META V. THALES
`
`

`

`prediction intervals, optimization techniques for determining parameters, and
`
`a system built to support real-time processes.
`
`On average, prediction with inertial sensors is 2 to 3 times more
`
`accurate than prediction without inertial sensors and 5 to 10 times more
`
`accurate than not doing any prediction at all. Prediction is most effective at
`
`short prediction intervals, empirically determined to be about 80 milliseconds
`
`or less. An analysis of the predictor in the frequency domain shows the
`
`predictor magnifies the signal by roughly the square of the angular frequency
`
`and the prediction interval. For specified head-motion sequences and
`
`prediction intervals, this analytical framework can also estimate the maximum
`
`possible time-domain error and the maximum tolerable system delay given a
`
`specified maximum time-domain error.
`
`Future steps that may further improve registration are discussed.
`
`iv
`
`META 1013
`META V. THALES
`
`

`

`ACKNOWLEDGEMENTS
`
`I thank my advisor, Gary Bishop, and my committee members, Frank
`Biocca, Frederick Brooks, Vern Chi, Henry Fuchs, and Jonathan Marshall, for
`their advice and guidance in this work.
`
`I would also like to thank the following people:
`
`• Mark Ward, for doing most of the mechanical and electronic design of
`the optoelectronic tracking system that was critical to this project.
`• Brad Bennett and Stefan Gottschalk for writing much of the software
`for the optoelectronic tracking system.
`• Brad Bennett for his help with the low-level software, installation and
`debugging of the single-board computers and Pixel-Planes 5.
`• John Thomas, John Hughes, Kurtis Keller, and Jack Kite for making
`mechanical parts for this project and expediting the ordering of
`equipment.
`• Vern Chi and Steven Brumback for designing analog circuitry used in
`this project.
`• David Harrison, Brennan Stephens, Elliot Poger, and Peggy Wetzel
`for their help with video recording and editing.
`• Jack Goldfeather and John F. "Spike" Hughes for explaining some of
`the mathematics to me.
`• Russell Taylor and Mark Finch for letting me use equipment from the
`Scanning Tunneling Microscope project to test our inertial sensors.
`• Marc Olano and Jonathan Cohen for creating low-latency rendering
`code on Pixel-Planes 5.
`• Carl Mueller, Marc Olano, and David Ellsworth for their advice on
`programming Pixel-Planes 5.
`• Mike Bajura, Andrei State, Rich Holloway, Jannick Rolland, and Ulrich
`Neumann for discussions about see-through registration strategies.
`• Devesh Bhatnagar, Suresh Balu, and the other Tracker group team
`members for their general support on the tracking equipment and
`software.
`
`v
`
`META 1013
`META V. THALES
`
`

`

`• Fay Ward and Kathy Tesh for always being there when I needed to
`mail something overnight, fill out a form that was due that day, and
`for squeezing me onto my professors' schedules when necessary.
`
`Financial help came from the following sources:
`
`• ONR Contract N00014-86-K-0680
`• the NSF/ARPA Science and Technology Center for Computer
`Graphics and Scientific Visualization, NSF Prime Contract Number
`8920219
`• ARPA Contract DABT63-93-C-C048 "Enabling Technologies and
`Application Demonstrations for Synthetic Environments"
`• a Pogue Fellowship
`
`Last, but certainly not least, I thank my parents for their support and
`understanding.
`
`vi
`
`META 1013
`META V. THALES
`
`

`

`TABLE OF CONTENTS
`
` Page
`
`
`
`LIST OF TABLES.................................................................................
`
`xi
`
`
`
`LIST OF FIGURES...............................................................................
`
`xii
`
`
`
`LIST OF ABBREVIATIONS...............................................................
`
`xviii
`
`
`
`LIST OF SYMBOLS ............................................................................
`
`xx
`
`Chapter
`
`
`
`1. Introduction .....................................................................................
`
`1
`
`
`
`1.1 Background .............................................................................
`
`1
`
`
`
`1.2 Motivation ................................................................................
`
`4
`
`
`
`1.3 The problem.............................................................................
`
`6
`
`
`
`1.4 Sources of error .......................................................................
`
`9
`
`
`
`1.5 Contribution ...........................................................................
`
`14
`
`
`
`2. Problem statement ........................................................................
`
`20
`
`
`
`2.1 See-through HMD systems ...................................................
`
`20
`
`
`
`2.1.1 Optical see-through ....................................................
`
`21
`
`
`
`2.1.2 Video see-through ......................................................
`
`21
`
`2.1.3 Comparison of optical and video see-through
`
`approaches .................................................................
`
`22
`
`
`
`2.2 Tracker ..................................................................................
`
`25
`
`
`
`2.3 System operation...................................................................
`
`27
`
`
`
`2.4 Registration task ....................................................................
`
`29
`
`vii
`
`META 1013
`META V. THALES
`
`

`

`
`
`3. Static registration ...........................................................................
`
`32
`
`
`
`3.1 Sources of error .....................................................................
`
`32
`
`
`
`3.2 Previous work ........................................................................
`
`34
`
`
`
`3.3 Basic approach......................................................................
`
`36
`
`
`
`3.4 Optoelectronic tracker............................................................
`
`38
`
`
`
`3.5 Calibration techniques ...........................................................
`
`44
`
`
`
`3.5.1 Crate location..............................................................
`
`44
`
`
`
`3.5.2 Crosshair.....................................................................
`
`47
`
`
`
`3.5.3 Boresight.....................................................................
`
`49
`
`
`
`3.5.4 Field-of-view ...............................................................
`
`53
`
`
`
`3.6 Evaluation ..............................................................................
`
`56
`
`
`
`4. Dynamic registration ......................................................................
`
`65
`
`
`
`4.1 Basic approach......................................................................
`
`65
`
`
`
`4.2 Kalman filters.........................................................................
`
`79
`
`
`
`4.3 Previous work ........................................................................
`
`84
`
`
`
`4.3.1 Prediction of head motion ...........................................
`
`84
`
`
`
`4.3.2 Prediction of related motion ........................................
`
`86
`
`
`
`4.3.3 Characteristics of head motion ...................................
`
`88
`
`
`
`4.4 Prediction method..................................................................
`
`89
`
`
`
`4.4.1 Overview .....................................................................
`
`89
`
`
`
`4.4.2 Translation ..................................................................
`
`91
`
`
`
`4.4.3 Orientation ..................................................................
`
`94
`
`
`
`4.5 Evaluation ............................................................................
`
`102
`
`
`
`4.6 Future directions ..................................................................
`
`120
`
`viii
`
`META 1013
`META V. THALES
`
`

`

`
`
`5. System and prediction details......................................................
`
`127
`
`
`
`5.1 System details .....................................................................
`
`127
`
`
`
`5.1.1 Optical see-through HMD .........................................
`
`128
`
`
`
`5.1.2 Rate gyroscopes and linear accelerometers.............
`
`129
`
`
`
`5.1.3 Optoelectronic head tracker......................................
`
`134
`
`
`
`5.1.4 Scene generator: Pixel-Planes 5 ..............................
`
`135
`
`
`
`5.1.5 Connections and communication paths....................
`
`137
`
`
`
`5.2 Timing details ......................................................................
`
`139
`
`
`
`5.3 Prediction method details ....................................................
`
`147
`
`5.3.1 Extracting angular velocity and linear acceleration... 147
`
`
`
`5.3.2 Parameter determination ..........................................
`
`154
`
`
`
`5.3.3 Miscellaneous details................................................
`
`164
`
`
`
`6. Theoretical limits..........................................................................
`
`166
`
`
`
`6.1 Limits of arbitrary prediction.................................................
`
`167
`
`
`
`6.2 Frequency-domain analysis techniques ..............................
`
`169
`
`
`
`6.2.1 Introduction ...............................................................
`
`169
`
`
`
`6.2.2 The Fourier Transform ..............................................
`
`170
`
`
`
`6.2.3 The Z-Transform .......................................................
`
`173
`
`
`
`6.2.4 Assumptions .............................................................
`
`174
`
`
`
`6.2.5 Ideal predictor transfer function ................................
`
`175
`
`
`
`6.2.6 RMS error metric.......................................................
`
`177
`
`
`
`6.3 Analysis of 2nd-order polynomial predictor .........................
`
`178
`
`6.3.1 Magnitude ratio of the 2nd-order prediction
`
`transfer function ........................................................
`
`180
`
`6.3.2 Phase difference of the 2nd-order prediction
`
`transfer function ........................................................
`
`181
`
`ix
`
`META 1013
`META V. THALES
`
`

`

`6.3.3 Magnitude ratio of the 2nd-order error transfer
`
`function .....................................................................
`
`183
`
`
`
`6.3.4 Interpretation.............................................................
`
`184
`
`
`
`6.4 Analysis of Kalman-filter-based predictor ............................
`
`187
`
`
`
`6.4.1 The Discrete Kalman Filter transfer function.............
`
`190
`
`6.4.2 Transfer functions for combination of Kalman
`
`Filter and predictor ....................................................
`
`193
`
`
`
`6.4.3 Case 1: Measured position .......................................
`
`200
`
`
`
`6.4.4 Case 2: Measured position and velocity ...................
`
`203
`
`
`
`6.4.5 Case 3: Measured position and acceleration............
`
`206
`
`
`
`6.5 Exploring prediction parameter space .................................
`
`209
`
`
`
`6.5.1 Predicted position error versus prediction interval ....
`
`210
`
`6.5.2 Estimating spectra of predicted motion sequences .. 216
`
`
`
`6.5.3 Estimating the maximum time-domain error .............
`
`218
`
`
`
`6.6 Implementation details.........................................................
`
`221
`
`
`
`6.6.1 Generating the "true" original signal .........................
`
`222
`
`
`
`6.6.2 Discrete Kalman Filter ..............................................
`
`224
`
`
`
`6.6.3 Spectral Analysis ......................................................
`
`225
`
`
`
`7. Future work ..................................................................................
`
`229
`
`
`
`References ........................................................................................
`
`233
`
`x
`
`META 1013
`META V. THALES
`
`

`

`LIST OF TABLES
`
`Table 3.1:
`
`
`
`Variance in repeated boresight and FOV operations ............
`
`63
`
`Table 4.1:
`
`Summary of prediction errors on three motion sequences.. 108
`
`Table 6.1:
`
`
`
`Time and Fourier domain equivalents .................................
`
`172
`
`Table 6.2:
`
`
`
`Time and Z-domain equivalents ..........................................
`
`174
`
`Table 6.3:
`
`
`
`Three sinusoids ...................................................................
`
`186
`
`Table 6.4:
`
`
`
`Four sinusoids .....................................................................
`
`186
`
`Table 6.5:
`
`Estimated versus actual time-domain maxima for Demo1
`
`sequence .............................................................................
`
`220
`
`
`
`Table 6.6: Original set of sinusoids ......................................................
`
`227
`
`xi
`
`META 1013
`META V. THALES
`
`

`

`LIST OF FIGURES
`
`
`
`Figure 1.1: Sutherland's HMD ...................................................................
`
`2
`
`
`
`Figure 1.2: User viewing molecular models with an HMD .........................
`
`3
`
`
`
`Figure 1.3: Virtual fetus superimposed on pregnant patient ......................
`
`5
`
`Figure 1.4: Conceptual drawing of engine maintenance application.
`
`Diagram drawn by Andrei State...............................................
`
`6
`
`Figure 1.5: Ultrasound static registration: Virtual gray trapezoid
`
`registered with the wand tip. ..................................................
`
`10
`
`Figure 1.6: Dynamic misregistration due to system delays. Virtual
`
`trapezoid is now separated from the wand tip. ......................
`
`11
`
`Figure 1.7: Histogram of head angular velocities, slow motion
`
`sequence ...............................................................................
`
`12
`
`Figure 1.8: Histogram of head angular velocities, fast motion
`
`sequence ...............................................................................
`
`12
`
`Figure 1.9: Cumulative density functions for fast and slow motion
`
`sequences .............................................................................
`
`13
`
`
`
`Figure 2.1: Optical see-through HMD conceptual diagram......................
`
`21
`
`
`
`Figure 2.2: Video see-through HMD conceptual diagram .......................
`
`22
`
`Figure 2.3: Definition of yaw, pitch, and roll with respect to Tracker
`
`space .....................................................................................
`
`26
`
`
`
`Figure 2.4: Example of coordinate systems ............................................
`
`27
`
`
`
`Figure 2.5: High-level system diagram ....................................................
`
`28
`
`
`
`Figure 2.6: Conceptual diagram of desired registration...........................
`
`30
`
`
`
`Figure 2.7: A picture of the actual wooden crate .....................................
`
`30
`
`
`
`Figure 2.8: Desired registration as seen inside the see-through HMD ....
`
`31
`
`Figure 3.1: Conceptual diagram of optical tracking system. Diagram
`
`drawn by Mark Ward. ............................................................
`
`39
`
`
`
`Figure 3.2: The actual system in operation..............................................
`
`40
`
`
`
`Figure 3.3: Side view of HMD equipped with four optical sensors...........
`
`40
`
`xii
`
`META 1013
`META V. THALES
`
`

`

`Figure 3.4: A pair of views of HMD equipped with four optical sensors .. 41
`
`Figure 3.5:
`
`
`
`Lit LEDs in the ceiling ............................................................
`
`41
`
`Figure 3.6:
`
`
`
`4-hat platform for mounting optical sensors ..........................
`
`42
`
`Figure 3.7:
`
`
`
`4-hat equipped with four optical sensors ...............................
`
`43
`
`
`
`Figure 3.8: Front view of optical see-through HMD with 4-hat.................
`
`43
`
`
`
`Figure 3.9: Rear view of optical see-through HMD with 4-hat .................
`
`43
`
`
`
`Figure 3.10: 4-hat with probe attached ......................................................
`
`45
`
`
`
`Figure 3.11: Diagram of 4-hat coordinate system and probe ....................
`
`45
`
`
`
`Figure 3.12: Digitized points on two edges of the crate .............................
`
`46
`
`
`
`Figure 3.13: Conceptual view of the virtual crosshair ................................
`
`48
`
`
`
`Figure 3.14: Actual view of crosshair, as seen inside the HMD.................
`
`48
`
`
`
`Figure 3.15: Calibration of center of the field-of-view ................................
`
`49
`
`
`
`Figure 3.16: Conceptual diagram of boresight operation ..........................
`
`50
`
`
`
`Figure 3.17: External view of boresight .....................................................
`
`50
`
`Figure 3.18:
`
`
`
`Internal view of boresight.......................................................
`
`50
`
`
`
`Figure 3.19: Coordinate systems in boresight ...........................................
`
`51
`
`
`
`Figure 3.20: Nails specify distance along ray ............................................
`
`52
`
`
`
`Figure 3.21: Conceptual diagram of FOV calibration ................................
`
`54
`
`
`
`Figure 3.22: 2-D side view of FOV calibration, in the X=0 plane ...............
`
`54
`
`
`
`Figure 3.23: Computing the total FOV .......................................................
`
`55
`
`
`
`Figure 3.24: Bust with hole in right eye and video camera ........................
`
`57
`
`
`
`Figure 3.25: Carrying the bust with see-through HMD attached................
`
`57
`
`
`
`Figure 3.26: Static registration viewpoints during walkaround...................
`
`58
`
`
`
`Figure 3.27: Views from static registration viewpoints #1-7 and #9...........
`
`59
`
`
`
`Figure 3.28: View from static registration viewpoint #8 .............................
`
`60
`
`xiii
`
`META 1013
`META V. THALES
`
`

`

`Figure 3.29: Elliptical path traced out in XY plane as 4-hat rotates 360
`
`degrees about its origin .........................................................
`
`62
`
`
`
`Figure 4.1: X position in Demo1 motion sequence ..................................
`
`67
`
`
`
`Figure 4.2: Closeup of region A in Figure 4.1 ..........................................
`
`67
`
`
`
`Figure 4.3: Yaw orientation in Demo1 motion sequence .........................
`
`68
`
`
`
`Figure 4.4: Closeup of region B in Figure 4.3 ..........................................
`
`68
`
`
`
`Figure 4.5: Y position in Demo2 motion sequence ..................................
`
`69
`
`
`
`Figure 4.6: Closeup of region C in Figure 4.5..........................................
`
`69
`
`
`
`Figure 4.7: Yaw orientation in Demo2 motion sequence .........................
`
`70
`
`
`
`Figure 4.8: Closeup of region D in Figure 4.7..........................................
`
`70
`
`
`
`Figure 4.9: Spectrum of X curve from 1st motion sequence....................
`
`71
`
`
`
`Figure 4.10: Spectrum of yaw orientation from 1st motion sequence........
`
`72
`
`
`
`Figure 4.11: Spectrum of Y curve from 2nd motion sequence ..................
`
`72
`
`
`
`Figure 4.12: Spectrum of yaw orientation from 2nd motion sequence ......
`
`73
`
`
`
`Figure 4.13 Flight simulator vs. Augmented Reality system.....................
`
`76
`
`
`
`Figure 4.14 Gaussian probability distribution for position d ......................
`
`80
`
`
`
`Figure 4.15 High-level dataflow diagram of Kalman filter operation .........
`
`81
`
`Figure 4.16 An example of how position and standard deviation change
`
`during the time and measurement update steps ...................
`
`83
`
`
`
`Figure 4.17: Walkaround motion sequence: Translation curves..............
`
`104
`
`
`
`Figure 4.18: Walkaround motion sequence: Orientation curves..............
`
`104
`
`
`
`Figure 4.19: Rotation motion sequence: Translation curves ...................
`
`105
`
`
`
`Figure 4.20: Rotation motion sequence: Orientation curves....................
`
`105
`
`
`
`Figure 4.21: Swing motion sequence: Translation curves .......................
`
`106
`
`
`
`Figure 4.22: Swing motion sequence: Orientation curves .......................
`
`106
`
`
`
`Figure 4.23: Angular errors for Swing motion sequence .........................
`
`109
`
`
`
`Figure 4.24: Position errors for Swing motion sequence .........................
`
`109
`
`xiv
`
`META 1013
`META V. THALES
`
`

`

`
`
`Figure 4.25: Screen errors for Swing motion sequence ..........................
`
`110
`
`
`
`Figure 4.26: Yaw curve with no prediction...............................................
`
`110
`
`
`
`Figure 4.27: Yaw curve with non-inertial-based prediction ......................
`
`111
`
`
`
`Figure 4.28: Yaw curve with inertial-based prediction .............................
`
`111
`
`
`
`Figure 4.29: Z curve with no prediction ...................................................
`
`112
`
`
`
`Figure 4.30: Z curve with non-inertial-based prediction ...........................
`
`112
`
`
`
`Figure 4.31: Z curve with inertial-based prediction ..................................
`
`113
`
`Figure 4.32: Rotation sequence: Scatterplots for no prediction,
`non-inertial-based prediction and inertial-based
`
`prediction (B/W)...................................................................
`
`115
`
`Figure 4.33: Rotation sequence: Scatterplots for no prediction,
`non-inertial-based prediction and inertial-based
`
`prediction (Color) .................................................................
`
`115
`
`Figure 4.34: Demo1 sequence: Scatterplots for no prediction,
`non-inertial-based prediction and inertial-based
`
`prediction (B/W)...................................................................
`
`116
`
`Figure 4.35: Demo1 sequence: Scatterplots for no prediction,
`non-inertial-based prediction and inertial-based
`
`prediction (Color) .................................................................
`
`116
`
`
`
`Figure 4.36: Average error versus prediction interval ..............................
`
`118
`
`
`
`Figure 4.37: Jitter in predicted pitch curve...............................................
`
`119
`
`
`
`Figure 4.38: Constant predicted velocities...............................................
`
`121
`
`
`
`Figure 4.39: Linear predicted velocities ...................................................
`
`122
`
`
`
`Figure 4.40: Estimated angular acceleration ...........................................
`
`123
`
`
`
`Figure 4.41: Estimated linear acceleration ..............................................
`
`124
`
`
`
`Figure 4.42: Why the acceleration estimate is constant ..........................
`
`125
`
`
`
`Figure 5.1: Overall system diagram.......................................................
`
`127
`
`
`
`Figure 5.2: Optical see-through HMD ....................................................
`
`129
`
`
`
`Figure 5.3: One view of gyroscopes and accelerometers .....................
`
`130
`
`
`
`Figure 5.4: Another view of gyroscopes and accelerometers................
`
`130
`
`xv
`
`META 1013
`META V. THALES
`
`

`

`
`
`Figure 5.5: External view of the electronics box ....................................
`
`132
`
`Figure 5.6:
`
`
`
`Internal view of the electronics box .....................................
`
`133
`
`
`
`Figure 5.7: A/D breakout board next to the PC......................................
`
`133
`
`
`
`Figure 5.8: Optoelectronic tracker architecture......................................
`
`134
`
`
`
`Figure 5.9: Pixel-Planes 5 architecture..................................................
`
`135
`
`
`
`Figure 5.10: Dataflow diagram of entire system ......................................
`
`138
`
`
`
`Figure 5.11: Recorded total system delays in one motion sequence ......
`
`140
`
`
`
`Figure 5.12: Components of the total prediction interval .........................
`
`143
`
`
`
`Figure 5.13: Components of the estimated interval .................................
`
`143
`
`
`
`Figure 5.14: Predicted vs. actual prediction intervals ..............................
`
`144
`
`
`
`Figure 5.15: Error in estimated prediction intervals .................................
`
`145
`
`
`
`Figure 5.16: Accelerometers are tiny cantilever beams...........................
`
`149
`
`
`
`Figure 5.17: Definitions for rigid body kinematics formula .......................
`
`152
`
`
`
`Figure 5.18: Locations of accelerometers in Tracker space ....................
`
`152
`
`
`
`Figure 6.1: Magnitude ratio of ideal prediction transfer function ............
`
`176
`
`
`
`Figure 6.2: Phase difference of ideal prediction transfer function .........
`
`177
`
`
`
`Figure 6.3: Magnitude ratio of 2nd-order prediction transfer function....
`
`181
`
`Figure 6.4: Phase difference of 2nd-order prediction transfer function.. 183
`
`
`
`Figure 6.5: RMS error for 2nd-order predictor .......................................
`
`185
`
`
`
`Figure 6.6: Portion of original and predicted signals from Table 6.3 .....
`
`186
`
`
`
`Figure 6.7: Portion of original and predicted signals from Table 6.4 .....
`
`187
`
`
`
`Figure 6.8: High-level dataflow for Kalman-filter-based predictor..........
`
`188
`
`
`
`Figure 6.9: Transfer matrices for Kalman-Filter-based predictor ...........
`
`195
`
`Figure 6.10: Case 1: Original position to predicted position magnitude
`
`ratio, for 100 ms prediction interval .....................................
`
`202
`
`Figure 6.11: Case 1: Original position to predicted position phase
`
`differences ...........................................................................
`
`202
`
`xvi
`
`META 1013
`META V. THALES
`
`

`

`Figure 6.12: Case 2: Original position to predicted position magnitude
`
`ratio, for 100 ms prediction interval .....................................
`
`204
`
`Figure 6.13: Case 2: Original position to predicted position phase
`
`differences ...........................................................................
`
`205
`
`Figure 6.14: Case 2: Relative contribution of measured position and
`
`velocity to predicted position ...............................................
`
`206
`
`Figure 6.15: Case 3: Original position to predicted position magnitude
`
`ratio, for 100 ms prediction interval .....................................
`
`207
`
`Figure 6.16: Case 3: Original position to predicted position phase
`
`differences ...........................................................................
`
`208
`
`Figure 6.17: Case 3: Relative contribution of measured position and
`
`acceleration to predicted position ........................................
`
`209
`
`
`
`Figure 6.18: Case 1 RMS error for five prediction intervals .....................
`
`211
`
`
`
`Figure 6.19: Case 2 RMS error for five prediction intervals .....................
`
`211
`
`
`
`Figure 6.20: Case 3 RMS error for five prediction intervals .....................
`
`212
`
`Figure 6.21: RMS errors for Case 1, 2 and 3 at 50 ms prediction
`
`interval .................................................................................
`
`213
`
`Figure 6.22: RMS errors for Case 1, 2, and 3 at 150 ms prediction
`
`interval .................................................................................
`
`214
`
`Figure 6.23: RMS errors for Case 1 and Modified Case 2 at 100 ms
`
`prediction interval ................................................................
`
`215
`
`Figure 6.24: Original and predicted magnitude spectrums for
`
`
`Demo2 Tx sequence for 100 ms prediction interval ............
`
`217
`
`Figure 6.25: Predicted magnitude spectrums for Demo2 Tx
`
`sequence at three prediction intervals .................................
`
`218
`
`
`
`Figure 6.26: Verification of frequency-domain equations ........................
`
`221
`
`
`
`Figure 6.27: A sample window function ...................................................
`
`224
`
`
`
`Figure 6.28: The true magnitudes of the sinusoids .................................
`
`227
`
`
`
`Figure 6.29: The estimated magnitudes of the sinusoids ........................
`
`228
`
`xvii
`
`META 1013
`META V. THALES
`
`

`

`LIST OF ABBREVIATIONS
`
`Analog to Digital conversion
`
`Association for Computing Machinery
`
`Augmented Reality
`
`Central Processing Unit
`
`Cathode Ray Tube
`
`Digital Equipment Corporation
`
`Extended Kalman Filter
`
`Fast Fourier Transform
`
`A/D
`
`ACM
`
`AR
`
`CPU
`
`CRT
`
`DEC
`
`EKF
`
`FFT
`
`FOHMD
`
`Fiber Optic Helmet-Mounted Display
`
`GP
`
`GPS
`
`HIF
`
`HMD
`
`HUD
`
`Hz
`
`I/O
`
`ID
`
`IPD
`
`ISA
`
`LAN
`
`LCD
`
`LED
`
`MByte
`
`MHz
`
`Graphics Processor (in Pixel-Planes 5)
`
`Global Positioning System
`
`Host InterFace board (for Pixel-Planes 5)
`
`Head-Mounted Display
`
`Head-Up Display
`
`Hertz (cycles per second)
`
`Input and Output
`
`Identification
`
`Interpupillary Distance
`
`Industry Standard Architecture (bus for PC's)
`
`Local Area Network
`
`Liquid Crystal Display
`
`Light Emitting Diode
`
`Megabyte (106 bytes)
`
`Megahertz (106 Hz)
`
`xviii
`
`META 1013
`META V. THALES
`
`

`

`MIMD
`
`ms
`
`Multiple Instruction, Multiple Data
`
`milliseconds (10-3 seconds)
`
`MS-DOS
`
`Microsoft Disk Operating System
`
`ns
`
`NTSC
`
`ODE
`
`OS
`
`PC
`
`Pxpl5
`
`RMS
`
`ROS
`
`RP
`
`nanoseconds (10-9 seconds)
`
`National Television System Committee
`
`Ordinary Differential Equation
`
`Operating System
`
`Personal Computer
`
`Pixel-Planes 5
`
`Root-Mean-Square
`
`Ring Operating System (for Pixel-Planes 5)
`
`Remote Processor
`
`SIGGRAPH
`
`Special Interest Group on Computer Graphics (a division
`of ACM). Also refers to an annual conference sponsored
`by that group.
`
`SIMD
`
`TAXI
`
`TV
`
`UNC
`µsec
`
`VE
`
`VME
`
`VR
`
`Single Instruction, Multiple Data
`
`Transparent Asynchronous Xmitter-receiver Interface
`
`Television
`
`University of North Carolina
`
`microseconds (10-6 seconds)
`
`Virtual Environment
`
`VERSAbus Module European
`
`Virtual Reality
`
`xix
`
`META 1013
`META V. THALES
`
`

`

`Q, x, h()
`
`M, X
`
`x
`

`
`•
`
`LIST OF SYMBOLS
`
`Italicized mathematical expressions are scalar variables,
`labels, or functions if accompanied with parentheses
`
`Boldfaced mathematical expressions are vectors,
`matrices, or quaternions
`
`Cross product: M x V
`
`Dot product: M · X
`
`Quaternion multiplication: Q1 • Q2
`
`space
`
`Implied multiplication, scalar p w, or matrix M X
`
`˙r
`
`˙˙r
`
`AT
`
`A-1
`
`G[0]
`
`A[2, 0]
`

`

`
`Derivative of r with respect to time
`
`Double derivative of r with respect to time
`
`Transpose of A
`
`Inverse of A
`
`The first scalar element inside vector G. Indices are
`zero-origin.
`
`Scalar element at row #2 and column #0 inside matrix A.
`Indices are zero-origin.
`
`Omega, a 3 by 1 vector representing angular velocity
`(Used in Chapters 4 and 5.)
`
`Angular frequency. ω = 2πf, where f is the frequency in
`Hertz. (Used in Chapter 6.)
`
`xx
`
`META 1013
`META V. THALES
`
`

`

`1.
`
`Introduction
`
`1.1 Background
`
`Although tremendous advances in rendering three-dimensional graphic
`objects have been made in the past two decades, very little has changed in
`the way that typical users manipulate and view these 3-D objects. In 1975,
`graphic displays typically showed unshaded line drawings with no hidden
`surfaces. Today, a consumer can buy a rendering package for her personal
`computer which generates images that, in certain cases, approach
`photorealism. But both today's user and her counterpart 20 years ago look at
`these objects through a monitor and manipulate them with dials, keyboards,
`joysticks, light pens, and other such devices. The comp

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