High definition map based localization optimization
Abstract
A vehicle, for example, an autonomous vehicle performs localization to determine the current location of the vehicle using different localization techniques as the vehicle drives. The localization technique used by the autonomous vehicle is selected from a localization variant index that stores mapping from a driving context to localization variant, each localization variant identifying a localization technique. The driving context may comprise information including: a geographical region in which the autonomous vehicle is driving, a speed at which the autonomous vehicle is driving, an angular velocity of the autonomous vehicle, or other information. Using an optimal localization technique in each driving context improves the accuracy of localization as well as computing efficiency of the process of localization.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A non-transitory computer readable storage medium storing instructions, the instructions when executed by a processor, cause the processor to perform steps comprising:
storing a plurality of localization variants, each localization variant representing a localization technique for determining location of an autonomous vehicle, wherein the localization technique is associated with one or more parameters, the localization variant specifying a set of values for each of the one or more parameters; storing information describing a plurality of geographical regions; building a localization index mapping driving contexts to localization variants, wherein a driving context is mapped to one or more localization variants based on a measure of performance of each of the one or more localization variants in the driving context; repeating, by an autonomous vehicle, the following steps while driving:
receiving, by the autonomous vehicle, sensor data captured by sensors of the autonomous vehicle;
determining, by the autonomous vehicle, based on the sensor data, a current driving context for the autonomous vehicle;
determining, by the autonomous vehicle, a localization variant corresponding to the current driving context using the localization index;
determining, by the autonomous vehicle, a location of the autonomous vehicle using the localization variant; and
navigating, by the autonomous vehicle, based on the location of the autonomous vehicle.
2 . The non-transitory computer readable storage medium of claim 1 , wherein instructions for navigating the autonomous vehicle based on the location of the autonomous vehicle comprise instructions for:
determining control signals for navigating the autonomous vehicle using the determined location of the autonomous vehicle; and sending the control signals to controls of the autonomous vehicle.
3 . The non-transitory computer readable storage medium of claim 1 , wherein instructions for building a localization index comprise instructions for:
for each driving context, performing steps comprising:
for each of the plurality of localization variants, determining a measure of performance of the localization variant;
ranking the plurality of localization variants based on the measure of performance of each of the plurality of localization variants;
selecting one or more localization variants for the driving context from the plurality of localization variants based on the ranking; and
storing an association between the driving context and the one or more localization variants in the localization index.
4 . The non-transitory computer readable storage medium of claim 3 , further comprising instructions for:
responsive to selecting a particular localization variant for the driving context, evaluating a plurality of related localization variants, the related localization variants obtained by varying values of one or more parameters of the particular localization variant.
5 . The non-transitory computer readable storage medium of claim 1 , wherein the driving context comprises one or more of:
a geographical region in which the autonomous vehicle is driving; a time of day when the autonomous vehicle is driving; information describing weather conditions in the geographical region in which the autonomous vehicle is driving at the time the autonomous vehicle is driving; a speed at which the autonomous vehicle is driving; or an angular velocity of the autonomous vehicle.
6 . The non-transitory computer readable storage medium of claim 1 , wherein the plurality of localization variants comprises one or more of:
a localization variant using a localization technique based on camera images, a localization variant using a localization technique based on lidar scans, a localization variant using a localization technique based on GNSS data, or a localization variant using a localization technique based on IMU data.
7 . The non-transitory computer readable storage medium of claim 1 , wherein the measure of performance of a localization variant in a particular driving context is determined based on one or more factors including:
an error in localization using the localization variant in the driving context, a time of execution of the localization variant in the driving context, or a rate of success of the localization variant in the driving context, wherein a localization variant is successful if it determines the location of the autonomous vehicle within a threshold of an accurate location value.
8 . The non-transitory computer readable storage medium of claim 1 , further comprising instructions for:
determining the measure of performance of a localization variant, comprising:
accessing a high definition map of a geographical region;
accessing sensor data collected by an autonomous vehicle that previously drove through the geographical region; and
evaluating each of the plurality of localization variants using the sensor data.
9 . The non-transitory computer readable storage medium of claim 1 , wherein the localization index associates localization variants with representations of portions of lanes, wherein using the localization index to determine a localization variant for the autonomous vehicle comprises instructions for:
identifying a portion of a lane in which the autonomous vehicle is driving; and selecting a localization variant associates with the portion of the lane.
10 . The non-transitory computer readable storage medium of claim 1 , wherein the localization index associates localization variants with coordinates of locations, wherein using the localization index to determine a localization variant for the autonomous vehicle comprises instructions for:
identifying a set of coordinates stored in the localization index for the autonomous vehicle, wherein the set of coordinates are nearest to a current location of the autonomous vehicle; and selecting a localization variant associate with the identified set of coordinates.
11 . The non-transitory computer readable storage medium of claim 1 , further comprising instructions for:
training a machine learning based model for evaluating a localization variant, the machine learning based model configured to receive description of a driving context as input; and wherein building the localization index comprises executing the machine learning based model for determining a localization variant that maps to a geographical region.
12 . The non-transitory computer readable storage medium of claim 1 , further comprising instructions for:
for each type of sensor, for each geographical region, determining a measure of convergence confidence for localization variants; and integrating results from a plurality of localization variants using Kalman filtering, each of the plurality of localization variants for a type of sensor, the results of each of the localization variants weighted based on their respective convergence confidence.
13 . The non-transitory computer readable storage medium of claim 1 , further comprising instructions for:
for each of a plurality of pairs of sensors, determining a measure of covariance between localization variants based on respective sensors, wherein integrating results from a plurality of localization variants using Kalman filtering is further based on the determined measures of covariances.
14 . A computer-implemented method comprising:
storing a plurality of localization variants, each localization variant representing a localization technique for determining location of an autonomous vehicle, wherein the localization technique is associated with one or more parameters, the localization variant specifying a set of values for each of the one or more parameters; storing information describing a plurality of geographical regions; building a localization index mapping driving contexts to localization variants, wherein a driving context is mapped to one or more localization variants based on a measure of performance of each of the one or more localization variants in the driving context; repeating, by an autonomous vehicle, the following steps while driving:
receiving, by the autonomous vehicle, sensor data captured by sensors of the autonomous vehicle;
determining, by the autonomous vehicle, based on the sensor data, a current driving context for the autonomous vehicle;
determining, by the autonomous vehicle, a localization variant corresponding to the current driving context using the localization index;
determining, by the autonomous vehicle, a location of the autonomous vehicle using the localization variant; and
navigating, by the autonomous vehicle, based on the location of the autonomous vehicle.
15 . The computer-implemented method of claim 14 , wherein navigating the autonomous vehicle based on the location of the autonomous vehicle comprises:
determining control signals for navigating the autonomous vehicle using the determined location of the autonomous vehicle; and sending the control signals to controls of the autonomous vehicle.
16 . The computer-implemented method of claim 14 , wherein building a localization index comprises:
for each driving context, performing steps comprising:
for each of the plurality of localization variants, determining a measure of performance of the localization variant;
ranking the plurality of localization variants based on the measure of performance of each of the plurality of localization variants;
selecting one or more localization variants for the driving context from the plurality of localization variants based on the ranking; and
storing an association between the driving context and the one or more localization variants in the localization index.
17 . The computer-implemented method of claim 16 , further comprising:
responsive to selecting a particular localization variant for the driving context, evaluating a plurality of related localization variants, the related localization variants obtained by varying values of one or more parameters of the particular localization variant.
18 . The computer-implemented method of claim 14 , wherein the driving context comprises one or more of:
a geographical region in which the autonomous vehicle is driving; a time of day when the autonomous vehicle is driving; information describing weather conditions in the geographical region in which the autonomous vehicle is driving at the time the autonomous vehicle is driving; a speed at which the autonomous vehicle is driving; or an angular velocity of the autonomous vehicle.
19 . The computer-implemented method of claim 14 , wherein the plurality of localization variants comprises one or more of:
a localization variant using a localization technique based on camera images, a localization variant using a localization technique based on lidar scans, a localization variant using a localization technique based on GNSS data, or a localization variant using a localization technique based on IMU data.
20 . The computer-implemented method of claim 14 , wherein the measure of performance of a localization variant in a particular driving context is determined based on one or more factors including:
an error in localization using the localization variant in the driving context, a time of execution of the localization variant in the driving context, or a rate of success of the localization variant in the driving context, wherein a localization variant is successful if it determines the location of the autonomous vehicle within a threshold of an accurate location value.
21 . The computer-implemented method of claim 14 , further comprising:
determining the measure of performance of a localization variant, comprising:
accessing a high definition map of a geographical region;
accessing sensor data collected by an autonomous vehicle that previously drove through the geographical region; and
evaluating each of the plurality of localization variants using the sensor data.
22 . The computer-implemented method of claim 14 , wherein the localization index associates localization variants with representations of portions of lanes, wherein using the localization index to determine a localization variant for the autonomous vehicle comprises:
identifying a portion of a lane in which the autonomous vehicle is driving; and selecting a localization variant associates with the portion of the lane.
23 . The computer-implemented method of claim 14 , wherein the localization index associates localization variants with coordinates of locations, wherein using the localization index to determine a localization variant for the autonomous vehicle comprises:
identifying a set of coordinates stored in the localization index for the autonomous vehicle, wherein the set of coordinates are nearest to a current location of the autonomous vehicle; and selecting a localization variant associate with the identified set of coordinates.
24 . The computer-implemented method of claim 14 , further comprising:
training a machine learning based model for evaluating a localization variant, the machine learning based model configured to receive information describing a driving context as input; and wherein building the localization index comprises executing the machine learning based model for determining a localization variant that maps to a geographical region.
25 . The computer-implemented method of claim 14 , further comprising:
for each type of sensor, for each geographical region, determining a measure of convergence confidence for localization variants; and integrating results from a plurality of localization variants using Kalman filtering, each of the plurality of localization variants for a type of sensor, the results of each of the localization variants weighted based on their respective convergence confidence.
26 . The computer-implemented method of claim 25 , further comprising instructions for:
for each of a plurality of pairs of sensors, determining a measure of covariance between localization variants based on respective sensors, wherein integrating results from a plurality of localization variants using Kalman filtering is further based on the determined measures of covariances.
27 . A computer system comprising:
one or more processors; and non-transitory computer readable storage medium storing instructions, the instructions when executed by a processor, cause the processor to perform steps comprising:
storing a plurality of localization variants, each localization variant representing a localization technique for determining location of an autonomous vehicle, wherein the localization technique is associated with one or more parameters, the localization variant specifying a set of values for each of the one or more parameters;
storing information describing a plurality of geographical regions;
building a localization index mapping driving contexts to localization variants, wherein a driving context is mapped to one or more localization variants based on a measure of performance of each of the one or more localization variants in the driving context;
repeating, by an autonomous vehicle, the following steps while driving:
receiving, by the autonomous vehicle, sensor data captured by sensors of the autonomous vehicle;
determining, by the autonomous vehicle, based on the sensor data, a current driving context for the autonomous vehicle;
determining, by the autonomous vehicle, a localization variant corresponding to the current driving context using the localization index;
determining, by the autonomous vehicle, a location of the autonomous vehicle using the localization variant; and
navigating, by the autonomous vehicle, based on the location of the autonomous vehicle.
28 . The computer system of claim 27 , wherein instructions for navigating the autonomous vehicle based on the location of the autonomous vehicle comprise instructions for:
determining control signals for navigating the autonomous vehicle using the determined location of the autonomous vehicle; and sending the control signals to controls of the autonomous vehicle.
29 . The computer system of claim 27 , wherein instructions for building a localization index comprise instructions for:
for each driving context, performing steps comprising:
for each of the plurality of localization variants, determining a measure of performance of the localization variant;
ranking the plurality of localization variants based on the measure of performance of each of the plurality of localization variants;
selecting one or more localization variants for the driving context from the plurality of localization variants based on the ranking; and
storing an association between the driving context and the one or more localization variants in the localization index.
30 . The computer system of claim 29 , wherein the non-transitory computer readable storage medium further comprises instructions for:
responsive to selecting a particular localization variant for the driving context, evaluating a plurality of related localization variants, the related localization variants obtained by varying values of one or more parameters of the particular localization variant.
31 . The computer system of claim 27 , wherein the driving context comprises one or more of:
a geographical region in which the autonomous vehicle is driving; a time of day when the autonomous vehicle is driving; information describing weather conditions in the geographical region in which the autonomous vehicle is driving at the time the autonomous vehicle is driving; a speed at which the autonomous vehicle is driving; or an angular velocity of the autonomous vehicle.
32 . The computer system of claim 27 , wherein the plurality of localization variants comprises one or more of:
a localization variant using a localization technique based on camera images, a localization variant using a localization technique based on lidar scans, a localization variant using a localization technique based on GNSS data, or a localization variant using a localization technique based on IMU data.
33 . The computer system of claim 27 , wherein the measure of performance of a localization variant in a particular driving context is determined based on one or more factors including:
an error in localization using the localization variant in the driving context, a time of execution of the localization variant in the driving context, or a rate of success of the localization variant in the driving context, wherein a localization variant is successful if it determines the location of the autonomous vehicle within a threshold of an accurate location value.
34 . The computer system of claim 27 , wherein the non-transitory computer readable storage medium further comprises instructions for:
determining the measure of performance of a localization variant, comprising:
accessing a high definition map of a geographical region;
accessing sensor data collected by an autonomous vehicle that previously drove through the geographical region; and
evaluating each of the plurality of localization variants using the sensor data.
35 . The computer system of claim 27 , wherein the localization index associates localization variants with representations of portions of lanes, wherein using the localization index to determine a localization variant for the autonomous vehicle comprises instructions for:
identifying a portion of a lane in which the autonomous vehicle is driving; and selecting a localization variant associates with the portion of the lane.
36 . The computer system of claim 27 , wherein the localization index associates localization variants with coordinates of locations, wherein using the localization index to determine a localization variant for the autonomous vehicle comprises instructions for:
identifying a set of coordinates stored in the localization index for the autonomous vehicle, wherein the set of coordinates are nearest to a current location of the autonomous vehicle; and selecting a localization variant associate with the identified set of coordinates.
37 . The computer system of claim 27 , wherein the non-transitory computer readable storage medium further comprises instructions for:
training a machine learning based model for evaluating a localization variant, the machine learning based model configured to receive information describing a driving context as input; and wherein building the localization index comprises executing the machine learning based model for determining a localization variant that maps to a geographical region.
38 . The computer system of claim 27 , wherein the non-transitory computer readable storage medium further comprises instructions for:
for each type of sensor, for each geographical region, determining a measure of convergence confidence for localization variants; and integrating results from a plurality of localization variants using Kalman filtering, each of the plurality of localization variants for a type of sensor, the results of each of the localization variants weighted based on their respective convergence confidence.
39 . The computer system of claim 38 , wherein the non-transitory computer readable storage medium further comprises instructions for:
for each of a plurality of pairs of sensors, determining a measure of covariance between localization variants based on respective sensors, wherein integrating results from a plurality of localization variants using Kalman filtering is further based on the determined measures of covariances.Join the waitlist — get patent alerts
Track US2019204092A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.