Accurate mapping method, system and equipment based on improved Cartographic algorithm and medium

By improving the Cartographer algorithm, combining the preprocessing of environment-aware data and point cloud matching, the problems of poor graph construction quality and failed loopback in structured scenarios are solved, and accurate graph construction and robust loopback detection in multiple scenarios are achieved.

CN120101765APending Publication Date: 2025-06-06QINGHAI HUANGHE HYDROPOWER DEVELOPMENT CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311667137.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-06
Publication Date
2025-06-06

AI Technical Summary

Technical Problem

In structured scenarios, intelligent robots have problems such as poor quality of graph construction and failed loopback, making it difficult to achieve accurate graph construction.

Method used

The precise graph construction method based on the improved Cartographer algorithm is adopted, and precise graph construction in multiple scenarios is achieved by obtaining environment-aware data, preprocessing data to obtain predicted poses, using improved algorithms to perform point cloud matching, building graph optimization models, updating subgraphs, and performing loop constraint calculations and back-end optimization.

Benefits of technology

It improves the quality of front-end sub-graph construction and the robustness of loopback detection, realizes accurate mapping in multiple scenarios, and improves mapping accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120101765A_ABST
    Figure CN120101765A_ABST
Patent Text Reader

Abstract

The invention relates to an accurate mapping method, system and device based on an improved Cartograph algorithm and a medium. The method comprises the following steps: acquiring environmental perception data; preprocessing the environment sensing data to obtain a predicted pose of the robot; based on the predicted pose, the current observation pose of the robot is obtained through point cloud matching based on an improved Cartograph algorithm, a graph optimization model of the predicted pose and the current observation pose is constructed, the actual pose of the robot at the current moment is obtained, and a subgraph is updated; and carrying out loopback constraint calculation and back-end optimization on the basis of the actual pose and the updated sub-graph to realize accurate mapping under multiple scenes. According to the method, the variable speed hypothesis, the point cloud lookup table, the Lazy Decision and the like are applied to the Cartograder-based algorithm, so that the construction quality of the front end sub-graph is improved, the robustness of algorithm loopback detection is also improved, and accurate mapping under multiple scenes is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of map construction technology, and in particular relates to an accurate map construction method, system, device and medium based on an improved Cartographer algorithm. Background Art

[0002] With the improvement of urbanization and the development of science and technology, people have higher and higher requirements for inspections in different scenarios. While improving the efficiency of production and life, real-time inspections of different scenarios are conducive to ensuring the safety of people and equipment in the scenarios. Regular inspections of these scenarios are an important means to ensure their healthy operation and safety. At present, my country's inspection methods are mainly divided into manual and rail-type robots. The former cannot meet the needs of fast and efficient, and the latter lacks flexibility. In order to meet the needs of intelligent and rapid inspections in multiple scenarios, combined with the background of rapid development of intelligent robots, the use of intelligent robots instead of manual labor in multi-scenario inspections can not only effectively avoid the various disadvantages of manual labor, but also save manpower and material resources, greatly improve inspection efficiency, and use intelligent robots for intelligent inspections in multiple scenarios. It has very practical significance for the entire intelligent inspection system. It aims to use the combination of advanced robot technology and sensor technology to obtain the internal status of different scenarios in a long-term, real-time, and spatially free and continuous manner, such as equipment operation status, road conditions, traffic safety, wall conditions, etc., in order to monitor various anomalies in different scenarios, and promptly feedback the information obtained to the control center, so that the staff can evaluate the internal conditions of different scenarios and provide a basis and guidance for operation and maintenance and control in multiple scenarios.

[0003] The premise of the robot's autonomous navigation in structured scenes is that it can achieve accurate mapping in these scenes. Because the features in various places in structured scenes are relatively similar, the satellite signal is weak, and the closure is strong, intelligent robots have problems such as poor mapping quality and loop failure in these scenes. Nowadays, the development of laser SLAM technology makes it possible for intelligent robots to achieve autonomous navigation in these scenes. Laser SLAM technology is of great significance for intelligent robots to achieve autonomous navigation in multiple scenes. It plays a vital role in timely discovering abnormal accidents in different scenes, monitoring the operating status of related equipment in different scenes, and reducing safety accidents. Using intelligent robots to perform autonomous navigation in different scenes can improve inspection efficiency, expand inspection scope, ensure personal safety of personnel, and save manpower and material resources when performing subsequent inspection tasks. It has very important research significance for the early realization of intelligent inspection in multiple scenes, and plays a significant role in the safe operation and management of these scenes. Summary of the invention

[0004] The purpose of the present invention is to provide a precise mapping method, system, device and medium based on an improved Cartographer algorithm in order to solve the above problems.

[0005] The present invention achieves the above-mentioned purpose through the following technical solutions:

[0006] A precise mapping method based on an improved Cartographer algorithm includes the following steps:

[0007] Acquired environmental perception data;

[0008] Preprocessing the environmental perception data to obtain a predicted position and posture of the robot;

[0009] Based on the predicted posture, the current observed posture of the robot is obtained by using point cloud matching based on the improved Cartographer algorithm, a graph optimization model of the predicted posture and the current observed posture is constructed, the actual posture of the robot at the current moment is obtained and the subgraph is updated;

[0010] Based on the actual pose and the updated sub-graph, loop constraint calculation and back-end optimization are performed to achieve accurate mapping in multiple scenarios.

[0011] As a further optimization solution of the present invention, the acquired environment perception data also includes:

[0012] Analyze the functional requirements of tracked robots, including the movement performance, environmental perception performance, and mapping performance of tracked robots;

[0013] The software and hardware platform of the tracked robot is designed based on functional requirements. The hardware part includes the selection and construction of tracked chassis, lidar, IMU, odometer, main controller, CAN analyzer and WIFI hardware; the software part includes four parts: application layer, library function layer, operating system layer and hardware layer, and mathematical modeling of the hardware is carried out according to the constructed hardware platform.

[0014] As a further optimization scheme of the present invention, the environmental perception data includes IMU data, odometer data, lidar data, and communication data between the host computer and the bottom layer.

[0015] As a further optimization scheme of the present invention, the specific process of preprocessing the environmental perception data to obtain the predicted posture of the robot is as follows:

[0016] Preprocessing the environmental perception data includes constructing a pose inference device and removing point cloud distortion. Constructing the pose inference device is to fuse the odometer data with the IMU data, and obtain the predicted pose of the robot through the pose predictor; removing the point cloud distortion is to ensure the accuracy of the lidar data by removing the motion distortion of the laser point cloud in the lidar data.

[0017] As a further optimization scheme of the present invention, based on the predicted posture, the current observed posture of the robot is obtained by using point cloud matching based on the improved Cartographer algorithm, and a graph optimization model of the predicted posture and the current observed posture is constructed to obtain the actual posture of the robot at the current moment and update the subgraph. The specific process is as follows:

[0018] The graph optimization method is used to solve the error. The observed pose change of the robot is obtained by matching the laser point cloud of the lidar data. The predicted pose change obtained by the IMU data and the odometer data is added to construct the error vector of the predicted pose change and the observed pose change, and then the nonlinear least squares objective equation is constructed to achieve the fusion of the observed pose and the predicted pose. After that, the corresponding laser point cloud after dedistortion is inserted into the map to obtain the actual pose of the robot at the current moment and update the subgraph.

[0019] As a further optimization scheme of the present invention, the specific process of obtaining the current observation posture of the robot by using point cloud matching based on the improved Cartographer algorithm is as follows:

[0020] Introducing a rough matching method based on point cloud lookup table;

[0021] Define the reference area and the projection area. The reference area is the latest sub-graph constructed by the front end at the current moment. The projection area is divided according to the odometer data. The predicted posture inferred from the odometer data is used as a reference. With the odometer data estimated posture as the center, a rectangular area is constructed near it as the search space for the robot's optimal posture.

[0022] Create a point cloud lookup table, and save each rotation point of the point cloud data and its index in the grid map in a two-dimensional array type lookup table; the first dimension of the lookup table corresponds to the angle of rotation of the point cloud, and the second dimension stores the corresponding index value of the point cloud point in the grid map after rotation; when the point cloud is rotated by n angles, a lookup table corresponding to n angles will be generated; so that the laser points with the same angle but different positions in each frame of the point cloud will only be indexed once during the entire matching process;

[0023] The concept of local data chain with real-time update is introduced, which requires that the first and last two frames of point cloud of the local point cloud data chain should be controlled within a preset distance range, that is, they should also meet a certain data scale; if the distance between the first and last frames of point cloud data exceeds the specified range, the tail point cloud data will be deleted; otherwise, it is necessary to continue to judge the distance between the head point cloud data of the data chain and the current point cloud until the distance between all point cloud data and the current point cloud data is less than the specified range, so as to maintain the current local data chain; it is used to generate the local map required for scan matching;

[0024] When performing scan matching, first traverse all translation and rotation postures within a certain range and select the posture with the maximum score. Since there may be multiple postures corresponding to the maximum value, it is necessary to take the average of these postures as the matched posture;

