CN115388878A - Map construction method and device and terminal equipment - Google Patents

Map construction method and device and terminal equipment Download PDF

Info

Publication number
CN115388878A
CN115388878A CN202211034486.1A CN202211034486A CN115388878A CN 115388878 A CN115388878 A CN 115388878A CN 202211034486 A CN202211034486 A CN 202211034486A CN 115388878 A CN115388878 A CN 115388878A
Authority
CN
China
Prior art keywords
point cloud
cloud map
data
map
initial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211034486.1A
Other languages
Chinese (zh)
Inventor
刘大志
赵永杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uditech Co Ltd
Original Assignee
Uditech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Uditech Co Ltd filed Critical Uditech Co Ltd
Priority to CN202211034486.1A priority Critical patent/CN115388878A/en
Publication of CN115388878A publication Critical patent/CN115388878A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Instructional Devices (AREA)

Abstract

The application is applicable to the technical field of positioning map construction, and provides a map construction method, a map construction device and terminal equipment, wherein the method comprises the following steps: respectively determining a first point cloud map corresponding to a first area and a second point cloud map corresponding to at least one area to be spliced, determining initial pose data of an origin in the second point cloud map in the first point cloud map and optimizing the initial pose data to obtain initial optimized pose data, performing data conversion on the second point cloud map based on the initial optimized pose data to obtain a converted second point cloud map, performing global optimization on the first point cloud map and the converted second point cloud map, and splicing the first point cloud map and the converted second point cloud map to obtain a global point cloud map. According to the method and the device, off-line correction of the point cloud map and splicing of a plurality of point cloud maps are achieved based on key frame data and positioning data of the pre-constructed point cloud map, and accuracy and efficiency of off-line correction and amplification of the point cloud map in a large area are improved.

Description

