Using accelerometer data to determine movement direction
First Claim
1. A computer-implemented method, comprising:
- accessing acceleration data generated by one or more accelerometers that are configured as one or more hardware resources of a computing device, the acceleration data indicating acceleration of the computing device in a plane while the computing device is being transported;
determining rotated acceleration data based on a rotation of the acceleration data toward each of a plurality of candidate directions within the plane;
transforming at least a portion of the rotated acceleration data to a frequency domain to determine transformed acceleration data for each of the plurality of candidate directions;
determining a peak power of the transformed acceleration data for each of the plurality of candidate directions;
designating at least one candidate direction of the plurality of candidate directions as a translational movement direction of the computing device relative to an orientation of the computing device, the designating of the at least one candidate direction based at least partly on the at least one candidate direction exhibiting a higher peak power compared to the peak power determined for other candidate directions of the plurality of candidate directions;
accessing orientation data indicating a gross orientation of the computing device relative to a geomagnetic field; and
combining the gross orientation with the translational movement direction to determine a gross movement direction of the computing device relative to the geomagnetic field.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for determining a direction in which a computing device is being transported by a user who is walking, running, or otherwise moving relative to a direction in which the device is being held. Acceleration data may be collected by accelerometers of the device during a time window, and transformed to determine a rotated acceleration along one or more candidate directions. The rotated acceleration is transformed to a frequency domain, and a peak power is determined within the frequency transformed acceleration data for each candidate direction. The peak powers are compared across multiple candidate directions, and the candidate direction having a higher peak power may be designated as a movement direction of the device relative to the device orientation. A gross movement direction may be determined based on magnetometer data, and may be employed for navigation or other applications.
25 Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
accessing acceleration data generated by one or more accelerometers that are configured as one or more hardware resources of a computing device, the acceleration data indicating acceleration of the computing device in a plane while the computing device is being transported; determining rotated acceleration data based on a rotation of the acceleration data toward each of a plurality of candidate directions within the plane; transforming at least a portion of the rotated acceleration data to a frequency domain to determine transformed acceleration data for each of the plurality of candidate directions; determining a peak power of the transformed acceleration data for each of the plurality of candidate directions; designating at least one candidate direction of the plurality of candidate directions as a translational movement direction of the computing device relative to an orientation of the computing device, the designating of the at least one candidate direction based at least partly on the at least one candidate direction exhibiting a higher peak power compared to the peak power determined for other candidate directions of the plurality of candidate directions; accessing orientation data indicating a gross orientation of the computing device relative to a geomagnetic field; and combining the gross orientation with the translational movement direction to determine a gross movement direction of the computing device relative to the geomagnetic field. - View Dependent Claims (2, 3, 4)
-
-
5. A computing device, comprising:
-
a memory storing computer-executable instructions; and a processor in communication with the memory, the processor configured to access the memory and execute the computer-executable instructions to; access acceleration data generated by one or more accelerometers comprising one or more hardware resources of the computing device, the acceleration data indicating acceleration of the computing device; determine rotated acceleration data based on a rotation of the acceleration data toward each of a plurality of candidate directions; transform at least a portion of the rotated acceleration data to a frequency domain to determine transformed acceleration data for each of the plurality of candidate directions; determine a peak power of the transformed acceleration data for each of the plurality of candidate directions; and designate at least one candidate direction of the plurality of candidate directions as a movement direction of a translational movement of the computing device relative to an orientation of the computing device, the designating of the at least one candidate direction based at least partly on the at least one candidate direction exhibiting a higher peak power compared to the peak power determined for other candidate directions of the plurality of candidate directions. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. One or more non-transitory computer-readable media storing instructions which, when executed by a processor, instruct the processor to perform actions comprising:
-
accessing acceleration data indicating acceleration of a computing device, the acceleration data determined at least partly by at least one accelerometer that is a hardware resource; determining rotated acceleration data, based on a rotation of the acceleration data toward each of a plurality of candidate directions; transforming at least a portion of the rotated acceleration data to a frequency domain to determine transformed acceleration data for each of the plurality of candidate directions; determining a peak power of the transformed acceleration data for each of the plurality of candidate directions; and designating at least one candidate direction of the plurality of candidate directions as a movement direction of a translational movement of the computing device relative to an orientation of the computing device, the designating of the at least one candidate direction based at least partly on the at least one candidate direction exhibiting a higher peak power compared to the peak power determined for other candidate directions of the plurality of candidate directions. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification