Keywords

1 Introduction

There is currently heightened interest in developing alternative computer input mechanisms, beyond general input devices (e.g., keyboard and mouse). Hand motion tracking is an interesting choice for a user to interact with 3D interfaces in augmented reality and virtual reality environments [8]. Natural hand movements could be used to indicate translations and rotations in a 3D environment. One emerging approach for hand motion tracking involves the use of miniaturized MEMS Inertial Measurement Units (IMUs) [1] as shown in Fig. 1.

Fig. 1.
figure 1

Orientation tracking system provided by three different sources of vector information from commercial-grade IMU (Yost Labs 3-Space Sensor)

Originally, IMUs track orientation accumulating orientation changes (“Dead Reckoning”) measured by gyroscopes. However, commonly present offsets in the gyroscopes create “drift” errors in the orientation results. The orientation needs to be corrected periodically measuring the gravity vector with accelerometers or the magnetic North vector with magnetometers, also included in many IMUs [5, 7, 10]. However, the corrections are based on the assumption that the gravity and magnetic North vectors have constant orientation throughout the operation of the hand tracker. Since the early 15th Century, researchers have been aware of the magnetic declination, especially in Europe. [4] For example, Gilbert observed a tilt in the magnetic field of more than 10\(^\circ \) [6]. Beyond the earth’s magnetic declination, the local magnetic field can, additionally, be distorted in the proximity of large ferromagnetic objects [2, 9, 11].

The purpose of the research described in this paper is to study the distortion of the magnetic field in a general office environment [3] to better understand how the magnetic North vector may be distorted by ordinary objects (e.g., desk) and to study the level of consistency of those distortions through time (over weeks). This knowledge may inform future approaches to compensate magnetic disturbances in the development of IMU-based hand trackers for human-computer interaction.

2 Methodology and Materials

2.1 Non-ferromagnetic Frame

The positioning frame built for this study was constructed with wood and wood glue, to ensure that no metal from the frame itself would affect the magnetic field during the experiment. Only metal or ferromagnetic objects in the office environment are the causes of the observed distortion in the Magnetic North Vector. The frame was built to make measurements in a 5’ \(\times \) 5’ \(\times \) 5’ grid with 1 foot separation between nodes in each direction, defining 125 measurement locations as shown in Fig. 2. This grid will be referred as the “Dense Grid” and can be visualized as in Fig. 3. The mean vector components averaged over the 125 measurements in the Dense Grid, were considered as the (true) reference Magnetic North Vector, Ref(X,Y,Z), as shown in Eq. (1).

$$\begin{aligned} Ref.(X,Y,Z)=\frac{\varSigma _{i=1}^{125} X_i}{125} ,\frac{\varSigma _{i=1}^{125} Y_i}{125}, \frac{\varSigma _{i=1}^{125} Z_i}{125} \end{aligned}$$
(1)

Additionally, to assess how consistent the configuration of the magnetic vector in our measuring space is, we conducted periodic measurements (every Monday, Wednesday and Friday) in a “Sparse Grid”. This grid spans the same overall measurement volume, but with a separation of 2’ between nodes in all directions, i.e., containing 3 recordings in each direction, for a total of 27 measurement locations.

Fig. 2.
figure 2

Office environment space where the experiment took place

Fig. 3.
figure 3

3D plot of Magnetic Vector recordings in the 5 \(\times \) 5 \(\times \) 5 Dense Grid (separation between nodes is 1’ in all directions)

2.2 Magnetic North Vector Recording Using Yost Labs 3-Space Sensors

The MEMS Inertial Measurement Unit used to collect data for testing the distortion of the magnetic field is the Yost Labs 3-Space sensor, which is a low-cost MEMS IMU. This IMU provides 3 types of data, which are gyroscope, accelerometer and magnetometer measurements. Each of the units give the result in three orthogonal axes labeled as X-axis, Y-axis and Z-axis. The IMU is connected to a PC through a USB cable. A C# script was created to receive the data from the Yost Labs 3-Space IMU. The recorded data were stored for further analysis in a MATLab program.

Error Calculation. The Magnetic Vector will be analyzed separately for each one of the X, Y, Z components. In this paper, the data recorded on each day is compared to the Reference Magnetic North vector from the dense grid (Ref.(X,Y,Z)) to yield the error values for each day, as shown in Eq. (2).

$$\begin{aligned} Err.(X,Y,Z)=RawData(X,Y,Z)_{Day(n)} - Ref.(X,Y,Z) \end{aligned}$$
(2)

3 Implementation

Data from the Sparse Grid were collected for 30 days (every other day) from the beginning of October until the end of December. The variation (i.e. error) at each measurement point is calculated by subtracting Ref(X,Y,Z) from the raw data each day, individually for each coordinate. The populations of deviations (errors) in X, Y and Z are then analyzed separately (Fig. 4).

