IP Library Granted Patent US 10,222,211
Granted Patent B2
US 10,222,211 · App. 15/857,602 · Granted Mar 5, 2019

Alignment of data captured by autonomous vehicles to generate high definition maps

Inventors: Chen Chen (San Jose, CA); Jeffrey Minoru Adachi (El Cerrito, CA)
Assignee: DeepMap Inc.
G01C11/12B60W40/06G01C11/30G01C21/005G01C21/3635G01C21/3694G01S19/42G05D1/0088G05D1/0246G06K9/00791G06K9/00798G06K9/00805G06K9/4671G06K9/6212G06T7/11G06T7/246G06T7/248G06T7/55G06T7/593G06T7/68G06T7/70G06T7/73G06T7/74G06T17/05G06T17/20G08G1/20B60W2550/14G01S17/89G05D2201/0213G06T2200/04G06T2207/10021G06T2207/10028G06T2207/20048G06T2207/30252G06T2207/30256G06T2210/56G06T2215/12
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,222,211
App. No.
15/857,602
Granted
Mar 5, 2019
Kind
B2
Abstract

A high-definition map system receives sensor data from vehicles travelling along routes and combines the data to generate a high definition map for use in driving vehicles, for example, for guiding autonomous vehicles. A pose graph is built from the collected data, each pose representing location and orientation of a vehicle. The pose graph is optimized to minimize constraints between poses. Points associated with surface are assigned a confidence measure determined using a measure of hardness/softness of the surface. A machine-learning-based result filter detects bad alignment results and prevents them from being entered in the subsequent global pose optimization. The alignment framework is parallelizable for execution using a parallel/distributed architecture. Alignment hot spots are detected for further verification and improvement. The system supports incremental updates, thereby allowing refinements of sub-graphs for incrementally improving the high-definition map for keeping it up to date.

Claims (65)

1. A method for generating high definition maps for use in the driving of autonomous vehicles, the method comprising:

receiving sensor data captured by a plurality of vehicles driving through a path in a geographical region;

generating a pose graph, wherein each node of the pose graph represents a pose of a vehicle, the pose comprising a location and orientation of the vehicle, and wherein each edge between a pair of nodes represents a transformation between nodes of the pair of nodes;

selecting a subset of nodes from the pose graph, wherein selecting the subset of nodes from the pose graph comprises:

identifying nodes having high quality global navigation satellite system (GNSS) poses; and

increasing the likelihood of selecting the identified nodes compared to nodes with lower quality GNSS poses;

for each node of the subset of nodes, identifying a GNSS pose corresponding to the node;

performing optimization of the pose graph based on constraints that minimize the pose difference between each of the nodes of the subset and the corresponding GNSS pose;

merging sensor data captured by plurality of autonomous vehicles to generate a point cloud representation of a geographical region;

generating a high-definition map based on the point cloud representation; and

sending the high-definition map to one or more autonomous vehicles for navigating in the geographical region.

2. The method of claim 1 , wherein the sensor data comprises LIDAR range images.

3. The method of claim 1 , further comprising:

performing pairwise alignment between pairs of nodes associated with a single track, wherein a track represents a collection of data corresponding to a single drive of a vehicle through a route, the data comprising a sequence of poses with associated sensor data.

4. The method of claim 3 , further comprising:

performing pairwise alignment between pairs of nodes, wherein a first node of the pair is selected from a first track and a second node of the pair is selected from a second track.

5. The method of claim 4 , further comprising:

performing filtering of results of pairwise alignments to determine whether a result needs further review.

6. The method of claim 5 , wherein the filtering of the results of pairwise alignments is performed using a machine learning based model configured to predict a score indicating whether a pairwise alignment result needs further review.

7. The method of claim 1 , further comprising:

removing one or more samples of sensor data responsive to determining that the samples were captured by a stationary vehicle.

8. The method of claim 1 , wherein selecting the subset of nodes from the pose graph comprises selecting nodes at fixed distance intervals along a path traveled by an autonomous vehicle capturing the sensor data corresponding to the node.

9. The method of claim 1 , wherein selecting the subset of nodes from the pose graph comprises a random selection of nodes from the pose graph.

10. The method of claim 1 , wherein selecting the subset of nodes from the pose graph comprises:

determining bounding boxes based on latitude and longitude values; and

selecting a node from each bounding box.

11. The method of claim 1 , wherein selecting the subset of nodes from the pose graph comprises:

identifying a region having low quality of pairwise alignment; and

