1 Introduction

In many virtual reality applications that require high accuracy of Head Mounted Display (HMD) tracking, it may be advisable to replace the built-in tracking system of the HMD with a third party solution (Debarba et al. 2018). For example, interaction with physical objects in industrial or clinical medicine tasks requires a highly accurate correspondence between the virtual environment and the real world. The goal of this work is to provide a quantitative comparison between the built-in tracking system of the Oculus Rift S HMD with respect to the accuracy that can be attained by exploiting a motion capture system, which acts as ground truth. Indeed, motion capture systems work at high speed and achieve a sub-millimeter accuracy (Merriaux et al. 2017).

The Oculus Rift S belongs to the second generation of consumer VR HMDs (since 2016). It is a tethered device that exploits the hardware of an external computer (CPU, graphics card, and RAM) to deliver high quality virtual reality experiences. The Oculus Rift S does not require any external device for positional tracking. Instead, it features five cameras that enable inside-out tracking.

In general, the two common approaches for HMD tracking are called outside-in and inside-out (Rolland et al. 1999). In outside-in systems multiple fixed external cameras are used to track the pose (3D position and 3D orientation) of the HMD. In particular, the external cameras track a set of reference points located on the headset and on the controllers (if any). Usually, the set of reference points is a pattern (constellation) of IR LEDs or passive (retro-reflective) markers. The pose of the HMD can be obtained in an absolute reference frame defined in a calibration step. Outside-in tracking systems are generally faster and more accurate than inside-out systems. Moreover, the localization accuracy of outside-in systems can be improved by adding more cameras. Other advantages of the outside-in technologies are that they work even in the dark, they can be used to track the HMD and the body of the user simultaneously (also including external rigid objects), and that hand controllers can be tracked even if the user has them behind his/her back. The disadvantages of outside-in tracking systems are that the HMD must be instrumented with reference points, and that these systems are much more expensive.

Inside-out tracking systems use cameras placed on the HMD looking outward. An algorithm based on visual-inertial odometry determines in real-time the position and the orientation of the HMD by observing low-level features of the surrounding environment. The pose of the HMD can be determined only relative to the initial headset configuration. Inside-out HMD tracking systems are easier to set up and offer reduced costs. In particular, calibration is straightforward as there is no need to install fixed cameras with mounts or to instrument the environment with markers. The main disadvantage of inside-out technologies is that tracking is less accurate.

The main contribution of this paper, which was not considered in previous works, is the evaluation of the Oculus Rift S inside-out tracking technology in a room scale virtual reality setup, against an outside-in tracking system based on the OptiTrack motion capture. To this purpose, the Oculus Rift S was instrumented with passive markers and calibrated. A dataset of HMD movements of a user walking around the environment has been recorded. Each recorded path contains simultaneous changes in both position and orientation of the HMD. The dataset includes paths that vary from simple straight motions to more complex and longer random walks. Our results indicate that in room-scale environments the average translation error for the Oculus Rift S tracking system is about \(1.83\) cm, and the average rotation error is about \(0.77^\circ\), which is 2 orders of magnitude higher than the performance that can be achieved using a motion capture system.

The paper is organized as follows. Section 2 reviews the state-of-the-art research on the evaluation of HMDs tracking accuracy. Section 3 describes the method used in this study, including the experimental setup, the calibration and data acquisition techniques, the acquired dataset, and the evaluation metrics. Section 4 illustrates the experimental results, while Sect. 5 draws conclusions.

2 Related work

The closest work to ours is by Jost et al. (2021), where a quantitative evaluation of the Oculus Rift S was carried out in a controlled and small-scale environment using an industrial robot to move the HMD. Translation and rotation were tested separately. The results indicated a high accuracy for both translation (\(1.66\pm 0.74\) mm) and rotation (\(0.34\pm 0.38^{\circ }\)). The main differences to our work are that we consider more ample movements performed in a room-scale environment, and that the movements are more complex, i.e., they contain changes in both rotation and translation.