[0025] When traversing all the rotated point cloud data, the search process is further accelerated by the established point cloud lookup table. By projecting the point cloud lookup table into the reference area with a certain displacement, considering that the current latest sub-map has been generated by the local data chain, Gaussian blur is performed near the grid where the laser point appears in the local map. If there are m points in the local map that overlap with the point cloud lookup table, since the score of each overlap is different after Gaussian blurring, the response value of the rough match is obtained by accumulating the scores and removing the highest score that can be obtained, and the pose mean is obtained, and then the grid sub-map is locally updated.

[0026] Because the rough matching based on the point cloud lookup table is based on the traversal within the odometer prediction range, there is a distance difference between the pose within this range and the prior pose. To ensure the accuracy of the matching, different weights need to be assigned to different current poses when calculating the score. The closer the distance to the prior pose, the greater the weight of this pose, and vice versa.

[0027] Through coarse matching based on the point cloud lookup table, the area centered on the odometry predicted posture is traversed, and by solving the scores of all points in the area, the posture with the highest score is selected to obtain the current observed posture of the robot.

[0028] As a further optimization scheme of the present invention, based on the actual pose and the updated sub-graph, loop constraint calculation and back-end optimization are performed to achieve accurate mapping in multiple scenarios. The specific process is as follows:

[0029] Construct constraints between pose nodes, adjacent nodes and subgraphs as observations in the graph optimization error construction; when the number of newly constructed pose nodes reaches a certain number, perform backend optimization on the pose graph, and update the pose nodes and subgraph poses to obtain the optimized pose set and environment map.

[0030] An accurate mapping system based on an improved Cartographer algorithm, including:

[0031] A data acquisition module, used to acquire environmental perception data;

[0032] A data preprocessing module, used to preprocess the environmental perception data to obtain a predicted position and posture of the robot;

[0033] A LocalSLAM module is used to obtain the current observed posture of the robot based on the predicted posture by using point cloud matching based on the improved Cartographer algorithm, construct a graph optimization model of the predicted posture and the current observed posture, obtain the actual posture of the robot at the current moment and update the subgraph;

[0034] The GlobalSLAM module is used to perform loop constraint calculation and backend optimization based on the actual pose and the updated sub-image, so as to achieve accurate mapping in multiple scenarios.

[0035] An electronic device comprises a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus;

[0036] Memory, for storing computer programs;

[0037] The processor is used to implement a precise mapping method based on an improved Cartographer algorithm when executing a program stored in the memory.

[0038] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements a precise mapping method based on an improved Cartographer algorithm.

[0039] The beneficial effects of the present invention are:

[0040] The present invention applies variable speed assumption, point cloud lookup table, lazy decision, etc. to the Cartograph algorithm, which not only improves the quality of front-end submap construction, but also improves the robustness of algorithm loop detection, and realizes accurate mapping in multiple scenarios. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 is a flow chart of the method of the present invention;

[0042] Figure 2 It is a diagram of the overall algorithm structure in an embodiment of the present invention;

[0043] Figure 3 is a flow chart of sensor data preprocessing in an embodiment of the present invention;

[0044] Figure 4 This is a partial flow chart of LocalSLAM in an embodiment of the present invention.

[0045] Figure 5 It is a partial flow chart of GlobalSLAM in an embodiment of the present invention;

[0046] Figure 6 It is a system structure block diagram of the present invention;

[0047] Figure 7 It is a block diagram of the device structure of the present invention. DETAILED DESCRIPTION

[0048] The present application is further described in detail below in conjunction with the accompanying drawings. It is necessary to point out here that the following specific implementation methods are only used to further illustrate the present application and cannot be understood as limiting the scope of protection of the present application. Technical personnel in this field can make some non-essential improvements and adjustments to the present application based on the above application content.

[0049] like Figure 1 As shown, a precise mapping method based on an improved Cartographer algorithm includes the following steps:

[0050] Acquired environmental perception data;

[0051] Preprocessing the environmental perception data to obtain a predicted position and posture of the robot;

[0052] Based on the predicted posture, the current observed posture of the robot is obtained by using point cloud matching based on the improved Cartographer algorithm, a graph optimization model of the predicted posture and the current observed posture is constructed, the actual posture of the robot at the current moment is obtained and the subgraph is updated;

[0053] Based on the actual pose and the updated sub-graph, loop constraint calculation and back-end optimization are performed to achieve accurate mapping in multiple scenarios.

[0054] Specifically include:

[0055] (1) Analyze the functional requirements of tracked robots, including the robot's motion performance, environmental perception performance, and mapping performance.

[0056] (2) Design the software and hardware platform of the tracked robot. The hardware part includes the selection and construction of the tracked chassis, lidar, IMU, odometer, main controller, CAN analyzer, WIFI and other hardware; the software part includes four parts: application layer, library function layer, operating system layer, and hardware layer, and mathematical modeling of the hardware is carried out according to the constructed hardware platform.

[0057] (3) Obtain and load raw data, including IMU data, odometer data, lidar data, communication data between the host computer and the bottom layer, etc.;

[0058] (4) Preprocessing the raw sensor data, including building a pose inference device and removing point cloud distortion. The former is to fuse the odometer data with the IMU data and obtain the predicted pose of the robot through the pose predictor; the latter is to ensure the accuracy of the lidar data by removing the motion distortion of the laser point cloud;

[0059] (5) Using point cloud matching to obtain the observed posture change of the robot, the error vector between the observed posture and the predicted posture is calculated, and the observed posture and predicted posture are fused by constructing a nonlinear least squares equation. Then, the corresponding point cloud is inserted into the map and the map is updated.

[0060] (6) Construct constraints between pose nodes, adjacent nodes, and subgraphs as observation values ​​in the graph optimization error construction; when the number of newly constructed pose nodes reaches a certain number, perform back-end optimization on the pose graph, and update the pose nodes and subgraph poses to obtain the optimized pose set and environment map.

[0061] This method has high precision and has higher mapping accuracy than the original Cartographer algorithm.

[0062] Because structured scenes have symmetric structures and similar feature points, such as tunnels, pipe corridors, classrooms, photovoltaic power plants, etc., the original Cartographer algorithm has problems such as reduced mapping accuracy and loop failure when applied to these scenes. The improved Cartographer algorithm is optimized based on the original Cartographer algorithm in combination with the application requirements of structured scenes. Cartographer is a graph-optimized SLAM algorithm that combines high-precision pose inference with real-time matching of laser point clouds.

[0063] In step (4), the obtained raw data is preprocessed and converted into the data queue required to generate the predicted pose. Here, it is necessary to build a pose inference device and point cloud distortion removal.

[0064] The IMU data and odometer data are processed separately. In order to improve the accuracy, the odometer and IMU data are loosely coupled and fused to construct a pose inference device. In the process of pose prediction, the first three data of the odometer data queue are used as the sampling pose, and a uniform speed assumption is made for them. The predicted pose with higher accuracy is obtained through quadratic interpolation calculation.

[0065] In addition, the point cloud data of the lidar must be processed in sequence such as point cloud synchronization, point cloud dedistortion, and point cloud voxel filtering.

[0066] The process includes robot platform construction, data collection, sensor data preprocessing, point cloud matching and loop detection and back-end optimization.

[0067] The steps of the mapping process of the precise mapping method are as follows:

[0068] Step 1: Design the robot's software and hardware platform, select the hardware and build the hardware platform of the intelligent robot, then pre-process the multi-sensor data, build a pose inference device, and remove the motion distortion of the laser point cloud.

[0069] Step 2: The dedistorted laser point cloud is matched to obtain the observed posture of the robot. The observed posture is combined with the predicted posture obtained by IMU and odometer to construct a nonlinear least squares objective equation to obtain the fused posture. The corresponding point cloud is inserted into the map, and the sub-graph and posture are updated.

[0070] Step 3: When the Lazy Decision loop construction conditions are met, construct constraints between the newly established pose node and the nodes near the node and the subgraph as observations in the graph optimization error construction. When the number of newly constructed pose nodes reaches a certain number, perform a backend optimization on the constructed pose graph, and update the pose nodes and subgraph poses to obtain the optimized pose set and environment map.

[0071] In step (5), point cloud matching includes coarse matching and fine matching, where:

[0072] The current robot predicted posture obtained by data preprocessing and the laser point cloud after voxel filtering are obtained. The robot's observed posture is obtained by point cloud matching.

[0073] The introduction of a rough matching method based on a point cloud lookup table improves the robustness of loop detection by introducing lazy decision in the back-end loop detection, but at the same time, it places higher requirements on the quality of the front-end constructed sub-graphs. The traditional rough matching method belongs to brute force search, which has the disadvantages of slow speed and poor computation, seriously affecting the efficiency of point cloud matching and the quality of the front-end constructed sub-graphs. The proposed rough matching method based on a point cloud lookup table improves the efficiency of the rough matching process.

[0074] Define the reference area and the projection area. The reference area is the latest sub-map constructed by the front end at the current moment. The projection area is obtained according to the mileage plan. Because the odometer is relatively accurate, the predicted posture inferred by the odometer is used as a reference. With the odometer estimated posture as the center, a rectangular area is constructed near it as the search space for the robot's optimal posture. There is no need to search within the entire map range, which narrows the search range.

[0075] Create a point cloud lookup table, and save each rotation point of the point cloud data and its index in the grid map in a two-dimensional array type lookup table. The first dimension of the lookup table corresponds to the angle of rotation of the point cloud, and the second dimension stores the corresponding index value of the point cloud point in the grid map after rotation. When the point cloud is rotated by n angles, a lookup table corresponding to n angles will be generated. This ensures that laser points with the same angle but different positions in each frame of the point cloud will only be indexed once during the entire matching process;

[0076] The concept of local data chain with real-time update is introduced, which requires that the first and last two frames of point cloud of the local point cloud data chain be controlled within a certain distance range, that is, they must also meet a certain data scale. If the distance between the first and last frames of point cloud data exceeds the specified range, the tail point cloud data will be deleted; otherwise, it is necessary to continue to judge the distance between the head point cloud data of the data chain and the current point cloud until the distance between all point cloud data and the current point cloud data is less than the specified range to maintain the current local data chain. It is used to generate the local map required for scan matching;

[0077] When performing scan matching, first traverse all translation and rotation postures within a certain range and select the posture with the maximum score. Since there may be multiple postures corresponding to the maximum value, it is necessary to take the average of these postures as the matched posture;

[0078] When traversing all the rotated point cloud data, the search process is further accelerated by the established point cloud lookup table. By projecting the point cloud lookup table into the reference area with a certain displacement, considering that the current latest sub-map has been generated by the local data chain, Gaussian blur is performed near the grid where the laser point appears in the local map. If there are m points in the local map that overlap with the point cloud lookup table, since the score of each overlap is different after Gaussian blurring, the response value of the rough match is obtained by accumulating the scores and removing the highest score that can be obtained, the pose mean is obtained, and then the grid sub-map is locally updated;

[0079] Because the rough matching based on the point cloud lookup table is based on the traversal within the odometer prediction range, there is a distance difference between the pose within this range and the prior pose. To ensure the accuracy of the matching, different weights need to be assigned to different current poses when calculating the score. The closer the distance to the prior pose, the greater the weight of this pose, and vice versa.

[0080] Through coarse matching based on the point cloud lookup table, the search range can be greatly narrowed. There is no need to traverse all the laser point clouds. Instead, the area centered on the odometry predicted posture is traversed, and the posture with the highest score is selected by solving the scores of all points in the area. This improves the efficiency of scan matching and further improves the quality of front-end submap construction.

[0081] In this embodiment, the following reference Figure 2 , the specific implementation methods and effects of the overall structural diagram of the present invention are further described:

[0082] (1) Design the robot's software and hardware platform, build the hardware platform, and obtain raw environmental perception data through the multiple sensors on the platform, including IMU data, odometer data, lidar data, etc., pre-process the sensor data, use the odometer data and IMU data for data fusion and then build a pose inference device, and perform point cloud dedistortion and filtering on the lidar data;

[0083] (2) According to the graph optimization SLAM principle, the optimal solution of nonlinear least squares is solved. The observed pose change is obtained by scanning and matching the point cloud of the laser radar, and the pose difference at different times is obtained. The observed pose difference and predicted pose difference between different times are obtained by scanning matching and the error vector is constructed. Then, the nonlinear least squares equation is constructed using the error vector to obtain the fusion of the observed and predicted values. After obtaining the laser point cloud corresponding to the fused predicted pose, it is inserted into the grid map, and finally the updated pose and sub-graph are obtained.

[0084] (3) When the lazy decision loop construction conditions are met, the constraints between the newly established pose node and the nodes near the node and the subgraph are constructed as observation values ​​in the graph optimization error construction. When the number of newly constructed pose nodes reaches a certain number, the constructed pose graph is optimized once, and the pose nodes and subgraph poses are updated to obtain the optimized pose set and environment map.

[0085] The main methods of sensor preprocessing are: in the process of multi-sensor data fusion, a pose inference device is built to fuse the odometer and IMU data, and a uniform velocity hypothesis is proposed to provide an approximate initial iteration value for it, which can improve the accuracy while reducing the iteration time and avoid the iteration falling into the local minimum; the motion distortion of the original point cloud of the lidar is removed to ensure the accuracy of the lidar point cloud data, and a series of preprocessing operations are performed on the sensor data to ensure the accuracy of subsequent mapping.

[0086] (4) The built robot platform will be tested in different environments, and the Cartographer algorithm will be continuously improved based on the test results, ultimately achieving accurate mapping in multiple scenarios.

[0087] The following reference Figure 3 , the specific implementation method and effect of sensor data preprocessing in the improved Cartographer algorithm of the present invention are further described:

