A pose optimization method and device

By optimizing the positional position of the point cloud data collected by unmanned driving equipment, the problem of inaccurate position of the equipment is solved and the accuracy of building high-precision maps is improved.

CN114332226BActive Publication Date: 2025-05-27BEIJING SANKUAI ONLINE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111650278.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-30
Publication Date
2025-05-27
Estimated Expiration
2041-12-30

AI Technical Summary

Technical Problem

In the field of unmanned driving, it is difficult for the prior art to accurately determine the position of the acquisition equipment, which affects the accuracy of building high-precision maps.

Method used

By obtaining the point cloud data collected by the designated device, dividing each set of point cloud data, determining the relative pose of point cloud data for every two frames and the pose estimation value of point cloud data for each frame, calculating the relative pose residual and its weight, and compensating, and finally optimizing the pose estimation value of the device when collecting point cloud data for every frame.

Benefits of technology

It improves the accuracy of pose estimation values ​​and enhances the accuracy of high-precision map construction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114332226B_ABST
    Figure CN114332226B_ABST
Patent Text Reader

Abstract

This specification discloses a pose optimization method and device, which relates to the field of driverless driving. It can obtain a number of point cloud data collected by a specified device, and for each group of point cloud data, determine the relative pose of the specified device when collecting every two frames of point cloud data in this group of point cloud data, and determine the pose estimation values respectively corresponding to each frame of point cloud data when collecting this group of point cloud data. According to the pose estimation values and the relative pose, determine the relative pose residual corresponding to this group of point cloud data, and determine the weight of the relative pose residual corresponding to this group of point cloud data, and compensate the relative pose residual corresponding to this group of point cloud data to obtain a compensated relative pose residual. According to the compensated relative pose residuals corresponding to each group of point cloud data, determine the comprehensive residual, and with the goal of minimizing the comprehensive residual, optimize the pose estimation value corresponding to each frame of point cloud data, so as to be able to improve the accuracy of the optimized pose estimation value to a certain extent.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of driverless, and particularly to a pose optimization method and device. Background Art

[0002] In the field of driverless, the accurate determination of pose can affect the accuracy of the constructed high-precision map. That is, in the process of constructing a high-precision map, it is necessary to determine the pose of the acquisition device that acquires point cloud data, so as to convert the point cloud data into the world coordinate system for constructing a high-precision map through the point cloud data. Therefore, the accuracy of the pose of the acquisition device will affect the accuracy of the constructed high-precision map.

[0003] In the prior art, the pose of the acquisition device when acquiring each frame of point cloud data can be directly obtained by matching the acquired point cloud data, etc., but this method may have certain inaccuracies.

[0004] Therefore, how to improve the accuracy of the determined pose is an urgent problem to be solved. Summary of the Invention

[0005] This specification provides a pose optimization method and device to partially solve the above problems existing in the prior art.

[0006] This specification adopts the following technical solutions:

[0007] This specification provides a pose optimization method, including:

[0008] Obtain a plurality of point cloud data acquired by a specified device;

[0009] For each group of point cloud data divided from the plurality of point cloud data, determine the relative pose of the specified device when acquiring every two frames of point cloud data in this group of point cloud data, and determine the pose estimation value corresponding to each frame of point cloud data when the specified device acquires this group of point cloud data. Each group of point cloud data contains at least two frames of point cloud data, and there are mutually matching point cloud points between any two frames of point cloud data in a group of point cloud data;

[0010] Determine the relative pose residual corresponding to this group of point cloud data according to the pose estimation value and the relative pose, and determine the weight of the relative pose residual corresponding to this group of point cloud data;

[0011] Compensate the relative pose residual corresponding to this group of point cloud data according to the weight of the relative pose residual corresponding to this group of point cloud data to obtain the compensated relative pose residual corresponding to this group of point cloud data;

[0012] Based on the compensated relative pose residuals corresponding to each group of point cloud data, determine the comprehensive residual, and optimize the pose estimation value of the specified device when collecting each frame of point cloud data with the goal of minimizing the comprehensive residual.

[0013] Optionally, determine the relative pose residual corresponding to this group of point cloud data according to the pose estimation value and the relative pose, specifically including:

[0014] For every two frames of point cloud data in this group of point cloud data, determine the pose estimation values respectively corresponding to these two frames of point cloud data, and the relative pose of the specified device when collecting these two frames of point cloud data;

[0015] According to the relative pose of the specified device when collecting these two frames of point cloud data and the pose estimation values respectively corresponding to these two frames of point cloud data, determine the relative pose residual corresponding to these two frames of point cloud data;

[0016] Use the relative pose residuals corresponding to every two frames of point cloud data in this group of point cloud data as the relative pose residual corresponding to this group of point cloud data.

[0017] Optionally, determine the weight of the relative pose residual corresponding to this group of point cloud data, specifically including:

[0018] Determine the overlap degree between every two frames of point cloud data in this group of point cloud data;

[0019] According to the overlap degree between every two frames of point cloud data in this group of point cloud data, determine the weight of the relative pose residual corresponding to this group of point cloud data, where the higher the overlap degree, the higher the weight of the relative pose residual.

[0020] Optionally, determine the weight of the relative pose residual corresponding to this group of point cloud data, specifically including:

[0021] According to the positioning data collected by at least one positioning sensor, determine the observed pose of the specified device when collecting each frame of point cloud data;

[0022] According to the observed pose, determine the observed relative pose of the specified device when collecting every two frames of point cloud data in this group of point cloud data;

[0023] Determine the degree of difference between the observed relative pose of the specified device when collecting every two frames of point cloud data in this group of point cloud data and the relative pose of the specified device when collecting every two frames of point cloud data determined based on the point cloud data, and according to the degree of difference, determine the weight of the relative pose residual corresponding to this group of point cloud data, where the greater the degree of difference, the lower the weight of the relative pose.

[0024] Optionally, determine the weight of the relative pose residual corresponding to this group of point cloud data, specifically including:

[0025] For each round of iterative optimization, determine the optimized pose corresponding to each frame of point cloud data obtained after the previous round of iterative optimization;

[0026] According to the optimized poses corresponding to each frame of point cloud data in this set of point cloud data obtained after the previous round of iterative optimization, re-determine the relative pose residuals of this set of point cloud data in the current round of iterative optimization;

[0027] According to the relative pose residuals of this set of point cloud data in the current round of iterative optimization re-determined, determine the weights corresponding to the relative pose residuals of this set of point cloud data in the current round of iterative optimization, where the smaller the re-determined relative pose residuals, the higher the weights corresponding to the relative pose residuals in the current round of iterative optimization;

[0028] According to the weights of the relative pose residuals corresponding to this set of point cloud data, compensate the relative pose residuals corresponding to this set of point cloud data to obtain the compensated relative pose residuals corresponding to this set of point cloud data, specifically including:

[0029] In the current round of iterative optimization, according to the weights corresponding to the relative pose residuals of this set of point cloud data in the current round of iterative optimization determined, compensate the relative pose residuals of this set of point cloud data in the current round of iterative optimization re-determined to obtain the compensated relative pose residuals corresponding to this set of point cloud data.

[0030] Optionally, before determining the comprehensive residuals according to the compensated pose residuals corresponding to each group of point cloud data, the method further includes:

[0031] According to the positioning data collected by at least one positioning sensor, determine the observed pose of the specified device when collecting each frame of point cloud data;

[0032] For each frame of point cloud data, according to the pose estimation value corresponding to this point cloud data and the observed pose of the specified device when collecting each frame of point cloud data, determine the pose residuals corresponding to this point cloud data;

[0033] According to the compensated relative pose residuals corresponding to each group of point cloud data, determine the comprehensive residuals. Specifically including:

[0034] According to the pose residuals corresponding to each frame of point cloud data in the several point cloud data and the compensated relative pose residuals corresponding to each group of point cloud data, determine the comprehensive residuals.

[0035] Optionally, according to the pose residuals corresponding to each frame of point cloud data in the several point cloud data and the compensated pose residuals corresponding to each group of point cloud data, determine the comprehensive residuals, specifically including:

[0036] For each frame of point cloud data among the plurality of point cloud data, according to the determined weight of the pose residual corresponding to the point cloud data, compensate the pose residual corresponding to the point cloud data to obtain the compensated pose residual corresponding to the point cloud data;

[0037] Determine the comprehensive residual according to the compensated pose residuals corresponding to the plurality of point cloud data and the compensated relative pose residuals corresponding to each group of point cloud data.

[0038] Optionally, determining the weight of the pose residual corresponding to the point cloud data specifically includes:

[0039] According to the standard deviation of the observed pose of the specified device when collecting the point cloud data determined based on the positioning sensor, determine the weight of the pose residual corresponding to the point cloud data; and / or

[0040] According to the basic sensor information corresponding to the positioning sensor, determine the weight of the pose residual corresponding to the point cloud data; and / or

[0041] According to the observed poses of the point cloud data adjacent to the point cloud data, determine the weight of the pose residual corresponding to the point cloud data.

[0042] Optionally, each group of point cloud data includes at least one group of specified point cloud data. For each group of specified point cloud data, the acquisition positions corresponding to each frame of point cloud data in the group of specified point cloud data do not exceed a set distance, or the similarity between the point cloud features corresponding to each frame of point cloud data in the group of specified point cloud data is not less than a set similarity.

[0043] Optionally, the method further includes:

[0044] Construct a high-precision map according to the plurality of point cloud data and the optimized pose estimation values of the specified device when collecting each frame of point cloud data.

[0045] This specification provides a pose optimization device, including:

[0046] An acquisition module, configured to acquire a plurality of point cloud data collected by a specified device;

[0047] A division module, configured to, for each group of point cloud data divided from the plurality of point cloud data, determine the relative pose of the specified device when collecting every two frames of point cloud data in the group of point cloud data, and determine the pose estimation values respectively corresponding to each frame of point cloud data in the group of point cloud data. Each group of point cloud data contains at least two frames of point cloud data, and there are mutually matching point cloud points between any two frames of point cloud data in a group of point cloud data;

[0048] A weight determination module, configured to determine a relative pose residual corresponding to the set of point cloud data and determine a weight of the relative pose residual corresponding to the set of point cloud data according to the pose estimation value and the relative pose;

[0049] A compensation module, configured to compensate the relative pose residual corresponding to the set of point cloud data according to the weight of the relative pose residual corresponding to the set of point cloud data, so as to obtain a compensated relative pose residual corresponding to the set of point cloud data;

[0050] An optimization module, configured to determine a comprehensive residual according to the compensated relative pose residuals corresponding to each set of point cloud data, and optimize the pose estimation value of the specified device when collecting each frame of point cloud data with the goal of minimizing the comprehensive residual.

[0051] This specification provides a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, the above-mentioned pose optimization method is implemented.

[0052] This specification provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, and when the processor executes the program, the above-mentioned pose optimization method is implemented.

[0053] At least one of the above technical solutions adopted in this specification can achieve the following beneficial effects:

[0054] It can be seen from the pose optimization method and device provided in this specification that the server can obtain a plurality of point cloud data collected by a specified device, and for each set of point cloud data divided from the plurality of point cloud data, according to the set of point cloud data, determine the relative pose of the specified device when collecting every two frames of point cloud data in the set of point cloud data, and determine the pose estimation value corresponding to each frame of point cloud data when the specified device collects the set of point cloud data. Each set of point cloud data contains at least two frames of point cloud data, and there are mutually matching point cloud points between any two frames of point cloud data in a set of point cloud data. According to the pose estimation value and the relative pose, determine the relative pose residual corresponding to the set of point cloud data and determine the weight of the relative pose residual corresponding to the set of point cloud data. According to the weight of the relative pose residual corresponding to the set of point cloud data, compensate the relative pose residual corresponding to the set of point cloud data to obtain a compensated relative pose residual corresponding to the set of point cloud data. According to the compensated relative pose residuals corresponding to each set of point cloud data, determine a comprehensive residual, and with the goal of minimizing the comprehensive residual, optimize the pose estimation value of the specified device when collecting each frame of point cloud data.