Most previous works on the evaluation of HMDs tracking accuracy focused on devices that belong to the first generation of consumer VR (since 2016), like the Oculus Rift (DK1, DK2 and CV1) and the HTC Vive. The rotation accuracy of the Oculus Rift DK1 was evaluated by Xu et al. (2015) showing a good estimate of full range motions in cervical spine mobility measurements. The validity of the Oculus Rift DK2 to assess postural changes during balance tasks was investigated by Marchetto and Wright (2019). It was shown that the HMD may be successfully used for assessing postural control without external posturography equipment. A user study was conducted by Chessa et al. (2019) to evaluate the perceptual quality of the Oculus Rift DK2 for immersive virtual reality. The device enabled a strong sensation of presence and did not provoke undesired effects such as cybersickness or fatigue in short tasks. A computer vision approach was presented by Chang et al. (2016), using a high-speed camera, to evaluate timing and accuracy of the Oculus Rift DK2.

An evaluation of the HTC Vive HMD was performed by Niehorster et al. (2017) at static poses along a grid of lines drawn on the floor. An analysis of the spatial tracking performance of the HTC Vive HMD was conducted in small scale environments by Jost et al. (2019) using a motion capture system as ground truth, showing high accuracy. A similar analysis was carried out, in larger environments, by Ikbal et al. (2021) using an industrial robot as ground truth source. The results indicated an average error of about 3 mm and \(0.5^{\circ }\). The HTC Vive lighthouse positioning system was evaluated by Greiff et al. (2019) for tracking micro unmanned aerial vehicles, showing sub-centimeter position accuracy. A simplified error model for HTC Vive tracking system was proposed by Wu et al. (2020). The method can be adopted to predict in advance the magnitude of tracking errors in a given configuration of multiple lighthouses (transmitters) and receivers.

A comparison between Oculus Rift HMDs and the HTC Vive was presented in different works. In Suznjevic et al. (2017) the HTC Vive and the Oculus Rift CV1 were compared in terms of ease of use, intuitiveness and quality of experience when performing pick and place tasks in virtual reality. In general, the HTC Vive was marginally better. In Borrego et al. (2018) the Oculus Rift CV1 and the HTC Vive were evaluated in terms of accuracy and jitter. Both devices showed good and similar performance at sitting, while the HTC Vive presented worse accuracy and jitter at standing height, even though it must be recalled that the HTC Vive provides a working area twice as large as that of the Oculus Rift CV1. In Lubetzky et al. (2019) head tracking performance of the Oculus Rift CV1 was compared against the HTC Vive HMD during static and dynamic standing tasks in virtual environments. The results indicated excellent agreement between the two HMDs with respect to a motion capture system. A weaker agreement was observed for vertical displacement in a static task and moderate agreement was observed for pitch and yaw displacement in a dynamic task.

Fig. 1
figure 1

The room scale environment for the experimental evaluation. The OptiTrack world reference frame W is located on the floor in the center of the room, with the y-axis pointing upward

Fig. 2
figure 2

OptiTrack Prime 13 camera

In Bauer et al. (2021) the performance of the HTC Vive Pro HMD was evaluated, showing a high reproducibility of a few millimeters. However, the HTC Vive Pro tracking system has issues when several lighthouses are used, and it has systematic effects like a tilted reference plane. Other studies involved the HTC Vive tracker (a small device that includes the same tracking technology of the Vive HMD) and its motion controllers. A hybrid tracking system was developed by Groves et al. (2019) using the HTC Vive Pro controller, which enabled optical tracking of a surgical instrument with respect to the HMD, achieving sub-millimeter accuracy. The accuracy of the HTC Vive tracker was investigated by Borge et al. (2018) and by Ameler et al. (2019). In Borge et al. (2018) a robot was used as ground truth, while in Ameler et al. (2019) the OptiTrack motion capture system served as reference. An accuracy ranging from sub-millimeter to millimeter was obtained. The accuracy of the Vive trackers for rehabilitation and medical tracking tasks was investigated by van der Veen et al. (2019), suggesting that the HTC Vive sensors can be used successfully for clinical analysis of human motions. The static accuracy of HTC Vive tracker and motion controller was evaluated by Spitzley and Karduna (2019). The measured errors of both VIVE sensors were below \(0.4^{\circ }\) and 3 mm. In Flueratoru et al. (2020) the HTC Vive tracker was adopted as ground truth system for UWB indoor localization, while in Lwowski et al. (2020) the HTC Vive Tracker was employed for robot localization. An investigation of the HTC Vive tracking system for gait analysis was carried out by Guaitolini et al. (2021) indicating that the device can accurately monitor gait parameters. In Palma et al. (2021) an augmented reality system was proposed that allows users to interact with a 3D-printed copy of an artefact in a virtual environment using a physical replica (tracked by the HTC Vive tracker) as a tangible user interface.

