MICRO-ACCELEROMETER BASED HARDWARE ... - CiteSeerX

0 downloads 0 Views 3MB Size Report
Adrian David Cheok, Krishnamoorthy Ganesh Kumar and Simon Prince. National University of Singapore, Singapore 117576 [email protected].
MICRO-ACCELEROMETER BASED HARDWARE INTERFACES FOR WEARABLE COMPUTER MIXED REALITY APPLICATIONS Adrian David Cheok, Krishnamoorthy Ganesh Kumar and Simon Prince National University of Singapore, Singapore 117576 [email protected] ABSTRACT Human interaction with wearable computers is an important research issue, especially when combined with mixed reality (MR) applications. Natural and non-obtrusive means of interaction calls for new devices, which should be simple to use. This paper considers the design of new interaction hardware, such as a wearable computer pen, a tilt pad, a wand, and a gesture pad designed using accelerometers for such scenarios. The very difficult problem of noise in small hardware accelerometers, in the form of random bias drifts, which seriously impedes it’s application in position measurement is also examined in detail. Kalman filtering has resulted in improved results, which are presented herewith. The application of accelerometers to design interfaces for use in mixed reality environments is also explained.

1. INTRODUCTION A very important research problem in the field of wearable computers and mixed reality is how to interface the system to the user in a natural manner. In particular, when mixed reality is implemented on a wearable computer, standard interfaces such as a keyboard and mouse are non-intrusive and burdensome to use [1]. Thus, researchers have recently examined various input interfaces that may be used with wearable computer systems, and which do not involve keyboard or mouse systems. Speech recognition [2] has been implemented on wearable computer systems for successful non-keyboard interaction. However, it has the problems of lack of robustness in normal indoor/outdoor noisy environments, lack of privacy, difficult to use in situations such as lectures or meetings, and difficulty to interact with 3D mixed reality objects. Vision based systems have also been examined by researchers. For example, in [3] a pen interface was developed using vision based tracking. Light emitting diodes were mounted on the pen and they were tracked by a head mounted camera. Vision based techniques have been used for 3D modelling also. In [4], researchers have designed a probe which is visually tracked. It is used to sample the object geometries, and the video images captured from the head mounted displays are used to capture the textures. The model thus generated is overlayed onto the real world in the user’s view, making the process more interactive. Vision based methods have the advantage of accurate tracking and registration. However, such methods have the problem that a camera must be worn by the user, usually on a head mounted display. This may not be desirable for many users of wearable computers due to size, weight and social reasons (for example businessmen/women in their normal daily business routines). A secondary problem is that with vision based systems, the user is forced to view the object to be tracked. Thus this forces the user to constantly focus on the device which may not always be a natural viewpoint. Compact, hand held keyboard like devices which provide the functionalities of a mouse and a keyboard in a single handed compact device1 . In such devices, characters are represented with unique codes. However, these devices require significant training of the user to get familiar with the device, and often prove difficult. 1 Twiddler.

www.handykey.com

Another important wearable computer interaction device is an acceleration sensing data glove such as that designed in [5]. It has a number of accelerometers mounted near the finger joints of a hand glove. Gestures like stretching and folding of fingers are recognized by sensing the acceleration of finger movements. However it requires discrete gestures, which are rather unnatural making it difficult to use. Thus in this research we examine hardware, non-vision based methods of interacting with wearable computers, in addition to wearable computer based mixed reality applications. We focus on designing new hardware devices that satisfy characteristics such as being of small size, space, light weight, wireless, and thus suitable for extended use with wearable computers. Thus, the devices that are introduced are designed to be unobtrusive, in order that future users will not feel uncomfortable both physically or socially. In relation to our work, Rekimoto [6] has implemented the Gesturewrist and Gesture-pad wearable computer interaction devices. The devices measure the variation of capacitance of the hand during gestures like folding and stretching of fingers. Two metal plates on both sides of the hand measure the capacitance by observing the rise time of a square wave coupled in between them. Rekimoto’s devices are mainly based on these capacitive sensors. He uses an accelerometer on the gesture wrist to measure the inclination of the forearm. The devices can be used for discrete gesture recognitions. Although very useful in some instances (for example combining mixed reality with wearable computers) a more continuous, non linear, and non binary type of gesture recognition is required. Hence in our research work we wish to extend and complement these devices to allow continuous position and acceleration measurement using micro-accelerometers. Thus our main aim is to produce devices that have extended gesture recognition for wearable computer interfaces and recognize realtime position and acceleration, whilst still being very tiny and comfortable to the user. Accelerometers are used in navigational systems, advanced manufacturing systems and robotics. Due to the advances in MEMS technology, the cost and size of accelerometers have come down drastically making them very good candidates for positioning systems. The simplicity of operation and inherent cost and size advantages of accelerometers have led to many applications in various fields, of human computer interaction. Pen based systems for signature verification, using such accelerometers have been studied in [7]. In that work the problem of measuring the acceleration produced by pen movements was studied. The acceleration signals were characterized by amplitude, phase and frequency. These characteristics were used to correlate the signature against pre-recorded acceleration signal characteristics. Accelerometers have also been studied for use in joysticks, 3 (degree of freedom) DOF and 6 DOF tracking systems [8]. Another important area of application is the design of navigation systems. Accelerometers are used in conjunction with GPS or gyroscopes by sensor fusion techniques for designing better systems for vehicle navigation purposes [9]. This has been carried out for tracking a Dartmouth formula racing car with good accuracy [10]. Personal navigation systems and pedometers also use accelerometers judiciously [11, 12]. The tilt detection capability of accelerometers have also led to their use in shock and vibration alarms in vehicles [13].

