CPC G02B 27/0093 (2013.01) [G01P 15/0888 (2013.01); G02B 27/0172 (2013.01); G02B 2027/0138 (2013.01); G02B 2027/014 (2013.01)] | 17 Claims |
1. A method comprising:
emitting magnetic fields at a handheld controller;
detecting the magnetic fields at a magnetic field sensor positioned relative to a headset;
initiating a first processing stack and a second processing stack;
wherein the first processing stack includes, at each of multiple first time steps:
determining a first position and a first orientation of the handheld controller within a first hemisphere with respect to the headset based on the magnetic fields detected by the magnetic field sensor; and
calculating a first discrepancy based on the first position and the first orientation;
wherein the second processing stack includes, at each of multiple second time steps:
determining a second position and a second orientation of the handheld controller within a second hemisphere with respect to the headset based on the magnetic fields detected by the magnetic field sensor, wherein the second hemisphere is diametrically opposite the first hemisphere; and
calculating a second discrepancy based on the second position and the second orientation; and
after the multiple first time steps and the multiple second time steps, making a determination, based on the first discrepancy and the second discrepancy, as whether to (i) abort the first processing stack, (ii) abort the second processing stack, or (iii) continue processing with both the first processing stack and the second processing stack, wherein it is determined to abort the first processing stack if the first discrepancy is greater than a threshold, it is determined to abort the second processing stack if the second discrepancy is greater than the threshold, and it is determined to continue processing with both the first processing stack and the second processing stack if the first discrepancy and the second discrepancy are less than the threshold.
|