Approaches for six degrees of freedom human body pose estimation based on the HTC Vive lighthouse transmitters were presented in Caserman et al. (2019), and in Jansen et al. (2019) for automatic calibration. In Vox et al. (2021) a method for human body tracking was developed, based on the HTC Vive tracker and on an inverse kinematic model of the human body, and it was compared against a marker-based optical motion capture system showing some inaccuracies.

3 Methods

3.1 Experimental setup

The experimental setup consists of a room of size \(8.2 \times 5.5 \times 2.9\) m, shown in Fig. 1. In order to perform the outside-in tracking of the HMD an OptiTrack motion capture system was adopted with twelve Prime 13 cameras. This configuration allows an effective capture volume of about \(5 \times 3 \times 2.5\) m, with a precision of about 0.2 mm. The Prime 13 camera (shown in Fig. 2) is a high speed IR sensor (Gigabit Ethernet, 240 maximum frame rate) that provides sub-millimeter accuracy, and that has a range of about 12 m. The camera resolution is \(1280 \times 1024\) (1.3 MP). The OptiTrack system provides on-camera image analysis for detection of marker location, size and roundness, that relieves the CPU from computation of low-level information.

The experimental setup also comprises an Oculus Rift S HMD, instrumented with six passive retro-reflective markers as shown in Fig. 3. The six markers define a single rigid body and are tracked with six degrees of freedom by the OptiTrack system. The Oculus Rift S is a tethered HMD, with a 5-meter cable (with DisplayPort and USB 3.0 connections). A desktop computer running Unity 3D and Motive (the optical motion capture software by OptiTrack) was adopted for data recording and to generate the virtual reality environment. Hardware and software specifications are provided in Table 1.

Fig. 3
figure 3

Oculus Rift S instrumented with reflective markers

Table 1 Desktop computer and software specifications

3.2 Data acquisition and processing

Multiple reference frames are defined in the proposed setup as illustrated in Fig. 4. The fixed world reference frame W of the OptiTrack motion capture system (also shown in Fig. 1) is located on the floor of the room. Reference frame W is known after a one-time calibration phase of the OptiTrack system. Reference frame \(K\left( t\right)\) is attached to the HMD rigid body and it is tracked by the OptiTrack software (Motive). The position and the orientation of reference frame \(K\left( t\right)\) with respect to the HMD rigid body are constant over time, and they depend on the configuration of the markers on the headset. Reference frame O is the world reference frame of the Oculus Rift S inside-out tracking system. In general, reference frames W and O are different, moreover, the origin of reference frame O may change for each recorded path as it depends on the initial configuration of the HMD. Reference frame \(U\left( t\right)\) is attached to the HMD rigid body and it is tracked by the Oculus Rift S tracking system. In particular, reference frame U is located at the midpoint of the user’s eyes, with forward (Z-axis) and down (Y-axis) vectors.

Data acquisition and processing was carried out by using a custom Unity 3D script, according to the workflow displayed in Fig. 5. A dataset of HMD paths was recorded by a single user walking around in the room scale environment while wearing the headset. The Unity script, which operates at 60 frames per second, records at each frame t (Unity 3D recorder block in Fig. 5) the \(4\times 4\) transformation matrix \(_U^OM\left( t\right)\) of reference frame \(U\left( t\right)\) with respect to O as measured by the Oculus Rift S, and the \(4\times 4\) transformation matrix \(_K^WM\left( t\right)\) of reference frame \(K\left( t\right)\) with respect to W as measured by OptiTrack. Data acquisition in Unity was performed by the Oculus Platform SDK and by the OptiTrack Unity Plugin, respectively.

Fig. 4
figure 4

Main reference frames used for data acquisition, calibration and evaluation. Axes x, y and z are displayed using red, green and blue arrows, respectively

Fig. 5
figure 5

Data acquisition (top) and processing (bottom) workflow

In order to evaluate the tracking performance of the HMD, recorded paths are processed offline. First, an automated cleanup procedure removes invalid data caused by tracking failures. Then, an extrinsic calibration approach is applied to each path as \(_U^OM\left( t\right)\) and \(_K^WM\left( t\right)\) refer to different reference frames. Details about the extrinsic calibration procedure are provided in Sect. 3.3. A description of the acquired dataset is reported in Sect. 3.4. Finally, evaluation was carried out as described in Sect. 3.5.

3.3 Extrinsic calibration

This section describes the extrinsic calibration procedures that are required to evaluate the tracking accuracy of the Oculus Rift S HMD. Since transformations \(_U^OM\left( t\right)\) and \(_K^WM\left( t\right)\) track two different reference frames on the HMD a one-time calibration procedure is required to obtain \(_U^KM\), i.e., the fixed \(4\times 4\) transformation matrix of reference frame \(U\left( t\right)\) with respect to \(K\left( t\right)\), as described in Sect. 3.3.1.

3.3.1 Extrinsic calibration between reference frames K and U

As frames \(K\left( t\right)\) and \(U\left( t\right)\) are related by a constant transformation \(_U^KM\), \(_U^KM\) can be estimated by applying an extrinsic calibration algorithm given multiple synchronized samples of \(_U^OM\left( t\right)\) and \(_K^WM\left( t\right)\) taken at different poses of the headset. To this purpose a specific calibration path of the HMD was recorded that consists mainly of (in place) rotational movements around multiple axes, as these movements are known to be the most effective for this type of calibration. A set of sampled data \(\left\{ _U^O{M_c}\left( t\right) ,_K^W{M_c}\left( t\right) \right\}\) was then extracted from the calibration path, where subscript c stands for “calibration”.

As shown in Fig. 4, the reference frames are related as follows:

$$\begin{aligned} {_K^WM_c}\left( t\right) \; {_U^KM} \; {_U^OM_c}\left( t\right) ^{-1} = {_O^WM} \end{aligned}$$
(1)

By using (1) for two frames, t and \(\left( t - 1\right)\), an equation in the form of \(A \, X=X \, B\) is obtained, where:

$$\begin{aligned} \begin{aligned} A&= {_K^WM_c}\left( t - 1\right) ^{-1} \; {_K^WM_c}\left( t\right) \\ B&= {_U^OM_c}\left( t - 1\right) ^{-1} \; {_U^OM_c}\left( t\right) \\ X&= {_U^KM} \\ \end{aligned} \end{aligned}$$
(2)

Equations \(A \, X=X \, B\) where \(A=A_{i-1}^{-1} \, A_i\) and \(B=B_{i-1}^{-1} \, B_i\) are solved for X given multiple pairs \(\left( A_i, B_i\right)\) by using the standard formulation by Horaud and Dornaika (1995). To ensure a sufficiently large change in rotation between two consecutive samples, data \(A_i={_K^W{M_c}}\left( t_i\right)\) and \(B_i={_U^O{M_c}}\left( t_i\right)\) are sampled from the calibration path whenever the rotation becomes larger than \(5^\circ\). That is, \(t_i\) is the lowest t so that:

$$\begin{aligned} {\left\{ \begin{array}{ll} \left| \angle \left( _K^W{M_c}\left( t\right) \;\; A_{i-1}^{-1}\right) \right| \ge 5^\circ \\ \left| \angle \left( _U^O{M_c}\left( t\right) \;\; B_{i-1}^{-1}\right) \right| \ge 5^\circ \end{array}\right. } \end{aligned}$$
(3)

where, given a transformation matrix T, operator \(\angle \left( T\right)\) denotes the rotation angle of the axis-angle representation of the rotation matrix of T.

3.3.2 Extrinsic calibration between reference frames O and W

The transformation matrix \(_O^WM\) of reference frame O with respect to W can not be determined in advance for all recorded paths used for the experimental evaluation, as the initial configuration of reference frame O may potentially change for each recorded path. In this work two different approaches are compared to calibrate the transformation between reference frames W and O for each single path. The two calibration methods are based on the alignment of paths \(_U^{W}M\left( t\right)\) and \(_{U}^{O}M\left( t\right)\). The first approach is named Single State (SS) alignment, while the second approach is named Multiple States (MS) alignment, as in Zhang and Scaramuzza (2018).

The Single State alignment method exploits only the configuration of the HMD reference frame at the beginning of the path, i.e., when the tracking drift is not present. Given initial transformation \(_U^{W}M\left( 0\right) ={_{U_0}^{W}M}\) of the headset as measured by the motion capture system, and the initial transformation \(_{U}^{O}M\left( 0\right) = {_{U_0}^{O}M}\) as measured by the Oculus Rift S, the Single State alignment transformation \(_{O}^{W}M_{ss}\) is computed as:

$$\begin{aligned} _{O}^{W}M_{ss} = {_{U_0}^{W}M} \; {_{U_0}^{O}M^{-1}} \end{aligned}$$
(4)

In the Multiple States alignment method the translation component \(_{U}^{W}{\mathcal {T}}\left( t\right)\) of the entire path \(_{U}^{W}M\left( t\right)\) is used for the alignment, as well as the translation component \(_{U}^{O}{\mathcal {T}}\left( t\right)\) of of the entire path \(_{U}^{O}M\left( t\right)\). In particular, the Multiple States alignment transformation \(_O^WM_{\text {ms}}\) is obtained by minimizing the mean square distance between \(_{U}^{W}{\mathcal {T}}\left( t\right)\) and \(_{U}^{O}{\mathcal {T}}\left( t\right)\):

$$\begin{aligned} _O^WM_{\text {ms}} = \underset{M}{\text {argmin}} \sum _t\left\Vert _{U}^{W}{\mathcal {T}}\left( t\right) - \, M \; _{U}^{O}{\mathcal {T}}\left( t\right) \right\Vert ^2 \end{aligned}$$
(5)

3.4 Dataset

Fig. 6
figure 6

An image of the user wearing the HMD while recording the dataset

Fig. 7
figure 7

The 3D virtual reconstruction of the room

The experimental evaluation was conducted on a custom dataset containing a set of recorded HMD paths of a user walking around the environment (Fig. 6). For the dataset acquisition the user wore the HMD that displayed a 3D virtual reconstruction of the room (Fig. 7). The user was free to rotate his head around during the experiments. Therefore, each recorded path of the dataset contains simultaneous changes in both position and orientation of the HMD. The dataset contains a total of 85 paths, organized in five subsets of paths as follows:

  • Line: 20 straight line segments with different directions, traveled back and forth, with average length of about 3 m and average duration of 96 s.

  • Circle: 20 closed paths with circular shape, with average radius of about 1.5 m and average duration of 116 s.

  • Eight: 20 “8-shaped” paths, covering a surface of about \(4\times 2\) m, with average duration of 109 s.

  • Dynamic: 20 closed paths with circular shape, similar to the Circle subset, in a dynamic environment with two people walking closely beside the user. Each person carried a vertical square panel (side 85 cm) at head level to increase clutter.

  • Random: 5 random walking paths, with average duration of 89 s.

It must be noticed that the OptiTrack system may lose tracking of the HMD for a few frames in certain conditions. For example when the user walks close to the corners of the room or when the HMD is occluded. In these cases invalid measurements were discarded and excluded from the evaluation (Path cleanup block in Fig. 5).

3.5 Evaluation

This section describes the evaluation metrics that have been used to assess the tracking accuracy. Data analysis was performed by computing both translation and orientation errors. Transformation \(^W_UM(t)={^W_OM}{^O_UM}(t)\) which represents the pose of the HMD U with respect to the world reference frame W as measured by the Oculus Rift S built-in tracking system, is compared with the ground truth pose \(^W_UM'(t)= {^W_KM}(t) \; {^K_UM}\) from the OptiTrack system. The absolute translation error \(dT \left( t\right)\) for each sample at time t was computed as the Euclidean distance between the translation vectors \(_U^W{\mathcal {T}}\left( t\right)\) and \(_U^W{\mathcal {T}}'\left( t\right)\) of \(_U^WM\left( t\right)\) and \(_U^WM'\left( t\right)\), respectively:

$$\begin{aligned} \textit{dT}\left( t\right) = \left\Vert _U^W{\mathcal {T}}\left( t\right) - {_U^W{\mathcal {T}}'}\left( t\right) \right\Vert \end{aligned}$$
(6)

The absolute rotation error \(dR \left( t\right)\) for each sample at time t was computed as the rotation angle of the axis-angle representation of rotation matrix \({_U^W{\mathcal {R}}\left( t\right) }^\top \; _U^W{\mathcal {R}}'\left( t\right)\), i.e.,

$$\begin{aligned} dR \left( t\right)&= \left|\angle \left( {_U^W{\mathcal {R}}\left( t\right) }^\top \; _U^W{\mathcal {R}}'\left( t\right) \right) \right|\end{aligned}$$
(7)

4 Experimental results

Table 2 Mean, standard deviation (SD) and maximum (Max) translation error (cm), for each subset of paths and over all paths
Table 3 Mean, standard deviation (SD) and maximum (Max) rotation error (degrees), for each subset of paths and over all paths
Fig. 8
figure 8

Average translation error \(dT (t)\) for the five subsets of paths (Line, Circle, Eight, Dynamic, Random) and for the complete dataset (All). Results are shown for the two alignment methods: Single State alignment and Multiple States alignment. The vertical error bars show the standard deviation

Fig. 9
figure 9

Average rotation error \(dR\left( t \right)\) for the five subsets of paths (Line, Circle, Eight, Dynamic, Random) and for the complete dataset (All). Results are shown for two alignment methods: Single State alignment and Multiple States alignment. The vertical error bars show the standard deviation

Fig. 10
figure 10

Example Line path tracked by the motion capture system and the corresponding SS-aligned path tracked by the Oculus Rift S

Fig. 11
figure 11

Example Circle path tracked by the motion capture system and the corresponding SS-aligned path tracked by the Oculus Rift S. The region in the black cube is shown enlarged in Fig. 14

Fig. 12
figure 12

Example Eight path tracked by the motion capture system and the corresponding SS-aligned path tracked by the Oculus Rift S

The translation error \(dT \left( t\right)\) and the rotation error \(dR \left( t\right)\), averaged over each subset of paths and over the complete dataset, are reported in Tables 2 and 3, respectively. Table 2 and Table 3 also report the standard deviation and the maximum error. Data are also illustrated in Fig. 8 and in Fig.  9. The average error computed on the whole dataset is about \(1.83\) cm and \(0.77^\circ\) (SS alignment method), and 1.12 cm and \(0.66^\circ\) (MS alignment method). The lowest error was obtained for the Line paths, due to their simple shape. Conversely, the more complex paths in the Random subset have an average error which is significantly higher than all other path types. The average error of Circle and Eight paths, that have an intermediate complexity, is contained between the average error of Line paths and Random paths. The Eight paths have a slightly lower error than Circle paths, possibly due to the longer average duration of Circle paths compared to Eight paths (116 s and 109 s as reported in Sect. 3.4). The error of Dynamic paths is slightly higher than the error for Circle paths. Therefore, it can be observed that the Oculus Rift S native tracking system is rather robust to dynamic environments.

In general, the average translation error is lower for the Multiple States (MS) calibration method, compared to the Single State (SS) method. This result is expected, since calibration using the MS alignment method minimizes the distance between all corresponding points in \(_U^W{\mathcal {T}}\left( t\right)\) and \(_U^W{\mathcal {T}}'\left( t\right)\). The average rotation error of Single State and Multiple States alignment methods is comparable, since the MS method considers only the position distance between corresponding points. It must be observed that the Multiple States alignment approach requires the path to be known in advance, while the Single State alignment approach only requires the first frame. Hence, the use of the Single State alignment method is more suitable for online virtual reality applications.

Example paths from the dataset, tracked by the Oculus Rift S and by the motion capture system, are shown in Figs. 10, 11, 12 and 13. Enlarged views of some example paths are displayed in Fig. 14 and in Fig. 15. As expected, the Oculus Rift S path obtained through MS alignment is closer to the ground truth OptiTrack path than the SS-aligned path.

Fig. 13
figure 13

Example Random path tracked by the motion capture system and the corresponding SS-aligned path tracked by the Oculus Rift S. The region in the black cube is shown enlarged in Figure 15

Fig. 14
figure 14

Enlarged view of a tracked path from Figure 11 (including also the tracked path obtained from the Multiple States calibration)

Fig. 15
figure 15

Enlarged view of a tracked path from Figure 13 (including also the tracked path obtained from the Multiple States calibration)

Fig. 16
figure 16

Tracking error for the Circle path in Fig. 11

Fig. 17
figure 17

Tracking error for the Random path in Fig. 13

The translation and rotation errors over time for the Circle path in Fig. 11 and the Random path in Fig. 13 are shown in Figs. 16 and 17, respectively. In the Circle path, the average translation error is 1.55 cm for the Single State alignment method. The translation error obtained by the Single State alignment approach increases at the beginning of the path when the user moves away from the starting position, and it decreases near the end of the path, when the user comes back to the initial position, thus suggesting a not negligible error in the estimated rotation component of \(_W^OM_{ ss }\). Conversely, the translation error obtained by the Multiple States alignment method is rather constant, about 1.08 cm on average, thus suggesting that the Multiple States alignment method provides a better calibration of the reference frames. In the Circle path, the average rotation error is about \(0.52^\circ\) for the Single State alignment, and \(0.37^\circ\) for the Multiple States alignment. In the Random path, the average translation error is about 2.90 cm, and the average rotation error is \(2.3^\circ\) (with MS alignment), which are significantly larger than in the Circle path. The larger errors in the Random path are due to the more complex shape of the path that includes frequent changes in motion direction and speed.

Repeatability in calibration between reference frames K and U (Sect. 3.3.1) has been assessed by rerunning the calibration procedure on 20 different calibration paths of the headset. The results indicate that the standard deviation of the translation is about 0.24 cm, whereas the standard deviation of the rotation angle in the axis-angle representation is about 0.44 degrees.

5 Conclusions

This work investigated the tracking accuracy of the Oculus Rift S HMD in room scale environments. The built-in tracking algorithm of the Oculus Rift S was compared to the performance that can be achieved by using an OptiTrack motion capture system. The results show that, in room-scale environments, the translation and rotation accuracy of the built-in HMD tracking system is about \(1.83\) cm and \(0.77^\circ\) on average. Therefore, it may be concluded that in most virtual reality applications the inside-out tracking system of the Oculus Rift S is more than adequate, however, for specific virtual reality tasks requiring high quality tracking it may be advisable to replace the built-in tracking system of the Oculus Rift S with a third party solution. Moreover, it can be observed that the proposed method to evaluate the accuracy of the Oculus Rift S tracking system is general and it can be applied to other HMDs. Future work will investigate more robust tracking algorithms by combining data from the motion capture equipment and from the HMD built-in tracking system.