AR Device Pose Estimation Using Separate Translational and Rotational Splines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtual reality (VR) and augmented reality (AR) systems face inaccuracies in determining device pose due to complexities and errors in integration-based and single-spline approaches, leading to poor user experiences.

Innovation Solution

The system separately models device location and orientation using continuous pose trajectories based on translational and rotational spline formulations, minimizing errors and increasing computational efficiency by using separate splines for translation and rotation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If integration-based approaches or single-spline formulations are used to determine device pose, then the system can process motion data, but the measurement precision and reliability of device pose determination deteriorate due to accumulated errors and computational complexities

Engineering Contradiction:
Improvedevice pose determination accuracyVSAvoidcomputational complexity and error modeling complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the device pose determination into two independent components: translational motion and rotational motion. Each component is modeled separately using its own spline formulation (translational spline for position, rotational spline for orientation). This segmentation eliminates the need for complex integrated models and reduces error accumulation by treating each motion type independently with domain-appropriate error models.

Inventive Principle:
Principle #1Segmentation

2Productivity

If separate splines are used for translation and rotation, then computational efficiency and measurement precision improve, but the device complexity increases due to multiple spline formulations

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidnumber of spline formulations
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by using different spline formulations optimized for specific motion types: translational splines for position data and rotational splines for orientation data. Each spline type is tailored to the local characteristics of its domain (translation vs. rotation), providing optimal computational efficiency and accuracy for each specific task rather than using a single generic formulation for all motions.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If complex noise modeling is used to account for errors in device pose determination, then measurement precision improves, but device complexity and computational overhead increase

Engineering Contradiction:
Improvepose measurement accuracyVSAvoidnoise modeling complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent changes the parameter domain for error modeling by applying domain-specific error models: translational error parameters for position splines and rotational error parameters for orientation splines. This parameter specialization simplifies the overall noise modeling complexity compared to using a single complex unified model, while maintaining high measurement precision through appropriately tailored error characteristics for each motion type.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10776993B1Continuous device pose representation in AR/VR displays
Publication Date: 2020.09.15 SNAP INC
  • US10776993B1 patent drawing
  • US10776993B1 patent drawing
  • US10776993B1 patent drawing

AI summary

Aspects of the present disclosure involve a system comprising a computer-readable storage medium storing a program and a method for determining orientation or location of a device. The program and method include receiving data from one or more sensors of a device; generating a first spline that represents location of the device in a world coordinate frame based on the data received from the one or more sensors; generating a second spline that represents orientation of the device in the world coordinate frame based on the data received from the one or more sensors; computing a motion model that represents motion of the device over a continuous time interval based on the first and second splines; and determining an expected location or orientation of the device based on the motion model.