$$\begin{aligned} Avg.Data(X,Y,Z)=\frac{\varSigma _{i=1}^{n} Err.X_i}{n} ,\frac{\varSigma _{i=1}^{n} Err.Y_i}{n},\frac{\varSigma _{i=1}^{n} Err.Z_i}{n} \end{aligned}$$
(3)
Fig. 4.
figure 4

The flow chart of how the data were analyzed

4 Results and Discussion

4.1 Visualization of Superimposed Measurements

The superimposed 3D vectors of raw data from 30 days are plotted on the Sparse Grid as shown in Fig. 5. This figure seems to indicate that the magnetic field close to the desk is also more variable. The arrow directions show more variation at the coordinate (1,1,5) compared to other points which showed more consistency throughout the several weeks spanned by the study.

Fig. 5.
figure 5

Superimposed plot of 30 days of recorded data from the Sparse Grid (3 \(\times \) 3 \(\times \) 3), where Z = 5 is the plane closest to the desk.

4.2 Variation of Error

The 3D plots of Fig. 6 through Fig. 8 represent the average of errors for the X, Y and Z vector components, respectively, at each coordinate point in the Sparse Grid . The arrow sizes (representing average size of the error) seem to increase for larger Z coordinates, i.e., for locations closer to the desk (at Z = 5). The arrows for location (1,1,5), next to the left leg of the desk, are the longest (Fig. 7).

Fig. 6.
figure 6

3D plots of variation of the Magnetic Vector for the X component

Fig. 7.
figure 7

3D plots of variation of the Magnetic Vector for the Y component

Fig. 8.
figure 8

3D plots of variation of the Magnetic Vector for the Z component

The bar graph in Fig. 9 represents the mean error (30 days) at 27 measurement points, showing the 3 error components in X, Y and Z order. It is clearly seen that mean errors grow as the Z coordinate increases and the errors in the Y direction seem to be consistently larger than the errors in X and Z (the triad of numbers, e.g., “351”, under each cluster of 3 bars encodes the XYZ coordinates of each spatial location).

Fig. 9.
figure 9

Bar chart of mean (30 days) X, Y and Z errors, by location.

To confirm this observation, Fig. 10 through Fig. 12 display the progression of average errors constraining the scope to just one vertical plane, at X = 1. To obtain clear displays we show separate bar graphs of the average errors at 3 different vertical levels, separately. Figure 10 shows the evolution of average error at the top level (Y = 5). Here average errors increase for larger values of the Z coordinate, i.e., as the location is closer to the desk. The increasing trend is more noticeable in Fig. 11, corresponding to the intermediate height, Y = 3, and even more pronounced in Fig. 12, representing locations at floor level (Y = 1).

Fig. 10.
figure 10

Bar chart of mean errors in Plane X = 1, at the top level (Y = 5)

Fig. 11.
figure 11

Bar chart of mean errors in Plane X = 1, at the middle level (Y = 3)

Fig. 12.
figure 12

Bar chart of mean errors in Plane X = 1, at the low level (Y = 1)

4.3 Consistency Comparison

The specific point at (1,1,5), which was found to have the most distortion, was analyzed in the long-term (30 measurements, within 3 months), comparing it to the point that seemed to show the lowest risk of magnetic distortion. The point at coordinates (3,5,1) was chosen for this, as it seems to be away from any objects in the office environment. The graph in Fig. 13 shows that the mean error at coordinate (1,1,5) fluctuates widely during the 30 days, with averages of 0.6, −0.3 and −1.0 in X-axis, Y-axis and Z-axis respectively, while the mean error at point (3,5,1) varies only within 0 to 0.05 for all axes as shown in Fig. 14.

Fig. 13.
figure 13

Bar chart of mean X, Y and Z errors at (1,1,5) from day 1 to day 30 with average lines.

Fig. 14.
figure 14

Bar chart of mean X, Y and Z errors at (3,5,1) from day 1 to day 30 with average lines.

5 Conclusion

From all the data that was observed, the results showed that the ferromagnetic object does affect the magnetic field and causes the Magnetic North Vector to be distorted. Where the magnetic field was distorted, it is impacted in both the direction of the vector and the amplitude of its short-term variations.

We believe that the data obtained through these measurements will significantly inform the development of future approaches to use the magnetometer readings for periodically correcting the orientation estimates obtained from IMUs. The improvements to be achieved in IMU-based orientation estimation will likely broaden the opportunities for the development of efficient hand tracking mechanisms which may propel the near-future development of practical 3D spatial computer interfaces.