VCC

Table 1: Packet structure

21

F1

Description 1(decimal) X Axis Y Axis of accelerometer 1 Y Axis of accelerometer 2

C3

6 to16v INPUT

C4

8

C1

C2

2 6

ADXL202JE

1

BS 2SX

R1

3

8

Byte Number 1 2 3 4

ADM663A

2 7

4

3

5

6

4 4 C5

1

3

VCC 4 5

6

7 2

TX3 GND c1,c3,c5,c6 = 0.1 micro Farad c2,c4 = 50 pico Farad F1 = Ferrite bead R1 = 15 kohms

Figure 1: Schematic diagram of the transmitter part

1

6

4

7

RS232 PORT 8 1

8

However, although accelerometers are very useful in many applications, the main difficulty related to this research is that there are many noise components associated with the accelerometer outputs of tiny portable type micro-accelerometers [14]. Even large and complex accelerometer systems (not suitable for wearable computer applications) have problems of noise which have been previously studied by researchers. For example, accelerometers for tracking and pointing in deep space optical communications were studied at the Jet Propulsion Laboratory. Error analysis has been carried out to improve tracking accuracy [15]. A clear presentation of the noise effects and Kalman filtering application to reduce it has been carried out by Liu and Grantham for Mobile robot positioning [16]. The major problem for using accelerometers for wearable computers is that the type of accelerometers that are useful are very susceptible to noise. Hence, in order to increase the effectiveness of micro-accelerometers for wearable computer interaction this paper presents noise reduction techniques with Kalman filtering using variation laws [17] of state vector components, which will be explained below, does not complicate the initial model of the system. The structure of the paper is as follows: First, details of the novel hardware devices such as the accelerometer based pen, tilt pad, wand, and tilt pad for wearable computer mixed reality environments is presented. Then the problems of noise and how they were handled is detailed. Then the application system results are shown, followed by the conclusion.

C6

6 to16v INPUT

ADM663A

2 4 2

3

6

1

4

5

6

7

RX3

2. ACCELEROMETER BASED HARDWARE INTERACTION DEVICES

GND

2.1. Wear pen The wear pen is a device, similar to conventional pens which can be used for human computer interaction. It’s motion is tracked by measuring the acceleration and it’s instantaneous position is found out after filtering the acceleration. The system hardware, which is detailed in Figures 1 to 3, is as follows. The pen has two ADXL202E accelerometers mounted perpendicular to each other for providing 3D information of the position. A Basic stamp micro-controller BS2SX calculates the ON time of the pulse width modulated digital outputs of the accelerometers, from which acceleration can be determined. It sends them to the host computer via a TX3 wireless transmitter. The TX3 is a simple wireless transmitter which transmits the frequency modulated (FM) data at 914 MHz carrier frequency. The data is transmitted with the following packet structure as in Table 1. The host has a RX3 receiver, which is has a frequency demodulator, whose output is sent to the serial port. Acceleration is calculated from the duty cycle using the ON time period according to the following equation. 0g = 50%Dutycycle

(1)

Every 12.5 % corresponds to 1 g acceleration. The acceleration obtained from the pen is then Kalman filtered, and after applying the law of invariants, which will be explained in the following sections, is integrated to get the displacement. The resolution obtained is within a few cms, which is not sufficient to replace conventional pens. However it can serve as a good pointing device for wearable computer applications. Figure 4 shows screen shots of a ball moving on the screen as the pen moves.