[0088] (1) Use IMU to measure the robot’s angular velocity and linear acceleration;

[0089] (2) Use the odometer to measure the robot's linear velocity and angular velocity;

[0090] (3) Since there are errors in the IMU and odometer measurement data, the two are loosely coupled and fused;

[0091] (4) The fused data is used to construct a pose inference device, and the uniform velocity assumption is used to perform secondary interpolation to obtain the predicted pose of the robot.

[0092] (5) Perform spatial synchronization, distortion removal, and voxel filtering on the received point cloud data.

[0093] The following reference Figure 4 , the specific implementation and effect of the LocalSLAM structure in the improved Cartographer algorithm of the present invention are further described:

[0094] First, obtain the preprocessed point cloud and the robot's predicted pose at the current point cloud moment. The robot's predicted pose is obtained by the IMU and odometer data in the data preprocessing phase through the pose inference device. At this moment, the point cloud data has undergone a series of motion distortion removal, filtering and other processing. Use the point cloud data to build a point cloud lookup table, and save each rotation point and its index in the grid map together in a two-dimensional array type lookup table. The first dimension of the lookup table corresponds to the angle of rotation of the point cloud, and the second dimension stores the corresponding index value of the point cloud point in the grid map after rotation.

[0095] Each lookup table records the index value of the corresponding grid in the grid map after the point in the current point cloud frame is rotated. Therefore, when searching, you only need to calculate the coordinate value of the point cloud after rotation, and each laser data only needs to be calculated once. At this time, based on the point cloud lookup table, the laser points with the same angle but different positions in each frame of the point cloud will only be indexed once during the entire matching process.

[0096] In the scanning and matching process, we first traverse all translation and rotation poses within a certain range and select the pose with the maximum score. Since there may be multiple poses corresponding to the maximum value, we need to take the average of these poses as the matched pose. Then, when traversing all the rotation point cloud data, we can further accelerate the search process through the established point cloud lookup table.

[0097] Then, by taking the rough match as the initial value of the fine match and the update area of ​​the rough match as the new search space, the local data chain is further updated based on the optimized scan matching, and the latest point cloud is inserted into the optimal position in the sub-graph, so that the confidence and the pose of each point in the sub-graph after coordinate transformation are the highest, thereby obtaining the accurate result of the scan matching.

[0098] After scanning and matching, the observed pose of the robot is generated. The observed pose and the predicted pose are fused to obtain the current estimated pose of the robot. Then, the number of currently active sub-graphs is detected. When the threshold is reached, the sub-graph and pose are updated.

[0099] The following reference Figure 5 , the GlobalSLAM in the improved Cartographer algorithm of the present invention is further described:

[0100] The back-end SLAM part delays loop decisions by adding a Lazy Decision algorithm, and pose constraints are constructed only when the requirements are met.

[0101] (1) Obtain the updated pose node and subgraph of LocalSLAM, insert them into the pose queue and subgraph queue respectively, and determine whether the Lazy Decision loop condition is met during loop detection.

[0102] (2) If not satisfied, return to step (1); if satisfied, first use the branch and bound method to perform a coarse match to obtain the relatively accurate initial value of the current robot posture and the latest subgraph, and then input the coarse matching result into the CERES-based fine matching to obtain a more accurate posture of the current node in the updated subgraph.

[0103] (3) Use the matched pose information to construct loop constraints and determine whether the number of loops exceeds the threshold. If not, return to step (1). If it exceeds the threshold, perform back-end pose graph optimization.

[0104] (4) Update the pose queue and sub-map queue to generate the optimized map and pose trajectory.

[0105] like Figure 6 As shown, an embodiment of the present disclosure provides an accurate mapping system based on an improved Cartographer algorithm, including:

[0106] A data acquisition module 11, used to acquire environmental perception data;

[0107] A data preprocessing module 12 is used to preprocess the environmental perception data to obtain a predicted position and posture of the robot;

[0108] The LocalSLAM module 13 is used to obtain the current observed posture of the robot based on the predicted posture by using point cloud matching based on the improved Cartographer algorithm, construct a graph optimization model of the predicted posture and the current observed posture, obtain the actual posture of the robot at the current moment and update the subgraph;

[0109] The GlobalSLAM module 14 is used to perform loop constraint calculation and backend optimization based on the actual posture and the updated sub-image to achieve accurate mapping in multiple scenarios.

[0110] The implementation process of the functions and effects of each module in the above system is specifically described in the implementation process of the corresponding steps in the above method, which will not be repeated here.