[0055] As can be seen from the above, this method can determine the relative pose residuals corresponding to each group of point cloud data, as well as the weights of the relative pose residuals corresponding to each group of point cloud data. By combining the relative pose residuals corresponding to each frame of point cloud data and the weights of the relative pose residuals, the accuracy of the relative pose is used as a constraint to optimize the poses of several point cloud data as a whole, thereby improving the accuracy of the optimized pose estimation value to a certain extent. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] The drawings described herein are used to provide a further understanding of this specification and form a part of this specification. The illustrative embodiments of this specification and their descriptions are used to explain this specification and do not constitute an improper limitation of this specification. In the drawings:

[0057] Figure 1 is a schematic flowchart of a pose optimization method in this specification;

[0058] Figure 2 is a schematic flowchart of a pose optimization in this specification;

[0059] Figure 3 is a schematic diagram of a pose optimization device provided in this specification;

[0060] Figure 4 corresponding to that provided in this specification Figure 1 schematic diagram of an electronic device. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0061] To make the purpose, technical solutions, and advantages of this specification clearer, the technical solutions of this specification will be clearly and completely described below in conjunction with the specific embodiments of this specification and the corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, rather than all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of this specification.

[0062] The following will detail the technical solutions provided in each embodiment of this specification with reference to the drawings.

[0063] Figure 1 is a schematic flowchart of a pose optimization method in this specification, specifically including the following steps:

[0064] S101: Obtain several pieces of point cloud data collected by a specified device.

[0065] S102: For each group of the point cloud data divided from the several groups of point cloud data, based on this group of point cloud data, determine the relative pose of the specified device when collecting every two frames of point cloud data in this group of point cloud data, and determine the pose estimation value corresponding to each frame of point cloud data when the specified device collects this group of point cloud data. Each group of point cloud data contains at least two frames of point cloud data, and there are mutually matching point cloud points between any two frames of point cloud data in a group of point cloud data.

[0066] In the field of unmanned driving devices, during the construction of a high-precision map, after a specified device (such as a map collection vehicle, an unmanned driving device equipped with sensors such as lidar) collects point cloud data, it is necessary to determine the accurate pose of the specified device when collecting each frame of point cloud data, so as to ensure that when constructing a high-precision map with the point cloud data collected by the specified device subsequently, an accurate high-precision map can be constructed.

[0067] Therefore, the pose optimization method provided in this specification is mainly used to optimize the pose of the specified device when collecting each frame of point cloud data. Based on this, the server can obtain several groups of point cloud data collected by the specified device, and for each group of point cloud data divided from the several groups of point cloud data, and based on this group of point cloud data, determine the relative pose of the specified device when collecting every two frames of point cloud data in this group of point cloud data, and determine the pose estimation value corresponding to each frame of point cloud data when the specified device collects this group of point cloud data.

[0068] The relative pose of the specified device when collecting two frames of point cloud data, that is, the relative relationship between the poses of the specified device when collecting two frames of point cloud data. The relative pose mentioned here can be obtained by performing point cloud matching on the two frames of point cloud data. For example, the relative pose can be obtained through the Icp point cloud matching algorithm; for another example, some point clouds with certain characteristics in the two frames of point cloud data can be determined, such as plane point clouds, tree trunk point clouds (point clouds in the shape of tree trunks), etc., and by determining the position difference relationship of the part of the point clouds with the same characteristics in the two frames of point cloud data, the relative pose of the specified device when in the two frames of point cloud data can be obtained.

[0069] Among them, each group of point cloud data contains at least two frames of point cloud data, and there are mutually matching point cloud points between any two frames of point cloud data in a group of point cloud data, that is, there are overlapping point cloud points between the two frames of point cloud data. Of course, each group of point cloud data can only include two frames of point cloud data. When determining the relative pose, only the relative pose between the poses corresponding to the specified device when collecting these two frames of point cloud data needs to be determined. If each group of point cloud data includes more than two frames of point cloud data, then the relative pose between the poses corresponding to the specified device when collecting every two frames of point cloud data in this group of point cloud data can be determined.

[0070] S103: Determine the relative pose residual corresponding to this set of point cloud data based on the pose estimation value and the relative pose, and determine the weight of the relative pose residual corresponding to this set of point cloud data.

[0071] S104: Compensate the relative pose residual corresponding to this set of point cloud data according to the weight of the relative pose residual corresponding to this set of point cloud data to obtain the compensated relative pose residual corresponding to this set of point cloud data.

[0072] After determining the pose estimation value (which can be an unknown or the pose estimation value obtained in the previous iteration during iterative optimization) of the specified device when collecting each frame of point cloud data in this set of point cloud data, and the relative pose between the poses of the specified device when collecting every two frames of point cloud data, based on the pose estimation value of the specified device when collecting each frame of point cloud data and the relative pose between the poses of the specified device when collecting every two frames of point cloud data in this set of point cloud data, the relative pose residual corresponding to this set of point cloud data can be determined, and the weight of the relative pose residual corresponding to this set of point cloud data can be determined.

[0073] That is to say, through the pose estimation value corresponding to each frame of point cloud data in this set of point cloud data, the estimated value of the relative pose corresponding to every two frames of point cloud data can be determined through the pose estimation value corresponding to each frame of point cloud data. Thus, based on the difference between the estimated value of the relative pose corresponding to every two frames of point cloud data and the relative pose obtained by matching between point cloud data, the weight of the relative pose residual corresponding to this set of point cloud data can be obtained.

[0074] Specifically, for every two frames of point cloud data in this set of point cloud data, the pose estimation values respectively corresponding to these two frames of point cloud data and the relative pose of the specified device when collecting these two frames of point cloud data can be determined. Then, based on the relative pose of the specified device when collecting these two frames of point cloud data and the pose estimation values respectively corresponding to these two frames of point cloud data, the relative pose residual corresponding to these two frames of point cloud data can be determined, and the relative pose residuals corresponding to every two frames of point cloud data in this set of point cloud data can be used as the relative pose residual corresponding to this set of point cloud data. Of course, if this set of point cloud data only contains two frames of point cloud data, the relative pose residual corresponding to these two frames of point cloud data can be directly determined as the relative pose residual corresponding to this set of point cloud data.

[0075] In this specification, there can be multiple ways to determine the weight of the relative pose residual corresponding to a set of point cloud data: First, the overlap degree between every two frames of point cloud data in this set of point cloud data can be determined, and based on the overlap degree between every two frames of point cloud data in this set of point cloud data, the weight of the relative pose residual corresponding to this set of point cloud data can be determined, where the higher the overlap degree, the higher the weight of the relative pose residual.

[0076] Since there may be more than two frames of point cloud data in a set of point cloud data, therefore, the relative pose residuals corresponding to a set of point cloud data can include the relative pose residuals corresponding to every two frames of point cloud data in this set of point cloud data. Thus, the weights of the relative pose residuals corresponding to a set of point cloud data can include the weights of the relative pose residuals corresponding to every two frames of point cloud data in this set of point cloud data. For every two frames of point cloud data, if the overlap degree between these two frames of point cloud data is relatively high, then the higher the overlap degree between these two frames of point cloud data, the higher the weight of the relative pose residuals corresponding to these two frames of point cloud data can be. This is because if the overlap degree between two frames of point cloud data is low, it is possible that the environment has changed to a certain extent when the specified acquisition device acquires these two frames of point cloud data. Therefore, if the overlap degree is low, the weight can be set lower.

[0077] Second, based on the positioning data collected by at least one positioning sensor, the observed pose of the specified device when acquiring each frame of point cloud data can be determined, and the observed relative pose of the specified device when acquiring every two frames of point cloud data in this set of point cloud data can be determined, so as to determine the difference degree between the observed relative pose of the specified device when acquiring every two frames of point cloud data in this set of point cloud data and the relative pose of the specified device when acquiring every two frames of point cloud data in this set of point cloud data, and based on this difference degree, the weight of the relative pose residuals corresponding to this set of point cloud data can be determined, where the greater the difference degree, the lower the weight of the relative pose residuals.

[0078] Similarly, the weights of the relative pose residuals corresponding to a set of point cloud data can include the weights of the relative pose residuals corresponding to every two frames of point cloud data in this set of point cloud data. Thus, for every two frames of point cloud data in this set of point cloud data, if the difference degree between the observed relative pose corresponding to these two frames of point cloud data and the relative pose directly determined based on these two frames of point cloud data is greater, the weight of the relative pose residuals corresponding to these two frames of point cloud data is lower.

[0079] Third, during the iterative optimization process, in each round of iterative optimization, the relative pose residuals within this round can be recalculated using the pose estimation value obtained after the optimization in the previous round, and based on the recalculated relative pose residuals, the weights of the relative pose residuals within this round can be determined. That is, for each round of iterative optimization, the optimized pose corresponding to each frame of point cloud data obtained after the previous round of iterative optimization can be determined, and based on the optimized poses corresponding to each frame of point cloud data in this set of point cloud data obtained after the previous round of iterative optimization, the relative pose residuals of this set of point cloud data in the current round of iterative optimization can be re-determined, and based on the re-determined relative pose residuals of this set of point cloud data in the current round of iterative optimization, the weights corresponding to the relative pose residuals of this set of point cloud data in the current round of iterative optimization can be determined, where the smaller the re-determined relative pose residuals, the higher the weights corresponding to the relative pose residuals in the current round of iterative optimization.

[0080] Finally, in the current round of iterative optimization, according to the weights corresponding to the relative pose residuals of this group of point cloud data in the current round of iterative optimization, the relative pose residuals of this group of point cloud data in the re-determined current round of iterative optimization can be compensated to obtain the compensated relative pose residuals corresponding to this group of point cloud data, so that according to the compensated relative pose residuals, the pose estimation value can be optimized in the current round of iterative optimization.

[0081] That is to say, the optimization of the pose estimation value when the specified device collects each frame of point cloud data can have multiple rounds of iteration. In each round of iteration, the pose estimation value obtained by the above optimization can be used as the initial value of the pose estimation value of the point cloud data in this round. Through this initial value, the matching between the point cloud data can be re-performed, so as to re-calculate the relative pose when the specified device collects a group of point cloud data for every two frames of point cloud data in this round. Furthermore, the relative pose residuals corresponding to this group of point cloud data are re-calculated, and the weights of the relative pose residuals corresponding to this group of point cloud data are obtained through the re-calculated relative pose residuals corresponding to this group of point cloud data.

[0082] Similarly, the weights of the relative pose residuals corresponding to a group of point cloud data can include the weights of the relative pose residuals corresponding to every two frames of point cloud data in this group of point cloud data. Therefore, for every two frames of point cloud data in this group of point cloud data, the smaller the re-determined relative pose residuals corresponding to these two frames of point cloud data, the smaller the weights of the relative pose residuals corresponding to these two frames of point cloud data.

[0083] S105: Determine the comprehensive residual according to the compensated relative pose residuals corresponding to each group of point cloud data, and optimize the pose estimation value of the specified device when collecting each frame of point cloud data with the goal of minimizing the comprehensive residual.

[0084] After determining the compensated relative pose residuals corresponding to each group of point cloud data, the comprehensive residual can be determined, and with the goal of minimizing this comprehensive residual, the pose estimation value of the specified device when collecting each frame of point cloud data can be optimized. Among them, if several point cloud data are used to construct a high-precision map, then, according to the several point cloud data and the optimized pose estimation value of the specified device when collecting each frame of point cloud data, a high-precision map can be constructed.

[0085] Determine the relative pose residual after compensation. Before determining the comprehensive residual, the constraints on the pose of each frame of point cloud data can also be added to the comprehensive residual. That is, according to the positioning data collected by at least one positioning sensor, the observed pose of the specified device when collecting each frame of point cloud data can be determined, and for each frame of point cloud data, according to the pose estimation value corresponding to the point cloud data and the observed pose of the specified device when collecting each frame of point cloud data, the pose residual corresponding to the point cloud data can be determined (it can be understood that the pose residual is a constraint on a pose, and the relative pose residual is a constraint on the relative pose).