Map construction method and device and terminal equipment
Technical Field
The application belongs to the technical field of positioning map construction, and particularly relates to a map construction method, a map construction device and terminal equipment.
Background
In the unmanned system, a global consistent point cloud map based on an external environment is the most important prior information.
The related positioning mapping method is generally a multi-sensor fusion mapping method, and the method aims at the condition that the mapping success rate is low or the error between the mapping and the real environment is large in partial scenes (such as tunnels, long corridors and the like); in addition, when a new driving route needs to be expanded, the map needs to be reconstructed, the calculation amount is large, the map building efficiency is low, and meanwhile, the constructed map has the problems of unstable accuracy and low quality.
Disclosure of Invention
The embodiment of the application provides a map construction method and device and a terminal device method and device, and can solve the problems of large calculation amount, low map construction efficiency, unstable map construction precision and low quality of related methods.
In a first aspect, an embodiment of the present application provides a map construction method, including:
respectively determining a first point cloud map corresponding to the first area and a second point cloud map corresponding to at least one area to be spliced;
determining initial pose data of an origin in the second point cloud map in the first point cloud map;
optimizing the initial pose data to obtain initial optimized pose data;
performing data conversion on the second point cloud map based on the initial optimization pose data to obtain a converted second point cloud map;
and carrying out global optimization on the first point cloud map and the converted second point cloud map, and splicing to obtain a global point cloud map.
In one embodiment, determining a first point cloud map corresponding to a first area includes:
determining a pre-constructed first initial point cloud map corresponding to the first area;
when the first initial point cloud map is detected to be abnormal, determining first key frame data to be corrected;
and performing point cloud registration on the first to-be-corrected key frame data to obtain a first point cloud registration result, and performing global optimization on the basis of the first point cloud registration result to obtain the first point cloud map.
In one embodiment, determining a second point cloud map corresponding to a second area includes:
respectively determining a pre-constructed second initial point cloud map corresponding to each second area;
when the second initial point cloud map is detected to be abnormal, determining second key frame data to be corrected;
and performing point cloud registration on the basis of the second to-be-corrected key frame data to obtain a second point cloud registration result, and performing global optimization on the basis of the second point cloud registration result to obtain the second point cloud map.
In one embodiment, the data conversion of the second point cloud map based on the initial optimization pose data to obtain a converted second point cloud map includes:
and converting second key frame data in the second point cloud map to a coordinate system in the first point cloud map based on the initial optimization pose data to obtain a converted second point cloud map.
In one embodiment, the optimizing the initial pose data to obtain initial optimized pose data includes:
optimizing the initial pose data based on a first preset algorithm to obtain optimized initial pose data; wherein the first preset algorithm comprises a high-low resolution algorithm;
performing iterative optimization on the optimized initial pose data based on a second preset algorithm to obtain initial optimized pose data; the second preset algorithm comprises a normal distribution transformation algorithm and a closest point iteration algorithm.
In one embodiment, the determining initial pose data of an origin in the second point cloud map in the first point cloud map comprises:
determining first key frame data and first positioning data in a first point cloud map;
determining second key frame data and second positioning data in a second point cloud map; the second positioning data comprises origin point positioning data;
selecting target key frame data meeting preset conditions according to the origin point positioning data;
calculating and determining initial pose data of an origin in the second point cloud map under the first point cloud map based on the first positioning data, the first key frame data, the second positioning data and the target key frame data.
In one embodiment, the globally optimizing the first point cloud map and the converted second point cloud map and splicing to obtain a global point cloud map includes:
determining third key frame data to be corrected in the first point cloud map and the second point cloud map;
performing point cloud registration on the third to-be-corrected key frame data, and performing global optimization on the first point cloud map and the second point cloud map based on a point cloud registration result to obtain an optimized first point cloud map and an optimized second point cloud map;
and splicing the optimized first point cloud map and the optimized second point cloud map to obtain a global point cloud map.
In a second aspect, an embodiment of the present application provides a map building apparatus, including:
the map determining module is used for respectively determining a first point cloud map corresponding to the first area and a second point cloud map corresponding to at least one area to be spliced;
the data determination module is used for determining initial pose data of an origin in the second point cloud map in the first point cloud map;
the pose optimization module is used for optimizing the initial pose data to obtain initial optimized pose data;
the data conversion module is used for carrying out data conversion on the second point cloud map based on the initial optimization pose data to obtain a converted second point cloud map;
and the map splicing module is used for carrying out global optimization on the first point cloud map and the converted second point cloud map and splicing to obtain a global point cloud map.
In one embodiment, the map determination module includes:
the first data acquisition unit is used for determining a pre-constructed first initial point cloud map corresponding to the first area;
the first data detection unit is used for determining first key frame data to be corrected when the first initial point cloud map is detected to be abnormal;
and the first map correction unit is used for carrying out point cloud registration on the basis of the first to-be-corrected key frame data to obtain a first point cloud registration result, and carrying out global optimization on the basis of the first point cloud registration result to obtain the first point cloud map.
In one embodiment, the map determination module further comprises:
the second data acquisition unit is used for respectively determining a pre-constructed second initial point cloud map corresponding to each second area;
the second data detection unit is used for determining second key frame data to be corrected when the second initial point cloud map is detected to be abnormal;
and the second map correction unit is used for carrying out point cloud registration on the basis of the second key frame data to be corrected to obtain a second point cloud registration result, and carrying out global optimization on the basis of the second point cloud registration result to obtain the second point cloud map.
In one embodiment, the data conversion module is specifically configured to:
and converting second key frame data in the second point cloud map to a coordinate system in the first point cloud map based on the initial optimization pose data to obtain a converted second point cloud map.
In one embodiment, the pose optimization module includes:
the first pose optimization unit is used for optimizing the initial pose data based on a first preset algorithm to obtain optimized initial pose data; wherein the first preset algorithm comprises a high-low resolution algorithm;
the second pose optimization unit is used for performing iterative optimization on the optimized initial pose data based on a second preset algorithm to obtain initial optimized pose data; the second preset algorithm comprises a normal distribution transformation algorithm and a closest point iteration algorithm.
In one embodiment, the data determination module includes:
the first data determining unit is used for determining first key frame data and first positioning data in a first point cloud map;
the second data determining unit is used for determining second key frame data and second positioning data in the second point cloud map; the second positioning data comprises origin point positioning data;
the first data selection unit is used for selecting target key frame data meeting preset conditions according to the origin point positioning data;
and the computing unit is used for computing and determining initial pose data of an origin in the second point cloud map under the first point cloud map based on the first positioning data, the first key frame data, the second positioning data and the target key frame data.
In one embodiment, the map stitching module includes:
the second data selection unit is used for determining third key frame data to be corrected in the first point cloud map and the second point cloud map;
the map optimization unit is used for carrying out point cloud registration on the third to-be-corrected key frame data, and carrying out global optimization on the first point cloud map and the second point cloud map based on a point cloud registration result to obtain an optimized first point cloud map and an optimized second point cloud map;
and the map splicing unit is used for splicing the optimized first point cloud map and the optimized second point cloud map to obtain a global point cloud map.
In a third aspect, an embodiment of the present application provides a terminal device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and when the processor executes the computer program, the map construction method according to any one of the above first aspects is implemented.
In a fourth aspect, the present application provides a computer-readable storage medium, where a computer program is stored, and when executed by a processor, the computer program implements the map building method according to any one of the first aspect.
In a fifth aspect, the present application provides a computer program product, which when run on a terminal device, causes the terminal device to execute the map building method according to any one of the above first aspects.
Compared with the prior art, the embodiment of the application has the beneficial effects that: the method comprises the steps of determining initial pose data of an origin in a second point cloud map in the first point cloud map and optimizing the initial pose data through a first point cloud map corresponding to a first area and the second point cloud map corresponding to at least one area to be spliced to obtain initial optimized pose data, carrying out data conversion on the second point cloud map based on the initial optimized pose data to obtain a converted second point cloud map, carrying out global optimization on the first point cloud map and the converted second point cloud map, and splicing to obtain a global point cloud map, so that offline point cloud map correction and multi-point cloud map splicing are realized, and the accuracy and efficiency of offline correction and amplification of the point cloud map in a larger area are improved.
It is to be understood that, for the beneficial effects of the second aspect to the fifth aspect, reference may be made to the relevant description in the first aspect, and details are not described herein again.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
Fig. 1 is a schematic flowchart of a map construction method provided in an embodiment of the present application;
fig. 2 is a schematic flowchart of step S102 of a map construction method provided in an embodiment of the present application;
fig. 3 is a flowchart illustrating step S105 of a map construction method according to an embodiment of the present application;
FIG. 4 is a schematic structural diagram of a mapping apparatus provided in an embodiment of the present application;
fig. 5 is a schematic structural diagram of a terminal device according to an embodiment of the present application.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.
It will be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It should also be understood that the term "and/or" as used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
As used in this specification and the appended claims, the term "if" may be interpreted contextually as "when", "upon" or "in response to" determining "or" in response to detecting ". Similarly, the phrase "if it is determined" or "if a [ described condition or event ] is detected" may be interpreted contextually to mean "upon determining" or "in response to determining" or "upon detecting [ described condition or event ]" or "in response to detecting [ described condition or event ]".
Furthermore, in the description of the present application and the appended claims, the terms "first," "second," "third," and the like are used for distinguishing between descriptions and not necessarily for describing or implying relative importance.
Reference throughout this specification to "one embodiment" or "some embodiments," or the like, means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application. Thus, appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," or the like, in various places throughout this specification are not necessarily all referring to the same embodiment, but rather "one or more but not all embodiments" unless specifically stated otherwise. The terms "comprising," "including," "having," and variations thereof mean "including, but not limited to," unless expressly specified otherwise.
The map construction method provided by the embodiment of the application can be applied to terminal devices such as a mobile service robot, an unmanned vehicle, a mobile phone, a tablet computer, a vehicle-mounted device, a notebook computer, a super-mobile personal computer (UMPC), a netbook, a Personal Digital Assistant (PDA) and the like, and the specific type of the terminal device is not limited in the embodiment of the application.
Fig. 1 shows a schematic flow chart of a mapping method provided by the present application, which may be applied to the above-described vehicle-mounted device, by way of example and not limitation.
S101, respectively determining a first point cloud map corresponding to the first area and a second point cloud map corresponding to at least one area to be spliced.
Specifically, when a vehicle based on an unmanned system runs, the current position information of the vehicle needs to be determined based on a pre-constructed global consistent point cloud map. When the driving range of the vehicle is large, a plurality of corresponding regional maps needing to be constructed are needed, global consistency processing needs to be carried out on the plurality of constructed maps, or when the vehicle drives to an un-constructed region, the un-constructed region needs to be constructed, global consistency optimization is carried out on the un-constructed region and a pre-constructed map, and the vehicle is convenient to position and drive based on the global consistency point cloud map. First, a first point cloud map corresponding to a first area needs to be determined, and a second point cloud map corresponding to at least one other area to be stitched needs to be determined. The first area can be a pre-constructed area point cloud map serving as a splicing reference. For example: the first region is the central region within one larger region.
For example, if the city center of city a is the area a, a pre-constructed point cloud map of the area a of city a is used as a first point cloud map, second point cloud maps of the area b, the area c and the area d of city a need to be acquired respectively, the point cloud maps of the area a, the area b, the area c and the area d are subjected to global consistent optimization based on the point cloud data of the point cloud map of the area a and GPS positioning data, and the global consistent map of city a is obtained through splicing, so that positioning and driving of unmanned vehicles are facilitated.
S102, determining initial pose data of an origin in the second point cloud map in the first point cloud map.
Specifically, based on first positioning data of the first point cloud map and second positioning data of the second point cloud map, initial pose data of an origin of the second point cloud map in a coordinate system of the first point cloud map are calculated and determined.
And S103, optimizing the initial pose data to obtain initial optimized pose data.
Specifically, the initial pose data are optimized through a first preset algorithm and a second preset algorithm, and initial optimized pose data of an origin in the second point cloud map under a coordinate system in the first point cloud map are obtained.
And S104, performing data conversion on the second point cloud map based on the initial optimization pose data to obtain a converted second point cloud map.
In one embodiment, the step S104 of performing data conversion on the second point cloud map based on the initial optimization pose data to obtain a converted second point cloud map includes:
and converting second key frame data in the second point cloud map to a coordinate system in the first point cloud map based on the initial optimization pose data to obtain a converted second point cloud map.
Specifically, all the key frame data (specifically, key frame pose data) of the second point cloud map are converted into key frame conversion data in the coordinate system of the first point cloud map based on the second key frame data and the initial optimization pose data in the second point cloud map.
And S105, carrying out global optimization on the first point cloud map and the converted second point cloud map, and splicing to obtain a global point cloud map.
Specifically, third to-be-corrected key frame data are selected based on first key frame data in the first point cloud map and key frame conversion data in the second point cloud map, global optimization processing is performed on the first point cloud map and the second point cloud map based on the third to-be-corrected key frame data, and the first point cloud map and the second point cloud map after global optimization are spliced to obtain the global point cloud map.
In one embodiment, determining a first point cloud map corresponding to a first area includes:
determining a pre-constructed first initial point cloud map corresponding to the first area;
when the first initial point cloud map is detected to be abnormal, determining first key frame data to be corrected;
and performing point cloud registration on the first to-be-corrected key frame data to obtain a first point cloud registration result, and performing global optimization on the basis of the first point cloud registration result to obtain the first point cloud map.
Specifically, a pre-constructed first initial point cloud map corresponding to the first area is determined, wherein the first initial point cloud map carries all key frame attitude data and corresponding key frame point cloud data corresponding to the first area, and GPS positioning data of an origin point under a coordinate system in the first point cloud map. The recognition determines whether there are abnormal scenes in the first initial point cloud map (e.g., whether there is significant scene overlap, or whether there are close scene inconsistencies, such as close scenes not on a plane). When an abnormal scene exists in the first initial point cloud map, determining first key frame data to be corrected, performing point cloud registration on the first key frame data to be corrected in the abnormal scene to obtain a corresponding first point cloud registration result, and adding the first point cloud registration result as a constraint condition into a global optimizer to perform global optimization to obtain a first point cloud map which corresponds to the first area and contains the corrected first key frame data.
In one embodiment, determining a second point cloud map corresponding to a second area comprises:
respectively determining a pre-constructed second initial point cloud map corresponding to each second area;
when the second initial point cloud map is detected to be abnormal, determining second key frame data to be corrected;
and performing point cloud registration on the basis of the second to-be-corrected key frame data to obtain a second point cloud registration result, and performing global optimization on the basis of the second point cloud registration result to obtain the second point cloud map.
Specifically, a pre-constructed second initial point cloud map corresponding to each second area is respectively determined, and the second initial point cloud map carries all key frame attitude data and corresponding key frame point cloud data corresponding to the areas to be spliced, and GPS positioning data of an origin under a coordinate system in the second point cloud map. And identifying and determining whether an abnormal scene exists in the second initial point cloud map. When an abnormal scene exists in the second initial point cloud map, determining second key frame data to be corrected, performing point cloud registration on the second key frame data to be corrected in the abnormal scene to obtain a corresponding second point cloud registration result, and adding the second point cloud registration result serving as a constraint condition into a global optimizer to perform global optimization on the basis of the second point cloud registration result to obtain a second point cloud map which corresponds to the second area and contains the corrected second key frame data.
In one embodiment, the optimizing the initial pose data to obtain initial optimized pose data includes:
optimizing the initial pose data based on a first preset algorithm to obtain optimized initial pose data; wherein the first preset algorithm comprises a high-low resolution algorithm;
performing iterative optimization on the optimized initial pose data based on a second preset algorithm to obtain initial optimized pose data; the second preset algorithm comprises a normal distribution transformation algorithm and a closest point iteration algorithm.
Specifically, initial pose data of an origin point in the second point cloud map in a coordinate system in the first point cloud map are used as input data, the input data are calculated based on a first preset algorithm to obtain a corresponding initial optimization pose, and the initial optimization pose is circularly input into a second preset algorithm to perform iterative optimization processing on the initial optimization pose to obtain a corresponding initial optimization pose. The first preset algorithm includes, but is not limited to, a high and low resolution algorithm; the second predetermined algorithm includes, but is not limited to, normal Distribution Transform (NDT) and Closest Point Iteration (ICP).
Specifically, because the GPS positioning data has a certain error and some GPS positioning devices do not have a heading angle, the accuracy of the calculated initial pose data is not high. In the running process of the vehicle, due to the transformation of data such as the running direction, the height and the like of the vehicle, certain errors exist in the corresponding pose data in the directions of x, y and z, and correct initial optimization pose data are obtained through calculation of a high-low resolution algorithm:
high-resolution iterative optimization: the method comprises the steps of firstly, carrying out iterative search in a first preset range (for example, N meters from initial pose data, wherein N is a positive integer larger than 1) of a position corresponding to the initial pose data, after new pose data are obtained each time, converting point cloud data of a current frame into a global coordinate system based on the new pose data, carrying out point cloud registration based on the converted point cloud data of the current frame and key frame data in a local global point cloud map (namely a first map), judging that preliminary pose optimization is finished when a point cloud registration result is detected to be smaller than a first preset registration threshold (the first preset registration threshold can be specifically set according to actual requirements), and outputting the corresponding optimized initial pose data.
Specifically, when the point cloud registration result is detected to be greater than a first preset registration threshold and smaller than a second preset registration threshold (the second preset registration threshold is greater than the first preset registration threshold), performing low-resolution iterative optimization: and performing iterative search in a second preset range (for example, the second preset range is an area M meters away from the initial pose data, M is less than N) from the corresponding position of the initial pose data, after new pose data are obtained each time, converting the point cloud data of the current frame into a global coordinate system based on the new pose data, performing point cloud registration based on the converted point cloud data of the current frame and key frame data in a local global point cloud map (namely, a first map), judging that the preliminary pose optimization is finished when a point cloud registration result is detected to be less than a set first preset registration threshold value, and outputting the corresponding optimized initial pose data.
Specifically, when the point cloud registration result is detected to be larger than a second preset registration threshold value, a new pose data is searched and determined in a first preset range from the position corresponding to the initial pose data to serve as the initial pose data, and high-resolution iterative optimization is carried out.
As shown in fig. 2, in an embodiment, the step S102 of determining the initial pose data of the origin in the first point cloud map in the second point cloud map includes:
s1021, determining first key frame data and first positioning data in a first point cloud map;
s1022, determining second key frame data and second positioning data in the second point cloud map; the second positioning data comprises origin point positioning data;
s1023, selecting target key frame data meeting preset conditions according to the origin point positioning data;
s1024, calculating and determining initial pose data of an origin in the second point cloud map under the first point cloud map based on the first positioning data, the first key frame data, the second positioning data and the target key frame data.
Specifically, determining all key frame data (hereinafter referred to as first key frame data) and first positioning data carried in a first point cloud map, and determining all key frame data (hereinafter referred to as second key frame data) and second positioning data (the second positioning data comprises origin positioning data of an origin in a second point cloud map) carried in a second point cloud map; the first positioning data are GPS positioning data acquired by GPS positioning equipment when a first point cloud map is constructed; the second positioning data are GPS positioning data acquired by GPS positioning equipment when the second point cloud map is constructed. The keyframe data includes, but is not limited to, keyframe point cloud data and keyframe pose data.
Specifically, the preset condition may be specifically set according to actual requirements. In this embodiment, the preset condition is set to K pieces of second key frame data whose distance is smaller than a preset distance threshold value with the origin point positioning data of the origin point in the second point cloud map as the center. Namely, based on the origin point positioning data of the origin point in the second point cloud map as the center, K pieces of second key frame data with the distance less than the preset distance threshold are selected as target key frame data. The preset distance threshold value can be determined according to factors such as the actual range of the second point cloud map and user requirements. The preset distance threshold value is in a direct proportion relation with the increase of the actual range of the second point cloud map. K is a positive integer larger than 1, and the value of K is in direct proportion to the increase of the preset distance threshold. For example, the actual range of the second point cloud map is 10KM 2 The corresponding preset distance threshold is 10m; the actual range of the second point cloud map is 30km 2 The corresponding preset distance threshold is 30m.
Specifically, initial pose data of an origin in the second point cloud map under a coordinate system in the first point cloud map are obtained through calculation based on first positioning data of the first point cloud map, first key data, target key frame data and second positioning data of the second point cloud map.
As shown in fig. 3, in an embodiment, the step S105 of performing global optimization on the first point cloud map and the converted second point cloud map and obtaining a global point cloud map by stitching includes:
s1051, determining third key frame data to be corrected in the first point cloud map and the second point cloud map;
s1052, performing point cloud registration on the third to-be-corrected key frame data, and performing global optimization on the first point cloud map and the second point cloud map based on a point cloud registration result to obtain an optimized first point cloud map and an optimized second point cloud map;
and S1053, splicing the optimized first point cloud map and the optimized second point cloud map to obtain a global point cloud map.
Specifically, a first point cloud map and a second point cloud map are identified, and the environmental similarity of the first point cloud map and the second point cloud map is determined. When an area where the first point cloud map and the second point cloud map have an environmental overlap is detected (for example, based on 3D point cloud loop detection, a Scancontext algorithm detects the consistency of the first point cloud map and the second point cloud map, and when an area where scenes are consistent exists in the first point cloud map and the second point cloud map is detected, the area where the environments overlap is determined), selecting first key frame data and second key frame data corresponding to the environmental overlap area as third key frame data to be corrected; performing point cloud registration on the selected third to-be-corrected key frame data (specifically, performing point cloud registration on first key frame data in an environment overlapping area in a first point cloud map and second key frame data in an environment overlapping area in a corresponding second point cloud map), adding a point cloud registration result serving as a constraint condition into a global optimizer (the global optimizer includes but is not limited to g2o, and performing continuous iterative optimization on pose data of the first key frame data in the environment overlapping area and the second key frame data in the environment overlapping area to enable the relative position error amount to be close to 0), obtaining a globally optimized first point cloud map and a globally optimized second point cloud map, and splicing the globally optimized first point cloud map and the second point cloud map to obtain the global point cloud map.
In this embodiment, initial pose data of an origin in the second point cloud map in the first point cloud map is determined and optimized through the first point cloud map corresponding to the first area and the second point cloud map corresponding to at least one area to be spliced to obtain initial optimized pose data, data conversion is performed on the second point cloud map based on the initial optimized pose data to obtain a converted second point cloud map, global optimization is performed on the first point cloud map and the converted second point cloud map, and the global point cloud map is obtained through splicing, so that offline point cloud map correction and multi-point cloud map splicing are realized, and accuracy and efficiency of offline correction and amplification of the point cloud map in a larger area are improved.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
Fig. 4 shows a block diagram of a map building apparatus provided in an embodiment of the present application, corresponding to the map building method described in the above embodiment, and only shows a part related to the embodiment of the present application for convenience of description.
Referring to fig. 4, the map building apparatus 100 includes:
the map determining module 101 is configured to determine a first point cloud map corresponding to the first area and a second point cloud map corresponding to at least one area to be spliced;
the data determination module 102 is configured to determine initial pose data of an origin in the second point cloud map in the first point cloud map;
a pose optimization module 103, configured to optimize the initial pose data to obtain initial optimized pose data;
the data conversion module 104 is configured to perform data conversion on the second point cloud map based on the initial optimization pose data to obtain a converted second point cloud map;
and the map splicing module 105 is configured to perform global optimization on the first point cloud map and the converted second point cloud map, and splice to obtain a global point cloud map.
In one embodiment, the map determination module includes:
the first data acquisition unit is used for determining a pre-constructed first initial point cloud map corresponding to the first area;
the first data detection unit is used for determining first key frame data to be corrected when the first initial point cloud map is detected to be abnormal;
and the first map correction unit is used for carrying out point cloud registration on the basis of the first to-be-corrected key frame data to obtain a first point cloud registration result, and carrying out global optimization on the basis of the first point cloud registration result to obtain the first point cloud map.
In one embodiment, the map determination module further comprises:
the second data acquisition unit is used for respectively determining a pre-constructed second initial point cloud map corresponding to each second area;
the second data detection unit is used for determining second key frame data to be corrected when the second initial point cloud map is detected to be abnormal;
and the second map correction unit is used for carrying out point cloud registration on the basis of the second key frame data to be corrected to obtain a second point cloud registration result, and carrying out global optimization on the basis of the second point cloud registration result to obtain the second point cloud map.
In one embodiment, the pose optimization module includes:
the first pose optimization unit is used for optimizing the initial pose data based on a first preset algorithm to obtain optimized initial pose data; wherein the first preset algorithm comprises a high-low resolution algorithm;
the second pose optimization unit is used for performing iterative optimization on the optimized initial pose data based on a second preset algorithm to obtain initial optimized pose data; the second preset algorithm comprises a normal distribution transformation algorithm and a closest point iteration algorithm.
In one embodiment, the data conversion module is specifically configured to:
and converting second key frame data in the second point cloud map to a coordinate system in the first point cloud map based on the initial optimization pose data to obtain a converted second point cloud map.
In one embodiment, the data determination module includes:
the first data determining unit is used for determining first key frame data and first positioning data in a first point cloud map;
the second data determining unit is used for determining second key frame data and second positioning data in the second point cloud map; the second positioning data comprises origin point positioning data;
the first data selection unit is used for selecting target key frame data meeting preset conditions according to the origin point positioning data;
and the computing unit is used for computing and determining initial pose data of an origin in the second point cloud map under the first point cloud map based on the first positioning data, the first key frame data, the second positioning data and the target key frame data.
In one embodiment, the map stitching module includes:
the second data selection unit is used for determining third key frame data to be corrected in the first point cloud map and the second point cloud map;
the map optimization unit is used for carrying out point cloud registration on the third to-be-corrected key frame data, and carrying out global optimization on the first point cloud map and the second point cloud map based on a point cloud registration result to obtain an optimized first point cloud map and an optimized second point cloud map;
and the map splicing unit is used for splicing the optimized first point cloud map and the optimized second point cloud map to obtain a global point cloud map.
In this embodiment, initial pose data of an origin in the second point cloud map in the first point cloud map is determined and optimized through the first point cloud map corresponding to the first area and the second point cloud map corresponding to at least one area to be spliced to obtain initial optimized pose data, data conversion is performed on the second point cloud map based on the initial optimized pose data to obtain a converted second point cloud map, global optimization is performed on the first point cloud map and the converted second point cloud map, and the global point cloud map is obtained through splicing, so that offline point cloud map correction and multi-point cloud map splicing are realized, and accuracy and efficiency of offline correction and amplification of the point cloud map in a larger area are improved.
It should be noted that, for the information interaction, execution process, and other contents between the above-mentioned devices/units, the specific functions and technical effects thereof are based on the same concept as those of the embodiment of the method of the present application, and specific reference may be made to the part of the embodiment of the method, which is not described herein again.
Fig. 5 is a schematic structural diagram of the terminal device provided in this embodiment. As shown in fig. 5, the terminal device 5 of this embodiment includes: at least one processor 50 (only one shown in fig. 5), a memory 51, and a computer program 52 stored in the memory 51 and executable on the at least one processor 50, the processor 50 implementing the steps in any of the various mapping method embodiments described above when executing the computer program 52.
The terminal device 5 may be a desktop computer, a notebook, a palm computer, a cloud server, or other computing devices. The terminal device may include, but is not limited to, a processor 50, a memory 51. Those skilled in the art will appreciate that fig. 5 is only an example of the terminal device 5, and does not constitute a limitation to the terminal device 5, and may include more or less components than those shown, or may combine some components, or different components, and may further include, for example, an input/output device, a network access device, and the like.
The Processor 50 may be a Central Processing Unit (CPU), and the Processor 50 may be other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, discrete hardware component, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 51 may in some embodiments be an internal storage unit of the terminal device 5, such as a hard disk or a memory of the terminal device 5. The memory 51 may also be an external storage device of the terminal device 5 in other embodiments, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like, which are provided on the terminal device 5. Further, the memory 51 may also include both an internal storage unit and an external storage device of the terminal device 5. The memory 51 is used for storing an operating system, an application program, a BootLoader (BootLoader), data, and other programs, such as program codes of the computer program. The memory 51 may also be used to temporarily store data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-mentioned functions. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the system may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
An embodiment of the present application further provides a network device, where the network device includes: at least one processor, a memory, and a computer program stored in the memory and executable on the at least one processor, the processor implementing the steps of any of the various method embodiments described above when executing the computer program.
An embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored, and when the computer program is executed by a processor, the computer program implements the steps in the foregoing method embodiments.
The embodiments of the present application provide a computer program product, which when running on a mobile terminal, enables the mobile terminal to implement the steps in the above method embodiments when executed.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, all or part of the processes in the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium and can implement the steps of the embodiments of the methods described above when the computer program is executed by a processor. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer readable medium may include at least: any entity or device capable of carrying computer program code to a photographing apparatus/terminal apparatus, a recording medium, computer Memory, read-Only Memory (ROM), random Access Memory (RAM), an electrical carrier signal, a telecommunications signal, and a software distribution medium. Such as a usb-drive, a removable hard drive, a magnetic or optical disk, etc. In certain jurisdictions, computer-readable media may not be an electrical carrier signal or a telecommunications signal in accordance with legislative and patent practice.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus/network device and method may be implemented in other ways. For example, the above-described apparatus/network device embodiments are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implementing, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not implemented. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present application and are intended to be included within the scope of the present application.

