IP Library Granted Patent US 11,624,827
Granted Patent B2
US 11,624,827 · App. 16/459,687 · Granted Apr 11, 2023

Method for generating a high precision map, apparatus and storage medium

Inventors: Li Yu (Beijing, CN); Shiyu Song (Sunnyvale, CA); Fangfang Dong (Beijing, CN)
Assignee: APOLLO INTELLIGENT DRIVING TECHNOLOGY (BEIJING) CO., LTD.
G01S17/89G01C21/26G01S7/4808G06T7/74G06T2207/10028G06T2207/20076G06T2207/30252
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 11,624,827
App. No.
16/459,687
Granted
Apr 11, 2023
Kind
B2
Abstract

A method and an apparatus for generating a high precision map, and a storage medium for generating a high precision map. The method includes: performing a point cloud splicing process on target point cloud data to obtain a lidar pose corresponding to the target point cloud data; projecting the target point cloud data into a preset two-dimensional area based on the lidar pose to generate a map based on a reflection value and a height value; performing a self-positioning verification on the map based on the reflection value and the height value using the target point cloud data; and integrating, if a result of the self-positioning verification satisfies a preset condition, the map based on the reflection value and the height value into a reference map to generate the high precision map.

Claims (68)

1. A method for generating a high precision map, comprising:

performing, by a processor of an apparatus for generating a high precision map, a point cloud splicing process on target point cloud data to obtain a lidar pose corresponding to the target point cloud data, wherein the target point cloud data is collected by an autonomous vehicle;

projecting, by the processor, the target point cloud data into a preset two-dimensional area based on the lidar pose to generate a map based on a reflection value and a height value, wherein a global area comprises a plurality of the preset two-dimensional areas, the map based on the reflection value and the height value stores the number of laser spots, reflection value information of the laser spots and height value information of the laser spots projected therein, in units of the preset two-dimensional area, the target point cloud data comprises data corresponding to a plurality of laser spots;

performing, by the processor, a self-positioning verification on the map based on the reflection value and the height value using the target point cloud data; and

integrating, by the processor, when a result of the self-positioning verification satisfies a preset condition, the map based on the reflection value and the height value into a reference map to generate the high precision map, wherein the reference map is a previously generated map;

performing perception, path planning or positioning of the autonomous vehicle, according to the high precision map generated;

wherein the performing, by the processor, a point cloud splicing process on target point cloud data to obtain a lidar pose corresponding to the target point cloud data comprises:

determining, by the processor, a source point cloud data which has an overlap area with a scan area of the target point cloud data; wherein there exists a pose adjustment amount between the source point cloud data and the target point cloud data; and

obtaining, by the processor, the lidar pose corresponding to the target point cloud data by performing the point cloud splicing process on the target point cloud data and the source point cloud data.

2. The method for generating the high precision map according to claim 1 , wherein the obtaining, by the processor, the lidar pose corresponding to the target point cloud data by performing a point cloud splicing process on the target point cloud data and the source point cloud data comprises:

determining, by the processor, a pose adjustment amount of the target point cloud data relative to the source point cloud data, wherein the pose adjustment amount is configured to indicate that a pose of a source lidar corresponding to the source point cloud data is translated and/or rotated, so that the pose of the source lidar has a same adjustment amount with a pose of a target lidar corresponding to the target point cloud data;

constructing, by the processor, an objective function according to the pose adjustment amount and a priori pose constraint, wherein the priori pose constraint is configured to indicate an adjustment amount of a lidar pose initial value corresponding to the target point cloud data relative to a lidar pose initial value corresponding to the source point cloud data; and

minimizing, by the processor, the objective function to determine the lidar pose corresponding to the target point cloud data.

3. The method for generating the high precision map according to claim 1 , wherein the projecting, by the processor, the target point cloud data into a preset two-dimensional area based on the lidar pose to generate a map based on a reflection value and a height value comprises:

projecting, by the processor, the target point cloud data into the preset two-dimensional area based on the lidar pose;

performing, by the processor, an aggregation process on data corresponding the laser spots projected into the preset two-dimensional area; and

storing, by the processor, an aggregation processed data corresponding to the preset two-dimensional area, wherein the aggregation processed data comprises the number of the laser spots, a mean and a variance of the reflection value corresponding to the laser spots and a mean and a variance of the height value corresponding to the laser spots.

4. The method for generating the high precision map according to claim 1 , wherein the integrating the map based on the reflection value and the height value into a reference map to generate the high precision map comprises:

