IP Library Granted Patent US 10,495,760
Granted Patent B2
US 10,495,760 · App. 15/477,021 · Granted Dec 3, 2019

Location accuracy determination based on data from second sensor

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,495,760
App. No.
15/477,021
Granted
Dec 3, 2019
Kind
B2
Abstract

A location detection system performs a process that uses data from a satellite navigation sensor in conjunction with data from a second sensor to determine the accuracy of location estimates provided by the satellite navigation sensor. The system uses the satellite navigation sensor to determine location estimates from at a first time and a second time. The system also uses data from the second sensor to determine a third location estimate, which represents another estimate of the system's location at the second time. The system uses the three location estimates to determine whether the second location estimate satisfies an accuracy condition. If the accuracy condition is satisfied, then the second location estimate may be provided as input to a process.

Claims (53)

1. A method comprising:

determining, using a satellite navigation sensor at a location detection device, a first location estimate at a first time and a second location estimate at a second time;

determining motion data collected by an inertial measurement unit, the motion data indicative of motion of the location detection device for at least a portion of time between the first time and the second time;

determining, based on the motion data, a third location estimate at the second time;

determining, using one or more processors, whether the second location estimate satisfies an accuracy condition based at least on the first location estimate, the second location estimate, and the third location estimate, comprising:

generating a first travel measurement based on a difference between the first location estimate and the second location estimate;

generating a second travel measurement based on a difference between the first location estimate and the third location estimate;

computing an error metric based on a comparison of the first travel measurement and the second travel measurement; and

determining whether the second location estimate satisfies the accuracy condition based on a comparison of the error metric to an error threshold value; and

responsive to determining that the second location estimate satisfies the accuracy condition, providing the second location estimate as input to a location-based process.

2. The method of claim 1 , wherein the third location estimate is determined by performing a dead reckoning process on the motion data.

3. The method of claim 1 , further comprising:

responsive to a determination that the second location estimate does not satisfy the accuracy condition, withholding the second location estimate from the process.

4. The method of claim 1 , further comprising:

responsive to a determination that the second location estimate does not satisfy the accuracy condition, providing the third location estimate as input to the process.

5. The method of claim 1 , wherein the first travel measurement is a scalar quantity representing a distance between the first location estimate and the second location estimate, wherein the second travel measurement is a scalar quantity representing a distance between the first location estimate and the third location estimate, and wherein computing the error metric comprises computing a difference between the first travel measurement and the second travel measurement.

6. The method of claim 1 , wherein the first travel measurement is a scalar quantity representing a distance between the first location estimate and the second location estimate, wherein the second travel measurement is a scalar quantity representing a distance between the first location estimate and the third location estimate, and wherein computing the error metric comprises computing a ratio between the first travel measurement and the second travel measurement.

7. The method of claim 1 , wherein the first travel measurement is a vector quantity representing a distance and a heading between the first location estimate and the second location estimate, wherein the second travel measurement is a vector quantity representing a distance and a heading between the first location estimate and the third location estimate, and wherein computing the error metric comprises performing vector subtraction on the first travel measurement and the second travel measurement to generate a difference vector between the first travel measurement and the second travel measurement.

8. The method of claim 1 , wherein the first travel measurement is a vector quantity representing a distance and a heading between the first location estimate and the second location estimate, wherein the second travel measurement is a vector quantity representing a distance and a heading between the first location estimate and the third location estimate, and wherein computing the error metric comprises computing a difference between the heading of the first travel measurement and the heading of the second travel measurement.

9. A non-transitory computer-readable medium storing computer program instructions executable by a processor to perform operations, the operations comprising:

determining, using a satellite navigation sensor at a location detection device, a first location estimate at a first time and a second location estimate at a second time;

determining motion data collected by an inertial measurement unit, the motion data indicative of motion of the location detection device for at least a portion of time between the first time and the second time;

determining, based on the motion data, a third location estimate at the second time;

determining, using one or more processors, whether the second location estimate satisfies an accuracy condition based at least on the first location estimate, the second location estimate, and the third location estimate, comprising:

generating a first travel measurement based on a difference between the first location estimate and the second location estimate;

generating a second travel measurement based on a difference between the first location estimate and the third location estimate;