[0111] For the system embodiment, since it basically corresponds to the method embodiment, the relevant parts can refer to the partial description of the method embodiment. The system embodiment described above is only schematic, wherein the modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of the present invention. Those of ordinary skill in the art can understand and implement it without paying creative labor.

[0112] In the above-mentioned embodiment, any multiple of all modules can be combined in one module for implementation, or any one of the modules can be split into multiple modules. Alternatively, at least some functions of one or more of these modules can be combined with at least some functions of other modules and implemented in one module. At least one of all modules can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation modes of software, hardware and firmware or in a suitable combination of any of them. Alternatively, at least one of all modules can be at least partially implemented as a computer program module, and when the computer program module is run, the corresponding function can be executed.

[0113] See also Figure 7 , an electronic device provided by an embodiment of the present disclosure includes a processor 1110, a communication interface 1120, a memory 1130 and a communication bus 1140, wherein the processor 1110, the communication interface 1120, and the memory 1130 communicate with each other through the communication bus 1140;

[0114] Memory 1130, for storing computer programs;

[0115] The processor 1110 is used to implement the following precise mapping method based on the improved Cartographer algorithm when executing the program stored in the memory 1130.

[0116] The communication bus 1140 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus 1140 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.

[0117] The communication interface 1120 is used for communication between the above electronic device and other devices.

[0118] The memory 1130 may include a random access memory (RAM) or a non-volatile memory, such as at least one disk memory. Optionally, the memory 1130 may also be at least one storage device located away from the processor 1110.

[0119] The above-mentioned processor 1110 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.

[0120] The embodiments of the present disclosure further provide a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the precise mapping method based on the improved Cartographer algorithm as described above is implemented.

[0121] The computer-readable storage medium may be included in the device / apparatus described in the above embodiment; or it may exist independently without being assembled into the device / apparatus. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the precise mapping method based on the improved Cartographer algorithm according to the embodiment of the present disclosure is implemented.

[0122] According to an embodiment of the present disclosure, a computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, may include but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.

[0123] The above-mentioned embodiments only express several implementation methods of the present invention, and the description thereof is relatively specific and detailed, but it cannot be understood as limiting the scope of the present invention. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present invention, which all belong to the protection scope of the present invention.

Claims

1. An accurate mapping method based on the improved Cartographer algorithm, It is characterized in that The following steps are involved: Acquired environmental perception data; Preprocessing the environmental perception data to obtain a predicted position and posture of the robot; Based on the predicted posture, the current observed posture of the robot is obtained by using point cloud matching based on the improved Cartographer algorithm, a graph optimization model of the predicted posture and the current observed posture is constructed, the actual posture of the robot at the current moment is obtained and the subgraph is updated; Based on the actual pose and the updated sub-graph, loop constraint calculation and back-end optimization are performed to achieve accurate mapping in multiple scenarios.

2. According to claim 1, a precise mapping method based on an improved Cartographer algorithm, It is characterized in that The acquired environmental perception data also includes: Analyze the functional requirements of tracked robots, including the movement performance, environmental perception performance, and mapping performance of tracked robots; The software and hardware platform of the tracked robot is designed based on functional requirements. The hardware part includes the selection and construction of tracked chassis, lidar, IMU, odometer, main controller, CAN analyzer and WIFI hardware; the software part includes four parts: application layer, library function layer, operating system layer and hardware layer, and mathematical modeling of the hardware is carried out according to the constructed hardware platform.

3. According to claim 1, a precise mapping method based on an improved Cartographer algorithm, It is characterized in that The environmental perception data includes IMU data, odometer data, lidar data, and communication data between the host computer and the bottom layer.

4. The accurate mapping method based on the improved Cartographer algorithm according to claim 3, It is characterized in that The specific process of preprocessing the environmental perception data to obtain the predicted posture of the robot is as follows: Preprocessing the environmental perception data includes constructing a pose inference device and removing point cloud distortion. Constructing the pose inference device is to fuse the odometer data with the IMU data, and obtain the predicted pose of the robot through the pose predictor; removing the point cloud distortion is to ensure the accuracy of the lidar data by removing the motion distortion of the laser point cloud in the lidar data.

5. The accurate mapping method based on the improved Cartographer algorithm according to claim 4, It is characterized in that Based on the predicted posture, the current observed posture of the robot is obtained by using point cloud matching based on the improved Cartographer algorithm, and a graph optimization model of the predicted posture and the current observed posture is constructed to obtain the actual posture of the robot at the current moment and update the subgraph. The specific process is as follows: The graph optimization method is used to solve the error. The observed pose change of the robot is obtained by matching the laser point cloud of the lidar data. The predicted pose change obtained by the IMU data and the odometer data is added to construct the error vector of the predicted pose change and the observed pose change, and then the nonlinear least squares objective equation is constructed to achieve the fusion of the observed pose and the predicted pose. After that, the corresponding laser point cloud after dedistortion is inserted into the map to obtain the actual pose of the robot at the current moment and update the subgraph.

