A real-time positioning and mapping method, device and terminal equipment
By constructing an initial local point cloud map in an autonomous vehicle and performing closed-loop detection and pose optimization, the problem of inaccurate positioning of autonomous vehicles in unknown areas is solved, achieving high-precision real-time positioning and map updates.
Patent Information
- Application Number
- CN202211032565.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-26
- Publication Date
- 2025-11-28
- Estimated Expiration
- 2042-08-26
AI Technical Summary
Autonomous vehicles have difficulty determining their location outside the area of a pre-built point cloud map, and existing positioning methods suffer from inaccurate positioning information due to accumulated errors in odometers, affecting the normal operation of the vehicle.
By determining the initial pose data of the vehicle in the pre-built global feature point cloud map, an initial local point cloud map is constructed. Using loop closure detection and pose optimization techniques, the feature point cloud data of the current frame is combined with the target local point cloud map to optimize the positioning information. The point cloud map of the unknown area is then stitched together to construct the target global feature point cloud map.
It improves the positioning accuracy and map building accuracy of autonomous vehicles in unknown areas, and enables real-time vehicle positioning and online map updates.
Smart Images

Figure CN115406452B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the technical field of vehicle positioning, and particularly relates to a real-time positioning and mapping method and device and a terminal device. BACKGROUND
[0002] In an unmanned system, a vehicle is usually positioned in a known point cloud map based on a pre-constructed point cloud map and scanning signals of a laser radar.
[0003] However, since the pre-constructed point cloud map has a limited range, when the vehicle drives to other areas outside the pre-constructed point cloud map, the vehicle will have difficulty in determining its own position.
[0004] A general positioning method determines position data based on an algorithm and laser odometry, and the cumulative error of the odometry will cause the vehicle positioning information to be inaccurate, so that the vehicle cannot determine the position and direction, and the normal operation of the unmanned vehicle is affected. SUMMARY
[0005] The embodiments of the present application provide a real-time positioning and mapping method, device and terminal device, which can solve the problem of low positioning accuracy of an unmanned vehicle.
[0006] In a first aspect, the embodiments of the present application provide a real-time positioning and mapping method, comprising:
[0007] determining initial pose data of a vehicle in a pre-constructed global feature point cloud map, and determining a corresponding initial local point cloud map based on the initial pose data;
[0008] when it is detected that the vehicle is located in an unknown area according to the initial local point cloud map, constructing a corresponding target local point cloud map based on pose data of a current frame and first key frame data satisfying a first preset condition, and starting a loop closure detection program to obtain a loop closure detection result;
[0009] performing pose optimization according to feature point cloud data of the current frame and second key frame data in the target local point cloud map, obtaining positioning information of the vehicle, and constructing an unknown area point cloud map of the unknown area;
[0010] optimizing the positioning information based on the loop closure detection result to obtain optimized positioning information;
[0011] splicing the unknown area point cloud map and the global feature point cloud map to obtain a target global feature point cloud map.
[0012] In one embodiment, the determination of the initial pose data of the vehicle in the pre-constructed global feature point cloud map and the determination of the corresponding initial local point cloud map based on the initial pose data comprise:
[0013] obtaining a pre-constructed global feature point cloud map;
[0014] determining initial pose data of the vehicle in the global feature point cloud map according to a preset positioning algorithm;
[0015] segmenting the global feature point cloud map centered on the initial pose data to obtain an initial local point cloud map satisfying a second preset condition.
[0016] In one embodiment, when it is detected according to the initial local point cloud map that the vehicle is located in an unknown area, a corresponding target local point cloud map is constructed based on pose data of a current frame and first key frame data satisfying a first preset condition, and a loop detection program is started to obtain a loop detection result, including:
[0017] determining a number of point cloud data in the initial local point cloud map;
[0018] when it is detected that the number of point cloud data is less than or equal to a preset threshold of point cloud quantity, determining that the vehicle is located in the unknown area;
[0019] selecting first key frame data satisfying a first preset condition based on pose data of a current frame; wherein the first key frame data includes first key frame pose data and first key frame point cloud data;
[0020] constructing the target local point cloud map according to the first key frame pose data and the corresponding first key frame point cloud data, and starting a loop detection program to obtain a loop detection result.
[0021] In one embodiment, according to the feature point cloud data of the current frame and the second key frame data in the target local point cloud map, pose optimization is performed to obtain positioning information of the vehicle and construct an unknown area point cloud map of the unknown area, including:
[0022] performing feature extraction on the radar scanning data of the current frame to obtain corresponding feature point cloud data of the current frame; wherein the second key frame data includes second key frame pose data and second key frame point cloud data;
[0023] associating the feature point cloud data of the current frame with the second key frame point cloud data in the target local point cloud map and performing pose optimization to obtain positioning information of the vehicle and construct an unknown area point cloud map of the unknown area.
[0024] In one embodiment, the global feature point cloud map comprises a global edge point feature map and a global plane point feature map; the global edge point feature map comprises global edge point key frame data and corresponding edge point inter-key frame constraint information; the global plane point feature map comprises global plane point key frame data and corresponding plane point inter-key frame constraint information; the target local feature point cloud map comprises a target local edge point feature map and a target local plane point feature map; the target local edge point feature map comprises local edge point key frame data and corresponding first local inter-key frame constraint information; the target local plane point feature map comprises local plane point key frame data and corresponding second local inter-key frame constraint information; the corresponding second key frame data comprises local edge point key frame pose data, local edge point key frame point cloud data, local plane point key frame pose data, and local plane point key frame point cloud data.
[0025] The associating and pose optimizing of the feature point cloud data of the current frame with the second key frame point cloud data in the target local point cloud map to obtain the positioning information of the vehicle and construct the unknown area point cloud map of the unknown area comprises:
[0026] Identifying the type of the feature point cloud data of the current frame;
[0027] When it is detected that the feature point cloud data of the current frame is an edge point, data associating the feature point cloud data of the current frame with the local edge point key frame data in the target local point cloud map;
[0028] When it is detected that the feature point cloud data of the current frame is a plane point, data associating the feature point cloud data of the current frame with the local plane point key frame data in the target local point cloud map;
[0029] Based on the feature point cloud data of the current frame and the associated second key frame point cloud data, pose optimization is performed to obtain the positioning information of the vehicle and construct the unknown area point cloud map of the unknown area.
[0030] In one embodiment, the optimizing the positioning information based on the loop closure detection result to obtain the optimized positioning information comprises:
[0031] When it is detected that the loop closure detection result is that there is a loop closure, performing point cloud registration of the loop closure key frame data with the feature point cloud data of the current frame;
[0032] Based on the point cloud registration result, the positioning information is optimized to obtain the optimized positioning information.
[0033] In one embodiment, before the unknown area point cloud map and the global feature point cloud map are spliced to obtain a target global feature point cloud map, the method further includes:
[0034] determining mileage information of the vehicle;
[0035] when it is detected that the mileage information is greater than or equal to a preset mileage threshold, updating the unknown area point cloud map based on the optimized positioning information to obtain an optimized unknown area point cloud map.
[0036] In a second aspect, the embodiments of the present application provide a real-time positioning and mapping device, which comprises:
[0037] a local point cloud map determination module configured to determine initial pose data of a vehicle in a pre-constructed global feature point cloud map, and determine a corresponding initial local point cloud map based on the initial pose data;
[0038] a local point cloud map construction module configured to, when it is detected that the vehicle is located in an unknown area according to the initial local point cloud map, construct a corresponding target local point cloud map based on pose data of a current frame and first key frame data satisfying a first preset condition, and start a loop closure detection program to obtain a loop closure detection result;
[0039] an unknown point cloud map construction module configured to perform pose optimization on feature point cloud data of the current frame and second key frame data in the target local point cloud map, to obtain positioning information of the vehicle and construct an unknown area point cloud map of the unknown area;
[0040] a positioning optimization module configured to optimize the positioning information based on the loop closure detection result to obtain optimized positioning information;
[0041] a global point cloud map construction module configured to splice the unknown area point cloud map and the global feature point cloud map to obtain a target global feature point cloud map.
[0042] In one embodiment, the local point cloud map determination module comprises:
[0043] a global point cloud map acquisition unit configured to acquire a pre-constructed global feature point cloud map;
[0044] an initial pose determination unit configured to determine initial pose data of the vehicle in the global feature point cloud map according to a preset positioning algorithm;
[0045] a map segmentation unit configured to segment the global feature point cloud map with the initial pose data as a center to obtain an initial local point cloud map satisfying a second preset condition.
[0046] In one embodiment, the local point cloud map construction module comprises:
[0047] A quantity determination unit is configured to determine the quantity of the point cloud data in the initial local point cloud map.
[0048] A determination unit is configured to determine that the vehicle is located in the unknown area when it is detected that the quantity of the point cloud data is less than or equal to a preset threshold value of the point cloud quantity.
[0049] A key frame selection unit is configured to select first key frame data satisfying a first preset condition based on the pose data of the current frame; wherein the first key frame data comprises first key frame pose data and first key frame point cloud data.
[0050] A local point cloud map construction unit is configured to construct the target local point cloud map according to the first key frame pose data and the corresponding first key frame point cloud data, and simultaneously start a loop closure detection program to obtain a loop closure detection result.
[0051] In one embodiment, the unknown point cloud map construction module comprises:
[0052] A feature extraction unit is configured to perform feature extraction on the radar scan data of the current frame to obtain corresponding feature point cloud data of the current frame; wherein the second key frame data comprises second key frame pose data and second key frame point cloud data.
[0053] A pose optimization unit is configured to associate and perform pose optimization on the feature point cloud data of the current frame and the second key frame point cloud data in the target local point cloud map to obtain the positioning information of the vehicle and construct an unknown area point cloud map of the unknown area.
[0054] In one embodiment, the global feature point cloud map comprises a global edge point feature map and a global plane point feature map; the global edge point feature map comprises global edge point key frame data and corresponding edge point inter-key frame constraint information; the global plane point feature map comprises global plane point key frame data and corresponding plane point inter-key frame constraint information; the target local feature point cloud map comprises a target local edge point feature map and a target local plane point feature map; the target local edge point feature map comprises local edge point key frame data and corresponding first local inter-key frame constraint information; the target local plane point feature map comprises local plane point key frame data and corresponding second local inter-key frame constraint information; the corresponding second key frame data comprises local edge point key frame pose data, local edge point key frame point cloud data, local plane point key frame pose data and local plane point key frame point cloud data.
[0055] The pose optimization unit comprises:
[0056] a data type identification subunit configured to identify a type of the feature point cloud data of the current frame;
[0057] a first data association subunit configured to, when it is detected that the feature point cloud data of the current frame is edge points, perform data association between the feature point cloud data of the current frame and the local edge point key frame data in the target local point cloud map;
[0058] a second data association subunit configured to, when it is detected that the feature point cloud data of the current frame is plane points, perform data association between the feature point cloud data of the current frame and the local plane point key frame data in the target local point cloud map;
[0059] a pose optimization subunit configured to perform pose optimization based on the feature point cloud data of the current frame and the associated second key frame point cloud data, to obtain the positioning information of the vehicle and to construct the unknown region point cloud map of the unknown region.
[0060] In an embodiment, the positioning optimization module comprises:
[0061] a point cloud registration unit configured to, when it is detected that the closed loop detection result is that there is a closed loop, perform point cloud registration between the closed loop key frame data and the feature point cloud data of the current frame;
[0062] a positioning optimization unit configured to optimize the positioning information based on the point cloud registration result, to obtain the optimized positioning information.
[0063] In an embodiment, the apparatus further comprises:
[0064] a mileage determination module configured to determine the mileage information of the vehicle;
[0065] a map stitching module configured to, when it is detected that the mileage information is greater than or equal to a preset mileage threshold, update the unknown region point cloud map based on the optimized positioning information, to obtain an optimized unknown region point cloud map.
[0066] In a third aspect, an embodiment of the present application provides a terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the real-time positioning and mapping method according to any one of the first aspect.
[0067] In a fourth aspect, an embodiment of the present application provides a computer readable storage medium, which stores a computer program, and the computer program is executable on a processor to implement the real-time positioning and mapping method according to any one of the first aspect.
[0068] In a fifth aspect, the embodiments of the present application provide a computer program product, which, when running on a terminal device, causes the terminal device to perform the real-time positioning and mapping method in any one of the first aspect.
[0069] The beneficial effects of the embodiments of the present application compared with the prior art are as follows: by determining the initial local point cloud map based on the initial pose data of the vehicle in the pre-constructed global feature point cloud map, when it is detected that the vehicle is located in an unknown area, the target local point cloud map is constructed based on the pose data of the current frame and the first key frame data, and the loop detection program is started at the same time; the pose optimization is performed according to the feature point cloud data of the current frame and the second key frame data in the target local point cloud map, the vehicle positioning information is obtained and the point cloud map of the unknown area is constructed, the positioning information is optimized based on the loop detection result, the optimized positioning information is obtained, the point cloud map of the unknown area and the global feature point cloud map are spliced, and the target global feature point cloud map is obtained, so as to realize the real-time positioning of the vehicle based on the known feature point cloud map, construct the point cloud map of the unknown area, and improve the real-time positioning accuracy and the online map construction accuracy during the driving of the vehicle.
[0070] It can be understood that the beneficial effects of the above-mentioned second aspect to fifth aspect can be referred to the related description in the first aspect, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS
[0071] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments or the prior art description. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can also be obtained by those skilled in the art without creative labor.
[0072] Figure 1 is a flowchart of the real-time positioning and mapping method provided by the embodiments of the present application;
[0073] Figure 2 is a flowchart of step S102 of the real-time positioning and mapping method provided by the embodiments of the present application;
[0074] Figure 3 is a flowchart of step S103 of the real-time positioning and mapping method provided by the embodiments of the present application;
[0075] Figure 4 is a flowchart of step S1032 of the real-time positioning and mapping method provided by the embodiments of the present application;
[0076] Figure 5 is a structural diagram of the real-time positioning and mapping device provided by the embodiments of the present application;
[0077] Figure 6 is a structural schematic diagram of a terminal device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0078] In the following description, specific details are set forth, such as particular system configurations, techniques, etc., in order to provide a thorough understanding of embodiments of the present application. However, persons having ordinary skill in the art will readily understand that embodiments of the present application can be practiced without these specific details. In other instances, well-known structures, devices, circuits, and materials have not been described in detail in order to avoid obscuring the description of the present application.
[0079] It should be understood that the term "comprises / comprising" when used in this specification and the appended claims specifies the presence of stated features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0080] It should also be understood that the term "and / or" when used in this specification and the appended claims, unless otherwise stated, means one and only one of the associated listed items can be selected.
[0081] As used in this specification and the appended claims, the term "if" can be construed to mean "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [a described condition or event] is detected" can be construed to mean "upon determining" or "in response to determining" or "upon detecting [the described condition or event]" or "in response to detecting [the described condition or event]," depending on the context.
[0082] In addition, the terms "first", "second", "third", etc. in the description of the present application and the appended claims are only used to distinguish descriptions, and cannot be understood as indicating or implying relative importance.
[0083] Reference in the specification to "one embodiment" or "some embodiments" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the application. The appearances of the phrases "in one embodiment", "in some embodiments", "in other embodiments", "in additional embodiments", and so on, in various places in the specification are not necessarily all referring to the same embodiment, unless otherwise specifically stated. The terms "comprise", "comprising", "have", "having", "include", "including", and "contain", "containing" and their variants, mean "including but not limited to", unless otherwise specifically stated.
[0084] The real-time positioning and mapping method provided by the embodiments of the present application can be applied to terminal devices such as mobile phones, tablet computers, vehicle-mounted devices of unmanned vehicles, notebook computers, ultra-mobile personal computers (UMPC), and the like. The embodiments of the present application do not make any limitation on the specific type of the terminal device.
[0085] Figure 1 A schematic flowchart of the real-time positioning and mapping method provided by the present application is shown. As an example but not limitation, the method can be applied to a vehicle-mounted device of an unmanned vehicle.
[0086] S101, determine initial pose data of the vehicle in a pre-constructed global feature point cloud map, and determine a corresponding initial local point cloud map based on the initial pose data.
[0087] Specifically, when the vehicle is driving based on an unmanned system, it is necessary to obtain a pre-constructed global feature point cloud map, and at the same time, it is necessary to perform real-time scanning by a laser radar to obtain corresponding radar scanning data. The global feature point cloud map includes but is not limited to a global edge point feature map constructed based on all edge point key frame data on a known area, and a global plane point feature map constructed based on all plane point key frame data on the known area; the key frame data includes but is not limited to key frame pose data and key frame point cloud data; the corresponding global edge point feature map includes global edge point key frame pose data, global edge point key frame point cloud data, and edge point key frame constraint information; and the global plane point feature map includes global plane point key frame pose data, global plane point key frame point cloud data, and plane point key frame constraint information.
[0088] Specifically, it is necessary to identify a large amount of point cloud data to determine whether the vehicle is located in an unknown area (i.e., it is necessary to detect whether the vehicle is still located in the pre-constructed global feature point cloud map). Therefore, it is determined by a preset algorithm that the initial pose data of the vehicle in the pre-constructed global feature point cloud map, and an initial local point cloud map corresponding to the pre-constructed global feature point cloud map is segmented from the initial pose data as the center, so as to determine whether the vehicle reaches the unknown area based on the initial local point cloud map, reduce the calculation amount, and improve the identification efficiency.
[0089] S102, when it is detected that the vehicle is located in an unknown area according to the initial local point cloud map, a corresponding target local point cloud map is constructed based on pose data of a current frame and first key frame data satisfying a first preset condition, and a loop closure detection program is started to obtain a loop closure detection result.
[0090] Specifically, based on the point cloud data of the initial local point cloud map, it is determined whether the vehicle is located in an unknown area. When it is detected that the vehicle is located in the unknown area, it is necessary to determine the pose data of the current frame based on real-time radar scanning data and GPS data, select first key frame data satisfying a first preset condition based on the pose data of the current frame, and construct a corresponding target local point cloud map based on the pose data of the current frame and the first key frame data satisfying the first preset condition.
[0091] Specifically, the first preset condition can be specifically set according to actual conditions. In this embodiment, the first preset condition is set as K key frames with a distance from the pose data of the current frame less than a preset distance threshold. The preset distance threshold can be determined according to various factors such as the actual range of the pre-constructed global feature point cloud map, the environment type, etc. Generally, the preset distance threshold is in a positive proportional relationship with the growth of the actual range of the global feature point cloud map, and the preset distance threshold is in an inverse proportional relationship with the complexity of the environment type of the global feature point cloud map. That is, the larger the actual range of the global feature point cloud map is, the larger the corresponding preset distance threshold is; the higher the complexity of the environment type of the global feature point cloud map is, the smaller the corresponding preset distance threshold is. For example, when the actual range of the global point cloud map contains 5000M 2 , the preset distance is set to 30m, and the actual range of the global point cloud map contains 1000M 2 , the preset distance is set to 10m; or, when the environment type of the global feature point cloud map is highway, the corresponding preset distance is set to 30m, and when the environment type of the global feature point cloud map is rural, the corresponding preset distance is set to 10m. The value of K can be determined according to various factors such as the preset distance threshold, the actual range of the global feature point cloud map, the environment type, the actual needs of the user, etc. The value of K is in a positive proportional relationship with the growth of the preset distance threshold, and K is a positive integer greater than 0. For example, when the preset distance threshold is 30m.
[0092] Specifically, the key frame data includes key frame pose data and key frame point cloud data. The type of the first key frame data is identified, the target local edge point feature map is constructed based on the pose data of the current frame, the first key frame point cloud data of the edge point type, and the corresponding first key frame pose data; and the target local plane point feature map is constructed based on the pose data of the current frame, the first key frame point cloud data of the plane point type, and the corresponding first key frame pose data. Correspondingly, the target local feature point cloud map includes the target local edge point feature map and the target local plane point feature map; the target local edge point feature map includes local edge point key frame data and corresponding first local inter-key frame constraint information; and the target local plane point feature map includes local plane point key frame data and corresponding second local inter-key frame constraint information.
[0093] Specifically, due to the accumulation of certain errors in the odometer, when the vehicle travels a large range in an unknown area and then returns to the range of the pre-constructed global feature point cloud map, the position of the vehicle in the constructed global feature point cloud map may deviate from the real position of the vehicle. In order to improve the accuracy of the positioning information of the vehicle, a loop closure detection program needs to be started when it is detected that the vehicle is located in an unknown area to obtain a loop closure detection result.
[0094] S103, pose optimization is performed on the feature point cloud data of the current frame and the second key frame data in the target local point cloud map to obtain the positioning information of the vehicle and construct an unknown area point cloud map of the unknown area.
[0095] Specifically, data association and pose optimization are performed based on the feature point cloud data of the current frame and the second key frame data (the second key frame data includes second key frame pose data and second key frame point cloud data, and here specifically the second key frame point cloud data) in the target local point cloud map to obtain the positioning information of the vehicle. At the same time, based on the feature point cloud data of the current frame and the second key frame pose data and the second key frame point cloud data in the target local point cloud map, an unknown area point cloud map of the unknown area is constructed.
[0096] S104, the positioning information is optimized based on the loop closure detection result to obtain optimized positioning information.
[0097] Specifically, when it is detected that the loop closure detection result is a loop closure, the positioning information is optimized based on the loop closure key frame data and the feature point cloud data of the current frame to obtain the optimized positioning information.
[0098] S105, the unknown area point cloud map and the global feature point cloud map are spliced to obtain a target global feature point cloud map.
[0099] Specifically, the point cloud data of each key frame in the unknown area point cloud map is converted to the coordinate system of the global feature point cloud map, and the unknown area point cloud map and the pre-constructed global feature point cloud map are spliced to obtain a target global feature point cloud map, which facilitates real-time positioning of the vehicle based on the target global feature point cloud map.
[0100] In one embodiment, the determination of the initial pose data of the vehicle in the pre-constructed global feature point cloud map includes:
[0101] acquiring a pre-constructed global feature point cloud map;
[0102] determining the initial pose data of the vehicle in the global feature point cloud map according to a preset positioning algorithm;
[0103] Segment the global feature point cloud map centered on the initial pose data to obtain an initial local point cloud map satisfying a second preset condition.
[0104] Specifically, a pre-constructed global feature point cloud map is loaded, an initial pose data of the vehicle in the global feature point cloud map is determined based on a preset positioning algorithm, and a region point cloud map satisfying a second preset condition in the global feature point cloud map is searched as an initial local point cloud map centered on the initial pose data. The preset positioning algorithm includes but is not limited to a global positioning algorithm; the second preset condition is that the point cloud map corresponding to a region with a distance less than a range preset threshold from the initial pose data. The range preset threshold can be specifically set according to actual requirements. Generally, the range preset threshold is in a positive proportional relationship with the actual range of the global feature point cloud map and the growth of the actual driving speed of the vehicle. For example, the actual range of the global feature point cloud map is 30km 2 , and the actual driving speed of the vehicle is 60km / h, and the corresponding initial local point cloud map is a region point cloud map with a distance less than 15m from the initial pose data.
[0105] As shown in Figure 2 , in one embodiment, when the vehicle is determined to be located in an unknown region according to the initial local point cloud map, a corresponding target local point cloud map is constructed based on the pose data of the current frame and the first key frame data satisfying the first preset condition, and a loop detection program is started to obtain a loop detection result, step S102, including:
[0106] S1021, determining the number of point cloud data in the initial local point cloud map;
[0107] S1022, when it is detected that the number of point cloud data is less than or equal to a point cloud number preset threshold, determining that the vehicle is located in the unknown region;
[0108] S1023, selecting first key frame data satisfying a first preset condition based on the pose data of the current frame; wherein the first key frame data includes first key frame pose data and first key frame point cloud data;
[0109] S1024, constructing the target local point cloud map according to the first key frame pose data and the corresponding first key frame point cloud data, and starting a loop detection program to obtain a loop detection result.
[0110] Specifically, the number of point cloud data in the initial local point cloud map is identified and determined. Since the initial local point cloud map only contains point cloud data from the pre-constructed global feature point cloud map, when the number of point cloud data detected is less than or equal to a preset threshold for point cloud data, it is determined that the vehicle is located in an unknown area that does not contain point cloud data. Based on the pose data of the current frame, K first key frame data that meet the first preset condition are selected. Thus, based on the K first key frame pose data and the corresponding K first key frame point cloud data, a target local point cloud map is constructed. The first key frame data includes first key frame pose data and first key frame point cloud data.
[0111] Specifically, the closed-loop detection program simultaneously detects in real time whether the vehicle has returned to the range of the pre-built global feature point cloud map. This requires identifying the environmental feature data contained in the radar scan data, comparing the environmental feature data contained in the radar scan data with the environmental feature data in the pre-built global feature point cloud map, and determining that a closed loop has been detected when similarity is found between the environmental feature data contained in the radar scan data and the environmental feature data in the pre-built global feature point cloud map.
[0112] By comparing the similarity between the radar scan data of the current frame and the scene features of the pre-built global feature point cloud map, it can be determined whether the vehicle has been to this location (referred to as loop closure). Loop closure can be detected in a timely manner and the pose data of key frames can be corrected based on the loop closure, thereby improving the accuracy of vehicle positioning information.
[0113] In one embodiment, when the number of point cloud data in the initial local point cloud map is detected to be greater than a preset threshold for the number of point clouds, it is determined that the vehicle is located within the range corresponding to the global feature point cloud map, and real-time vehicle positioning can continue based on the global feature point cloud map.
[0114] like Figure 3 As shown, in one embodiment, step S103, which involves performing pose optimization based on the feature point cloud data of the current frame and the second keyframe data in the target local point cloud map to obtain the vehicle's positioning information and construct an unknown area point cloud map of the unknown area, includes:
[0115] S1031. Perform feature extraction on the radar scan data of the current frame to obtain the corresponding feature point cloud data of the current frame; wherein, the second key frame data includes the pose data of the second key frame and the point cloud data of the second key frame.
[0116] S1032. Associate the feature point cloud data of the current frame with the second key frame point cloud data in the target local point cloud map and perform pose optimization to obtain the vehicle's positioning information and construct the unknown area point cloud map of the unknown area.
[0117] Specifically, during the unmanned driving of the vehicle, radar scan data is obtained in real time by the laser radar, feature point cloud data of a current frame is obtained by feature extraction on the radar scan data of the current frame, based on the type of the feature point cloud data of the current frame, second key frame point cloud data in a target local point cloud map of a corresponding type is associated with the feature point cloud data of the current frame respectively, and pose optimization is performed to obtain positioning information of the vehicle. An unknown area point cloud map of an unknown area is constructed based on the feature point cloud data of the current frame and the associated second key frame point cloud data. Correspondingly, the second key frame data includes local edge point key frame pose data, local edge point key frame point cloud data, local plane point key frame pose data and local plane point key frame point cloud data.
[0118] In one embodiment, the global feature point cloud map includes a global edge point feature map and a global plane point feature map; the global edge point feature map includes global edge point key frame data and corresponding edge point inter-key frame constraint information; the global plane point feature map includes global plane point key frame data and corresponding plane point inter-key frame constraint information; the target local feature point cloud map includes a target local edge point feature map and a target local plane point feature map; the target local edge point feature map includes local edge point key frame data and corresponding first local inter-key frame constraint information; the target local plane point feature map includes local plane point key frame data and corresponding second local inter-key frame constraint information; and the second key frame data includes local edge point key frame pose data, local edge point key frame point cloud data, local plane point key frame pose data and local plane point key frame point cloud data.
[0119] As shown in Figure 4 the step S1032 of associating the feature point cloud data of the current frame with the second key frame point cloud data in the target local point cloud map and performing pose optimization to obtain the positioning information of the vehicle and construct the unknown area point cloud map of the unknown area includes:
[0120] S10321, identifying the type of the feature point cloud data of the current frame;
[0121] S10322, when it is detected that the feature point cloud data of the current frame is edge points, associating the feature point cloud data of the current frame with local edge point key frame data in the target local point cloud map;
[0122] S10323, when it is detected that the feature point cloud data of the current frame is plane points, associating the feature point cloud data of the current frame with local plane point key frame data in the target local point cloud map;
[0123] S10324, based on the feature point cloud data of the current frame and the associated second key frame point cloud data, pose optimization is performed to obtain the positioning information of the vehicle and to construct an unknown area point cloud map of the unknown area.
[0124] Specifically, the type of the feature point cloud data of the current frame is identified, the feature point cloud data of the current frame identified as an edge point is data-associated with the local edge point key frame data in the target local point cloud map, and the feature point cloud data of the current frame identified as a plane point is data-associated with the local plane point key frame data in the target local point cloud map. The associated data is iteratively optimized in pose by minimizing a loss function to obtain the positioning information of the vehicle. An unknown area edge point cloud map of the unknown area is constructed based on the feature point cloud data of the current frame identified as an edge point and the local edge point key frame data in the target local point cloud map, and an unknown area plane point cloud map of the unknown area is constructed based on the feature point cloud data of the current frame identified as a plane point and the local plane point key frame data in the target local point cloud map.
[0125] The iterative optimization of the associated data in pose by minimizing the loss function includes: converting each feature point cloud data (a plane point or an edge point) of the current scanning frame to a global coordinate system, then searching for n adjacent points (n is a positive integer greater than 1) in the target local point cloud map of the corresponding type (for example, if the feature point cloud data of the current frame is a plane point, the target local plane point cloud map needs to be searched), then using PCA analysis to respectively obtain a line feature direction vector formed by the n adjacent points or a plane normal vector formed by the n points (if the pose data of the current frame is accurate, the feature point cloud data of the current frame should be located on a straight line or a plane), based on the above constraint condition, constructing a point-to-line distance error and a point-to-plane distance error to optimize the pose.
[0126] In one embodiment, the optimization of the positioning information based on the closed loop detection result to obtain the optimized positioning information includes:
[0127] When it is detected that the closed loop detection result is that a closed loop exists, point cloud registration is performed on the closed loop key frame data and the feature point cloud data of the current frame.
[0128] The positioning information is optimized based on the point cloud registration result to obtain the optimized positioning information.
[0129] Specifically, when it is detected that the loop closure result is that the vehicle has arrived at the place, that is, there is a loop, the loop key frame data is point cloud registered with the feature point cloud data of the current frame, and the point cloud registration result is used as a constraint condition for pose optimization of the positioning information (by continuously iterating and optimizing the pose data of the key frame, so that the relative position error is close to 0), to obtain the optimized positioning information, and the loop detection program is closed. Wherein, the loop key frame is the key frame data in the pre-constructed global feature point cloud map when it is determined that the two kinds of environmental feature data have similarity in the comparison and detection process of the environmental feature data contained in the radar scanning data and the environmental feature data in the pre-constructed global feature point cloud map.
[0130] In one embodiment, before the unknown area point cloud map and the global feature point cloud map are spliced to obtain a target global feature point cloud map, the following steps are further included:
[0131] Determine the mileage information of the vehicle;
[0132] When it is detected that the mileage information is greater than or equal to a preset mileage threshold, update the unknown area point cloud map based on the optimized positioning information to obtain an optimized unknown area point cloud map.
[0133] Specifically, the initial time is the time corresponding to the initial pose data of the vehicle in the pre-constructed global feature point cloud map, and the vehicle history information from the initial time to the current time is determined. Compare the mileage information with the preset mileage threshold, and when it is detected that the mileage information is greater than or equal to the preset mileage threshold, update the unknown area point cloud map based on the optimized positioning information to obtain an optimized unknown area point cloud map, which is used for subsequent point cloud registration.
[0134] In this embodiment, the initial local point cloud map is determined based on the initial pose data of the vehicle in the pre-constructed global feature point cloud map, when it is detected that the vehicle is located in an unknown area, the target local point cloud map is constructed based on the pose data of the current frame and the first key frame data, and the loop detection program is started. According to the feature point cloud data of the current frame and the second key frame data in the target local point cloud map, the vehicle positioning information is obtained by pose optimization, and the unknown area point cloud map is constructed. The positioning information is optimized based on the loop detection result to obtain the optimized positioning information, the unknown area point cloud map and the global feature point cloud map are spliced to obtain the target global feature point cloud map, the real-time positioning of the vehicle based on the known feature point cloud map is realized, and the real-time positioning accuracy and the online map construction accuracy during the vehicle driving are improved.
[0135] It should be understood that the size of the serial number of each step in the above embodiments does not mean the order of execution, and the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0136] According to the real-time positioning and mapping method described in the above embodiments, Figure 5 The structure block diagram of the real-time positioning and mapping device provided by the embodiments of the present application is shown, and only the parts related to the embodiments of the present application are shown for the convenience of description.
[0137] Referring to Figure 5 The real-time positioning and mapping device 100 comprises:
[0138] The local point cloud map determination module 101 is configured to determine initial pose data of the vehicle in a pre-constructed global feature point cloud map, and determine a corresponding initial local point cloud map based on the initial pose data;
[0139] The local point cloud map construction module 102 is configured to, when it is detected that the vehicle is located in an unknown area according to the initial local point cloud map, construct a corresponding target local point cloud map based on pose data of a current frame and first key frame data satisfying a first preset condition, and simultaneously start a loop closure detection program to obtain a loop closure detection result;
[0140] The unknown point cloud map construction module 103 is configured to perform pose optimization on the second key frame data in the target local point cloud map according to feature point cloud data of the current frame, to obtain positioning information of the vehicle and construct an unknown area point cloud map of the unknown area;
[0141] The positioning optimization module 104 is configured to optimize the positioning information based on the loop closure detection result to obtain optimized positioning information;
[0142] The global point cloud map construction module 105 is configured to splice the unknown area point cloud map and the global feature point cloud map to obtain a target global feature point cloud map.
[0143] In one embodiment, the local point cloud map determination module comprises:
[0144] The global point cloud map acquisition unit is configured to acquire a pre-constructed global feature point cloud map;
[0145] The initial pose determination unit is configured to determine initial pose data of the vehicle in the global feature point cloud map according to a preset positioning algorithm;
[0146] The map segmentation unit is configured to segment the global feature point cloud map with the initial pose data as the center to obtain an initial local point cloud map satisfying a second preset condition.
[0147] In one embodiment, the local point cloud map construction module comprises:
[0148] A quantity determination unit is configured to determine the quantity of point cloud data in the initial local point cloud map.
[0149] A determination unit is configured to determine that the vehicle is located in the unknown area when it is detected that the quantity of point cloud data is less than or equal to a preset threshold value of point cloud quantity.
[0150] A key frame selection unit is configured to select first key frame data satisfying a first preset condition based on pose data of a current frame; wherein the first key frame data comprises first key frame pose data and first key frame point cloud data.
[0151] A local point cloud map construction unit is configured to construct the target local point cloud map according to the first key frame pose data and the corresponding first key frame point cloud data, and simultaneously start a loop closure detection program to obtain a loop closure detection result.
[0152] In one embodiment, the unknown point cloud map construction module comprises:
[0153] A feature extraction unit is configured to perform feature extraction on radar scan data of the current frame to obtain corresponding feature point cloud data of the current frame; wherein the second key frame data comprises second key frame pose data and second key frame point cloud data.
[0154] A pose optimization unit is configured to associate and perform pose optimization on the feature point cloud data of the current frame and the second key frame point cloud data in the target local point cloud map to obtain positioning information of the vehicle and construct an unknown area point cloud map of the unknown area.
[0155] In one embodiment, the global feature point cloud map comprises a global edge point feature map and a global plane point feature map; the global edge point feature map comprises global edge point key frame data and corresponding edge point inter-key frame constraint information; the global plane point feature map comprises global plane point key frame data and corresponding plane point inter-key frame constraint information; the target local feature point cloud map comprises a target local edge point feature map and a target local plane point feature map; the target local edge point feature map comprises local edge point key frame data and corresponding first local inter-key frame constraint information; the target local plane point feature map comprises local plane point key frame data and corresponding second local inter-key frame constraint information; the corresponding second key frame data comprises local edge point key frame pose data, local edge point key frame point cloud data, local plane point key frame pose data, and local plane point key frame point cloud data.
[0156] The pose optimization unit comprises:
[0157] a data type identification subunit configured to identify a type of the feature point cloud data of the current frame;
[0158] a first data association subunit configured to, when it is detected that the feature point cloud data of the current frame is an edge point, perform data association between the feature point cloud data of the current frame and the local edge point key frame data in the target local point cloud map;
[0159] a second data association subunit configured to, when it is detected that the feature point cloud data of the current frame is a plane point, perform data association between the feature point cloud data of the current frame and the local plane point key frame data in the target local point cloud map;
[0160] a pose optimization subunit configured to perform pose optimization based on the feature point cloud data of the current frame and the associated second key frame point cloud data, to obtain the positioning information of the vehicle and to construct the unknown region point cloud map of the unknown region.
[0161] In an embodiment, the positioning optimization module comprises:
[0162] a point cloud registration unit configured to, when it is detected that the closed loop detection result is that there is a closed loop, perform point cloud registration between the closed loop key frame data and the feature point cloud data of the current frame;
[0163] a positioning optimization unit configured to optimize the positioning information based on the point cloud registration result, to obtain the optimized positioning information.
[0164] In an embodiment, the apparatus further comprises:
[0165] a mileage determination module configured to determine the mileage information of the vehicle;
[0166] a map stitching module configured to, when it is detected that the mileage information is greater than or equal to a preset mileage threshold, update the unknown region point cloud map based on the optimized positioning information, to obtain an optimized unknown region point cloud map.
[0167] This embodiment determines an initial local point cloud map based on the vehicle's initial pose data in a pre-constructed global feature point cloud map. When the vehicle is detected to be in an unknown area, a target local point cloud map is constructed based on the pose data of the current frame and the first keyframe data, while simultaneously initiating a loop closure detection program. Pose optimization is performed based on the feature point cloud data of the current frame and the second keyframe data in the target local point cloud map to obtain vehicle positioning information and construct an unknown area point cloud map. The positioning information is further optimized based on the loop closure detection results to obtain optimized positioning information. The unknown area point cloud map and the global feature point cloud map are then stitched together to obtain the target global feature point cloud map. This achieves real-time vehicle positioning based on a known feature point cloud map and constructs point cloud maps for unknown areas, improving the real-time positioning accuracy and online map construction accuracy during vehicle operation.
[0168] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.
[0169] Figure 6 This is a schematic diagram of the structure of the terminal device provided in this embodiment. Figure 6 As shown, the terminal device 6 in this embodiment includes: at least one processor 60 ( Figure 6 (Only one is shown in the diagram), memory 61, and computer program 62 stored in the memory 61 and executable on the at least one processor 60, wherein the processor 60 executes the computer program 62 to implement the steps in any of the above-described real-time positioning and mapping method embodiments.
[0170] The terminal device 6 can be a desktop computer, laptop, handheld computer, or cloud server, etc. This terminal device may include, but is not limited to, a processor 60 and a memory 61. Those skilled in the art will understand that... Figure 6 This is merely an example of terminal device 6 and does not constitute a limitation on terminal device 6. It may include more or fewer components than shown in the figure, or combine certain components, or different components, such as input / output devices, network access devices, etc.
[0171] The processor 60 can be a central processing unit (CPU), and can also be other general-purpose processors, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, etc. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor.
[0172] The memory 61 can be an internal storage unit of the terminal device 6, such as a hard disk or a memory of the terminal device 6, in some embodiments. The memory 61 can also be an external storage device of the terminal device 6, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the terminal device 6, in other embodiments. Further, the memory 61 can include both the internal storage unit and the external storage device of the terminal device 6. The memory 61 is used to store an operating system, application programs, a boot loader, data, and other programs, such as program codes of the computer program, etc. The memory 61 can also be used to temporarily store data that has been output or is to be output.
[0173] It can be clearly understood by those skilled in the art that, for the convenience and brevity of description, only the division of the above functional units and modules is taken as an example for illustration, and in actual application, the above functions can be completed 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 complete all or part of the above-described functions. Each functional unit and module in the embodiments can be integrated in one processing unit, or each unit can exist physically independently, or two or more units can be integrated in one unit, and the integrated unit can be realized in the form of hardware or in the form of a software functional unit. In addition, the specific names of the functional units and modules are only for the convenience of mutual distinction, and are not used to limit the protection scope of the present application. The specific working process of the units and modules in the system can refer to the corresponding process in the foregoing method embodiments, which will not be described here.
[0174] The embodiment of the present application further provides a network device, comprising at least one processor, a memory, and a computer program stored in the memory and executable on the at least one processor, wherein the processor implements the steps in any of the above method embodiments when executing the computer program.
[0175] The embodiment of the present application further provides a computer readable storage medium, which stores a computer program, wherein the computer program is executed by a processor to implement the steps in any of the above method embodiments.
[0176] The embodiment of the present application provides a computer program product, which, when executed on a mobile terminal, enables the mobile terminal to implement the steps in any of the above method embodiments.
[0177] The integrated unit, if implemented in the form of a software function unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such understanding, the embodiment of the present application can implement all or part of the above-mentioned method processes through a computer program to instruct related hardware to complete, and the computer program can be stored in a computer readable storage medium. The computer program is executed by a processor to implement the steps in each of the above method embodiments. The computer program includes computer program code, which can be in the form of source code, object code, executable file or some intermediate form. The computer readable medium at least includes any entity or device capable of carrying the computer program code to the photographing device / terminal equipment, recording medium, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal and software distribution medium. For example, U disk, mobile hard disk, magnetic disk or optical disk, etc. In some jurisdictions, according to legislation and patent practice, the computer readable medium cannot be an electrical carrier signal and a telecommunication signal.
[0178] In the above embodiments, the description of each embodiment has its own focus, and the parts not described or recorded in detail in a certain embodiment can be referred to the relevant description of other embodiments.
[0179] Those skilled in the art can understand that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized in electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0180] In the embodiments provided in the present application, it should be understood that the disclosed apparatus / network device and method can be implemented by other ways. For example, the apparatus / network device embodiments described above are only schematic, for example, the division of the modules or units is only a logical function division, and there can be another division in actual implementation, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections between different parts can be indirect couplings or communication connections through some interfaces, devices or units, and can be electrical, mechanical or other forms.
[0181] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on a plurality of network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiments.
[0182] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that the technical solutions recorded in the foregoing embodiments can be modified, or some technical features can be replaced by equivalents; and these modifications or replacements do not make the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.
Claims
1. A real-time positioning and mapping method, characterized in that, include: Determining the initial pose data of a vehicle in a pre-constructed global feature point cloud map, and determining the corresponding initial local point cloud map based on the initial pose data, includes: acquiring a pre-constructed global feature point cloud map; determining the initial pose data of the vehicle in the global feature point cloud map according to a preset positioning algorithm; and segmenting the global feature point cloud map with the initial pose data as the center to obtain an initial local point cloud map that satisfies a second preset condition. When the vehicle is detected to be in an unknown region based on the initial local point cloud map, a corresponding target local point cloud map is constructed based on the pose data of the current frame and the first keyframe data that meets the first preset condition. Simultaneously, a loop closure detection program is initiated to obtain a loop closure detection result, including: determining the number of point cloud data in the initial local point cloud map; determining that the vehicle is located in the unknown region when the number of point cloud data is less than or equal to a preset threshold; selecting the first keyframe data that meets the first preset condition based on the pose data of the current frame; wherein the first keyframe data includes first keyframe pose data and first keyframe point cloud data; constructing the target local point cloud map based on the first keyframe pose data and the corresponding first keyframe point cloud data, and simultaneously initiating a loop closure detection program to obtain a loop closure detection result; wherein the first preset condition is K keyframes whose distance to the pose data of the current frame is less than a preset distance threshold. Based on the feature point cloud data of the current frame and the second keyframe data in the target local point cloud map, pose optimization is performed to obtain the vehicle's positioning information and construct the unknown area point cloud map of the unknown area; wherein, the second keyframe data includes local edge point keyframe pose data, local edge point keyframe point cloud data, local planar point keyframe pose data, and local planar point keyframe point cloud data. The positioning information is optimized based on the closed-loop detection results to obtain optimized positioning information; The point cloud map of the unknown area and the global feature point cloud map are stitched together to obtain the target global feature point cloud map.
2. The real-time positioning and mapping method as described in claim 1, characterized in that, The step of performing pose optimization based on the feature point cloud data of the current frame and the second keyframe data in the target local point cloud map to obtain the vehicle's positioning information and construct the unknown region point cloud map of the unknown region includes: Feature extraction is performed on the radar scan data of the current frame to obtain the corresponding feature point cloud data of the current frame; wherein, the second key frame data includes the pose data of the second key frame and the point cloud data of the second key frame. The feature point cloud data of the current frame is associated with the point cloud data of the second key frame in the target local point cloud map and the pose is optimized to obtain the vehicle's positioning information and construct the unknown area point cloud map of the unknown area.
3. The real-time positioning and mapping method as described in claim 2, characterized in that, The global feature point cloud map includes a global edge point feature map and a global planar point feature map; the global edge point feature map includes global edge point keyframe data and corresponding inter-frame constraint information; the global planar point feature map includes global planar point keyframe data and corresponding inter-frame constraint information; the target local feature point cloud map includes a target local edge point feature map and a target local planar point feature map; the target local edge point feature map includes local edge point keyframe data and corresponding first inter-frame constraint information; the target local planar point feature map includes local planar point keyframe data and corresponding second inter-frame constraint information; the corresponding second keyframe data includes local edge point keyframe pose data, local edge point keyframe point cloud data, local planar point keyframe pose data, and local planar point keyframe point cloud data. The step of associating the feature point cloud data of the current frame with the point cloud data of the second keyframe in the target local point cloud map and performing pose optimization to obtain the vehicle's positioning information and construct the unknown area point cloud map of the unknown area includes: Identify the type of feature point cloud data in the current frame; When the feature point cloud data of the current frame is detected to be an edge point, the feature point cloud data of the current frame is associated with the keyframe data of the local edge point in the target local point cloud map. When the feature point cloud data of the current frame is detected to be a planar point, the feature point cloud data of the current frame is associated with the keyframe data of the local planar point in the target local point cloud map. Based on the feature point cloud data of the current frame and the associated second key frame point cloud data, pose optimization is performed to obtain the vehicle's positioning information and construct an unknown area point cloud map of the unknown region.
4. The real-time positioning and mapping method as described in claim 1, characterized in that, The optimization of the positioning information based on the closed-loop detection results to obtain optimized positioning information includes: When the loop closure detection result indicates the existence of a loop, the loop closure keyframe data is registered with the feature point cloud data of the current frame. The positioning information is optimized based on the point cloud registration results to obtain optimized positioning information.
5. The real-time positioning and mapping method as described in claim 1, characterized in that, Before stitching the unknown region point cloud map and the global feature point cloud map together to obtain the target global feature point cloud map, the method further includes: Determine the mileage information of the vehicle; When the mileage information is detected to be greater than or equal to a preset mileage threshold, the point cloud map of the unknown area is updated based on the optimized positioning information to obtain an optimized point cloud map of the unknown area.
6. A real-time positioning and mapping device, characterized in that, include: The local point cloud map determination module is used to determine the initial pose data of the vehicle in a pre-constructed global feature point cloud map, and to determine the corresponding initial local point cloud map based on the initial pose data, including: acquiring the pre-constructed global feature point cloud map; determining the initial pose data of the vehicle in the global feature point cloud map according to a preset positioning algorithm; and segmenting the global feature point cloud map with the initial pose data as the center to obtain an initial local point cloud map that satisfies a second preset condition. A local point cloud map construction module is used to construct a corresponding target local point cloud map based on the pose data of the current frame and the first keyframe data that meets a first preset condition when the vehicle is detected to be located in an unknown area according to the initial local point cloud map, and simultaneously start a loop closure detection program to obtain a loop closure detection result. The module includes: determining the number of point cloud data in the initial local point cloud map; determining that the vehicle is located in the unknown area when the number of point cloud data is less than or equal to a preset threshold; selecting the first keyframe data that meets the first preset condition based on the pose data of the current frame; wherein the first keyframe data includes first keyframe pose data and first keyframe point cloud data; constructing the target local point cloud map based on the first keyframe pose data and the corresponding first keyframe point cloud data, and simultaneously starting a loop closure detection program to obtain a loop closure detection result; wherein the first preset condition is K keyframes whose distance to the pose data of the current frame is less than a preset distance threshold. An unknown point cloud map construction module is used to perform pose optimization based on the feature point cloud data of the current frame and the second keyframe data in the target local point cloud map to obtain the vehicle's positioning information and construct an unknown area point cloud map of the unknown area; wherein, the second keyframe data includes local edge point keyframe pose data, local edge point keyframe point cloud data, local planar point keyframe pose data, and local planar point keyframe point cloud data. The positioning optimization module is used to optimize the positioning information based on the closed-loop detection results to obtain optimized positioning information; The global point cloud map construction module is used to stitch together the unknown area point cloud map and the global feature point cloud map to obtain the target global feature point cloud map.
7. A terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 5.
8. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Map construction method and device, electronic equipment and computer readable storage medium
CN114754782A