[VisionGlass] Improve reliability of phone pointer #1709
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We used to get the data about the phone orientation from the TYPE_GAME_ROTATION_VECTOR which is not aligned with the geomagnetic field of earth, and thus does not have a fixed reference frame. As the docs say, this might cause drift in the measurements as time passes by. Replacing it by TYPE_ROTATION_VECTOR should improve that.
As the phone and the glasses use different reference frames we need to translate the info from the phone to the reference frame of the glasses, that's why we now need to store that translation of reference frames in a quaternion and apply it on each frame. The good part is that we don't need to rely on resetting the IMU of the phone hoping for getting similar reference frames for the phone and glasses.