6. The accurate mapping method based on the improved Cartographer algorithm according to claim 5, It is characterized in that The specific process of obtaining the current observation posture of the robot using point cloud matching based on the improved Cartographer algorithm is as follows: Introducing a rough matching method based on point cloud lookup table; Define the reference area and the projection area. The reference area is the latest sub-graph constructed by the front end at the current moment. The projection area is divided according to the odometer data. The predicted posture inferred from the odometer data is used as a reference. With the odometer data estimated posture as the center, a rectangular area is constructed near it as the search space for the robot's optimal posture. Create a point cloud lookup table, and save each rotation point of the point cloud data and its index in the grid map in a two-dimensional array type lookup table; The first dimension of the lookup table corresponds to the angle of rotation of the point cloud, and the second dimension stores the corresponding index value of the point cloud point in the grid map after rotation; when the point cloud is rotated by n angles, a lookup table corresponding to n angles will be generated; so that the laser points with the same angle but different positions in each frame of the point cloud will only be indexed once during the entire matching process; The concept of local data chain with real-time update is introduced, which requires that the first and last two frames of point cloud of the local point cloud data chain should be controlled within a preset distance range, that is, they should also meet a certain data scale; if the distance between the first and last frames of point cloud data exceeds the specified range, the tail point cloud data will be deleted; otherwise, it is necessary to continue to judge the distance between the head point cloud data of the data chain and the current point cloud until the distance between all point cloud data and the current point cloud data is less than the specified range, so as to maintain the current local data chain; it is used to generate the local map required for scan matching; When performing scan matching, first traverse all translation and rotation postures within a certain range and select the posture with the maximum score. Since there may be multiple postures corresponding to the maximum value, it is necessary to take the average of these postures as the matched posture; When traversing all the rotated point cloud data, the search process is further accelerated by the established point cloud lookup table. By projecting the point cloud lookup table into the reference area with a certain displacement, considering that the current latest sub-map has been generated by the local data chain, Gaussian blur is performed near the grid where the laser point appears in the local map. If there are m points in the local map that overlap with the point cloud lookup table, since the score of each overlap is different after Gaussian blurring, the response value of the rough match is obtained by accumulating the scores and removing the highest score that can be obtained, and the pose mean is obtained, and then the grid sub-map is locally updated. Because the rough matching based on the point cloud lookup table is based on the traversal within the odometer prediction range, there is a distance difference between the pose within this range and the prior pose. To ensure the accuracy of the matching, different weights need to be assigned to different current poses when calculating the score. The closer the distance to the prior pose, the greater the weight of this pose, and vice versa. Through coarse matching based on the point cloud lookup table, the area centered on the odometry predicted posture is traversed, and by solving the scores of all points in the area, the posture with the highest score is selected to obtain the current observed posture of the robot.

7. The accurate mapping method based on the improved Cartographer algorithm according to claim 5, It is characterized in that Based on the actual pose and the updated sub-graph, loop constraint calculation and back-end optimization are performed to achieve accurate mapping in multiple scenarios. The specific process is as follows: Construct constraints between pose nodes, adjacent nodes and subgraphs as observations in the graph optimization error construction; when the number of newly constructed pose nodes reaches a certain number, perform backend optimization on the pose graph, and update the pose nodes and subgraph poses to obtain the optimized pose set and environment map.

8. An accurate mapping system based on the improved Cartographer algorithm, It is characterized in that include: A data acquisition module, used to acquire environmental perception data; A data preprocessing module, used to preprocess the environmental perception data to obtain a predicted position and posture of the robot; A LocalSLAM module is used to obtain the current observed posture of the robot based on the predicted posture by using point cloud matching based on the improved Cartographer algorithm, construct a graph optimization model of the predicted posture and the current observed posture, obtain the actual posture of the robot at the current moment and update the subgraph; The GlobalSLAM module is used to perform loop constraint calculation and backend optimization based on the actual pose and the updated sub-image, so as to achieve accurate mapping in multiple scenarios.

9. An electronic device, It is characterized in that It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus; Memory, for storing computer programs; The processor is used to implement the precise mapping method based on the improved Cartographer algorithm described in any one of claims 1 to 7 when executing the program stored in the memory.

10. A computer-readable storage medium storing a computer program, It is characterized in that When the computer program is executed by a processor, the precise mapping method based on the improved Cartographer algorithm described in any one of claims 1 to 7 is implemented.