Legal claims defining the scope of protection, as filed with the USPTO.
1. A method performed by one or more processors executing instructions stored in memory, comprising: determining an estimation of a current position of a computing device based on a previous position of the computing device, an estimated speed over an elapsed time, and a direction of travel of the computing device; determining a forward error component of the estimation of the current position of the computing device, wherein the forward error component is indicative of error in the estimation of the current position along a forward direction of travel of the computing device; determining a sideways error component of the estimation of the current position of the computing device, wherein the sideways error component is indicative of error in the estimation of the current position along a sideways direction that is substantially perpendicular to the direction of travel of the computing device; determining an orientation change error component of the estimation of the current position of the computing device, wherein the orientation change error component is indicative of error in the estimation of the current position due to a change in the direction of travel of the computing device; determining a weight to apply to the forward error component, the sideways error component, and the orientation change error component based on average observed movement of the computing device; and using the weighted forward error component, sideways error component, and orientation change error component as constraints for determination of an updated estimation of the current position of the computing device.
2. The method of claim 1 , wherein the forward error component is representative of an error vector between the estimation of the current position of the computing device based on a dead reckoning calculation and an estimation of current position of the computing device based on additional sensor information output by the computing device along the forward direction of travel of the computing device.
3. The method of claim 1 , wherein the sideways error component is representative of an error vector between the estimation of the current position of the computing device based on a dead reckoning calculation and an estimation of current position of the computing device based on additional sensor information output by the computing device along the sideways direction that is substantially perpendicular to the direction of travel of the computing device.
4. The method of claim 1 , wherein the orientation change error component is representative of an error vector between the estimation of the current position of the computing device based on a dead reckoning calculation and an estimation of current position of the computing device based on additional sensor information output by the computing device due to the change in the direction of travel of the computing device.
5. The method of claim 1 , wherein determining the estimation of the current position of the computing device based on the previous position, the estimated speed over the elapsed time, and the direction of travel of the computing device comprises: determining the estimation of the current position of the computing device based on a dead reckoning calculation.
6. The method of claim 1 , further comprising: determining the forward error component of the estimation of the current position of the computing device based on comparison of the estimation of the current position of the computing device with a projection of a current position of the computing device using an average human step length.
7. The method of claim 1 , further comprising: determining the sideways error component of the estimation of the current position of the computing device based on comparison of the estimation of the current position of the computing device with a projection of a current position of the computing device using an average human step direction.
8. The method of claim 1 , further comprising: receiving outputs from a gyroscope of the computing device; and wherein the direction of travel of the computing device is based on the outputs from the gyroscope.
9. The method of claim 8 , further comprising: determining the orientation change error component of the estimation of the current position of the computing device based on comparison of the estimation of the current position of the computing device with a projection of a current position of the computing device taking into account a gyroscope bias.
10. The method of claim 1 , further comprising performing a linearization of error components of the estimation of the current position of the computing device resulting in the forward error component, the sideways error component, and the orientation change error component.
11. The method of claim 1 , further comprising applying, by the one or more processors, the weight to the forward error component, the sideways error component, and the orientation change error component to determine the updated estimation of the current position of the computing device.
12. The method of claim 1 , further comprising: determining a respective weight to apply to each of the forward error component, the sideways error component, and the orientation change error component based on the average observed movement of the computing device.
13. The method of claim 1 , further comprising: receiving data output from one or more sensors of the computing device indicative of movement of the computing device, wherein the one or more sensors include one or more of a GPS sensor, an accelerometer, a gyroscope, a WiFi transceiver, and a magnetometer; and determining average observed movement of the computing device based on the data output from the one or more sensors.
14. The method of claim 1 , wherein determining the weight to apply to the forward error component, the sideways error component, and the orientation change error component based on average observed movement of the computing device comprises: determining a magnitude of the weight to be inversely proportional to a standard deviation of the estimation of the current position of the computing device to a projection of a current position of the computing device using an average human step length and step direction.
15. The method of claim 1 , further comprising: receiving a position measurement from a GPS sensor of the computing device; and using the position measurement as a further constraint for determination of the updated estimation of the current position of the computing device.
16. A non-transitory computer readable memory having stored therein instructions, that when executed by a computing device, cause the computing device to perform functions comprising: determining an estimation of a current position of the computing device based on a previous position of the computing device, an estimated speed over an elapsed time, and a direction of travel of the computing device; determining a forward error component of the estimation of the current position of the computing device, wherein the forward error component is indicative of error in the estimation of the current position along a forward direction of travel of the computing device; determining a sideways error component of the estimation of the current position of the computing device, wherein the sideways error component is indicative of error in the estimation of the current position along a sideways direction that is substantially perpendicular to the direction of travel of the computing device; determining an orientation change error component of the estimation of the current position of the computing device, wherein the orientation change error component is indicative of error in the estimation of the current position due to a change in the direction of travel of the computing device; determining a weight to apply to the forward error component, the sideways error component, and the orientation change error component based on average observed movement of the computing device; and using the weighted forward error component, sideways error component, and orientation change error component as constraints for determination of an updated estimation of the current position of the computing device.
17. The non-transitory computer readable memory of claim 16 , wherein determining the estimation of the current position of the computing device based on the previous position, the estimated speed over the elapsed time, and the direction of travel of the computing device comprises: determining the estimation of the current position of the computing device based on a dead reckoning calculation.
18. The non-transitory computer readable memory of claim 16 , wherein the functions further comprise: determining the forward error component of the estimation of the current position of the computing device based on comparison of the estimation of the current position of the computing device with a projection of a current position of the computing device using an average human step length; determining the sideways error component of the estimation of the current position of the computing device based on comparison of the estimation of the current position of the computing device with the projection of the current position of the computing device using an average human step direction; and wherein the direction of travel of the computing device is based on the outputs from the gyroscope, and determining the orientation change error component of the estimation of the current position of the computing device based on comparison of the estimation of the current position of the computing device with the projection of the current position of the computing device taking into account a gyroscope bias.
19. A computing device comprising: one or more processors; data storage configured to store instructions that, when executed by the one or more processors, cause the computing device to perform functions comprising: determining an estimation of a current position of the computing device based on a previous position of the computing device, an estimated speed over an elapsed time, and a direction of travel of the computing device; determining a forward error component of the estimation of the current position of the computing device, wherein the forward error component is indicative of error in the estimation of the current position along a forward direction of travel of the computing device; determining a sideways error component of the estimation of the current position of the computing device, wherein the sideways error component is indicative of error in the estimation of the current position along a sideways direction that is substantially perpendicular to the direction of travel of the computing device; determining an orientation change error component of the estimation of the current position of the computing device, wherein the orientation change error component is indicative of error in the estimation of the current position due to a change in the direction of travel of the computing device; determining a weight to apply to the forward error component, the sideways error component, and the orientation change error component based on average observed movement of the computing device; and using the weighted forward error component, sideways error component, and orientation change error component as constraints for determination of an updated estimation of the current position of the computing device.
20. The system of claim 19 , wherein determining the estimation of the current position of the computing device based on the previous position, the estimated speed over the elapsed time, and the direction of travel of the computing device comprises determining the estimation of the current position of the computing device based on a dead reckoning calculation; and wherein determining the forward error component, the sideways error component, and the orientation change error component of the estimation of the current position of the computing device comprises comparing the dead reckoning calculation with a projection of a current position of the computing device using an average step length of a user associated with the computing device.
Unknown
October 25, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.