[0086] When determining the pose residual corresponding to a frame of point cloud data, the weight of the pose residual corresponding to the point cloud data can also be determined, so that when performing pose optimization, the weight of the pose residual corresponding to the point cloud data can be combined to perform pose optimization. Specifically, for each frame of point cloud data among several point cloud data, according to the determined compensated pose residual corresponding to the point cloud data, and according to the compensated pose residuals corresponding to the several point cloud data and the compensated relative pose residuals corresponding to each group of point cloud data, the comprehensive residual can be determined.

[0087] When determining the weight of the pose residual corresponding to a frame of point cloud data, the weight corresponding to the point cloud data can be determined according to the standard deviation of the observed pose of the specified device determined based on the positioning sensor when collecting each frame of point cloud data, and / or the weight of the pose residual corresponding to the point cloud data can be determined according to the basic sensor information corresponding to the positioning sensor, and / or the weight of the pose residual corresponding to the point cloud data can be determined according to the observed pose of the point cloud data adjacent to the point cloud data.

[0088] The above-mentioned positioning sensor can refer to a Global Positioning System (GPS) sensor, an Inertial Measurement Unit (IMU), etc. The above-mentioned standard deviation of the observed pose can be obtained through the GPS sensor and the IMU. If the standard deviation is high, it indicates that the error existing in the observed pose may be larger. Therefore, the higher the standard deviation, the lower the weight. The above-mentioned basic sensor information can include the number of satellites used by the GPS, the noise parameters of the IMU (such as zero bias, angular random walk), etc. If the number of satellites is more, the weight can be higher. If the noise parameter is higher, the weight can be smaller.

[0089] For the observed poses corresponding to the point cloud data adjacent to the point cloud data, the adjacent point cloud data mentioned here may refer to the point cloud data collected with a time interval not less than a set time interval from the collection time of the point cloud data. For example, the point cloud data collected within 1 s from the point cloud data. If the difference degree between the observed pose corresponding to the point cloud data and the observed pose corresponding to the adjacent point cloud data is greater, the weight of the pose residual corresponding to the point cloud data is smaller.

[0090] It should be noted that the above description is based on the server as the execution entity. Of course, the pose optimization method in this specification can also be executed by the specified device itself, and the specific execution entity is not limited here.

[0091] The above-mentioned unmanned devices may refer to devices that can achieve autonomous driving, such as unmanned vehicles, unmanned aerial vehicles, and automatic delivery devices. Based on this, the pose optimization method provided in this specification can be used for the construction of high-precision maps related to the driving of unmanned devices (it can also be used for the construction of ordinary electronic maps). The unmanned device can be specifically applied to the field of delivery by unmanned devices, such as business scenarios of using unmanned devices for express delivery, logistics, takeout, etc.

[0092] The point cloud data in a group of the above-mentioned point cloud data can be continuous in time, that is, a group of point cloud data contains point cloud data with relatively close collection times. Of course, in order to further ensure the accuracy of pose optimization, in each group of point cloud data, there can be at least one group of specified point cloud data. For each specified point cloud data, the collection positions corresponding to each frame of point cloud data in this group of specified point cloud data do not exceed a set distance, or the similarity between the point cloud features corresponding to each frame of point cloud data in this group of specified point cloud data is not less than a set similarity. That is, when performing pose optimization through the constraint of relative poses, not only the relative poses corresponding to the point cloud data with relatively close collection times need to be considered, but also the relative poses corresponding to the point cloud data with close collection positions can be considered, as Figure 2 shown.

[0093] Figure 2 This is a schematic diagram of pose optimization provided in this specification.

[0094] In Figure 2As shown, it is a schematic diagram of a specified device collecting point cloud data from point A until point G. When grouping the point cloud data, it can be grouped according to the time sequence. The point cloud data collected at point A and point B can be taken as a group, the point cloud data collected at point B and point C can be taken as a group, the point cloud data collected at point C and point D can be taken as a group, the point cloud data collected at point D and point E can be taken as a group, the point cloud data collected at point E and point F can be taken as a group, and the point cloud data collected at point F and point G can be taken as a group. Among them, although the collection of point cloud data at point A and point G is not continuous in time, since the collection positions of point A and point G are close, the point cloud data collected at point A and point G can also be taken as a group (in this example, it is illustrated with two frames of point cloud data as a group. In actual applications, more than two point cloud data can also be taken as a group).

[0095] When determining the specified group of point cloud data, the descriptor of the point cloud data can be calculated, and other point cloud data close to the collection position or point cloud features of the point cloud data can be determined as matching candidates. Then, a distance threshold is set. If the distance between the descriptors of the point cloud data and other point cloud data is less than the threshold, it is considered that the point cloud data and the other point cloud data can form the specified group of point cloud data. When determining the relative pose between the specified group of point cloud data, the relative pose relationship can be obtained through the method of global rough matching + fine matching.

[0096] When performing pose optimization, it is possible to determine the relative pose residuals between the poses corresponding to two frames of point cloud data in each group of point cloud data, or it is also possible to determine the pose residuals corresponding to each frame of point cloud data. That is to say, when optimizing the pose, both the error of the relative pose and the error of the pose are used as constraints to obtain the optimized accurate pose.

[0097] It can be seen from the above method that the pose optimization method provided by this method determines the relative pose residuals corresponding to each group of point cloud data, the weights of the relative pose residuals corresponding to each group of point cloud data, the pose residuals corresponding to each frame of point cloud data, the weights of the pose residuals corresponding to each frame of point cloud data, and combines the relative pose residuals corresponding to each frame of point cloud data, the weights of the relative pose residuals, the pose residuals corresponding to each frame of point cloud data, and the weights of the pose residuals. Overall, with the accuracy of the relative pose as a constraint, the poses of several point cloud data are optimized, thereby being able to improve the accuracy of the obtained pose estimation value to a certain extent.

[0098] The above is the pose optimization method provided by one or more embodiments of this specification. Based on the same idea, this specification also provides a corresponding pose optimization device, as Figure 3 shown.

[0099] Figure 3 Schematic diagram of a pose optimization device provided in this specification, specifically including:

[0100] An acquisition module 301, configured to acquire a plurality of point cloud data collected by a specified device;

