IP Library Granted Patent US 10,697,797
Granted Patent B2
US 10,697,797 · App. 16/228,425 · Granted Jun 30, 2020

Decomposition of error components between angular, forward, and sideways errors in estimated positions of a computing device

Inventors: Etienne Le Grand (Mountain View, CA); Brian Patrick Williams (Mountain View, CA)
Assignee: Google LLC
G01C25/00G01C19/00G01C21/12G01C22/006G01C25/005G01S5/02G01S19/13G01S19/49H04W4/026H04W4/027H04W4/029
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 10,697,797
App. No.
16/228,425
Granted
Jun 30, 2020
Kind
B2
Abstract

Examples include systems and methods for decomposition of error components between angular, forward, and sideways errors in estimated positions of a computing device. One method includes 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, sideways, and orientation change error component of the estimation of the current position of the computing device, determining a weight to apply to the forward, sideways, and orientation change error components based on average observed movement of the computing device, and using the weighted forward, sideways, and orientation change error components as constraints for determination of an updated estimation of the current position of the computing device.

Claims (61)

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;

projecting the current position of the computing device from a previous position of the computing device to generate a projection of the current position of the computing device;

determining an error component of the estimation of the current position of the computing device based on a comparison of the estimation of the current position of the computing device with the projection of the current position of the computing device, wherein the error component is indicative of error in the estimation of the current position along a direction of travel of the computing device;

determining a weight to apply to the error component based on average observed movement of the computing device; and

using the weighted error component as a constraint for determination of an updated estimation of the current position of the computing device.

2. The method of claim 1 , wherein the error component comprises a forward error component indicative of the current position along a forward direction of travel of the computing device.

3. The method of claim 2 , further comprising:

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 a weight to apply to the sideways error component based on an average observed movement of the computing device; and

using the weighted sideways error component as another constraint for determination of the updated estimation of the current position of the computing device.

4. The method of claim 2 , further comprising:

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 orientation change error component based on average observed movement of the computing device; and

using the weighted orientation change error component as another constraint for determination of the updated estimation of the current position of the computing device.

5. The method of claim 4 , wherein determining the orientation change error component of the estimation of the current position of the computing device comprises comparing 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.

6. The method of claim 1 , wherein projecting the current position of the computing device comprises using an average human step length to generate the projection of the current position of the computing device from the previous position of the computing device.

7. The method of claim 1 , wherein determining the estimation of the current position of the computing device comprises:

determining the estimation of the current position of the computing device based on a dead reckoning calculation.

8. The method of claim 1 , further comprising:

receiving outputs from a gyroscope of the computing device; and

determining the direction of travel of the computing device based on the outputs from the gyroscope.

9. 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 the average observed movement of the computing device based on the data output from the one or more sensors.

10. The method of claim 1 , wherein determining the weight to apply to the error component 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 the projection of the current position of the computing device.

11. 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.

12. 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 a computing device;

projecting the current position of the computing device from a previous position of the computing device to generate a projection of the current position of the computing device;

determining an error component of the estimation of the current position of the computing device based on a comparison of the estimation of the current position of the computing device with the projection of the current position of the computing device, wherein the error component is indicative of error in the estimation of the current position along a direction of travel of the computing device;

determining a weight to apply to the error component based on average observed movement of the computing device; and

using the weighted error component as a constraint for determination of an updated estimation of the current position of the computing device.

13. The non-transitory computer readable memory of claim 12 , wherein the error component comprises a forward error component indicative of the current position along a forward direction of travel of the computing device.

14. The non-transitory computer readable memory of claim 12 , wherein the functions further comprise:

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 a weight to apply to the sideways error component based on an average observed movement of the computing device; and

using the weighted sideways error component as another constraint for determination of the updated estimation of the current position of the computing device.

15. 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 (i) received signal strength indications from one or more wireless access points and (ii) known locations of the one or more wireless access points;

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 a weight to apply to the forward error component and determining a weight to apply to the sideways error component, in each case based on average observed movement of the computing device; and

using the weighted forward error component and the weighted sideways error component as constraints for determination of an updated estimation of the current position of the computing device.

16. The method of claim 15 , wherein determining the estimation of the current position of the computing device based on (i) the received signal strength indications from the one or more wireless access points and (ii) the known locations of the one or more wireless access points comprises:

determining an identity of one or more wireless access points;

measuring intensities of the received signal strength indications;

determining distances between the computing device and the one or more wireless access points based on the measured intensities;

comparing the distances to a database of known locations of the one or more wireless access points; and

determining the estimation of the current position of the computing device based on comparing the distances to the database of known locations of the one or more wireless access points.

17. The method of claim 15 , wherein the weighted forward error component and the weighted sideways error component have different magnitudes.

18. The method of claim 15 , wherein determining the estimation of the current position of the computing device further comprises:

determining the estimation of the current position of the computing device based on a dead reckoning calculation.

19. The method of claim 15 , wherein determining the estimation of the current position of the computing device further comprises:

determining the estimation of the current position of the computing device further based on GPS data.

20. The method of claim 15 , further comprising:

receiving outputs from a gyroscope of the computing device; and

determining the direction of travel of the computing device based on the outputs from the gyroscope.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 047836 FRAME: 0610. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 8, 2019
From: LE GRAND, ETIENNE; WILLIAMS, BRIAN PATRICK
To: GOOGLE INC.
Reel/Frame 048031/0894 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2018
From: LE GRAND, ETIENNE; WILLIAMS, BRIAN PATRICK
To: GOOGLE LLC
Reel/Frame 047836/0610 →
CHANGE OF NAME Recorded Dec 20, 2018
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 047972/0881 →
Continuity (3)
Continuation 15275648 · Sep 26, 2016
Continuation 14176241 · Feb 10, 2014
Related Publication 20190120656A1 · Apr 25, 2019