Figure 2: Schematic diagram of the Receiver part

2.2. Tilt pad system Similar to the pen, the tilt pad also has two accelerometers mounted in the same plane 8 cms apart. The data transfer from the tilt pad to the computer is done in the same way as in the pen. The tilt in x axis is the same for both the accelerometers. In the y axis the tilt is calculated by using the average of the two accelerometers. The threshold for tilt in x and y axis was taken as ±0.3 g, which is the optimal value of tilt in both x and y directions as shown in figure 5. The tilt pad system is shown in figure 12. We apply the tilt device in a number of mixed reality applications. Mixed reality refers to the real-time insertion of computer-generated three-dimensional content into a real scene [18]. Typically, the observer views the world through a head mounted display (HMD) with a camera attached to the front. The video is captured, modified and relayed to the observer in real time. In these applications, we track ”fiducial” black and white marker patterns. These have a known pattern and geometry and hence it is easy to calculate the transformation between the camera and the marker and introduce realistic three-dimensional graphical content [19]. We attach the tilt-device to the bottom of a piece of card on which the fiducial markers are printed, as shown in Figure 6. We then use the

X axis static acceleration 2

Acceleration in g

1 0 −1 −2 −3 −4

0

0.5

1

1.5

2

Time (Samples)

2.5 4

x 10

Y axis static acceleration 1.5

Acceleration in g

1 0.5 0 −0.5 −1 −1.5

0

0.5

1

1.5

2

Time (Samples)

Figure 3: The pen system

2.5 4

x 10

Figure 5: The tilt measurement in x and y axes

tilt device to create an interface for interaction with the augmented reality content. We present two applications. In the first example, the user can scroll a two-dimensional map by tilting the pad in the appropriate direction as shown in Figure 7. A three dimensional version of it is shown in Figures 8 and 9. In the second example, users can move a character in a threedimensional video-game simply by tilting the game surface as shown in Figures 10 and 11.

Figure 6: The tilt pad in mixed reality

2.3. Wand and Gesture pad

Figure 4: Screen shots of the pen application

The Wand is a pointing device used in mixed reality We use the ”wireless switch” to provide the selection mechanism for a three-dimensional pointer. Computer vision tracking techniques are used to track the end of a brightly colored wand. Pixels are classified as belonging to the wand or the background on the basis of a statistical model of the wand color. The best fitting line through the wand is calculated using robust fitting techniques. The ends of the wand are then established by a one-dimensional search along this best-fitting line. The body of the wand also includes a number

Figure 8: The tilt pad in a 3D map application

Figure 7: The tilt pad in a 2D map application

of black bands. Given the position of these bands along the length of the wand, and their imaged position in the camera, it is possible gain a (noisy) estimate the depth of the end of the wand. By combining this estimate of the three-dimensional position of the end of the wand with the switch we have created a three-dimensional pointer which can be used for interaction with virtual objects. Figure 13 shows the use of the pointer to select the center of three objects. The Gesture pad, shown in Figure 16, is a miniature device, that can be worn in the wrist, designed to serve as an ubiquitous input device. The device has an ADXL202JE accelerometer, whose tilt is continuously transmitted to the host computer. This device is used as a menu selector. The tilt in x axis moves the cursor vertically and the tilt in y axis moves the cursor horizontally. The selection is done by a switch in the pad. Figure 14 shows the selection process using the gesture pad. It can be noted that the circles get highlighted depending on the tilt of the pad. The wand and the receiver are shown in Figures 15 and 17.

SCROLL Figure 9: The tilt pad in a 3D map application

3. EXAMINATION AND REDUCTION OF SYSTEM ERRORS The accelerometer in our systems is an ADXL202JE, which is a low cost, 2-axis device with digital outputs. It could measure both dynamic and static acceleration with a full scale range of ± 2 g, where√g is the acceleration due to gravity. Typically the noise floor is 200 µg Hz. External capacitors can be used to narrow down the bandwidth depending upon the applications of interest which reduces the associated white noise. The accelerometer output suffers from a bias value found in the output which is random in nature. It also drifts with temperature changes and time. Due to this bias value,the position error explodes rapidly when the displacement is calculated by double integration, and could lead to a drift of several meters in a few minutes. The velocity error is 0.589 m/s per mg per min and the position error is 17.66 m per mg per min2 [20]. In the case of a typical ADXL202E the rms value of acceleration noise for a bandwidth of 200 Hz is approximately 3.58 mg. This leads to a position

