Map generation method and apparatus

By acquiring the motion pose and point cloud data of the target vehicle, and using normal distribution matching and pose transformation to generate a high-precision map, the problem of insufficient map accuracy in existing technologies is solved, and high-precision vehicle environment mapping is achieved.

CN116007611BActive Publication Date: 2026-06-30CHINA FAW CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA FAW CO LTD
Filing Date
2023-01-03
Publication Date
2026-06-30

Smart Images

  • Figure CN116007611B_ABST
    Figure CN116007611B_ABST
Patent Text Reader

Abstract

This invention discloses a map generation method and apparatus. The method, applied to the field of intelligent vehicles, includes: acquiring a first motion pose of the target vehicle and sensing data of the surrounding environment during the vehicle's movement; determining the initial pose of two adjacent point cloud frames based on the first motion pose and multi-frame point cloud data; determining a first pose transformation of the two adjacent point cloud frames based on the normal distribution matching of their initial poses; and generating a target map based on the first pose transformation and the first motion pose. This invention solves the technical problem of low accuracy in target maps.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of intelligent vehicles, and more specifically, to a map generation method and apparatus. Background Technology

[0002] Currently, constructing high-precision maps is an important research topic in laser matching mapping technology. However, existing technologies extract features from multi-frame point cloud data projected onto a two-dimensional plane and filter the feature points to construct the map. Because the poses between feature points are not accurate, the accuracy of the target map is low.

[0003] There is currently no effective solution to the above problems. Summary of the Invention

[0004] This invention provides a map generation method and apparatus to at least solve the technical problem of low accuracy of target maps.

[0005] According to one aspect of the present invention, a map generation method is provided, comprising: acquiring a first motion pose of the target vehicle and sensing data of the surrounding environment of the target vehicle during the driving process of the target vehicle, wherein the sensing data includes at least: multi-frame point cloud data; determining the initial pose of two adjacent frames of point cloud data based on the first motion pose and the multi-frame point cloud data; determining a first pose transformation of the two adjacent frames of point cloud data based on the normal distribution matching of the initial poses of the two adjacent frames of point cloud data; and generating a target map based on the first pose transformation and the first motion pose.

[0006] Optionally, generating a target map based on the first pose transformation and the first motion pose includes: determining a second pose transformation of keyframe point cloud data in multi-frame point cloud data relative to the first frame point cloud data in multi-frame point cloud data, wherein the first frame point cloud data is used to characterize the point cloud data acquired by the target vehicle at startup; determining loop-loop point cloud data in keyframe point cloud data based on time and distance information between keyframe point cloud data; optimizing the second pose transformation of keyframe point cloud data relative to the first frame point cloud data based on the loop-loop point cloud data to obtain a third pose transformation between keyframe point cloud data; and generating a target map based on the third pose transformation and the first motion pose.

[0007] Optionally, based on the first pose transformation, determining the second pose transformation of keyframe point cloud data in multi-frame point cloud data relative to the first frame point cloud data includes: determining keyframe point cloud data in two adjacent frames of point cloud data based on the first pose transformation; and determining the second pose transformation of keyframe point cloud data relative to the first frame point cloud data based on the first pose transformation between keyframe point cloud data.

[0008] Optionally, determining key frame point cloud data in two adjacent frame point cloud data based on the first pose transformation includes: determining translation information of the relative pose of two adjacent frame point cloud data based on the first pose transformation; and determining the two adjacent frame point cloud data as key frame point cloud data in response to the translation information of two adjacent frame point cloud data being greater than a first preset threshold.

[0009] Optionally, determining the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data based on the first pose transformation between keyframe point cloud data includes: constructing a local map based on the keyframe point cloud data; and matching the local map based on the first pose transformation between keyframe point cloud data to determine the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data.

[0010] Optionally, based on the time and distance information between keyframe point cloud data, the loop-closing frame point cloud data in the keyframe point cloud data is determined, including: constructing a first loop-closing factor corresponding to the keyframe point cloud data based on the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data; determining a second loop-closing factor in the first loop-closing factor with a similarity greater than a preset similarity, wherein the time and distance information between the second frame point cloud data corresponding to the second loop-closing factor meets a preset threshold; and determining the second frame point cloud data as loop-closing frame point cloud data.

[0011] Optionally, the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data is optimized based on the loopback frame point cloud data to obtain the third pose transformation between the keyframe point cloud data, including: constructing a target map based on the first pose transformation, wherein the target map contains multiple nodes and the association relationship between any two nodes, and the multiple nodes correspond one-to-one with the multiple frames of point cloud data; constructing constraints on the target map based on adjacent keyframe point cloud data and loopback frame point cloud data; and optimizing the target map based on the constraints of the target map to obtain the third pose transformation.

[0012] Optionally, generating a target map based on a third pose transformation and a first motion pose includes: determining a first constraint relationship between two adjacent keyframe point cloud data based on the correspondence between the third pose transformation and the first motion pose, wherein the first constraint relationship is used to characterize the edge connecting the two adjacent keyframe point cloud data; determining a second constraint relationship between two adjacent keyframe point cloud data based on the first motion pose, wherein the second constraint relationship is used to characterize the constraint relationship between adjacent keyframe point cloud data output by satellite positioning and navigation according to the first motion pose; and generating a target map based on the first constraint relationship and the second constraint relationship.

[0013] Optionally, generating a target map based on the first and second constraint relationships includes: constructing a first loss value based on the first and second constraint relationships; adjusting the second constraint relationship in response to the first loss value being greater than a preset loss value to obtain a third constraint relationship, until the second loss value established based on the first and third constraint relationships is less than or equal to the preset loss value; and generating a target map based on the third pose transformation and the third constraint relationship.

[0014] According to another aspect of the present invention, a map generation apparatus is also provided, comprising: an acquisition module, configured to acquire a first motion pose of the target vehicle and sensing data of the surrounding environment of the target vehicle during the driving process of the target vehicle, wherein the sensing data includes at least: multi-frame point cloud data; a first determination module, configured to determine the initial pose of two adjacent frames of point cloud data based on the first motion pose and the multi-frame point cloud data; a second determination module, configured to determine a first pose transformation of the two adjacent frames of point cloud data based on the normal distribution matching of the initial poses of the two adjacent frames of point cloud data; and a generation module, configured to generate a target map based on the first pose transformation and the multi-frame point cloud data.

[0015] According to another aspect of the present invention, an electronic device is also provided, comprising: one or more processors; a storage device for storing one or more programs; and when the one or more programs are executed by the one or more processors, causing the one or more processors to perform the map generation method of the above embodiments.

[0016] According to another aspect of the present invention, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored program, wherein, when the program is running, it controls the device where the computer-readable storage medium is located to execute the map generation method of the above embodiments.

[0017] In this embodiment of the invention, after acquiring the first motion pose of the target vehicle and the sensing data around the target vehicle, the initial poses of two adjacent frames of point cloud data are determined based on the first motion pose and multi-frame point cloud data. Based on the normal distribution matching of the initial poses of the two adjacent frames of point cloud data, the first pose transformation of the two adjacent frames of point cloud data is determined. Therefore, a target map is generated based on the first pose transformation and the first motion pose. It should be noted that matching the normal distribution of the initial poses of the two adjacent frames of point cloud data can effectively avoid point cloud noise, reduce the influence of point cloud noise and object movement on point cloud features, and generate the target map using the generated first pose transformation and first motion pose. This achieves a more accurate pose between each frame of point cloud data, thereby solving the technical problem of low accuracy in the target map. Attached Figure Description

[0018] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:

[0019] Figure 1 This is a flowchart of a map generation method according to an embodiment of the present invention;

[0020] Figure 2 This is a flowchart of an optional inertial unit processing stage according to an embodiment of the present invention;

[0021] Figure 3 This is a flowchart of an optional point cloud preprocessing stage according to an embodiment of the present invention;

[0022] Figure 4 This is a flowchart of an optional SCAN-SCAN (cyclic scanning) inter-frame matching stage according to an embodiment of the present invention;

[0023] Figure 5 This is a flowchart of an optional key inter-frame local small closed-loop stage according to an embodiment of the present invention;

[0024] Figure 6 This is a flowchart of an optional SCAN-MAP (scan map) frame and map matching stage according to an embodiment of the present invention;

[0025] Figure 7 This is a flowchart of an optional keyframe space large closed-loop matching stage according to an embodiment of the present invention;

[0026] Figure 8 This is a flowchart of an optional pose graph matching stage according to an embodiment of the present invention;

[0027] Figure 9 This is a flowchart of an optional overall map generation method according to an embodiment of the present invention;

[0028] Figure 10 This is a schematic diagram of a map generation device according to an embodiment of the present invention. Detailed Implementation

[0029] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0030] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0031] Example 1

[0032] According to an embodiment of the present invention, an embodiment of a vehicle control method is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0033] Figure 1 This is a flowchart of a map generation method according to an embodiment of the present invention, such as... Figure 1 As shown, the method includes the following steps:

[0034] Step S102: During the driving process of the target vehicle, the first motion pose of the target vehicle and the sensing data of the surrounding environment of the target vehicle are acquired. The sensing data includes at least: multi-frame point cloud data.

[0035] The target vehicle mentioned above can be a vehicle that the driver is driving. The vehicle can generate a high-precision map based on the sensing data of the surrounding environment when its own position is uncertain, and accurately find its own position. The sensing data can be data of the surrounding environment of the target vehicle, which can be obtained through LiDAR and various sensors, including but not limited to: multi-frame point cloud data. The multi-frame point cloud data can be point cloud data acquired at different times during the vehicle's driving process.

[0036] The aforementioned first motion pose can be the motion attitude of the target vehicle in radar coordinates within a frame time, calculated by the extrinsic parameters of the lidar's IMU (Inertial Measurement Unit) during the motion process.

[0037] In one optional embodiment, during the driving of the target vehicle, the lidar and various sensors installed on the target vehicle acquire the motion data of the target vehicle and the sensing data of the surrounding environment in real time, and obtain the first motion pose of the target vehicle based on the motion data.

[0038] It should be noted that the IMU acquires the motion data of the target vehicle and further processes it to obtain the first motion attitude of the target vehicle. In this embodiment of the invention, the flowchart of the inertial unit processing stage is as follows: Figure 2 As shown, the IMU provides the acceleration and angular velocity values ​​of the target vehicle. By integrating the acceleration and angular velocity, the rotation and pose transformations of the target vehicle over a period of time are obtained. Combined with GNSS (Global Navigation Satellite System) and RTK (Real-time Kinematic) calibration of the pose transformation, a relatively accurate motion attitude in the IMU coordinates is obtained within a frame. The motion attitude of the target vehicle in the radar coordinates within a frame is then calculated from the extrinsic parameters from the radar to the IMU.

[0039] Step S104: Based on the first motion pose and multi-frame point cloud data, determine the initial pose of two adjacent frames of point cloud data in the multi-frame point cloud data.

[0040] The aforementioned two adjacent point cloud data can be two time-adjacent point cloud data obtained from multiple frame point cloud data, and can be, but is not limited to: the current frame point cloud data and the previous frame point cloud data.

[0041] The initial pose mentioned above can be the initial pose of multiple frames of point cloud data.

[0042] In one optional embodiment, after obtaining the first motion pose of the target vehicle, feature extraction is performed on the multi-frame point cloud data acquired by the lidar based on the first motion pose to obtain the initial pose corresponding to the multi-frame point cloud data and the first motion pose, thereby determining the initial pose of two adjacent frames of point cloud data in the multi-frame point cloud data.

[0043] It should be noted that processing multi-frame point cloud data based on the first motion pose allows for feature extraction of the surrounding environment during the target vehicle's movement. In this embodiment of the invention, the flowchart for the point cloud preprocessing stage is as follows: Figure 3 As shown, motion distortion correction is performed on multi-frame point cloud data. A radar point cloud data frame is synchronized to the beginning time of the frame using a linear interpolation method, thereby obtaining multi-frame point cloud data with motion distortion correction for each frame. The multi-frame point cloud data is then projected onto a two-dimensional plane to project 3D (3 Dimensions) points onto the two-dimensional plane, thereby achieving feature extraction and making the obtained pose more accurate.

[0044] In addition, in multi-frame point cloud data, points are classified according to their roughness, into planar points and corner points.

[0045] Step S106: Based on the normal distribution matching of the initial poses of two adjacent point cloud data frames, determine the first pose transformation of the two adjacent point cloud data frames.

[0046] The aforementioned normal distribution matching can be achieved in point cloud matching by transforming the target point cloud data into a normal distribution of multidimensional variables based on ICP (Interactive Closest Point). If a certain set of transformation parameters is used for the matched point cloud, the normal distribution parameters of the new point cloud data and the target point cloud data will match very well.

[0047] The aforementioned first pose transformation can be the pose transformation between the motion pose at the current frame point cloud data header time and the motion pose at the previous frame point cloud data header time, that is, the inter-frame pose transformation.

[0048] In one optional embodiment, the initial poses of two adjacent frames of point cloud data are matched using a normal distribution to obtain the inter-frame pose transformation at the beginning of the two adjacent frames of point cloud data. The flowchart of the SCAN-SCAN inter-frame matching stage in this embodiment is as follows: Figure 4 As shown, the radar point cloud data of each frame and the relative pose relationship with the point cloud data of the previous frame are obtained. Based on the radar coordinate system at the frame header of each frame, NDT (Nondestructive Testing) normal distribution matching is performed on the point cloud data of two adjacent frames to obtain the inter-frame pose transformation between the point cloud data header time of the current frame and the point cloud data header time of the previous frame.

[0049] It should be noted that the inter-frame pose transformation obtained by performing normal distribution matching on two adjacent frames of point cloud data can effectively avoid the influence of point cloud noise, object movement, point cloud overlap and other factors on feature matching, making the inter-frame relative pose more accurate.

[0050] Step S108: Generate the target map based on the first pose transformation and the first motion pose.

[0051] The target map mentioned above can be a high-precision map generated based on the surrounding environment.

[0052] In one optional embodiment, a first constraint relationship between two adjacent frames of point cloud data is determined based on the first pose transformation. Then, based on the first motion pose, the GNSS outputs a second constraint relationship between two adjacent keyframe point cloud data. A first loss value is determined between the first and second constraint relationships. When the first loss value is greater than a preset loss value, the second constraint relationship is adjusted. The second constraint relationship is iterated continuously using the least squares method to approximate the first constraint relationship, thereby obtaining a third constraint relationship. A corresponding target map is generated based on the third constraint relationship and the first pose transformation.

