Abstract
The world space defined by a traditional virtual reality application is generally regarded as separate from the real-world space in which users actually exist. In this paper, we present a method that enables such detached spaces to connect in an integrated space. In particular, we show that by using a specially manufactured calibration board and three consumer-grade position tracking devices, a reference coordinate system can easily be set up in the physical space, whose geometric relationship with the virtual reality space is estimated with high numerical accuracy and stability. Then, we demonstrate that, combined with traditional computer vision techniques for marker tracking, the presented technique allows colocated users from virtual, augmented, and mixed realities to cooperate with each other while making effective use of technologies from other realities.














Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Azimi E, Qian L, Navab N, Kazanzides P (2018) Alignment of the virtual scene to the tracking space of a mixed reality head-mounted display. arXiv:1703.05834
Bai H, Gao L, Billinghurst M (2017) Demo: 6DoF input for Hololens using Vive controller. In: Proceedings of the SIGGRAPH Asia 2017 mobile graphics & interactive applications, p 4:1
Chun W, Choi G, An J, Seo W, Park S, Ihm I (2019) On sharing physical geometric space between augmented and virtual reality environments. In: Proceedings of the 2019 IEEE conference on virtual reality and 3D user interfaces, pp 884–885
Claraco J (2018) A tutorial on SE(3) transformation parameterizations and on-manifold optimization. Tech. Rep. #012010, Universidad de Malága
Gottlieb D (2018) Mixing reality with virtual reality. http://drewgottlieb.net/2017/01/31/mixing-reality-with-vr.htm
Grandi JG, Debarba HG, Maciel A (2019) Characterizing asymmetric collaborative interactions in virtual and augmented realities. In: Proceedings of the 2019 IEEE conference on virtual reality and 3D user interfaces, pp 127–135
Gugenheimer J, Stemasov E, Frommel J, Rukzio E (2017) ShareVR: enabling co-located experiences for virtual reality between HMD and non-HMD users. In: Proceedings of the 2017 CHI conference on human factors in computing systems, pp 4021–4033
Luckett E, Key T, Newsome N, Jones JA (2019) Metrics for the evaluation of tracking systems for virtual environments. In: Proceedings of the 2019 IEEE conference on virtual reality and 3D user interfaces, pp 1711–1716
Niehorster DC, Li L, Lappe M (2017) The accuracy and precision of position and orientation tracking in the HTC Vive virtual reality system for scientific research. i-Perception 8(3)
Peer A, Ullich P, Ponto K (2018) Vive tracking alignment and correction made easy. In: Proceedings of the 2018 IEEE conference on virtual reality and 3D user interfaces, pp 653–654
Piumsomboon T, Day A, Ens B, Lee Y, Lee G, Billinghurst M (2017) Exploring enhancements for remote mixed reality collaboration. In: Proceedings of the SIGGRAPH Asia 2017 mobile graphics & interactive applications, pp 16:1–16:5
PTC (2020) Getting started with Vuforia engine in unity. https://library.vuforia.com/content/vuforia-library/en/articles/Training/getting-started-with-vuforia-in-unity.html
Roo JS, Hachet M (2017) One reality: augmenting how the physical world is experienced by combining multiple mixed reality modalities. In: Proceedings of the 30th annual ACM symposium on user interface software and technology, pp 787–795
Solomon J (2015) Numerical algorithms: methods for computer vision, machine learning, and graphics. CRC Press, Boca Raton
Todd MJ, Yıldırım EA (2007) On Khachiyan’s algorithm for the computation of minimum-volume enclosing ellipsoids. Discrete Appl Math 155(13):1731–1744
Weissker T, Tornow P, Froehlich B (2020) Tracking multiple collocated HTC Vive setups in a common coordinate system. In: Proceedings of the 2020 IEEE conference on virtual reality and 3D user interfaces
Funding
This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (No. NRF-2020R1A2C2011709).
Author information
Authors and Affiliations
Contributions
JA, WC, SP, II helped in conceptualization; JA, GC, WC, SP, II formally analyzed and investigated; JA, GC, WC, YJ involved in implementation; II helped in writing and funding acquisition.
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Supplementary Information
Below is the link to the electronic supplementary material.
Supplementary material 1 (mp4 6154 KB)
Supplementary material 2 (mp4 24893 KB)
Supplementary material 3 (mp4 12235 KB)
Supplementary material 4 (mp4 16096 KB)
Appendices
Appendix 1: The numerical method to solve the nonlinear least-squares problem in Sect. 3.2.2
Consider a triangle (not necessarily equilateral) on the plane formed by three 2D points \(\tilde{\mathbf{p}}_i = ({\tilde{x}}_i, {\tilde{y}}_i)^{\top } (i = 0, 1, 2)\), whose center of mass is assumed to exist, without loss of generality, at the origin of the 2D coordinate system (see Fig. 4 again). Now, the problem is to find an equilateral triangle of side \(s = 200\sqrt{3}\) mm that fits best, in the least-squares sense, the given triangle. This can be done by computing a rigid body transformation that transforms the triangle, defined by three vertices \(\mathbf{q}_i = (x_i, y_i)^{\top }\) with \(\mathbf{q}_0 = (\frac{1}{2}s, -\frac{\sqrt{3}}{6}s)^{\top }\), \(\mathbf{q}_1 = (0, \frac{\sqrt{3}}{3}s)^{\top }\), and \(\mathbf{q}_2 = (-\frac{1}{2}s, -\frac{\sqrt{3}}{6}s)^{\top }\), so that the sum of squared distances between the corresponding points is minimized.
Let \(M(\alpha , \beta ;\theta ) = T(\alpha , \beta )\cdot R(\theta )\) be a 2D rigid body transformation represented by a rotation followed by a translation. Then, for the transformed positions \(\bar{\mathbf{q}}_{i}\) of \(\mathbf{q}_{i}\) with \(\bar{\mathbf{q}}_{i} = (x_{i} \cos \theta - y_{i} \sin \theta + \alpha , \, x_{i} \sin \theta + y_{i} \cos \theta + \beta )^{\top }\), the squared sum of the distances between \(\bar{\mathbf{q}}_{i}\) and \(\bar{\mathbf{p}}\) is expressed as
Then, by noting that \(\sum _0^2 x_i = \sum _0^2 y_i = 0\), we are led to
From \(\nabla F(\alpha , \beta ;\theta ) = 0\) and the similarity between the two variables \(\alpha \) and \(\beta \), we find the summed error is minimized at \(({\alpha }^*, {\beta }^*)\) where \({\alpha }^* = \sum _{i=0}^{2} {\tilde{x}}_{i}/{3}\) and \({\beta }^* = \sum _{i=0}^{2} {\tilde{y}}_{i}/{3}\). For the other variable \(\theta \),
To obtain \({\theta }^*\) such that \(\frac{\partial F}{\partial \theta } = 0\), the Newton–Raphson method (Solomon 2015) is applied to the nonlinear function \(f(\theta ) = S\cdot \sin \theta + C\cdot \cos \theta \) with \(S = \sum _{i=0}^{2} ({\tilde{x}}_{i}x_i + {\tilde{y}}_{i}y_{i})\) and \(C = \sum _{i=0}^{2} ({\tilde{x}}_{i}y_i - {\tilde{y}}_{i}x_{i})\). Note that, since the rotational displacement is usually very small, the Newton–Raphson iteration converges quickly to the solution \({\theta }^*\) for initial value \(\theta _0 = 0\):
Appendix 2: The Gauss–Newton method to solve the nonlinear least-squares problem in Sect. 3.2.3
Consider an enumeration of the entire position samples \(\mathbf{p}_{ij}\) (\(i = 0, 1, 2\) and \(j = 0, 1, \ldots , n_{{\rm total}}-1\)), for which i(k) and j(k) denote the tracker number i and the tracker’s sample number j of the kth sample, respectively. If we define \(\mathbf{f}({\varvec{\xi }})\) to be a function from \({\mathbb {R}}^6\) to \({\mathbb {R}}^{9\cdot n_{{\rm total}}}\) whose value is a vector constructed by stacking the vectors \(\tau (\mathbf{q}_{ i(k)},T({{\varvec{\xi }}})) - \mathbf{p}_{i(k),j(k)} \in {\mathbb {R}}^3\) in the enumeration order, the nonlinear minimization problem can be restated as
Then, given an initial value \({\varvec{\xi }}^{(0)}\), the current estimate for the transformation parameter is improved iteratively until convergence as \({\varvec{\xi }}^{(k+1)} = {\varvec{\xi }}^{(k)} + \Delta \,{\varvec{\xi }}\) by solving the \(6\times 6\) linear system for \(\Delta {\varvec{\xi }}\)
where \(\mathbf{J}_\mathbf{f}({\varvec{\xi }}^{(k)}) \in {\mathbb {R}}^{9\cdot n_{{\rm total}}\times 6}\) is the Jacobian matrix of \(\mathbf{f}\) at \({\varvec{\xi }}^{(k)}\), which can be constructed by stacking the following \(3\times 6\) matrix for the kth position sample (Claraco 2018):
(Here, \(I_{3\times 3}\) and \([\cdot ]_{\times }\) represent the \(3\times 3\) identity matrix and the skew-symmetric matrix operator, respectively.) Note that when the parameter \({\varvec{\xi }}\) is updated in each iteration, the rigid body transformation is also updated correspondingly as \(T({\varvec{\xi }}^{(k+1)}) = T(\Delta {\varvec{\xi }})T({\varvec{\xi }}^{(k)})\).
Rights and permissions
About this article
Cite this article
An, J., Choi, G., Chun, W. et al. Accurate and stable alignment of virtual and real spaces using consumer-grade trackers. Virtual Reality 26, 125–141 (2022). https://doi.org/10.1007/s10055-021-00542-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10055-021-00542-1