Claims (10)

1. A map construction method, comprising:
respectively determining a first point cloud map corresponding to the first area and a second point cloud map corresponding to at least one area to be spliced;
determining initial pose data of an origin in the second point cloud map in the first point cloud map;
optimizing the initial pose data to obtain initial optimized pose data;
performing data conversion on the second point cloud map based on the initial optimization pose data to obtain a converted second point cloud map;
and carrying out global optimization on the first point cloud map and the converted second point cloud map, and splicing to obtain a global point cloud map.
2. The mapping method of claim 1, wherein determining the first point cloud map corresponding to the first area comprises:
determining a pre-constructed first initial point cloud map corresponding to the first area;
when the first initial point cloud map is detected to be abnormal, determining first key frame data to be corrected;
and performing point cloud registration on the first to-be-corrected key frame data to obtain a first point cloud registration result, and performing global optimization on the basis of the first point cloud registration result to obtain the first point cloud map.
3. The method of mapping according to claim 1, wherein determining a second point cloud map corresponding to a second area comprises:
respectively determining a pre-constructed second initial point cloud map corresponding to each second area;
when the second initial point cloud map is detected to be abnormal, determining second key frame data to be corrected;
and performing point cloud registration on the basis of the second to-be-corrected key frame data to obtain a second point cloud registration result, and performing global optimization on the basis of the second point cloud registration result to obtain the second point cloud map.
4. The map construction method according to claim 1, wherein the data conversion of the second point cloud map based on the initial optimization pose data to obtain a converted second point cloud map includes:
and converting second key frame data in the second point cloud map to a coordinate system in the first point cloud map based on the initial optimization pose data to obtain a converted second point cloud map.
5. The map construction method according to claim 1, wherein the optimizing the initial pose data to obtain initial optimized pose data comprises:
optimizing the initial pose data based on a first preset algorithm to obtain optimized initial pose data; wherein the first preset algorithm comprises a high-low resolution algorithm;
performing iterative optimization on the optimized initial pose data based on a second preset algorithm to obtain initial optimized pose data; the second preset algorithm comprises a normal distribution transformation algorithm and a closest point iteration algorithm.
6. The mapping method of claim 1, wherein the determining initial pose data of an origin in the second point cloud map in the first point cloud map comprises:
determining first key frame data and first positioning data in a first point cloud map;
determining second key frame data and second positioning data in a second point cloud map; the second positioning data comprises origin positioning data;
selecting target key frame data meeting preset conditions according to the origin point positioning data;
calculating and determining initial pose data of an origin in the second point cloud map under the first point cloud map based on the first positioning data, the first key frame data, the second positioning data and the target key frame data.
7. The map construction method of claim 1, wherein the global optimization of the first point cloud map and the transformed second point cloud map and the stitching to obtain a global point cloud map comprises:
determining third key frame data to be corrected in the first point cloud map and the second point cloud map;
performing point cloud registration on the third to-be-corrected key frame data, and performing global optimization on the first point cloud map and the second point cloud map based on a point cloud registration result to obtain an optimized first point cloud map and an optimized second point cloud map;
and splicing the optimized first point cloud map and the optimized second point cloud map to obtain a global point cloud map.
8. A map building apparatus, comprising:
the map determining module is used for respectively determining a first point cloud map corresponding to the first area and a second point cloud map corresponding to at least one area to be spliced;
the data determination module is used for determining initial pose data of an origin in the second point cloud map in the first point cloud map;
the pose optimization module is used for optimizing the initial pose data to obtain initial optimized pose data;
the data conversion module is used for carrying out data conversion on the second point cloud map based on the initial optimization pose data to obtain a converted second point cloud map;
and the map splicing module is used for carrying out global optimization on the first point cloud map and the converted second point cloud map and splicing to obtain a global point cloud map.
9. A terminal device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the method according to any of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1 to 7.
CN202211034486.1A 2022-08-26 2022-08-26 Map construction method and device and terminal equipment Pending CN115388878A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211034486.1A CN115388878A (en) 2022-08-26 2022-08-26 Map construction method and device and terminal equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211034486.1A CN115388878A (en) 2022-08-26 2022-08-26 Map construction method and device and terminal equipment