[0053] In another optional embodiment, the translation information of the relative pose of two adjacent point cloud data frames can be determined based on the first pose transformation. When the translation information of two adjacent point cloud data frames is greater than a preset threshold, the two adjacent point cloud data frames are determined to be key frame point cloud data. A corresponding local map is then constructed based on the key frame point cloud data. The first pose transformation between the key frame point cloud data frames is matched with the local map to determine the second pose transformation of the key frame point cloud data relative to the first frame point cloud data. Based on the obtained second pose transformation, a loop closure factor corresponding to the key frame point cloud data is constructed. If the similarity of the time and distance information between the point cloud data frames corresponding to the loop closure factor is greater than a preset similarity, then the second frame point cloud data corresponding to the highly similar loop closure factor is the loop closure frame point cloud data. A target map is constructed based on the first pose transformation. Constraints on the target map are constructed based on the correspondence between adjacent key frame point cloud data frames and loop closure frame point cloud data frames. The target map is optimized based on these constraints to obtain the constrained third pose transformation of the key frame. Based on the correspondence between the third pose transformation and the first motion pose, a first constraint relationship is determined between two adjacent keyframe point cloud data. Then, based on the first motion pose, GNSS outputs a second constraint relationship between two adjacent keyframe point cloud data. A first loss value is calculated between the first and second constraint relationships. When the first loss value exceeds a preset loss value, the second constraint relationship is adjusted. The second constraint relationship is iteratively applied using the least squares method to approximate the first constraint relationship, thus obtaining a third constraint relationship. A corresponding target map is then generated based on the third constraint relationship and the third pose transformation.

[0054] Through the above steps, after acquiring the first motion pose of the target vehicle and the sensing data around the target vehicle, the initial pose of two adjacent frames of point cloud data can be determined based on the first motion pose and multiple frames of point cloud data. Based on the normal distribution matching of the initial poses of the two adjacent frames, the first pose transformation of the two adjacent frames is determined. Therefore, a target map is generated based on the first pose transformation and the first motion pose. It should be noted that matching the normal distribution of the initial poses of the two adjacent frames effectively avoids point cloud noise, reduces the impact of point cloud noise and object movement on point cloud features, and utilizes the generated first pose transformation and first motion pose to generate the target map. This achieves a more accurate pose between each frame of point cloud data, thus solving the technical problem of low target map accuracy.

[0055] Optionally, generating a target map based on the first pose transformation and the first motion pose includes: determining a second pose transformation of keyframe point cloud data in multi-frame point cloud data relative to the first frame point cloud data in multi-frame point cloud data, wherein the first frame point cloud data is used to characterize the point cloud data acquired by the target vehicle at startup; determining loop-loop point cloud data in keyframe point cloud data based on time and distance information between keyframe point cloud data; optimizing the second pose transformation of keyframe point cloud data relative to the first frame point cloud data based on the loop-loop point cloud data to obtain a third pose transformation between keyframe point cloud data; and generating a target map based on the third pose transformation and the first motion pose.

[0056] The keyframe point cloud data mentioned above can be the point cloud data of the frame where there is a significant change in the object's motion. The first frame of point cloud data can be the point cloud data of the objects around the target vehicle acquired when the vehicle starts up.

[0057] The aforementioned second pose transformation can be a more accurate pose transformation of the keyframe point cloud data relative to the first frame point cloud data.

[0058] The aforementioned time information can be the time interval between acquisitions of keyframe point cloud data. Distance information can be the information between coordinates in the keyframe point cloud data. Loopback frame point cloud data can be point cloud data from the keyframe point cloud data where time and distance information are highly similar.

[0059] The aforementioned third pose transformation can be the pose transformation of the keyframe point cloud data obtained after optimizing the pose of the keyframe point cloud data using GTSAM (Georgia Tech Smoothing and Mapping, a C++ library for smoothing and mapping in computer vision and multi-sensor fusion).

[0060] In one optional embodiment, based on the first pose transformation, keyframe point cloud data is determined from the multi-frame point cloud data. A local map corresponding to the keyframe point cloud data is constructed, and the local map is matched with the current keyframe point cloud data to obtain a second pose transformation of the keyframe point cloud data relative to the first frame point cloud data. Then, based on the relative pose relationship of the keyframe point cloud data, the time and distance information between the keyframe point cloud data is determined, and corresponding loop closure factors are constructed. Loop closure factors with highly similar time and distance information are identified, and the keyframes corresponding to these highly similar loop closure factors are determined as loop closure point cloud data. The loop closure point cloud data is then optimized to obtain a constrained third pose transformation. A target map is generated based on the first motion pose and the third pose transformation of the target vehicle.

[0061] Furthermore, based on the first pose transformation, the second pose transformation of key frame point cloud data in multi-frame point cloud data relative to the first frame point cloud data is determined, including: based on the first pose transformation, determining key frame point cloud data in two adjacent frames of point cloud data; and based on the first pose transformation between key frame point cloud data, determining the second pose transformation of key frame point cloud data relative to the first frame point cloud data.

[0062] In one optional embodiment, the translation position between two adjacent point cloud data in the multi-frame point cloud data is determined according to the first pose transformation, the key frame point cloud data in the two adjacent point cloud data is determined according to the translation position, and a corresponding local map is constructed according to the key frame point cloud data. The local map is matched with the key frame point cloud data to determine the second pose transformation of the key frame point cloud data relative to the first frame point cloud data.

[0063] Further, based on the first pose transformation, the key frame point cloud data in two adjacent frame point cloud data is determined, including: based on the first pose transformation, the translation information of the relative pose of the two adjacent frame point cloud data is determined; in response to the translation information of the two adjacent frame point cloud data being greater than a first preset threshold, the two adjacent frame point cloud data are determined to be key frame point cloud data.

[0064] The aforementioned translation information can be the translation information between the relative poses of two adjacent point cloud data frames. The first preset threshold can be a pre-set minimum threshold for determining the translation information between the relative poses of two adjacent point cloud data frames.

[0065] In one optional embodiment, the translation information of the relative pose transformation of two adjacent frame point cloud data is determined based on the first pose transformation. When the translation portion of the relative pose transformation of two adjacent frame point cloud data is greater than a first preset threshold, the two adjacent frame point cloud data are determined to be keyframe point cloud data. In this embodiment of the invention, the flowchart of the local small-loop closure stage between keyframes is as follows: Figure 5As shown, after determining the key frame point cloud data based on the translation information of the relative pose of two adjacent point cloud data, the adjacent key frame point cloud data construct a local "small closed loop", thereby adding constraints to the adjacent key frames and performing GTSAM optimization, making the relative pose relationship between key frames more accurate.

[0066] Optionally, determining the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data based on the first pose transformation between keyframe point cloud data includes: constructing a local map based on the keyframe point cloud data; and matching the local map based on the first pose transformation between keyframe point cloud data to determine the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data.

[0067] The aforementioned local map can be constructed from the currently acquired keyframe point cloud data.

[0068] In one optional embodiment, a corresponding local map is constructed based on the acquired keyframe point cloud data, and the local map is subjected to ICP matching with the keyframe data. In this embodiment of the invention, the flowchart for the SCAN-MAP frame and map matching stage is as follows: Figure 6 As shown, the SCAN-MAP method based on ICP iterative nearest point matching of local maps is used to match the local map with the keyframe point cloud data. The relative pose between two adjacent frames of point cloud data is calculated by SCAN-SCAN (cyclic scanning), and the relative pose transformation of the keyframe point cloud data relative to the first frame point cloud data is accumulated. The current frame point cloud data is projected onto the local map according to the initial value of the relative pose transformation. The points of the keyframe point cloud data are searched for the nearest points of the corresponding points in the current local map. Depending on whether the current point of the keyframe point cloud data is a line feature point or a surface feature point, the distance from the point to the line or the distance from the point to the surface is calculated, thereby obtaining the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data.

[0069] It should be noted that a large amount of point cloud data was collected, resulting in a large number of point cloud data frames. However, there are fewer constraints between key frame point cloud data that are far apart. In order to improve matching efficiency, only a number of key frame point cloud data within a certain distance from the current key frame point cloud data are selected to form a local map, thereby improving the accuracy of matching.

[0070] Optionally, based on the time and distance information between keyframe point cloud data, the loop-closing frame point cloud data in the keyframe point cloud data is determined, including: constructing a first loop-closing factor corresponding to the keyframe point cloud data based on the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data; determining a second loop-closing factor in the first loop-closing factor with a similarity greater than a preset similarity, wherein the time and distance information between the second frame point cloud data corresponding to the second loop-closing factor meets a preset threshold; and determining the second frame point cloud data as loop-closing frame point cloud data.

[0071] The first loop closure factor mentioned above can be a loop closure factor constructed from the relative pose relationship of keyframe point cloud data, or it can be obtained by frame graph matching between keyframe point cloud data that are temporally adjacent to each keyframe point cloud data and candidate loop closure keyframe point cloud data at a certain distance.

[0072] The second loop factor mentioned above can be a loop factor in the first loop factor whose similarity is greater than a preset similarity. The preset similarity can be a minimum loop factor similarity set in advance as needed.

[0073] The aforementioned second frame point cloud data can be the key frame point cloud data corresponding to the second loop factor, and the preset threshold can be the minimum threshold that the time information and distance information between the second frame point cloud data are satisfied as needed.

[0074] In an optional embodiment, a closure factor is constructed based on the keyframe point cloud data, and a third pose transformation is further obtained using the closure factor. The flowchart for the keyframe spatial large-loop matching stage in this embodiment is as follows: Figure 7 As shown, a first loop closure factor is constructed based on the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data. The time information and distance information between the keyframe point cloud data are determined. Loop closure factors in the first loop closure factor whose similarity between time information and distance information is greater than a preset similarity are found and determined as the second loop closure factor. Based on the second loop closure factor, the corresponding second frame point cloud data is determined as the loop closure frame point cloud data.

[0075] It should be noted that the loop closure factor constructed based on the keyframe point cloud data uses Scan-Context (global description) to construct the loop closure factor. Based on distance and time information, several historically similar frames of point cloud data are found. By comparing the similarity of the loop closure factors of each frame of point cloud data, the loop closure frame point cloud data is found, thereby making the final target map more accurate.

[0076] Optionally, the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data is optimized based on the loopback frame point cloud data to obtain the third pose transformation between the keyframe point cloud data, including: constructing a target map based on the first pose transformation, wherein the target map contains multiple nodes and the association relationship between any two nodes, and the multiple nodes correspond one-to-one with the multiple frames of point cloud data; constructing constraints on the target map based on adjacent keyframe point cloud data and loopback frame point cloud data; and optimizing the target map based on the constraints of the target map to obtain the third pose transformation.

[0077] The target graph described above can be a factor graph of the probability graph obtained by factoring the function, which consists of variable nodes and function nodes. Multiple nodes can be variable nodes and function nodes from the first pose transformation.

