IP Library Granted Patent US 9,310,193
Granted Patent B2
US 9,310,193 · App. 13/597,387 · Granted Apr 12, 2016

Stabilizing orientation values of an electronic 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 9,310,193
App. No.
13/597,387
Granted
Apr 12, 2016
Kind
B2
Abstract

Disclosed are methods and systems for stabilizing orientation values of an electronic device, the orientation values representing an orientation of the electronic device, the method comprising: obtaining first sensor readings from a first sensor; obtaining second sensor readings from a second sensor; evaluating the first sensor readings and the second sensor readings to determine whether the electronic device is stationary; locking the orientation values when the electronic device is stationary; collecting at least one of further first sensor readings and further second sensor readings while the orientation values are locked; determining whether the orientation of the electronic device is changing by more than a threshold amount based on one or more of the further first sensor readings and the further second sensor readings; and unlocking the orientation values for updating based on the further sensor readings when the orientation of the electronic device is changing by more than the threshold amount.

Claims (53)

1. A processor-implemented method of stabilizing orientation values of an electronic device, the orientation values representing an orientation of the electronic device, the method comprising:

obtaining first sensor readings from a first sensor provided on the electronic device, the first sensor comprising a gyroscope;

obtaining second sensor readings from a second sensor provided on the electronic device;

evaluating the first sensor readings and the second sensor readings to determine whether the electronic device is stationary;

locking the orientation values when the electronic device is stationary, wherein locking configures the electronic device to prevent updating of the orientation values until the orientation values have been unlocked;

collecting at least one of further first sensor readings and further second sensor readings while the orientation values are locked;

determining whether the orientation of the electronic device is changing by more than a threshold amount based on one or more of the further first sensor readings and the further second sensor readings; and

unlocking the orientation values for updating based on the further sensor readings when the orientation of the electronic device is changing by more than the threshold amount, wherein unlocking configures the electronic device to allow further updating of the orientation values.

2. The method of claim 1 , further comprising updating the orientation values while the orientation values are unlocked based on the further first sensor readings, the further first sensor readings comprising a change in movement relative to one or more axes of the first sensor.

3. The method of claim 2 , further comprising correcting the orientation values using a reference position determined using at least one of the further second sensor readings and third sensor readings, the third sensor readings obtained from a third sensor while the orientation values are locked.

4. The method of claim 3 , wherein the second sensor is an accelerometer and the third sensor is a magnetometer.

5. The method of claim 4 , further comprising

determining that the further accelerometer readings and the magnetometer readings are within a benchmark value;

calculating the reference position using the further accelerometer readings and the magnetometer readings; and

while the orientation values are unlocked, correcting the orientation values using the calculated reference position.

6. The method of claim 5 , wherein determining that the further accelerometer readings and the magnetometer readings are within a benchmark value comprises determining that there is substantially no interference with magnetometer readings and accelerometer readings.

7. The method of claim 5 , wherein correcting the orientation values with the calculated reference position is performed in proportion to movement represented by the gyroscope readings.

8. The method of claim 7 , wherein correcting the orientation values in proportion to the movement represented by the gyroscope readings comprises:

determining that that an obtained reading from the gyroscope about an identified sensing axis indicates that the electronic device is rotating about the identified sensing axis at a rate of at least a predetermined unit rate of rotation; and

correcting the orientation values by up to a predetermined unit of rotation.

9. The method of claim 8 , wherein correcting the orientation values by up to a predetermined unit of rotation is performed incrementally for each additional reading obtained from the gyroscope.

10. The method of claim 8 , wherein correcting the orientation values by up to a predetermined unit of rotation comprises changing the orientation values in respect of the rotation about the identified sensing axis so that the orientation values in respect of the identified sensing axis are closer to the calculated reference position in respect of the identified sensing axis by an amount equal to or less than the predetermined unit of rotation.

11. The method of claim 4 , wherein determining that the orientation of the electronic device is changing by more than a threshold amount comprises determining that the gyroscope readings indicate that the electronic device is rotating at a rate above the noise level of the gyroscope in respect of one or more sensing axes.

12. The method of claim 1 , wherein the orientation values comprises an orientation matrix representing the orientation of the electronic device relative to the Earth's axes.

13. The method of claim 12 , wherein locking the orientation values comprises maintaining the orientation matrix as static values.

14. The method of claim 13 , wherein unlocking the orientation measurement comprises dynamically updating the orientation matrix based on one or more of first sensor readings and second sensor readings.

15. An electronic device comprising:

a memory;

a first sensor for providing first sensor readings in respect of at least one first sensor axis, the first sensor comprising a gyroscope;

a second sensor for providing second sensor readings in respect of at least one second sensor axis; and,

a processor coupled to the memory, the first sensor, and the second sensor the processor being configured to stabilize the orientation values of the electronic device by:

obtaining first sensor readings from the first sensor;

obtaining second sensor readings from the second sensor;

evaluating the first sensor readings and the second sensor readings to determine whether the electronic device is stationary;

locking the orientation values when the electronic device is stationary, wherein locking configures the electronic device to prevent updating of the orientation values until the orientation values have been unlocked;

collecting at least one of further first sensor readings and further second sensor readings while the orientation values are locked;

determining whether the orientation of the electronic device is changing by more than a threshold amount based on one or more of the further first sensor readings and the further second sensor readings; and

unlocking the orientation values for updating based on the further sensor readings when the orientation of the electronic device is changing by more than the threshold amount, wherein unlocking configures the electronic device to allow further updating of the orientation values.

16. The electronic device of claim 15 , wherein the processor is further configured to update the orientation values while the orientation values are unlocked based on the further first sensor readings, the further first sensor readings comprising a change in movement relative to one or more axes of the first sensor.

17. The electronic device of claim 16 further comprising a third sensor for providing third sensor readings, and wherein the processor is further configured to correct the orientation values using a reference position determined using at least one of the further second sensor readings and the third sensor readings.

18. The electronic device of claim 17 wherein second sensor is an accelerometer and the third sensor is a magnetometer.

19. The electronic device of claim 18 , wherein the processor is further configured to:

determine that the further accelerometer readings and the magnetometer readings are within a benchmark value;

calculate the reference position using the further accelerometer readings and the magnetometer readings; and

while the orientation values are unlocked, correct the orientation values using the calculated reference position.

20. A non-transitory computer readable storage medium comprising computer-executable instructions for controlling sensor use on an electronic device by:

obtaining first sensor readings from a first sensor provided on the electronic device, the first sensor comprising a gyroscope;

obtaining second sensor readings from a second sensor provided on the electronic device;

evaluating the first sensor readings and the second sensor readings to determine that the orientation of the electronic device is stationary;

locking the orientation values, wherein locking configures the electronic device to prevent updating of the orientation values until the orientation values have been unlocked;

collecting at least one of first sensor readings and second sensor readings while the orientation values are locked;

determining that the orientation of the electronic device is changing by more than a threshold amount based on one or more of the first sensor readings and second sensor readings collected while the orientation values were locked; and

unlocking the orientation values, wherein unlocking configures the electronic device to allow further updating of the orientation values.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064271/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Jul 18, 2013
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 030831/0749 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2012
From: OLIVER, ROBERT GEORGE; PARCO, ADAM LOUIS; BUCHANAN, NATHAN DANIEL POZNIAK
To: RESEARCH IN MOTION LIMITED
Reel/Frame 029084/0119 →