IP Library Granted Patent US 10,120,461
Granted Patent B2
US 10,120,461 · App. 14/888,255 · Granted Nov 6, 2018

Mapped variable smoothing evolution method and device

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,120,461
App. No.
14/888,255
Granted
Nov 6, 2018
Kind
B2
Abstract

The present inventions generally relate to methods and dedicated apparatuses outputting a variable mapped on a device orientation in a non-inertial reference system, with the device orientation being estimated using measurements of motion sensors (such as 3D accelerometers and gyroscopes) and a magnetometer or other similar sensors including cameras. A variable mapped on an orientation of a device is smoothed to have a gradual evolution by adjusting the estimated orientation of the device obtained via sensor fusion or other sensor processing to take into consideration a current measured angular velocity.

Claims (60)

1. A method for smoothing evolution of a variable depending on an orientation of a device, the method comprising:

determining an adjusted angular velocity (Ω s,n ) based on a measured angular velocity (ω n ) and an estimated angular velocity (Ω f,n ), such that to satisfy one or more predefined constraints, including at least one constraint for masking of any of a correction and an artifact;

determining a current value (x) of the variable according to an adjusted estimate of the current orientation (q s,n ) of the device obtained using the adjusted angular velocity (Ω s,n ); and

outputting the current value (x) of the variable.

2. The method of claim 1 , wherein the variable defines any of a position of a cursor on a screen and an image displayed to a video-game user.

3. The method of claim 1 , wherein the adjusted estimate of the current orientation of the device, and the measured, estimated and adjusted angular velocities are expressed in a reference system defined relative to gravity direction and Earth magnetic field direction.

4. The method of claim 1 , further comprising:

calculating the estimated angular velocity (Ω f,n ) using an estimate of a current orientation (q f,n ) of the device and an adjusted estimate of a previous orientation (q s,n-1 ) of the device.

5. The method of claim 4 , wherein the estimate of the current orientation (q f,n ) of the device is obtained using a sensor fusion method, wherein the sensor fusion method uses measurements of any of a magnetometer and an accelerometer, and wherein the measured angular velocity is obtained using a gyroscope.

6. The method of claim 5 , wherein the estimate of the current orientation (q f,n ) and the adjusted estimate of a previous orientation (q s,n-1 ) are expressed as quaternions.

7. The method of claim 1 , wherein the one of more predetermined constraints include the adjusted angular velocity (Ω s,n ) being substantially equal to zero when the measured angular velocity (ω n ) is substantially equal to zero.

8. The method of claim 1 , wherein the determining of the adjusted angular velocity (Ω s,n ) includes projecting the estimated angular velocity (Ω f,n ) along a direction of the measured angular velocity (ω n ),

calculating a scaling factor (α) as a ratio of the result of the projecting and a magnitude of the measured angular velocity (ω n ); and

if the scaling factor exceeds a predetermined first value (MaxScaling) or is below a predetermined second value (MinScaling), setting the scaling factor (α) equal to the predetermined first value or to the predetermined second value, respectively,

wherein a magnitude of the adjusted angular velocity (Ω s,n ) is equal to the magnitude of the measured angular velocity (ω n ) multiplied with the scaling factor.

9. The method of claim 1 , wherein the determining of the adjusted angular velocity (Ω s,n ) includes:

determining an auxiliary unit vector (v 2 ) based on a first unit vector (v 0 ) along the measured angular velocity (ω n ), a second unit vector (v 1 ) along the estimated angular velocity (Ω f,n ) and an angle (θ) there-between; and

determining a unit vector (v) along the adjusted angular velocity (Ω s,n ) using the first, second and auxiliary unit vectors.

10. The method of claim 9 , wherein the unit vector (v) is the second unit vector (v 1 ) if the angle (θ) between the measured angular velocity (ω n ) and the estimated angular velocity (Ω f,n ) is less than or equal to a maximum angle (θ max ).

11. The method of claim 10 , wherein if the angle (θ) is larger than the maximum angle (θ max ), then the unit vector (v) is at the maximum angle from the measured angular velocity (ω n ), between and in a same plane as the measured angular velocity (ω n ) and the estimated angular velocity (Ω f,n ).

12. The method of claim 11 , wherein the determining of the adjusted angular velocity (Ω s,n ) includes projecting the estimated angular velocity (Ω f,n ) along a direction of the measured angular velocity (ω n ),

calculating a scaling factor (α) as a ratio of the result of the projecting and a magnitude of the measured angular velocity (ω n ); and

if the scaling factor (α) exceeds a predetermined first value (MaxScaling) or is below a predetermined second value (MinScaling), setting the scaling factor (α) equal to the predetermined first value or to the predetermined second value, respectively,

wherein a magnitude of the adjusted angular velocity (Ω s,n ) is equal to the magnitude of the measured angular velocity (ω n ) multiplied with the scaling factor (α).

13. The method of claim 12 , further comprising:

adjusting at least one of the predetermined first value (MaxScaling), the predetermined second value (MinScaling) and the maximum angle (θ max ).

14. The method of claim 1 , further comprising:

outputting a stabilized current orientation which is equal to a stabilized previous orientation (q′ s,n-1 ) if a difference between the adjusted estimate of the current orientation (q s,n ) and the stabilized previous orientation (q′ s,n-1 ) is less than a predetermined threshold (m).

15. The method of claim 14 , wherein if a difference between the adjusted estimate of the current orientation (q s,n ) and the stabilized previous orientation (q′ s,n-1 ) exceeds the predetermined threshold (m), then the stabilized current orientation (q′ s,n ) is equal to the adjusted estimate of the current orientation (q s,n ) after being shifted with the predetermined threshold, towards the stabilized previous orientation (q′ s,n-1 ).

16. The method of claim 1 , wherein the adjusted estimate of the current orientation (q s,n ) of the device is obtained by adding to a previous orientation (q s,n-1 ) of the device, a change thereof obtained by integrating the adjusted angular velocity (Ω s,n ) over a time interval.

17. A gaming system configured to display an image to a user according to an orientation of a device, the system comprising:

sensors mounted on the device and configured to acquire information leading to a measured angular velocity (ω n ) and an estimate of a current orientation (q f,n ) of the device; and

a data processing unit configured to determine:

an adjusted angular velocity (Ω s,n ) based on the measured angular velocity (ω n ) and the estimated angular velocity (Ω f,n ), such that to satisfy one or more predefined constraints, including at least one constraint for masking of any of a correction and an artifact;

an adjusted estimate of the current orientation (q s,n ) of the device obtained using the adjusted angular velocity (Ω s,n ); and

the image to be displayed to the user according to the adjusted estimate of the current orientation.

18. An information system controlled by orientation of a device, the system comprising:

sensors mounted on the device and configured to acquire information leading to a measured angular velocity (ω n ) and an estimate of a current orientation (q f,n ) of the device; and

a data processing unit configured to determine:

an adjusted angular velocity (Ω s,n ) based on the measured angular velocity (ω n ) and the estimated angular velocity (Ω f,n ), such that to satisfy one or more predefined constraints, including at least one constraint for masking of any of a correction and an artifact;

an adjusted estimate of the current orientation (q s,n ) of the device obtained using the adjusted angular velocity (Ω s,n ); and

a position of a cursor on a screen based on the current orientation (q s,n ) of the device.

19. An apparatus directed to smoothing evolution of a variable depending on an orientation of a device, the apparatus comprising circuitry, including a processor and memory, configured to:

determine an adjusted angular velocity (Ω s,n ) based on a measured angular velocity (ω n ) and an estimated angular velocity (Ω f,n ), such that to satisfy one or more predefined constraints, including at least one constraint for masking of any of a correction and an artifact; and

determine a current value (x) of the variable according to an adjusted estimate of the current orientation (q s,n ) of the device obtained using the adjusted angular velocity (Ω s,n ); and

output the current value (x) of the variable.

20. The apparatus of claim 19 , wherein the circuitry is configured to determine the adjusted angular velocity (Ω s,n ) by, at least in part:

projecting the estimated angular velocity (Ω f,n ) along a direction of the measured angular velocity (ω n ),

calculating a scaling factor (α) as a ratio of the result of the projecting and a magnitude of the measured angular velocity (ω n ); and

if the scaling factor exceeds a predetermined first value (MaxScaling) or is below a predetermined second value (MinScaling), setting the scaling factor (α) equal to the predetermined first value or to the predetermined second value, respectively,

wherein a magnitude of the adjusted angular velocity (Ω s,n ) is equal to the magnitude of the measured angular velocity (ω n ) multiplied with the scaling factor.

21. The apparatus of claim 19 , wherein the circuitry is configured to determine the adjusted angular velocity (Ω s,n ) by, at least in part:

determining an auxiliary unit vector (v 2 ) based on a first unit vector (v 0 ) along the measured angular velocity (ω n ), a second unit vector (v 1 ) along the estimated angular velocity (Ω f,n ) and an angle (θ) there-between; and

determining a unit vector (v) along the adjusted angular velocity (Ω s,n ) using the first, second and auxiliary unit vectors.

22. The apparatus of claim 21 , wherein the unit vector (v) is the second unit vector (v 1 ) if the angle (θ) between the measured angular velocity (ω n ) and the estimated angular velocity (Ω f,n ) is less than or equal to a maximum angle (θ max ).

23. The apparatus of claim 22 , wherein if the angle (θ) is larger than the maximum angle (θ max ), then the unit vector (v) is at the maximum angle from the measured angular velocity (ω n ), between and in a same plane as the measured angular velocity (ω n ) and the estimated angular velocity (Ω f,n ).

24. The apparatus of claim 19 , wherein the circuitry is configured to:

output a stabilized current orientation which is equal to a stabilized previous orientation (q′ s,n-1 ) if a difference between the adjusted estimate of the current orientation (q s,n ) and the stabilized previous orientation (q′ s,n-1 ) is less than a predetermined threshold (m).

25. The apparatus of claim 24 , wherein if a difference between the adjusted estimate of the current orientation (q s,n ) and the stabilized previous orientation (q′ s,n-1 ) exceeds the predetermined threshold (m), then the stabilized current orientation (q′ s,n ) is equal to the adjusted estimate of the current orientation (q s,n ) after being shifted with the predetermined threshold, towards the stabilized previous orientation (q′ s,n-1 ).

26. The apparatus of claim 19 , wherein the adjusted estimate of the current orientation (q s,n ) of the device is obtained by adding to a previous orientation (q s,n-1 ) of the device, a change thereof obtained by integrating the adjusted angular velocity (Ω s,n ) over a time interval.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2020
From: IDHL HOLDINGS, INC.
To: INTERDIGITAL MADISON PATENT HOLDINGS, SAS
Reel/Frame 053048/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HILLCREST LABORATORIES, INC.
To: IDHL HOLDINGS, INC.
Reel/Frame 042747/0445 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2015
From: COOK, BRYAN A.; LI, YUN
To: HILLCREST LABORATORIES, INC.
Reel/Frame 037031/0539 →
Cited By (1)
US 12,707,226