[0101] A division module 302, configured to, for each group of point cloud data divided from the plurality of point cloud data, determine the relative pose of the specified device when collecting every two frames of point cloud data in this group of point cloud data, and determine the pose estimation value corresponding to each frame of point cloud data when the specified device collects this group of point cloud data. Each group of point cloud data contains at least two frames of point cloud data, and there are mutually matching point cloud points between any two frames of point cloud data in a group of point cloud data;

[0102] A weight determination module 303, configured to determine the relative pose residual corresponding to this group of point cloud data according to the pose estimation value and the relative pose, and determine the weight of the relative pose residual corresponding to this group of point cloud data;

[0103] A compensation module 304, configured to compensate the relative pose residual corresponding to this group of point cloud data according to the weight of the relative pose residual corresponding to this group of point cloud data to obtain the compensated relative pose residual corresponding to this group of point cloud data;

[0104] An optimization module 305, configured to determine a comprehensive residual according to the compensated relative pose residuals corresponding to each group of point cloud data, and optimize the pose estimation value of the specified device when collecting each frame of point cloud data with the goal of minimizing the comprehensive residual.

[0105] Optionally, the weight determination module 303 specifically includes: for every two frames of point cloud data in this group of point cloud data, determine the pose estimation values respectively corresponding to these two frames of point cloud data, and the relative pose of the specified device when collecting these two frames of point cloud data; determine the relative pose residual corresponding to these two frames of point cloud data according to the relative pose of the specified device when collecting these two frames of point cloud data and the pose estimation values respectively corresponding to these two frames of point cloud data; use the relative pose residuals corresponding to every two frames of point cloud data in this group of point cloud data as the relative pose residual corresponding to this group of point cloud data.

[0106] Optionally, the weight determination module 303 specifically includes: determining the overlap degree between every two frames of point cloud data in this group of point cloud data; determining the weight of the relative pose residual corresponding to this group of point cloud data according to the overlap degree between every two frames of point cloud data in this group of point cloud data, where the higher the overlap degree, the higher the weight of the relative pose residual.

[0107] Optionally, the weight determination module 303 is specifically configured to determine the observation pose of the specified device when collecting each frame of point cloud data according to the positioning data collected by at least one positioning sensor; determine the relative observation pose of the specified device when collecting every two frames of point cloud data in the group of point cloud data according to the observation pose; determine the degree of difference between the relative observation pose of the specified device when collecting every two frames of point cloud data in the group of point cloud data and the relative pose of the specified device when collecting every two frames of point cloud data in the group of point cloud data determined based on the point cloud data, and determine the weight of the relative pose residual corresponding to the group of point cloud data according to the degree of difference, where the greater the degree of difference, the lower the weight of the relative pose.

[0108] Optionally, for each round of iterative optimization, the weight determination module 303 is specifically configured to determine the optimized pose corresponding to each frame of point cloud data obtained after the previous round of iterative optimization; re-determine the relative pose residual of the group of point cloud data in the current iterative optimization according to the optimized pose corresponding to each frame of point cloud data in the group of point cloud data obtained after the previous round of iterative optimization; determine the weight corresponding to the relative pose residual of the group of point cloud data in the current iterative optimization according to the re-determined relative pose residual of the group of point cloud data in the current iterative optimization, where the smaller the re-determined relative pose residual, the higher the weight corresponding to the relative pose residual in the current iterative optimization;

[0109] The compensation module 304 is specifically configured to compensate the re-determined relative pose residual of the group of point cloud data in the current iterative optimization according to the weight corresponding to the relative pose residual of the group of point cloud data in the current iterative optimization determined in the current iterative optimization to obtain the compensated relative pose residual corresponding to the group of point cloud data.

[0110] Optionally, before determining the comprehensive residual according to the compensated pose residuals corresponding to each group of point cloud data, the optimization module 305 is further configured to determine the observation pose of the specified device when collecting each frame of point cloud data according to the positioning data collected by at least one positioning sensor; for each frame of point cloud data, determine the pose residual corresponding to the point cloud data according to the pose estimation value corresponding to the point cloud data and the observation pose of the specified device when collecting each frame of point cloud data; the optimization module 305 is specifically configured to determine the comprehensive residual according to the pose residuals corresponding to each frame of point cloud data in the several point cloud data and the compensated relative pose residuals corresponding to each group of point cloud data.

[0111] Optionally, the optimization module 305 is specifically configured to, for each frame of point cloud data in the plurality of point cloud data, compensate the pose residual corresponding to the point cloud data according to the determined weight of the pose residual corresponding to the point cloud data, to obtain the compensated pose residual corresponding to the point cloud data; and determine the comprehensive residual according to the compensated pose residuals corresponding to the plurality of point cloud data and the compensated relative pose residuals corresponding to each group of point cloud data.

[0112] Optionally, the optimization module 305 is specifically configured to determine the weight of the pose residual corresponding to the point cloud data according to the standard deviation of the observed pose of the specified device when collecting each frame of point cloud data determined based on the positioning sensor; and / or determine the weight of the pose residual corresponding to the point cloud data according to the basic sensor information corresponding to the positioning sensor; and / or determine the weight of the pose residual corresponding to the point cloud data according to the observed poses of the point cloud data adjacent to the point cloud data.

[0113] Optionally, each group of point cloud data includes at least one group of specified point cloud data. For each group of specified point cloud data, the acquisition positions corresponding to each frame of point cloud data in the group of specified point cloud data do not exceed a set distance, or the similarity between the point cloud features corresponding to each frame of point cloud data in the group of specified point cloud data is not less than a set similarity.

[0114] Optionally, the device further includes:

[0115] A map construction module 306, configured to construct a high-precision map according to the plurality of point cloud data and the optimized pose estimation values of the specified device when collecting each frame of point cloud data.

[0116] This specification also provides a computer-readable storage medium, which stores a computer program that can be used to execute the above Figure 1 provided pose optimization method.

[0117] This specification also provides Figure 4 a schematic structural diagram of the electronic device shown. As Figure 4 described above, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory. Of course, it may also include other hardware required for other services. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to implement the above Figure 1 described pose optimization method. Of course, in addition to the software implementation method, this specification does not exclude other implementation methods, such as logical devices or a combination of software and hardware, etc. That is to say, the execution subject of the following processing flow is not limited to each logical unit, and may also be hardware or a logical device.