error of 63.2 m in one minute. Thus it is clear that, for any reasonable usage of the accelerometers for position determination for wearable computers, the noise has to be dealt with properly. An experiment was carried out by recording the accelerometer output at rest for 861 minutes and the drift nature of the bias, with time, was analyzed as shown in Figure 18. The setting was at constant controlled room temperature and hence temperature effects could be neglected. It can be seen that if this bias is left unattended, position errors become very large. The noise associated with the sensor is Gaussian [21] and occupies the entire spectrum of frequencies. Thus it is difficult to eliminate the noise with bandlimited FIR and IIR filters. However, Kalman filters are very useful linear filters for tackling such noise characteristics [22].

Figure 12: The tilt pad Figure 10: The tilt pad in a game application

Figure 13: The wand used as a pointer (at the tip)

Figure 11: The tilt pad in a game application

The Kalman filter addresses the general problem of estimating the state xk of a process that is governed by the difference equation, xk = Axk−1 + Buk + wk−1 , with measurement zk given by, zk = Hxk−1 + vk ,

(2)

x ˆ− xk−1 + Buk k = Aˆ

(5)

(3)

The random variables wk and vk represent the process and measurement noise respectively. They are assumed to be independent and white with normal probability distributions p(w) = N (0, Q), p(v) = N (0, R).

The Kalman filter estimates the next state of a Markov process with feedback control. It makes an estimate of the process state at one time instant and obtains feedback in the form of noisy measurements. The equations of the Kalman filter falls into two main categories: time update equations and measurement update equations. The time update equations are responsible for projecting forward in time and the measurement equations are responsible for the feedback. The time update equations are,

(4)

Pk− = APk−1 AT + Q

(6) x ˆ− k

is the where, x ˆk−1 is the initial estimate of the process state, projected process state, A is the state transition matrix, Pk−1 is the initial error covariance, and Pk− is the projected error covariance.

Figure 17: The Receiver 0.01

Acceleration in g

0.005 0 −0.005 −0.01 −0.015 −0.02

Figure 14: The Gesture pad selection process

−0.025

0

500

1000 1500 Time (1 sample=25 sec)

2000

2500

0

500

1000 1500 Time (1 sample=25 sec)

2000

2500

Displacement in m

1000 0 −1000 −2000 −3000 −4000

Figure 18: Accelerometer and displacement at rest Figure 15: The wand where, Kk is the Kalman gain, H is the measurement matrix, x ˆk is the updated estimate of the process state and Pk is the updated error covariance. As seen earlier in Figure 18, the noise due to the bias drift is high. After discrete double summation (to obtain displacement from acceleration), the estimated position drifts far away from the true value.  s[n] = a[n] (10) n

n

where, s[n] and a[n] are the discrete displacement and acceleration respectively. A Kalman filter is an effective tool in reducing random noise and hence it may be a good choice for this application. The noise due to accelerometer bias is modelled as a random walk [23]. Since for the process under consideration, there is no control input, the B matrix is zero. The state transition matrix A is given as   1 δt δt2 /2 δt  A = 0 1 (11) 0 0 1

Figure 16: The Gesture pad

Kk = Px− H T (HPk− H T + R)−1

(7)

− x ˆk = x ˆ− k + Kk (zk − Hxk )

(8)

where δt is the time step size. The covariance matrix for the process noise is given by,  W 5 W 4 W 3 δt δt δt 20 8 6 W W 4 3 (12) Q = W δt δt δt2  8 3 2 W W 3 2 δt δt W δt 6 2

Pk = (I − Kk H)Pk−

(9)

where, W is the power spectral density of the noise. It is taken to be 1(m/s2 )2 /(rad/s), which was found to be fitting well to our problem by

The measurement update equations are,

Acceleration

experimental trial and error. We assume that acceleration and displacement are zero at the start of the experiment and hence the initial estimate of the process state is taken to be a zero vector. The initial error covariance matrix is given by,   0 0 0 Pk−1 =  0 0 0  (13) 0 0 R

Pk = (I − Kk H)Pk−

(14)

8

6

4

2 g in m/sec2

The variance of measurement noise R is taken to be (W/2)2 . As seen above the updated error covariance matrix is given by the equation

10

−2