computing an error metric based on a comparison of the first travel measurement and the second travel measurement; and

determining whether the second location estimate satisfies the accuracy condition based on a comparison of the error metric to an error threshold value; and

responsive to determining that the second location estimate satisfies the accuracy condition, providing the second location estimate as input to a location-based process.

10. The non-transitory computer-readable medium of claim 9 , wherein the third location estimate is determined by performing a dead reckoning process on the motion data.

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

responsive to a determination that the second location estimate does not satisfy the accuracy condition, withholding the second location estimate from the process.

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

responsive to a determination that the second location estimate does not satisfy the accuracy condition, providing the third location estimate as input to the process.

13. The non-transitory computer-readable medium of claim 9 , wherein the first travel measurement is a scalar quantity representing a distance between the first location estimate and the second location estimate, wherein the second travel measurement is a scalar quantity representing a distance between the first location estimate and the third location estimate, and wherein computing the error metric comprises computing a difference between the first travel measurement and the second travel measurement.

14. The non-transitory computer-readable medium of claim 9 , wherein the first travel measurement is a scalar quantity representing a distance between the first location estimate and the second location estimate, wherein the second travel measurement is a scalar quantity representing a distance between the first location estimate and the third location estimate, and wherein computing the error metric comprises computing a ratio between the first travel measurement and the second travel measurement.

15. The non-transitory computer-readable medium of claim 9 , wherein the first travel measurement is a vector quantity representing a distance and a heading between the first location estimate and the second location estimate, wherein the second travel measurement is a vector quantity representing a distance and a heading between the first location estimate and the third location estimate, and wherein computing the error metric comprises performing vector subtraction on the first travel measurement and the second travel measurement to generate a difference vector between the first travel measurement and the second travel measurement.

16. The non-transitory computer-readable medium of claim 9 , wherein the first travel measurement is a vector quantity representing a distance and a heading between the first location estimate and the second location estimate, wherein the second travel measurement is a vector quantity representing a distance and a heading between the first location estimate and the third location estimate, and wherein computing the error metric comprises computing a difference between the heading of the first travel measurement and the heading of the second travel measurement.

17. A system, comprising:

a processor; and

a non-transitory computer-readable medium storing computer program instructions executable by the processor to perform operations, the operations comprising:

determining, using a satellite navigation sensor at a location detection device, a first location estimate at a first time and a second location estimate at a second time;

determining motion data collected by an inertial measurement unit, the motion data indicative of motion of the location detection device for at least a portion of time between the first time and the second time;

determining, based on the motion data, a third location estimate at the second time;

determining, using one or more processors, whether the second location estimate satisfies an accuracy condition based at least on the first location estimate, the second location estimate, and the third location estimate, comprising:

generating a first travel measurement based on a difference between the first location estimate and the second location estimate;

generating a second travel measurement based on a difference between the first location estimate and the third location estimate;

computing an error metric based on a comparison of the first travel measurement and the second travel measurement; and

determining whether the second location estimate satisfies the accuracy condition based on a comparison of the error metric to an error threshold value; and

responsive to determining that the second location estimate satisfies the accuracy condition, providing the second location estimate as input to a location-based process.

18. The system of claim 17 , wherein the third location estimate is determined by performing a dead reckoning process on the motion data.

19. The system of claim 17 , wherein the first travel measurement is a scalar quantity representing a distance between the first location estimate and the second location estimate, wherein the second travel measurement is a scalar quantity representing a distance between the first location estimate and the third location estimate, and wherein computing the error metric comprises computing a difference between the first travel measurement and the second travel measurement.

20. The system of claim 17 , wherein the first travel measurement is a vector quantity representing a distance and a heading between the first location estimate and the second location estimate, wherein the second travel measurement is a vector quantity representing a distance and a heading between the first location estimate and the third location estimate, and wherein computing the error metric comprises performing vector subtraction on the first travel measurement and the second travel measurement to generate a difference vector between the first travel measurement and the second travel measurement.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Oct 3, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069110/0508 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT (TERM LOAN) AT REEL 050767, FRAME 0076 Recorded Sep 11, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069133/0167 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 055547/0404 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Oct 24, 2019
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC
Reel/Frame 050817/0600 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0076 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0109 →