Position and orientation determination for a mobile computing device
First Claim
1. A computer-implemented method comprising:
- receiving for a plurality of times in a time period, a plurality of data points from an accelerometer and a plurality of data points from a magnetometer, the accelerometer and the magnetometer included in a mobile computing device;
for each of the plurality of times in the time period,determining an orientation of the mobile computing device based on a data point from the magnetometer that corresponds to the particular time;
determining information associated with a gravity vector measured by the accelerometer;
determining a difference between the gravity vector and an acceleration vector measured by the accelerometer to obtain a positional acceleration vector;
determining a trajectory that represents movement of the mobile computing device during the time period based on the positional acceleration vectors and positions of the mobile computing device at the plurality of times;
determining whether the trajectory has placed the mobile computing device into a predetermined operating pose associated with voice input;
receiving a voice input after determining that the trajectory has placed the mobile computing device into the predetermined operating pose associated with voice input; and
submitting the voice input as a search input to a search application or to a remote computing system for speech to text conversion as a result of determining that the trajectory has placed the mobile computing device into the predetermined operating pose.
2 Assignments
0 Petitions
Accused Products
Abstract
For multiple times in a time period, multiple data points can be received from an accelerometer and from a magnetometer that are included in a mobile computing device. For each of the data points, an orientation and a position of the mobile computing device can be determined based on an acceleration output and a magnetometer output that corresponds to the particular time. A trajectory is determined that represents movement of the mobile computing device during the time period based on the determined orientations and positions of the mobile computing device at the multiple times. Information that characterizes the trajectory is compared to stored information that characterizes a set of one or more base trajectories. Based on the comparison, an operation of the mobile computing device is identified that is associated with a trajectory included in the set of one or more base trajectories.
-
Citations
12 Claims
-
1. A computer-implemented method comprising:
-
receiving for a plurality of times in a time period, a plurality of data points from an accelerometer and a plurality of data points from a magnetometer, the accelerometer and the magnetometer included in a mobile computing device; for each of the plurality of times in the time period, determining an orientation of the mobile computing device based on a data point from the magnetometer that corresponds to the particular time; determining information associated with a gravity vector measured by the accelerometer; determining a difference between the gravity vector and an acceleration vector measured by the accelerometer to obtain a positional acceleration vector; determining a trajectory that represents movement of the mobile computing device during the time period based on the positional acceleration vectors and positions of the mobile computing device at the plurality of times; determining whether the trajectory has placed the mobile computing device into a predetermined operating pose associated with voice input; receiving a voice input after determining that the trajectory has placed the mobile computing device into the predetermined operating pose associated with voice input; and submitting the voice input as a search input to a search application or to a remote computing system for speech to text conversion as a result of determining that the trajectory has placed the mobile computing device into the predetermined operating pose. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A mobile computing device comprising:
-
an accelerometer configured to provide an accelerometer output that indicates an acceleration of the mobile computing device; a magnetometer configured to provide a magnetometer output that indicates a direction the mobile computing device is pointing relative to magnetic North; a processor; a storage device coupled to the processor and configurable for storing instructions, which, when executed by the processor cause the processor to perform operations comprising; receiving for a plurality of times in a time period, a plurality of data points from the accelerometer and a plurality of data points from the magnetometer; for each of the plurality of times in the time period, determining an orientation of the mobile computing device based on a data point from the magnetometer that corresponds to the particular time; determining information associated with a gravity vector measured by the accelerometer; determining a difference between the gravity vector and an acceleration vector measured by the accelerometer to obtain a positional acceleration vector; determining a trajectory that represents movement of the mobile computing device during the time period based on the positional acceleration vectors and positions of the mobile computing device at the plurality of times in the time period; determining whether the trajectory has placed the mobile computing device into a predetermined operating pose associated with voice input; receiving a voice input after determining that the trajectory has placed the mobile computing device into the predetermined operating pose associated with voice input; and submitting the voice input as a search input to a search application or to a remote computing system for speech to text conversion as a result of determining that the trajectory has placed the mobile computing device into the predetermined operating pose. - View Dependent Claims (8, 9)
-
-
10. A non-transitory computer-readable storage medium storing instructions encoded thereon, which, when executed by a processor, cause the processor to perform operations comprising:
-
receiving for a plurality of times in a time period, a plurality of data points from an accelerometer and a plurality of data points from a magnetometer, the accelerometer and the magnetometer included in a mobile computing device; for each of the plurality of times in the time period, determining an orientation of the mobile computing device based on a data point from the magnetometer that corresponds to the particular time; determining information associate with a gravity vector measured by the accelerometer; determining a difference between the gravity vector and an acceleration vector measured by the accelerometer to obtain a positional acceleration vector; determining a trajectory that represents movement of the mobile computing device during the time period based on the positional acceleration vectors and positions of the mobile computing device at the plurality of times; determining whether the trajectory has placed the mobile computing device into a predetermined operating pose associated with voice input; receiving a voice input after determining that the trajectory has placed the mobile computing device into the predetermined operating pose associated with voice input; and submitting the voice input as a search input to a search application or to a remote computing system for speech to text conversion as a result of determining that the trajectory has placed the mobile computing device into the predetermined operating pose. - View Dependent Claims (11, 12)
-
Specification