However, even the smallest error in the computation of the Kalman gain can lead to enormous errors, if we use the simplified equation (14). For example if the initial estimate of error covariance matrix is has large diagonal values then it should change from that large value to a value close to zero in one step. So the equation (14) represents an indeterminate situation 0 × ∞. Generally the other form, called the Joseph form [23] shown in equation (15) is used instead as it has symmetry and somewhat better behavior than equation (14). Pk = (I − Kk H)Pk− (I − Kk H)T + Kk RKkT

0

−4

−6

−8

−10

0

(15)

400

600 800 Time (samples)

1000

1200

1400

1200

1400

Figure 20: Unfiltered acceleration Displacement

4. EXPERIMENTAL TESTS ON FILTERING

0.25

0.2

0.15

Displacement in m

In order to carefully observe the error of calculating position using the accelerometer, a fixed test bed was constructed. The experimental set up has a Crossbow ADXL202 evaluation board [24] interfaced to the serial port of the PC. The bandwidth is restricted to 106 Hz by using a 0.047 µF. The data logger from Crossbow is used for recording the acceleration at 240 Hz. A 26 cm × 26 cm aluminium platform with two strips forming a L-shaped structure was made for the restricting the motion of the board in exactly one dimension as shown in the Figure 19.

200

0.1

0.05

DRIFT

0

−0.05

−0.1

0

200

400

600 800 Time (samples)

1000

Figure 21: Displacement calculated from unfiltered acceleration Figure 19: Accelerometer evaluation experimental setup To and fro displacements were carried along the x-axis of the accelerometer over the slider for five times and the data was recorded. Note that ideally the final displacement should be zero, as the device returns to the original position. The above discussed Kalman filter was applied and the results are shown in Figures 20 and 21. As we could see from the results, the random bias drifts are causing large error in the position determination. The method to deal with this problem is to use the bias drifts observed over a long period and properly subtract the bias from the acceleration. Some error compensation methods have been proposed to reduce the error also. It requires precise modelling of the noise components, thereby complicating the initial model of the process. However better results can be obtained by proper description of the variation of some components in the model [17]. These components are referred to as the invariants. The law of their variation is taken into consideration and this increases the prediction accuracy. The invariant considered in the present problem is the slope of the acceleration curve. The rate of change of acceleration of the sensor at rest is different from the case when

the sensor is at rest. This variation pattern of acceleration can be effectively used to get better results. After careful study of acceleration data, it has been found that the instantaneous slope of acceleration does not exceed 0.02 g/s. However at the peak of the acceleration curve the slope drops down below this threshold and hence an additional check on the amplitude of the acceleration is made to detect this condition. The threshold in this case was 0.3 m/s2 . The estimation of peak to peak noise for ADXL202JE is given in the data sheet. Considering a bandwidth of 106 Hz, the worst case peak to peak value is 20.83 mg with the probability of occurrence as 0.006%. The possibility of our estimate of the acceleration slope can fail if the peak to peak noise reaches 20.83 mg. The noise characteristics of the sensor shows that the probability of such an event is very low. Thus, the invariant measure is quite reasonable. This invariant component is observed from the estimated acceleration of the filter. When the slope falls below the threshold, it denotes the rest period and the velocity estimation is made zero using the law of invariants algorithm. The displacement results as shown in figures 23 and 24. There is a drastic improvement in the displacement error reduction and the deviation is only 2.5 cms compared to 15 cms in the unfiltered case. Another im-

Displacement

portant outcome is that the displacement ceases to increase or decrease and remains constant when the motion has stopped as indicated by the flat regions in the plot.

0.2

0.15

Kalman filtered acceleration 8

Displacement in m

6

4

0.1

0.05

g in m/sec2

2

0 0 NO DRIFT

−2

−0.05

−4

0

200

400

600 800 Time (samples)

1000

1200

1400

−6

−8

0

200

400

600 800 Time (samples)

1000

1200

1400

Figure 24: Displacement calculated from Kalman filtered acceleration with invariant checking [2] A. Smailagic, “Isaac: a voice activated speech response system for wearable computers,” First International Symposium on wearable computers, pp. 183–184, 1997.

Figure 22: Kalman filtered acceleration

[3] H. Regenbrecht, G. Baratoff, I. Pouopyrev, and M. Billinghurst, “A cable-less interaction device for ar and vr environments,” Proc. Second International Symposium on Mixed Reality, pp. 151–152, 2001. Displacement

[4] J. Lee, G. Hirota, and A. State, “Modelling real objects using video see-through augmented reality,” Proc. Second International Symposium on Mixed Reality, pp. 19–26, 2001.

0.25