[0078] In one optional embodiment, a target graph is constructed based on the first pose transformation, and constraints corresponding to the GTSAM factor graph are constructed based on the loop closure frame point cloud data and the key frame point cloud data. The constraints of the factor graph are then used to optimize the factor graph, resulting in the third pose transformation of the optimized key frame point cloud data.

[0079] Optionally, generating a target map based on a third pose transformation and a first motion pose includes: determining a first constraint relationship between two adjacent keyframe point cloud data based on the correspondence between the third pose transformation and the first motion pose, wherein the first constraint relationship is used to characterize the edge connecting the two adjacent keyframe point cloud data; determining a second constraint relationship between two adjacent keyframe point cloud data based on the first motion pose, wherein the second constraint relationship is used to characterize the constraint relationship between adjacent keyframe point cloud data output by satellite positioning and navigation according to the first motion pose; and generating a target map based on the first constraint relationship and the second constraint relationship.

[0080] The first constraint relationship mentioned above can be the connection relationship between the current keyframe point cloud data and the point cloud data of adjacent keyframes. The second constraint relationship can be the connection relationship between the current keyframe point cloud data output by the satellite navigation system based on the first motion pose and the point cloud data of adjacent keyframes.

[0081] In an optional embodiment, a target map is generated based on the third pose transformation and the first motion pose of the target vehicle. The flowchart for the pose map matching stage in this embodiment is as follows: Figure 8As shown, based on the correspondence between the third pose transformation and the first motion pose, the first constraint relationship between the key frame point cloud data and the point cloud data of two adjacent key frames is determined. The GNSS outputs the corresponding second constraint relationship based on the first motion pose of the target vehicle. When the loss value between the first constraint relationship and the second constraint relationship is greater than the preset loss value, the second constraint relationship needs to be iterated continuously to obtain the third constraint relationship after adjusting the second constraint relationship. The target map is generated based on the third constraint relationship and the third pose transformation.

[0082] It should be noted that cumulative errors exist during the matching process. To reduce the impact of error factors, global optimization of the pose graph is adopted to balance the cumulative errors, so that the key frame poses of the collected point cloud data are accurate. This is mainly achieved by using high-precision GNSS to measure the relative pose of the radar relative to the reference point at the current moment, i.e., the measured value, and the inter-frame relative pose obtained after registration, i.e., the prior estimate. After optimization, the true pose of the current frame is obtained, i.e., the posterior optimal estimate. This can average the cumulative error to each key frame, resulting in better mapping results.

[0083] Further, based on the first and second constraint relationships, a target map is generated, including: constructing a first loss value based on the first and second constraint relationships; adjusting the second constraint relationship in response to the first loss value being greater than a preset loss value to obtain a third constraint relationship, until the second loss value established based on the first and third constraint relationships is less than or equal to the preset loss value; and generating the target map based on the third pose transformation and the third constraint relationship.

[0084] The first loss value mentioned above can be the difference between the first and second constraints as the second constraint iteratively approximates the first constraint. The preset loss value can be a pre-set maximum loss value used to determine if the second constraint successfully approximates the first constraint. The third constraint can be the constraint obtained by iteratively applying the second constraint.

[0085] In one optional embodiment, the first constraint relationship and the second constraint relationship are subtracted to obtain a first loss value. When the first loss value is greater than a preset loss value, the second constraint relationship is iterated continuously using the least squares method to make the second constraint relationship approximate the first constraint relationship, thereby obtaining a third constraint relationship after iterating the second constraint relationship. The difference between the third constraint relationship and the first constraint relationship is less than or equal to the preset loss value. Then, the target map is generated based on the third pose transformation and the third constraint relationship.

[0086] The following is combined Figure 9 A preferred embodiment of the present invention will be described in detail, such as... Figure 9As shown, in the inertial unit processing stage, after acquiring the driving data of the target vehicle during its movement, the driving data is processed to obtain the first motion attitude of the target vehicle in the radar coordinate system within one frame. Combined with radar point cloud data, the point cloud data is processed in the point cloud preprocessing stage, extracting features and classifying the point cloud. In the SCAN-SCAN inter-frame matching stage, the pose relationship between multiple frames of point cloud data is obtained, and normal distribution matching is performed on adjacent two frames of point cloud data to obtain the first pose transformation. In the keyframe local small loop closure stage, the keyframe point cloud data is determined based on the first pose transformation, and a local "small loop" is constructed for adjacent keyframe point cloud data, thereby making the pose relationship more accurate. In the SCAN-MAP frame and map matching stage, a local map is constructed based on the keyframe point cloud data, and the local map is matched with the keyframe point cloud data to obtain the second pose transformation. In the keyframe spatial large loop closure matching stage, a closure factor is constructed based on the second pose transformation, thereby finding the closure frame point cloud data corresponding to highly similar closure factors, and optimizing the closure frame point cloud data to obtain the constrained third pose transformation. Finally, in the pose graph matching stage, constraint relationships are constructed, and the target map is generated using the constraint relationships and the third pose transformation.

[0087] Example 2

[0088] According to another aspect of the present invention, a vehicle control device is also provided, which can execute the vehicle control method in the above embodiments. The specific implementation and preferred application scenarios are the same as those in the above embodiments, and will not be described in detail here.