[0118] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to circuit structures such as diodes, transistors, switches, etc.) or software improvements (improvements to method flows). However, with the development of technology, many method flow improvements today can be regarded as direct improvements to hardware circuit structures. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that an improvement to a method flow cannot be implemented using a hardware entity module. For example, a Programmable Logic Device (PLD) (e.g., a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logical function is determined by a user's programming of the device. A designer can program a digital system "integrated" onto a single PLD by themselves, without having to ask a chip manufacturer to design and fabricate a dedicated integrated circuit chip. Moreover, nowadays, instead of manually fabricating integrated circuit chips, this programming is mostly implemented using "logic compiler" software, which is similar to the software compilers used in program development and writing. The original code before compilation also has to be written in a specific programming language, which is called a Hardware Description Language (HDL), and there is not just one type of HDL, but many, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones currently are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also be aware that by simply performing a little logical programming on the method flow using the above-mentioned several hardware description languages and programming it into an integrated circuit, it is easy to obtain a hardware circuit that implements the logical method flow.

[0119] The controller can be implemented in any suitable manner. For example, the controller can take the form of, for example, a microprocessor or a processor and a computer-readable medium storing computer-readable program code (such as software or firmware) executable by the (micro)processor, logic gates, switches, an application specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of the controller include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that, in addition to implementing the controller in the form of pure computer-readable program code, it is entirely possible to logically program the method steps to enable the controller to be implemented in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers, etc. to achieve the same function. Therefore, such a controller can be considered a hardware component, and the devices included therein for implementing various functions can also be regarded as the structures within the hardware component. Or even, the devices for implementing various functions can be regarded as either software modules for implementing the method or the structures within the hardware component.

[0120] The systems, devices, modules, or units illustrated in the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer can be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or any combination of these devices.

[0121] For the convenience of description, when describing the above devices, they are described separately as various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0122] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a system, or a computer program product. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memories, CD-ROMs, optical memories, etc.) containing computer-usable program code.

[0123] The present invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each flow and / or block of the flowchart illustrations and / or block diagrams, and combinations of flows and / or blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to the processors of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions executed by the processors of the computer or other programmable data processing apparatus create means for implementing the functions specified in the flowchart Figure 1 for one or more of the flows and / or blocks Figure 1 and / or means for implementing the functions specified in one or more of the blocks.

[0124] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means that implement the functions specified in the flowchart Figure 1 for one or more of the flows and / or blocks Figure 1 and / or means for implementing the functions specified in one or more of the blocks.

[0125] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions executed on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart Figure 1 for one or more of the flows and / or blocks Figure 1 and / or means for implementing the functions specified in one or more of the blocks.

[0126] In a typical configuration, a computing device includes one or more processors (CPUs), an input / output interface, a network interface, and memory.

[0127] The memory may include non-permanent memory in the form of computer-readable media, random access memory (RAM), and / or non-volatile memory such as read-only memory (ROM) or flash memory. The memory is an example of computer-readable media.

[0128] A computer-readable medium includes both permanent and non-permanent, removable and non-removable media and can implement information storage by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to store information accessible by a computing device. As defined herein, a computer-readable medium does not include transitory computer-readable media such as modulated data signals and carrier waves.

[0129] It should also be noted that the term "comprising", "including" or any other variation thereof is intended to cover non-exclusive inclusion, such that a process, method, article or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising a..." does not exclude the presence of additional identical elements in the process, method, article or device comprising the element.

[0130] Those skilled in the art should understand that the embodiments of this specification can be provided as a method, system or computer program product. Therefore, this specification can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, this specification can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0131] This specification can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification can also be practiced in a distributed computing environment where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media including storage devices.

[0132] Each embodiment in this specification is described in a progressive manner. For the same or similar parts among the embodiments, reference can be made to each other. Each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and for the relevant parts, reference can be made to the partial description of the method embodiment.

[0133] The above are only the embodiments of this specification and are not intended to limit this specification. For those skilled in the art, various modifications and changes can be made to this specification. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this specification shall be included within the scope of the claims of this specification.

Claims

1. A pose optimization method, characterized in that, it includes: Obtain a number of point cloud data collected by a specified device; For each group of point cloud data divided from the number of point cloud data, according to this group of point cloud data, determine the relative pose of the specified device when collecting every two frames of point cloud data in this group of point cloud data, and determine the pose estimation value corresponding to each frame of point cloud data when collecting this group of point cloud data. Each group of point cloud data contains at least two frames of point cloud data, and there are mutually matching point cloud points between any two frames of point cloud data in a group of point cloud data; According to the pose estimation value and the relative pose, determine the relative pose residual corresponding to this group of point cloud data, and determine the weight of the relative pose residual corresponding to this group of point cloud data; According to the weight of the relative pose residual corresponding to this group of point cloud data, compensate the relative pose residual corresponding to this group of point cloud data to obtain the compensated relative pose residual corresponding to this group of point cloud data; According to the compensated relative pose residuals corresponding to each group of point cloud data, determine the comprehensive residual, and with the goal of minimizing the comprehensive residual, optimize the pose estimation value of the specified device when collecting each frame of point cloud data.

2. The method according to claim 1, characterized in that, Determining the relative pose residual corresponding to this group of point cloud data according to the pose estimation value and the relative pose specifically includes: For every two frames of point cloud data in this group of point cloud data, determine the pose estimation values corresponding to these two frames of point cloud data respectively, and the relative pose of the specified device when collecting these two frames of point cloud data; According to the relative pose of the specified device when collecting these two frames of point cloud data and the pose estimation values corresponding to these two frames of point cloud data respectively, determine the relative pose residual corresponding to these two frames of point cloud data; Take the relative pose residuals corresponding to every two frames of point cloud data in this group of point cloud data as the relative pose residual corresponding to this group of point cloud data.

