IP Library Granted Patent US 10,082,584
Granted Patent B2
US 10,082,584 · App. 13/726,458 · Granted Sep 25, 2018

Hybrid device location determination system

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,082,584
App. No.
13/726,458
Granted
Sep 25, 2018
Kind
B2
Abstract

Various different techniques are used to determine a location of a device, including 3-dimensional (3D) mapping techniques as well as one or more of Global Navigation Satellite System (GNSS) techniques, wireless signal detection techniques, and inertial sensor techniques. The locations determined by these various techniques are combined to determine the location of the device and/or user of the device. In addition to the location of the device, an orientation or direction of view of the device and/or user of the device can optionally be determined as well.

Claims (51)

1. A method of conserving power when determining a location of a device, the method comprising:

generating, at the device using one or more sensors and techniques, a 3D depth map of an environment in which the device is located;

obtaining a first location of the device at a first particular time interval based on the 3D depth map, the first location of the device obtained based on tracking movement of the device within the environment via the one or more sensors and techniques and using a previously determined location within the environment;

obtaining a second location of the device at a second particular time interval based on a wireless signal determined location of the device, an inertial sensor determined location of the device, or a GNSS determined location of the device, the second particular time interval being different than the first particular time interval;

increasing, to conserve power of the device, the first particular time interval at which the first location is obtained in response to the second location being determined with at least a threshold accuracy; and

determining, by the device and based on both the first location and the second location, the location of the device.

2. A method as recited in claim 1 , further comprising determining an orientation of the device at the particular time.

3. A method as recited in claim 1 , the obtaining the first location of the device comprising:

obtaining a known 3D depth map of the environment; and

determining the first location based on both the generated 3D depth map and the known 3D depth map.

4. A method as recited in claim 3 , the obtaining the known 3D depth map comprising obtaining the known 3D depth map from a remote map data store, the known 3D depth map having been generated by an additional device and provided to the remote map data store by the additional device, the additional device having generated the known 3D depth map in determining a location of the additional device.

5. A method as recited in claim 3 , the known 3D depth map having been generated by an operator of the environment.

6. A method as recited in claim 3 , further comprising replacing the known 3D depth map with the generated 3D depth map in response to detecting a change in the environment.

7. A method as recited in claim 1 , the determining comprising:

applying a first weighting to the first location to obtain a weighted first location;

applying a second weighting to the second location to obtain a weighted second location; and

combining the weighted first location and the weighted second location.

8. A method as recited in claim 7 , the first weighting being dependent on an accuracy of the first location, and the second weighting being dependent on an accuracy of the second location.

9. A method as recited in claim 1 , the first location being based at least in part on tracking the device in the environment using the 3D depth map.

10. A method as recited in claim 1 , further comprising providing the location of the device and the 3D depth map of the environment to a remote map data store.

11. A method as recited in claim 1 , the 3D depth map being generated by a 3D depth mapping module using one or more 2D or 3D sensors.

12. A system comprising:

a receiver; and

a processor in communication with the receiver, the processor configured to perform acts as follows:

obtaining a 3D depth mapping determined location of a computing device at a first particular time interval based on a 3D depth map of an environment in which the computing device is located, the 3D depth map of the environment generated at the computing device via one or more sensors and techniques, the 3D depth mapping determined location of the computing device obtained based on tracking movement of the computing device within the environment via the one or more sensors and techniques and using a previously determined location within the environment;

obtaining a wireless signal determined location of the computing device, an inertial sensor determined location of the computing device, or a GNSS determined location of the computing device at a second particular time interval, the second particular time interval being different than the first particular time interval;

conserving power in the system by increasing the first particular time interval at which the 3D depth mapping determined location is obtained in response to the wireless signal determination location, the inertial sensor determined location, or the GNSS determined location being determined with at least a threshold accuracy; and

determining, based on the obtained locations, a location of the computing device.

13. A system as recited in claim 12 , the acts further comprising determining a direction of view of the computing device at the first particular time interval.

14. A system as recited in claim 12 , the obtaining the 3D depth mapping determined location comprising:

obtaining a known 3D depth map of the environment; and

determining the 3D depth mapping determined location based on both the generated 3D depth map and the known 3D depth map.

15. A system recited in claim 14 , the acts further comprising replacing the known 3D depth map with the generated 3D depth map in response to detecting a change in the environment.

16. A system as recited in claim 12 , the determining the location comprising:

applying a first weighting to the 3D depth mapping determined location to obtain a weighted first location;

applying a second weighting to the wireless signal determined location, the inertial sensor determined location, or the GNSS determined location to obtain a weighted second location; and

combining the weighted first location and the weighted second location.

17. A system as recited in claim 16 , the first weighting being dependent on an accuracy of the 3D depth mapping determined location, and the second weighting being dependent on an accuracy of the wireless signal determined location, the inertial sensor determined location, or the GNSS determined location to obtain a second weighted location.

18. A computing device comprising:

one or more processors; and

one or more memories having stored thereon multiple instructions that, when executed by the one or more processors, cause the one or more processors to:

generate, at the computing device using one or more sensors and techniques, a 3D depth map of an environment in which the computing device is located;

obtain a first location of the computing device at a first particular time interval based on the 3D depth map, the first location of the computing device obtained based on tracking movement of the computing device within the environment via the one or more sensors and techniques and using a previously determined location within the environment;

obtain a second location of the computing device at a second particular time interval based on a wireless signal determined location of the device, an inertial sensor determined location of the device, or a GNSS determined location of the device, the second particular time interval being different than the first particular time interval;

increase, to conserve power of the computing device, the first particular time interval at which the first location is obtained in response to the second location being determined with at least a threshold accuracy; and

determine, based on both the first location and the second location, the location of the computing device.

19. A computing device as recited in claim 18 , the instructions causing the one or more processors to determine the location of the computing device comprising instructions causing the one or more processors to:

apply a first weighting to the first location to obtain a weighted first location;

apply a second weighting to the second location to obtain a weighted second location; and

combine the weighted first location and the weighted second location.

20. A computing device as recited in claim 19 , the first weighting being dependent on an accuracy of the first location, and the second weighting being dependent on an accuracy of the second location.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2014
From: HOANG, PETER S.; PERRY, JEDD A.; FLECK, ROD G.
To: MICROSOFT CORPORATION
Reel/Frame 034064/0928 →