[0089] Figure 3 This is a schematic diagram of a map generation apparatus according to an embodiment of the present invention, such as... Figure 10 As shown, the device includes the following components: an acquisition module 1002, a first determination module 1004, a second determination module 1006, and a generation module 1008.

[0090] The acquisition module 1002 is used to acquire the first motion pose of the target vehicle and the sensing data of the surrounding environment of the target vehicle during the driving process. The sensing data includes at least: multi-frame point cloud data.

[0091] The first determining module 1004 is used to determine the initial pose of two adjacent frames of point cloud data in the multi-frame point cloud data based on the first motion pose and multi-frame point cloud data.

[0092] The second determining module 1006 is used to determine the first pose transformation of two adjacent point cloud data based on the normal distribution matching of the initial pose of two adjacent point cloud data.

[0093] The generation module 1008 is used to generate a target map based on the first pose transformation and multi-frame point cloud data.

[0094] Optionally, the generation module includes: a first determining unit, configured to determine a second pose transformation of keyframe point cloud data in multi-frame point cloud data relative to a first frame point cloud data in multi-frame point cloud data based on a first pose transformation, wherein the first frame point cloud data is used to characterize the point cloud data acquired by the target vehicle at startup; a second determining unit, configured to determine loop-loop point cloud data in keyframe point cloud data based on time and distance information between keyframe point cloud data; an optimization unit, configured to optimize the second pose transformation of keyframe point cloud data relative to the first frame point cloud data based on the loop-loop point cloud data to obtain a third pose transformation between keyframe point cloud data; and a generation unit, configured to generate a target map based on the third pose transformation and the first motion pose.

[0095] Optionally, the first determining unit includes: a first determining subunit, used to determine key frame point cloud data in two adjacent frame point cloud data based on the first pose transformation; and a second determining subunit, used to determine the second pose transformation of the key frame point cloud data relative to the first frame point cloud data based on the first pose transformation between the key frame point cloud data.

[0096] Optionally, the first determining subunit further includes: determining the translation information of the relative pose of two adjacent frame point cloud data based on the first pose transformation; and determining the two adjacent frame point cloud data as key frame point cloud data in response to the translation information of the two adjacent frame point cloud data being greater than a first preset threshold.

[0097] Optionally, the second determining subunit further includes: constructing a local map based on the keyframe point cloud data; and matching the local map with the first pose transformation between the keyframe point cloud data to determine the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data.

[0098] Optionally, the second determining unit includes: a first constructing subunit, used to construct a first loop closure factor corresponding to the keyframe point cloud data based on a second pose transformation of the keyframe point cloud data relative to the first frame point cloud data; a third determining subunit, used to determine a second loop closure factor among the first loop closure factors with a similarity greater than a preset similarity, wherein the time information and distance information between the second frame point cloud data corresponding to the second loop closure factor satisfy a preset threshold; and a fourth determining subunit, used to determine the loop closure frame point cloud data based on the second frame point cloud data.

[0099] Optionally, the optimization unit includes: a second construction subunit for constructing a target map based on the first pose transformation, wherein the target map contains multiple nodes and the association relationship between any two nodes, and the multiple nodes correspond one-to-one with multiple frames of point cloud data; a third construction subunit for constructing constraints on the target map based on adjacent key frame point cloud data and loop closure frame point cloud data; and an optimization subunit for optimizing the target map based on the constraints of the target map to obtain a third pose transformation.

[0100] Optionally, the generation unit includes: a fifth determining subunit, used to determine a first constraint relationship between two adjacent keyframe point cloud data in the keyframe point cloud data based on the correspondence between the third pose transformation and the first motion pose, wherein the first constraint relationship is used to characterize the edge connecting the two adjacent keyframe point cloud data; a sixth determining subunit, used to determine a second constraint relationship between two adjacent keyframe point cloud data based on the first motion pose, wherein the second constraint relationship is used to characterize the constraint relationship between adjacent keyframe point cloud data output by satellite positioning and navigation according to the first motion pose; and a generation subunit, used to generate a target map based on the first constraint relationship and the second constraint relationship.

[0101] Optionally, the generation sub-unit further includes: constructing a first loss value based on the first and second constraint relationships; adjusting the second constraint relationship to obtain a third constraint relationship in response to the first loss value being greater than a preset loss value, until the second loss value established based on the first and third constraint relationships is less than or equal to the preset loss value; and generating a target map based on the third pose transformation and the third constraint relationship.

[0102] Example 3

[0103] According to another aspect of the present invention, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored program, wherein, when the program is executed, it controls the device where the computer-readable storage medium is located to perform the vehicle control method of the above embodiments.

[0104] Example 4

[0105] According to another aspect of the present invention, an electronic device is also provided, comprising: one or more processors; a storage device for storing one or more programs; and, when the one or more programs are executed by the one or more processors, causing the one or more processors to perform the vehicle control method of the above embodiments.

[0106] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0107] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0108] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.