3. The method according to claim 1, characterized in that, Determining the weight of the relative pose residual corresponding to this group of point cloud data specifically includes: Determine the overlap degree between every two frames of point cloud data in this group of point cloud data; According to the overlap degree between every two frames of point cloud data in this group of point cloud data, determine the weight of the relative pose residual corresponding to this group of point cloud data, where the higher the overlap degree, the higher the weight of the relative pose residual.

4. The method according to claim 1, characterized in that, Determining the weight of the relative pose residual corresponding to this group of point cloud data specifically includes: According to the positioning data collected by at least one positioning sensor, determine the observed pose of the specified device when collecting each frame of point cloud data; According to the observed pose, determine the observed relative pose of the specified device when collecting every two frames of point cloud data in this group of point cloud data; Determine the difference degree between the observed relative pose of the specified device when collecting every two frames of point cloud data in the set of point cloud data and the relative pose of the specified device determined based on the point cloud data when collecting every two frames of point cloud data in the set of point cloud data, and determine the weight of the relative pose residual corresponding to the set of point cloud data according to the difference degree, where the greater the difference degree, the lower the weight of the relative pose residual.

5. The method according to claim 1, wherein, determining the weight of the relative pose residual corresponding to the set of point cloud data specifically includes: For each round of iterative optimization, determine the optimized pose corresponding to each frame of point cloud data obtained after the previous round of iterative optimization; According to the optimized poses corresponding to each frame of point cloud data in the set of point cloud data obtained after the previous round of iterative optimization, re-determine the relative pose residual of the set of point cloud data in the current round of iterative optimization; According to the re-determined relative pose residual of the set of point cloud data in the current round of iterative optimization, determine the weight corresponding to the relative pose residual of the set of point cloud data in the current round of iterative optimization, where the smaller the re-determined relative pose residual, the higher the weight corresponding to the relative pose residual in the current round of iterative optimization; Compensate the relative pose residual corresponding to the set of point cloud data according to the weight of the relative pose residual corresponding to the set of point cloud data to obtain the compensated relative pose residual corresponding to the set of point cloud data, specifically including: In the current round of iterative optimization, compensate the re-determined relative pose residual of the set of point cloud data in the current round of iterative optimization according to the determined weight corresponding to the relative pose residual of the set of point cloud data in the current round of iterative optimization to obtain the compensated relative pose residual corresponding to the set of point cloud data.

6. The method according to claim 1, wherein, Before determining the comprehensive residual according to the compensated relative pose residuals corresponding to each set of point cloud data, the method further includes: Determine the observed pose of the specified device when collecting each frame of point cloud data according to the positioning data collected by at least one positioning sensor; For each frame of point cloud data, determine the pose residual corresponding to the point cloud data according to the pose estimation value corresponding to the point cloud data and the observed pose of the specified device when collecting each frame of point cloud data; Determine the comprehensive residual according to the compensated relative pose residuals corresponding to each set of point cloud data, specifically including: Determine the comprehensive residual according to the pose residuals corresponding to each frame of point cloud data in the several sets of point cloud data and the compensated relative pose residuals corresponding to each set of point cloud data.

7. The method according to claim 6, wherein, Determine the comprehensive residual according to the pose residuals corresponding to each frame of point cloud data in the several sets of point cloud data and the compensated relative pose residuals corresponding to each set of point cloud data, specifically including: For each frame of point cloud data in the several sets of point cloud data, compensate the pose residual corresponding to the point cloud data according to the determined weight of the pose residual corresponding to the point cloud data to obtain the compensated pose residual corresponding to the point cloud data; Determine the comprehensive residual based on the compensated pose residuals corresponding to the several point cloud data and the compensated relative pose residuals corresponding to each group of point cloud data.

8. The method according to claim 7, wherein, determining the weight of the pose residual corresponding to the point cloud data specifically includes: determining the weight of the pose residual corresponding to the point cloud data according to the standard deviation of the observed pose of the specified device when collecting the point cloud data determined based on the positioning sensor; and / or determining the weight of the pose residual corresponding to the point cloud data according to the basic sensor information corresponding to the positioning sensor; and / or determining the weight of the pose residual corresponding to the point cloud data according to the observed poses of the point cloud data adjacent to the point cloud data.

9. The method according to claim 1, wherein, each group of point cloud data includes at least one group of specified point cloud data. For each group of specified point cloud data, the acquisition positions corresponding to each frame of point cloud data in the group of specified point cloud data do not exceed a set distance, or the similarity between the point cloud features corresponding to each frame of point cloud data in the group of specified point cloud data is not less than a set similarity.

10. The method according to any one of claims 1 to 9, wherein, the method further includes: constructing a high-precision map according to the several point cloud data and the optimized pose estimation values of the specified device when collecting each frame of point cloud data.

11. A pose optimization device, wherein, it includes: an acquisition module, configured to acquire several point cloud data collected by a specified device; a division module, configured to, for each group of point cloud data divided from the several point cloud data, determine the relative pose of the specified device when collecting every two frames of point cloud data in the group of point cloud data, and determine the pose estimation values respectively corresponding to each frame of point cloud data in the group of point cloud data. Each group of point cloud data contains at least two frames of point cloud data, and there are mutually matching point cloud points between any two frames of point cloud data in a group of point cloud data; a weight determination module, configured to determine the relative pose residual corresponding to the group of point cloud data and determine the weight of the relative pose residual corresponding to the group of point cloud data according to the pose estimation value and the relative pose; a compensation module, configured to compensate the relative pose residual corresponding to the group of point cloud data according to the weight of the relative pose residual corresponding to the group of point cloud data to obtain the compensated relative pose residual corresponding to the group of point cloud data; an optimization module, configured to determine a comprehensive residual according to the compensated relative pose residuals corresponding to each group of point cloud data, and optimize the pose estimation values of the specified device when collecting each frame of point cloud data with the goal of minimizing the comprehensive residual.

12. A computer-readable storage medium, wherein, the storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 10 above is implemented.

13. An electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein, When the processor executes the program, the method described in any one of claims 1 to 10 above is implemented.

Citation Information

Patent Citations

  • Transformer substationinspection robot mapping method based on graph optimization

    CN109974712A

  • Mapping method and device, storage medium and electronic equipment

    CN112712561A