IP Library Granted Patent US 10,976,161
Granted Patent B2
US 10,976,161 · App. 16/216,481 · Granted Apr 13, 2021

Use of offline algorithm to determine location from previous sensor data when location is requested

Inventor: Etienne Le Grand (Mountain View, CA)
Assignee: Google LLC
G01C19/00G01C21/20G06F1/32
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,976,161
App. No.
16/216,481
Granted
Apr 13, 2021
Kind
B2
Abstract

Examples describe systems and methods for iteratively determining a signal strength map for a wireless access point (AP) aligned to position coordinates. An example method includes receiving logs of data from devices. For a plurality of iterations, the method includes selecting a set of logs of data having an amount of GPS being less than a given amount of GPS in a previously selected set, determining estimates of signal strength maps for the wireless AP aligned to position coordinates based on the selected set and on given signal strength maps due to a previous iteration, and performing a simultaneous localization and mapping (SLAM) optimization of the possible locations of the wireless AP based on the given signal strength maps and the estimates of the signal strength maps. Based on the iterative optimizations, an output signal strength map is provided for the wireless AP aligned to position coordinates.

Claims (43)

1. A method comprising:

determining sensor data at a plurality of intervals over a time period, wherein determining the sensor data includes using one or more sensors and a sensor processor of a mobile device while a main application processor of the mobile device is in an inactive state in relation to determining the sensor data, wherein the sensor processor is configured to determine the sensor data using less power than the main application processor is configured to use to determine the sensor data;

storing the sensor data in memory of the mobile device;

receiving, by the main application processor, a request to determine a geographic location of the mobile device; and

in response to receiving the request, determining, by the main application processor, using the stored sensor data, the geographic location of the mobile device.

2. The method of claim 1 , wherein determining, using the stored sensor data, the geographic location of the mobile device comprises determining, using the stored sensor data and a simultaneous localization and mapping (SLAM) algorithm optimization, the geographic location of the mobile device.

3. The method of claim 1 , further comprising:

determining, by the main application processor, using a simultaneous localization and mapping (SLAM) algorithm optimization, a plurality of geographic locations of the mobile device over the time period that the sensor data was determined.

4. The method of claim 1 , wherein storing the sensor data includes storing the sensor data in one or more first-in, first-out (FIFO) queues in the memory of the mobile device.

5. The method of claim 4 , further comprising:

determining that one or more elements of the stored sensor data are indicative that the mobile device has remained stationary for an elapsed period of time; and

overwriting the determined one or more elements from the one or more FIFO queues.

6. The method of claim 1 , wherein the one or more sensors comprise two or more sensors selected from the group consisting of a global positioning system (GPS) sensor, a Wi-Fi sensor, a gyroscope, an accelerometer, a magnetic sensor, and a pressure sensor.

7. The method of claim 1 , wherein the stored sensor data includes a plurality of different sensor data received by a plurality of different sensors.

8. A non-transitory computer readable medium having stored therein instructions, that when executed by one or more processors, cause the one or more processors to perform functions comprising:

determining sensor data at a plurality of intervals over a time period, wherein determining the sensor data includes using one or more sensors and a sensor processor while a main application processor is in an inactive state in relation to determining the sensor data, wherein the sensor processor is configured to determine the sensor data using less power than the main application processor is configured to use to determine the sensor data;

storing the sensor data in memory;

receiving, by the main application processor, a request to determine a geographic location associated with the stored sensor data; and

in response to receiving the request, determining, by the main application processor, using the stored sensor data, the geographic location associated with the stored sensor data.

9. The non-transitory computer readable medium of claim 8 , wherein determining, using the stored sensor data, the geographic location associated with the stored sensor data comprises determining, using the stored sensor data and a simultaneous localization and mapping (SLAM) algorithm optimization, the geographic location associated with the stored sensor data.

10. The non-transitory computer readable medium of claim 8 , the functions further comprising:

determining, by the main application processor, using a simultaneous localization and mapping (SLAM) algorithm optimization, a plurality of geographic locations associated with the stored sensor data over the time period that the sensor data was determined.

11. The non-transitory computer readable medium of claim 8 , wherein storing the sensor data includes storing the sensor data in one or more first-in, first-out (FIFO) queues in the memory.

12. The non-transitory computer readable medium of claim 11 , the functions further comprising:

determining that one or more elements of the stored sensor data are indicative that a mobile device has remained stationary for an elapsed period of time; and

overwriting the determined one or more elements from the one or more FIFO queues.

13. The non-transitory computer readable medium of claim 8 , wherein the one or more sensors comprise two or more sensors selected from the group consisting of a global positioning system (GPS) sensor, a Wi-Fi sensor, a gyroscope, an accelerometer, a magnetic sensor, and a pressure sensor.

14. The non-transitory computer readable medium of claim 8 , wherein the stored sensor data includes a plurality of different sensor data received by a plurality of different sensors.

15. A system comprising:

one or more processors; and

data storage configured to store instructions that, when executed by the one or more processors, cause the system to perform functions comprising:

determining sensor data at a plurality of intervals over a time period, wherein determining the sensor data includes using one or more sensors and a sensor processor while a main application processor is in an inactive state in relation to determining the sensor data, wherein the sensor processor is configured to determine the sensor data using less power than the main application processor is configured to use to determine the sensor data;

storing the sensor data in the data storage;

receiving, by the main application processor, a request to determine a geographic location associated with the stored sensor data; and

in response to receiving the request, determining, by the main application processor, using the stored sensor data, the geographic location associated with the stored sensor data.

16. The system of claim 15 , wherein determining, using the stored sensor data, the geographic location associated with the stored sensor data comprises determining, using the stored sensor data and a simultaneous localization and mapping (SLAM) algorithm optimization, the geographic location associated with the stored sensor data.

17. The system of claim 15 , the functions further comprising:

determining, by the main application processor, using a simultaneous localization and mapping (SLAM) algorithm optimization, a plurality of geographic locations associated with the stored sensor data over the time period that the sensor data was determined.

18. The system of claim 15 , wherein storing the sensor data includes storing the sensor data in one or more first-in, first-out (FIFO) queues in the data storage.

19. The system of claim 18 , the functions further comprising:

determining that one or more elements of the stored sensor data are indicative that a mobile device has remained stationary for an elapsed period of time; and

overwriting the determined one or more elements from the one or more FIFO queues.

20. The system of claim 15 , wherein the one or more sensors comprise two or more sensors selected from the group consisting of a global positioning system (GPS) sensor, a Wi-Fi sensor, a gyroscope, an accelerometer, a magnetic sensor, and a pressure sensor.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2018
From: LE GRAND, ETIENNE
To: GOOGLE INC.
Reel/Frame 047746/0679 →
CHANGE OF NAME Recorded Dec 11, 2018
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 047788/0172 →
Continuity (3)
Continuation 14815460 · Jul 31, 2015
Provisional Application 62032272 · Aug 1, 2014
Related Publication 20190120618A1 · Apr 25, 2019