updating, by the processor, in units of the preset two-dimensional area, the number of the laser spots, the reflection value information of the laser spots and the height value information of the laser spots in a corresponding preset two-dimensional area in the reference map according to the number of the laser spots, the reflection value information of the laser spots and the height value information of the laser spots in each preset two-dimensional area of the map based on the reflection value and the height value.

5. The method for generating the high precision map according to claim 1 , wherein after the integrating, by the processor, the map based on the reflection value and the height value into a reference map to generate the high precision map, further comprising:

performing, by the processor, a self-positioning verification on the high precision map using another target point cloud data; and

integrating, by the processor, when a result of the self-positioning verification satisfies the preset condition, the another target point cloud data into the high precision map.

6. The method for generating the high precision map according to claim 1 , wherein the point cloud splicing process is performed to realize a local smoothing between a plurality of target point cloud data.

7. The method for generating the high precision map according to claim 1 , wherein the point cloud splicing process is a specific implementation of simultaneous localization and mapping.

8. The method for generating the high precision map according to claim 1 , wherein the performing, by the processor, a self-positioning verification on the map based on the reflection value and the height value using the target point cloud data comprises:

projecting, by the processor, the target point cloud data into the preset two-dimensional area based on a lidar pose initial value corresponding to the target point cloud data to obtain a feature value corresponding to each laser spot in the target point cloud data, wherein the feature value comprises a mean and a variance of the reflection value and a mean and a variance of the height value before the performing the point cloud splicing process on the target point cloud data;

performing, by the processor, a matching process on the feature value corresponding to each laser spot in the target point cloud data and the reflection value information and the height value information of the laser spots in a corresponding preset two-dimensional area in the map based on the reflection value and the height value; and

positioning, by the processor, the autonomous vehicle according to a result of matching process to obtain the result of the self-positioning verification.

9. The method for generating the high precision map according to claim 5 , wherein the matching process is specifically comprises:

calculating, by the processor, a matching probability of each position respectively within a preset range centered on an initial predicted position to obtain a probability distribution of a positioning result, wherein the initial predicted position is a prediction of a vehicle position of the target point cloud data in a current frame completed by a positioning result of the target point cloud data in a previous frame together with a vehicle motion information given by a inertial navigation device; and

updating, by the processor, the probability distribution of the positioning result by a histogram filter to obtain the matching process result.

10. The method for generating the high precision map according to claim 1 , wherein before the performing a point cloud splicing process on target point cloud data to obtain a lidar pose corresponding to the target point cloud data, the method further comprises:

receiving, by the processor, the target point cloud data sent by the autonomous vehicle.

11. The method for generating the high precision map according to claim 8 , wherein the target point cloud data is a point cloud data preprocessed by the autonomous vehicle, wherein the preprocess comprises filtering data having a duration shorter than a first preset value, and/or data having a corresponding number of kilometers less than a second preset value.

12. An apparatus for generating a high precision map, comprising a processor and a memory wherein

the memory has a computer program stored therein; and

the processor, when executing the computer program, is configured to:

perform a point cloud splicing process on target point cloud data to obtain a lidar pose corresponding to the target point cloud data, wherein the target point cloud data is collected by an autonomous vehicle;

project the target point cloud data into a preset two-dimensional area based on the lidar pose to generate a map based on a reflection value and a height value, wherein a global area comprises a plurality of the preset two-dimensional areas, the map based on the reflection value and the height value stores the number of the laser spots, reflection value information of laser spots and height value information of the laser spots projected therein in units of the preset two-dimensional area, the target point cloud data comprises data corresponding to a plurality of laser spots;

perform a self-positioning verification on the map based on the reflection value and the height value;

integrate, when a result of the self-positioning verification satisfies a preset condition, the map based on the reflection value and the height value into a reference map to generate the high precision map,

enable the autonomous vehicle to perform perception, path planning or positioning of the autonomous vehicle according to the high precision map generated, wherein the reference map is a previously generated map;

wherein the performing the point cloud splicing process on the target point cloud data to obtain the lidar pose corresponding to the target point cloud data comprises:

determining a source point cloud data which has an overlap area with a scan area of the target point cloud data; wherein there exists a pose adjustment amount between the source point cloud data and the target point cloud data; and

obtaining the lidar pose corresponding to the target point cloud data by performing a point cloud splicing process on the target point cloud data and the source point cloud data.