[0109] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0110] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0111] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0112] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. A map generation method characterized by comprising: include: During the driving process of the target vehicle, the first motion pose of the target vehicle and the sensing data of the surrounding environment of the target vehicle are acquired, wherein the sensing data includes at least: multi-frame point cloud data; Based on the first motion pose and the multi-frame point cloud data, determine the initial pose of two adjacent frames of point cloud data in the multi-frame point cloud data. Based on the normal distribution matching of the initial pose of the two adjacent frames of point cloud data, the first pose transformation of the two adjacent frames of point cloud data is determined. Generate a target map based on the first pose transformation and the first motion pose; Generating a target map based on the first pose transformation and the first motion pose includes: determining a second pose transformation of keyframe point cloud data in the multi-frame point cloud data relative to a first frame point cloud data in the multi-frame point cloud data, wherein the first frame point cloud data is used to represent the point cloud data acquired by the target vehicle at startup; determining loop-loop point cloud data in the keyframe point cloud data based on time and distance information between the keyframe point cloud data; optimizing the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data based on the loop-loop point cloud data to obtain a third pose transformation between the keyframe point cloud data; and generating the target map based on the third pose transformation and the first motion pose.

2. The method according to claim 1, characterized in that, Based on the first pose transformation, determining the second pose transformation of the keyframe point cloud data in the multi-frame point cloud data relative to the first frame point cloud data includes: Based on the first pose transformation, the key frame point cloud data in the two adjacent frame point cloud data is determined; Based on the first pose transformation between the keyframe point cloud data, the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data is determined.

3. The method according to claim 2, characterized in that, Based on the first pose transformation, the keyframe point cloud data in the two adjacent frame point cloud data is determined, including: Based on the first pose transformation, the translation information of the relative pose of the two adjacent frame point cloud data is determined; In response to the translation information of the two adjacent frame point cloud data being greater than a first preset threshold, the two adjacent frame point cloud data are determined to be the key frame point cloud data.

4. The method according to claim 2, characterized in that, Based on the first pose transformation between the keyframe point cloud data, determining the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data includes: A local map is constructed based on the keyframe point cloud data; Based on the first pose transformation between the keyframe point cloud data, it is matched with the local map to determine the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data.

5. The method according to claim 1, characterized in that, Based on the time and distance information between the keyframe point cloud data, the loopback frame point cloud data in the keyframe point cloud data is determined, including: Based on the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data, a first closure factor corresponding to the keyframe point cloud data is constructed. Determine a second loop factor in the first loop factor whose similarity is greater than a preset similarity, wherein the time information and distance information between the second frame point cloud data corresponding to the second loop factor meet a preset threshold; The loopback frame point cloud data is based on the second frame point cloud data.

6. The method according to claim 1, characterized in that, Based on the loopback frame point cloud data, the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data is optimized to obtain a third pose transformation between the keyframe point cloud data, including: A target map is constructed based on the first pose transformation, wherein the target map contains multiple nodes and the association relationship between any two nodes, and the multiple nodes correspond one-to-one with the multi-frame point cloud data; The constraints of the target graph are constructed based on the point cloud data of adjacent key frames and the point cloud data of the loopback frames; The target map is optimized based on the constraints of the target map to obtain the third pose transformation.

7. The method according to claim 1, characterized in that, Based on the third pose transformation and the first motion pose, the target map is generated, including: Based on the correspondence between the third pose transformation and the first motion pose, a first constraint relationship between two adjacent key frame point cloud data is determined in the key frame point cloud data, wherein the first constraint relationship is used to characterize the edge connecting the two adjacent key frame point cloud data. Based on the first motion pose, a second constraint relationship is determined between the point cloud data of two adjacent key frames, wherein the second constraint relationship is used to characterize the constraint relationship between the point cloud data of adjacent key frames output by satellite positioning and navigation according to the first motion pose. The target map is generated based on the first constraint relationship and the second constraint relationship.

8. The method according to claim 7, characterized in that, Generating the target map based on the first constraint relationship and the second constraint relationship includes: Based on the first constraint relationship and the second constraint relationship, a first loss value is constructed; In response to the first loss value being greater than a preset loss value, the second constraint relationship is adjusted to obtain a third constraint relationship until the second loss value established based on the first constraint relationship and the third constraint relationship is less than or equal to the preset loss value; The target map is generated based on the third pose transformation and the third constraint relationship.

9. A map generation device, characterized in that, include: The acquisition module is used to acquire the first motion pose of the target vehicle and the sensing data of the surrounding environment of the target vehicle during the driving process. The sensing data includes at least: multi-frame point cloud data. The first determining module is used to determine the initial pose of two adjacent frames of point cloud data in the multi-frame point cloud data based on the first motion pose and the multi-frame point cloud data. The second determining module is used to determine the first pose transformation of the two adjacent point cloud data based on the normal distribution matching of the initial pose of the two adjacent point cloud data. The generation module is used to generate a target map based on the first pose transformation and the multi-frame point cloud data; The generation module is further configured to: determine a second pose transformation of keyframe point cloud data in the multi-frame point cloud data relative to a first frame point cloud data in the multi-frame point cloud data, based on the first pose transformation, wherein the first frame point cloud data is used to characterize the point cloud data acquired by the target vehicle at startup; determine loop-loop point cloud data in the keyframe point cloud data based on the time and distance information between the keyframe point cloud data; optimize the second pose transformation of the keyframe point cloud data relative to the first frame point cloud data based on the loop-loop point cloud data to obtain a third pose transformation between the keyframe point cloud data; and generate the target map based on the third pose transformation and the first motion pose.