increasing the sampling frequency in the identified region.

12. A non-transitory computer readable storage medium storing instructions for:

receiving sensor data captured by a plurality of vehicles driving through a path in a geographical region;

generating a pose graph, wherein each node of the pose graph represents a pose of a vehicle, the pose comprising a location and orientation of the vehicle, and wherein each edge between a pair of nodes represents a transformation between nodes of the pair of nodes;

selecting a subset of nodes from the pose graph, wherein selecting the subset of nodes from the pose graph comprises:

identifying nodes having high quality global navigation satellite system (GNSS) poses; and

increasing the likelihood of selecting the identified nodes compared to nodes with lower quality GNSS poses;

for each node of the subset of nodes, identifying a GNSS pose corresponding to the node;

performing optimization of the pose graph based on constraints that minimize the pose difference between each of the nodes of the subset and the corresponding GNSS pose;

merging sensor data captured by plurality of autonomous vehicles to generate a point cloud representation of a geographical region;

generating a high-definition map based on the point cloud representation; and

sending the high-definition map to one or more autonomous vehicles for navigating in the geographical region.

13. The non-transitory computer readable storage medium of claim 12 , wherein the stored instructions are for further:

performing pairwise alignment between pairs of nodes associated with a single track, wherein a track represents a collection of data corresponding to a single drive of a vehicle through a route, the data comprising a sequence of poses with associated sensor data.

14. The non-transitory computer readable storage medium of claim 13 , wherein the stored instructions are for further:

performing pairwise alignment between pairs of nodes, wherein a first node of the pair is selected from a first track and a second node of the pair is selected from a second track.

15. The non-transitory computer readable storage medium of claim 14 , wherein the stored instructions are for further:

performing filtering of results of pairwise alignments to determine whether a result needs further review, wherein the filtering of the results of pairwise alignments is performed using machine learning based model configured to predict a score indicating whether a pairwise alignment result needs further review.

16. The non-transitory computer readable storage medium of claim 12 , wherein the stored instructions are for further:

removing one or more samples of sensor data responsive to determining that the samples were captured by a stationary vehicle.

17. A computer system comprising:

an electronic processor; and

a non-transitory computer readable storage medium storing instructions executable by the electronic processor, the instructions for:

receiving sensor data captured by a plurality of vehicles driving through a path in a geographical region;

generating a pose graph, wherein each node of the pose graph represents a pose of a vehicle, the pose comprising a location and orientation of the vehicle, and wherein each edge between a pair of nodes represents a transformation between nodes of the pair of nodes;

selecting a subset of nodes from the pose graph, wherein selecting the subset of nodes from the pose graph comprises:

identifying nodes having high quality global navigation satellite system (GNSS) poses; and

increasing the likelihood of selecting the identified nodes compared to nodes with lower quality GNSS poses;

for each node of the subset of nodes, identifying a GNSS pose corresponding to the node;

performing optimization of the pose graph based on constraints that minimize the pose difference between each of the nodes of the subset and the corresponding GNSS pose;

merging sensor data captured by plurality of autonomous vehicles to generate a point cloud representation of a geographical region;

generating a high-definition map based on the point cloud representation; and

sending the high-definition map to one or more autonomous vehicles for navigating in the geographical region.

18. The computer system of claim 17 , wherein the stored instructions are for further:

performing pairwise alignment between pairs of nodes associated with a single track, wherein a track represents a collection of data corresponding to a single drive of a vehicle through a route, the data comprising a sequence of poses with associated sensor data.

19. The computer system of claim 18 , wherein the stored instructions are for further:

performing pairwise alignment between pairs of nodes, wherein a first node of the pair is selected from a first track and a second node of the pair is selected from a second track.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2022
From: DEEPMAP INC.
To: NVIDIA CORPORATION
Reel/Frame 061038/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2019
From: DEEPMAP CAYMAN LIMITED
To: DEEPMAP INC.
Reel/Frame 050281/0787 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2018
From: DEEPMAP INC.
To: DEEPMAP CAYMAN LIMITED
Reel/Frame 046208/0934 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2018
From: CHEN, CHEN; ADACHI, JEFFREY MINORU
To: DEEPMAP INC.
Reel/Frame 044962/0644 →
Continuity (2)
Provisional Application 62441080 · Dec 30, 2016
Related Publication 20180188039A1 · Jul 5, 2018
Cited By (5)
US 12,384,410 US 12,543,118 US 12,568,878 US 12,614,249 US 12,676,068