Publications (1)

Publication Number Publication Date
CN115388878A true CN115388878A (en) 2022-11-25

Family

ID=84122907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211034486.1A Pending CN115388878A (en) 2022-08-26 2022-08-26 Map construction method and device and terminal equipment

Country Status (1)

Country Link
CN (1) CN115388878A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117132728A (en) * 2023-10-26 2023-11-28 毫末智行科技有限公司 Method and device for constructing map, electronic equipment and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117132728A (en) * 2023-10-26 2023-11-28 毫末智行科技有限公司 Method and device for constructing map, electronic equipment and storage medium
CN117132728B (en) * 2023-10-26 2024-02-23 毫末智行科技有限公司 Method and device for constructing map, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN110969649A (en) Matching evaluation method, medium, terminal and device of laser point cloud and map
WO2021254019A1 (en) Method, device and system for cooperatively constructing point cloud map
CN111402413B (en) Three-dimensional visual positioning method and device, computing equipment and storage medium
CN112198878A (en) Instant map construction method and device, robot and storage medium
US20220412742A1 (en) Coordinate determination method and apparatus, computer device and storage medium
CN108520543B (en) Method, equipment and storage medium for optimizing relative precision map
CN111707275B (en) Positioning method, positioning device, electronic equipment and computer readable storage medium
CN114820749A (en) Unmanned vehicle underground positioning method, system, equipment and medium
CN115388878A (en) Map construction method and device and terminal equipment
CN110017840B (en) Navigation data processing method and device, electronic equipment and computer readable medium
CN110109165B (en) Method and device for detecting abnormal points in driving track
CN115326051A (en) Positioning method and device based on dynamic scene, robot and medium
CN113741415B (en) Path planning method, path planning device, terminal equipment and computer readable storage medium
CN115406452A (en) Real-time positioning and mapping method, device and terminal equipment
US8630477B2 (en) Electronic device and method for outputting measurement data
CN109919998B (en) Satellite attitude determination method and device and terminal equipment
CN113297259A (en) Robot and environment map construction method and device thereof
CN113763468A (en) Positioning method, device, system and storage medium
CN115390081A (en) Vehicle positioning method and device and terminal equipment
CN112484729A (en) Navigation map switching method and device, terminal equipment and storage medium
CN112508112B (en) Zebra crossing fusion method and system based on relative position of stop line
CN114049615B (en) Traffic object fusion association method and device in driving environment and edge computing equipment
CN116358573B (en) Map building method, map building device, storage medium and vehicle
CN117746388A (en) Point cloud labeling method and device, electronic equipment and storage medium
CN118294970A (en) Initial positioning method and device of vehicle, vehicle and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination