SATELLITE MEASUREMENT ERROR DETECTION AND CORRECTION
A system determines an accuracy of a set containing a plurality of sensor location measurements of a client device and generating a set of sensor location measurements labeled with an associated accuracy estimate, is presented. The system receives a plurality of sensor location measurements of the client device generated by a location sensor. The system may determine the accuracy of a sensor location measurement by comparing the sensor location measurement to a reference location measurement, such as VIO location measurements computed using VIO data. The system computes a first set of location translations for the set of sensor location measurements and a second set of location translations for the set of VIO location measurements. The system may calculate a measurement difference between each corresponding pair of location translations from the first and second set, identify measurement differences that exceed a threshold, and label the corresponding sensor location measurement as inaccurate.
1 . A method, comprising:
receiving a set of satellite signals comprising a satellite signal from each of a plurality of satellites, wherein each satellite signal is captured by a location sensor of a client device;
generating a plurality of subsets of the set of satellite signals, wherein each subset excludes at least one satellite signal of the set of satellite signals;
computing a sensor location measurement based on each of the plurality of subsets of the set of satellite signals;
computing an accuracy score for each of the sensor location measurements based on a corresponding subset of satellite signals;
identifying a satellite signal of the set of satellite signals as inaccurate based on the accuracy scores for the sensor location measurements corresponding to subsets of satellite signals that include the identified satellite signal; and
responsive to identifying the satellite signal as inaccurate, performing a remedial action with regards to the identified satellite signal.
2 . The method of claim 1 , wherein computing the accuracy scores for the sensor location measurements comprises:
computing an accuracy score for a sensor location measurement based on a corresponding VIO location measurement.
3 . The method of claim 1 , wherein computing the accuracy scores for the sensor location measurements comprises:
applying a machine-learning model to the subset of satellite signals corresponding to a sensor location measurement, wherein the machine-learning model is trained based on historical data to generate an accuracy score for a set of satellite signals based on the satellite signals.
4 . The method of claim 1 , wherein performing the remedial action comprises:
disregarding, for locating the client device, signals from the satellite associated with the identified satellite signal for a time period.
5 . The method of claim 1 , further comprising:
determining a location of the client device based on a subset of the plurality of satellite signals that excludes the identified satellite signal.
6 . The method of claim 5 , wherein performing the remedial action comprises:
disregarding, for locating the client device, signals from the satellite associated with the identified satellite signal until the client device is a threshold distance away from the determined location of the client device.
7 . The method of claim 1 , wherein performing the remedial action comprises:
capturing VIO data by the client device for locating the client device.
8 . The method of claim 1 , wherein identifying the satellite signal based on the accuracy scores comprises:
identifying a sensor location measurement with an accuracy score indicating that the sensor location measurement is accurate; and
identifying the satellite signal excluded from the subset of satellite signals corresponding to the identified sensor location measurement.
9 . A non-transitory computer-readable storage medium comprising stored instructions executable by a processor, the instructions executable to perform operations comprising:
receiving a set of satellite signals comprising a satellite signal from each of a plurality of satellites, wherein each satellite signal is captured by a location sensor of a client device;
generating a plurality of subsets of the set of satellite signals, wherein each subset excludes at least one satellite signal of the set of satellite signals;
computing a sensor location measurement based on each of the plurality of subsets of the set of satellite signals;
computing an accuracy score for each of the sensor location measurements based on a corresponding subset of satellite signals;
identifying a satellite signal of the set of satellite signals as inaccurate based on the accuracy scores for the sensor location measurements corresponding to subsets of satellite signals that include the identified satellite signal; and
responsive to identifying the satellite signal as inaccurate, performing a remedial action with regards to the identified satellite signal.
10 . The non-transitory computer-readable storage medium of claim 9 , wherein computing the accuracy scores for the sensor location measurements comprises:
computing an accuracy score for a sensor location measurement based on a corresponding VIO location measurement.
11 . The non-transitory computer-readable storage medium of claim 9 , wherein computing the accuracy scores for the sensor location measurements comprises:
applying a machine-learning model to the subset of satellite signals corresponding to a sensor location measurement, wherein the machine-learning model is trained based on historical data to generate an accuracy score for a set of satellite signals based on the satellite signals.
12 . The non-transitory computer-readable storage medium of claim 9 , wherein performing the remedial action comprises:
disregarding, for locating the client device, signals from the satellite associated with the identified satellite signal for a time period.
13 . The non-transitory computer-readable storage medium of claim 9 , the operations further comprising:
determining a location of the client device based on a subset of the plurality of satellite signals that excludes the identified satellite signal.
14 . The non-transitory computer-readable storage medium of claim 13 , wherein performing the remedial action comprises:
disregarding, for locating the client device, signals from the satellite associated with the identified satellite signal until the client device is a threshold distance away from the determined location of the client device.
15 . The non-transitory computer-readable storage medium of claim 9 , wherein performing the remedial action comprises:
capturing VIO data by the client device for locating the client device.
16 . The non-transitory computer-readable storage medium of claim 9 , wherein identifying the satellite signal based on the accuracy scores comprises:
identifying a sensor location measurement with an accuracy score indicating that the sensor location measurement is accurate; and
identifying the satellite signal excluded from the subset of satellite signals corresponding to the identified sensor location measurement.
17 . A computer system comprising:
at least one processor; and
a non-transitory computer-readable storage medium comprising stored instructions executable by a processor, the stored instructions executable to perform operations comprising:
receiving a set of satellite signals comprising a satellite signal from each of a plurality of satellites, wherein each satellite signal is captured by a location sensor of a client device;
generating a plurality of subsets of the set of satellite signals, wherein each subset excludes at least one satellite signal of the set of satellite signals;
computing a sensor location measurement based on each of the plurality of subsets of the set of satellite signals;
computing an accuracy score for each of the sensor location measurements based on a corresponding subset of satellite signals;
identifying a satellite signal of the set of satellite signals as inaccurate based on the accuracy scores for the sensor location measurements corresponding to subsets of satellite signals that include the identified satellite signal; and
responsive to identifying the satellite signal as inaccurate, performing a remedial action with regards to the identified satellite signal.
18 . The computer system of claim 17 , wherein computing the accuracy scores for the sensor location measurements comprises:
computing an accuracy score for a sensor location measurement based on a corresponding VIO location measurement.
19 . The computer system of claim 17 , wherein computing the accuracy scores for the sensor location measurements comprises:
applying a machine-learning model to the subset of satellite signals corresponding to a sensor location measurement, wherein the machine-learning model is trained based on historical data to generate an accuracy score for a set of satellite signals based on the satellite signals.
20 . The computer system of claim 17 , wherein performing the remedial action comprises:
disregarding, for locating the client device, signals from the satellite associated with the identified satellite signal for a time period.