13. The apparatus for generating a high precision map according to claim 11 , wherein the processor is configured to:

determine a pose adjustment amount of the target point cloud data relative to the source point cloud data, wherein the pose adjustment amount is configured to indicate that a pose of a source lidar corresponding to the source point cloud data is translated and/or rotated, so that the pose of the source lidar has a same adjustment amount with a pose of a target lidar corresponding to the target point cloud data;

construct an objective function according to the pose adjustment amount and a priori pose constraint, wherein the priori pose constraint is configured to indicate an adjustment amount of a lidar pose initial value corresponding to the target point cloud data relative to a lidar pose initial value corresponding to the source point cloud data; and

minimize the objective function to determine the lidar pose corresponding to the target point cloud data.

14. The apparatus for generating a high precision map according to claim 12 , wherein the processor is configured to:

project the target point cloud data into the preset two-dimensional area based on the lidar pose;

perform an aggregation process on data corresponding the laser spots projected into the preset two-dimensional area; and

store an aggregation processed data corresponding to the preset two-dimensional area, wherein the aggregation processed data comprises the number of the laser spots, a mean and a variance of the reflection value corresponding to the laser spots and a mean and a variance of the height value corresponding to the laser spots.

15. The apparatus for generating a high precision map according to claim 12 , wherein the processor is configured to:

update, in units of the preset two-dimensional area, the number of the laser spots, the reflection value information of the laser spots and the height value information of the laser spots in a corresponding preset two-dimensional area in the reference map according to the number of the laser spots, the reflection value information of the laser spots and the height value information of the laser spots in each preset two-dimensional area of the map based on the reflection value and the height value.

16. The apparatus for generating a high precision map according to claim 12 , wherein the processor is further configured to:

receive the target point cloud data sent by the autonomous vehicle.

17. The apparatus for generating a high precision map according to claim 12 , wherein the processor is further configured to:

perform a self-positioning verification on the high precision map using another target point cloud data; and

integrate, when a result of the self-positioning verification satisfies the preset condition, the another target point cloud data into the high precision map.

18. The apparatus for generating a high precision map according to claim 12 , wherein the processor is configured to:

project the target point cloud data into the preset two-dimensional area based on a lidar pose initial value corresponding to the target point cloud data to obtain a feature value corresponding to each laser spot in the target point cloud data, wherein the feature value comprises a mean and a variance of the reflection value and a mean and a variance of the height value before the performing the point cloud splicing process on the target point cloud data;

perform a matching process on the feature value corresponding to each laser spot in the target point cloud data and the reflection value information and the height value information of the laser spots in a corresponding preset two-dimensional area in the map based on the reflection value and the height value; and

position the autonomous vehicle according to a result of matching process to obtain the result of the self-positioning verification.

19. The apparatus for generating a high precision map according to claim 18 , wherein the processor is configured to:

calculate a matching probability of each position respectively within a preset range centered on an initial predicted position to obtain a probability distribution of a positioning result, wherein the initial predicted position is a prediction of a vehicle position of the target point cloud data in a current frame completed by a positioning result of the target point cloud data in a previous frame together with a vehicle motion information given by a inertial navigation device; and

update the probability distribution of the positioning result by a histogram filter to obtain the matching process result.

20. A non-transitory computer readable storage medium, wherein the computer readable storage medium stores computer execution instructions, the computer execution instructions, when executed by a processor, implement the method for generating the high precision map according to claim 1 .

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICANT NAME PREVIOUSLY RECORDED AT REEL: 057933 FRAME: 0812. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 28, 2021
From: BAIDU ONLINE NETWORK TECHNOLOGY (BEIJING) CO., LTD.
To: APOLLO INTELLIGENT DRIVING TECHNOLOGY (BEIJING) CO., LTD.
Reel/Frame 058594/0836 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: BAIDU ONLINE NETWORK TECHNOLOGY (BEIJING) CO., LTD.
To: APOLLO INTELLIGENT DRIVING (BEIJING) TECHNOLOGY CO., LTD.
Reel/Frame 057933/0812 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2019
From: YU, LI; SONG, SHIYU; DONG, FANGFANG
To: BAIDU ONLINE NETWORK TECHNOLOGY (BEIJING) CO., LTD.
Reel/Frame 050351/0460 →
Priority Claims (1)
CN 201810726583.4 · Jul 4, 2018 · national
Continuity (1)
Related Publication 20190323843A1 · Oct 24, 2019