[5] J. K. Perng, B. Fischer, S. Hollar, and K. S. Pister, “Acceleration sensing glove,” Proc. Third International Symposium on Wearable computers, pp. 178–180, 1999. [6] J. Rekimoto, “Gesturewrist and gesturepad: unobtrusive wearable interaction devices,” Proc. Fifth International Symposium on Wearable computers, pp. 21–27, 2001.

0.2

Displacement in m

[7] R. Baron and R. Plamondon, “Acceleration measurement with an instrumented pen for signature verification and handwriting analysis,” IEEE Transactions on Instrumentation and Measurement, pp. 1132–1138, 1989. [8] J. Doscher, “Using micro-machined accelerometers in joysticks, 3 dof and 6 dof systems - a new paradigm for hci,” iMEMS Technologies/Applications,Analog Devices, 1995.

0.15

[9] C. Lemaire and B. Sulouff, “Surface micro-machined sensors for vehicle navigation systems,” iMEMS Technologies/Applications,Analog Devices, 1995. [10] M. Doogue and M. Walsh, “Design of a track map based data acquisition system for the dartmouth formula racing team,” iMEMS Technologies/Applications,Analog Devices, 1995.

0.1

[11] H. Weinberg, “Using the adxl202 in pedometer and personal navigation applications,” iMEMS Technologies/Applications,Analog Devices, 1995. [12] Q. Ladetto, “On foot navigation:continuous step calibration using both complementary recursive prediction and adaptive kalman filtering,” ION GPS 2000, 2000. 0.05

[13] H. Weinberg and C. Lemaire, “Using the adxl accelerometer as a multifunction sensor (tilt,vibration and shock) in car alarms,” iMEMS Technologies/Applications,Analog Devices, 1995.

DRIFT

[14] C. Kitchin, “Understanding accelerometer scale factor and offset adjustments,” iMEMS Technologies/Applications,Analog Devices, 1995. 0

0

200

400

600 800 Time (samples)

1000

1200

1400

Figure 23: Displacement calculated from Kalman filtered acceleration 5. CONCLUSION This work dealt with the design of natural interactive devices that can be used with wearable computers in mixed reality environments. Although speech and vision based techniques have a strong appeal as intuitive and natural means of interfacing, they have their own disadvantages, which limit their use. Hence the need for new compact devices comes to the fore. In this work the design of a pen, a tilt pad, wand and a gesture pad system was carried out using accelerometers. We have also shown the applications of these devices in a mixed reality environment. Thus, this work provides more options and ideas for human computer interaction. 6. REFERENCES [1]

J. Larson, S. Oviatt, and D. Ferro, “Designing the user interface for pen and speech applications,” CHI’99 Workshop, Conference on Human Factors in Computing Systems, 1999.

[15] H. Shim, M. Kochem, and M. Tomizuka, “Use of accelerometer for precision motion control of linear motor driven positioning system,” Proc. 24th Annual Conference of the IEEE Industrial Electronics society, pp. 2409– 2414, 1998. [16] H. H. Liu and G. K. Pang, “Accelerometer for mobile robot positioning,” IEEE Transactions on Industry Applications, pp. 812–818, 2001. [17] V. Matveev, D. Salychev, and R. Si-cong, “Prediction and compensation of errors of inertial navigation systems,” Proc. IEEE International Symposium on Industrial Electronics, pp. 151–157, 1992. [18] R. Azuma, Y. Baillot, R. Behringer, S. Feiner, S. Julier, and B. MacIntyre, “Recent advances in augmented reality,” IEEE Computer Graphics and Applications, vol. 21, pp. 34–47, November 2001. [19] H. Kato and M. Billinghurst, “Marker tracking and hmd calibration for a video-based augmented reality conferencing system,” Proc. of 2nd IEEE and ACM International Workshop on Augmented Reality, pp. 85 –94, 1999. [20] A. Lawrence, Modern Inertial Technology. Berlin,Germany: Spring-Verlag, 1993. [21] Analog Devices Inc.,Santa Clara,CA, ADXL202 Datasheet, 2001. [22] G. Welch and G. Bishop, “An introduction to kalman filter,” tech. rep., Department of Computer Science,University of North Carolina, Feb 2001. [23] R. Brown and P.Y.C.Hwang, Introduction to Random Signals and Applied Kalman Filtering,3rd Ed. New York: John Wiley, 1997. [24] Crossbow Technology Inc.,San Jose,CA, ADXL202EB Product datasheet, 2001.