System and method for improving orientation data
First Claim
1. A method for obtaining orientation information for a computing device, the method comprising:
- receiving magnetometer data at a first Kalman filter, wherein the magnetometer data comprises sensor output from a magnetometer;
receiving accelerometer data at a second Kalman filter, wherein the accelerometer data comprises sensor output from an accelerometer;
receiving gyroscope data at the first Kalman filter and the second Kalman filter, wherein the gyroscope data comprises sensor output from a gyroscope;
determining a magnetic vector by using the magnetometer data and the gyroscope data in the first Kalman filter;
determining a gravity vector by using the accelerometer data and the gyroscope data in the second Kalman filter;
changing a window size for the first Kalman filter based on a first type of environmental noise and changing a window size for the second Kalman filter based on a second type of environmental noise; and
transitioning the gyroscope to a low power state in response to determining that the computing device has transitioned to a stationary state using one or more of the gravity vector or the magnetic vector.
1 Assignment
0 Petitions
Accused Products
Abstract
Aspects of the disclosure relate to computing technologies. In particular, aspects of the disclosure relate to mobile computing device technologies, such as systems, methods, apparatuses, and computer-readable media for improving orientation data. In some embodiments, a magnetic vector filter receives magnetometer data from a magnetometer and gyroscope data from a gyroscope and determines the magnetic vector using the magnetometer data and the gyroscope data in the magnetic vector filter. In other embodiments, a gravity vector filter receives accelerometer data and gyroscope data and determines the gravity vector using the accelerometer data and the gyroscope data in the gravity vector filter.
57 Citations
29 Claims
-
1. A method for obtaining orientation information for a computing device, the method comprising:
-
receiving magnetometer data at a first Kalman filter, wherein the magnetometer data comprises sensor output from a magnetometer; receiving accelerometer data at a second Kalman filter, wherein the accelerometer data comprises sensor output from an accelerometer; receiving gyroscope data at the first Kalman filter and the second Kalman filter, wherein the gyroscope data comprises sensor output from a gyroscope; determining a magnetic vector by using the magnetometer data and the gyroscope data in the first Kalman filter; determining a gravity vector by using the accelerometer data and the gyroscope data in the second Kalman filter; changing a window size for the first Kalman filter based on a first type of environmental noise and changing a window size for the second Kalman filter based on a second type of environmental noise; and transitioning the gyroscope to a low power state in response to determining that the computing device has transitioned to a stationary state using one or more of the gravity vector or the magnetic vector. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 10, 11, 12)
-
-
9. The method of 6,
wherein the detected change in the magnetic field is determined not to be the magnetic anomaly when the received sensor output from the gyroscope correlates to a detected change in the magnetic field; - and
wherein the detected change in the magnetic field is determined to be the magnetic anomaly when the received sensor output from the gyroscope does not correlate to the detected change in the magnetic field.
- and
-
13. A computing device for determining orientation, comprising:
-
a receiver coupled to a first Kalman filter and configured to; receive magnetometer data at the first Kalman filter, wherein the magnetometer data comprises sensor output from a magnetometer; receive gyroscope data at the first Kalman filter, wherein the gyroscope data comprises sensor output from a gyroscope; and the first Kalman filter configured to; determine a magnetic vector by using the magnetometer data and the gyroscope data in the first Kalman filter; a receiver coupled to a second Kalman filter and configured to; receive accelerometer data at the second Kalman filter, wherein the accelerometer data comprises sensor output from an accelerometer; receive the gyroscope data at the second Kalman filter; and the second Kalman filter configured to; determine a gravity vector by using the accelerometer data and the gyroscope data in the second Kalman filter, wherein the gravity vector is used for determining the orientation of the computing device; and one or more processors configured to; change a window size for the first Kalman filter based on a first type of environmental noise; change a window size for the second Kalman filter based on a second type of environmental noise; and transition the gyroscope to a low power state in response to determining that the computing device has transitioned to a stationary state using one or more of the gravity vector or the magnetic vector. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A non-transitory computer readable storage medium, wherein the non-transitory computer readable storage medium comprises instructions executable by a processor, the instructions comprising instructions to:
-
receive magnetometer data at a first Kalman filter, wherein the magnetometer data comprises sensor output from a magnetometer; receive accelerometer data at a second Kalman filter, wherein the accelerometer data comprises sensor output from an accelerometer; receive gyroscope data at the first Kalman filter and the second Kalman filter, wherein the gyroscope data comprises sensor output from a gyroscope; determine a magnetic vector by using the magnetometer data and the gyroscope data in the first Kalman; determine a gravity vector by using the accelerometer data and the gyroscope data in the second Kalman filter; change a window size for the first Kalman filter based on a first type of environmental noise and change a window size for the second Kalman filter based on a second type of environmental noise; and transition the gyroscope to a low power state in response to determining that a computing device comprising the processor has transitioned to a stationary state using one or more of the gravity vector or the magnetic vector.
-
-
26. An apparatus, comprising:
-
means for receiving magnetometer data at a first Kalman filter, wherein the magnetometer data comprises sensor output from a magnetometer; means for receiving accelerometer data at a second Kalman filter, wherein the accelerometer data comprises sensor output from an accelerometer; means for receiving gyroscope data at the first Kalman filter and the second Kalman filter, wherein the gyroscope data comprises sensor output from a gyroscope; means for determining a magnetic vector by using the magnetometer data and the gyroscope data in the first Kalman filter; means for determining a gravity vector by using the accelerometer data and the gyroscope data in the second Kalman filter; means for changing a window size for the first Kalman filter based on a first type of environmental noise and changing a window size for the second Kalman filter based on a second type of environmental noise; and means for transitioning the gyroscope to a low power state in response to determining that the apparatus has transitioned to a stationary state using one or more of the gravity vector or the magnetic vector. - View Dependent Claims (27, 28, 29)
-
Specification