Map construction method, map usage method, device, equipment, and storage medium
By filtering and updating the valuation credibility of the pose estimation data, the problem of low accuracy of map construction in the SLAM method in the feature sparse environment is solved, and the accuracy and reliability of map construction are improved.
Patent Information
- Application Number
- CN202111376319.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-19
- Publication Date
- 2025-07-11
- Estimated Expiration
- 2041-11-19
AI Technical Summary
The existing SLAM method has low accuracy in map construction in feature sparse environments, and cannot effectively solve the problem of positioning and mapping of robots in feature sparse environments.
By determining the estimation credibility of the pose estimation data, reliable pose estimation data are screened, and the map is updated with the fusion pose data to improve the accuracy of map construction.
It improves the accuracy of the robot's map construction in a sparse feature environment, reduces the impact of cumulative errors, and enhances the reliability of map updates.
Smart Images

Figure CN114964204B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of robots, and in particular, to a map construction method, a map usage method, a device, a device, and a storage medium. Background Art
[0002] With the development of technology and the further liberation of productivity, and the continuous increase in the demand for the automation industry, robot-related technologies have become one of the key points for future development in China. Among them, the environmental mapping technology of mobile robots is particularly important.
[0003] The currently commonly used SLAM (Simultaneous Localization and Mapping) method enables a robot to record map information through laser or vision when moving in a target environment, and perform robot positioning and map construction based on global coordinates. However, when facing an environment with sparse features, the accuracy of the mapping result is low. Summary of the Invention
[0004] The present application provides a map construction method, a map usage method, a device, a device, and a storage medium to improve the accuracy of the map constructed by a robot in an environment with sparse features.
[0005] In a first aspect, an embodiment of the present application provides a map construction method, including:
[0006] Determine fusion pose data according to the historical detection data obtained by the state detection device of the mapping robot detecting the target environment in the previous frame, and the current point cloud data obtained by the lidar of the mapping robot scanning the target environment in the current frame;
[0007] Determine pose estimation data and the estimation credibility of the pose estimation data according to the current point cloud data and each point cloud sub-map data in the target environment; wherein, the point cloud sub-map data is obtained by combining each historical point cloud data within the neighborhood scan frame;
[0008] Add the current point cloud data to the target map;
[0009] Update the current point cloud data in the target map according to the estimation credibility, the fusion pose data, and the pose estimation data.
[0010] In a second aspect, an embodiment of the present application further provides a map usage method, including:
[0011] Obtain a target map; wherein, the target map is generated by using the map construction method according to the first aspect embodiment of the present application;
[0012] Control the current robot to drive according to the target map.
[0013] In a third aspect, an embodiment of the present application further provides a map construction device, including:
[0014] A fused pose data determination module, configured to determine fused pose data according to historical detection data obtained by a state detection device of a mapping robot in detecting a target environment in a previous frame, and current point cloud data obtained by a lidar of the mapping robot in scanning the target environment in a current frame;
[0015] An estimated confidence determination module, configured to determine pose estimation data and an estimated confidence of the pose estimation data according to the current point cloud data and each point cloud sub-map data in the target environment; wherein, the point cloud sub-map data is obtained by combining each historical point cloud data within a neighborhood scan frame;
[0016] A map construction module, configured to add the current point cloud data to the target map;
[0017] A map update module, configured to update the current point cloud data in the target map according to the estimated confidence, the fused pose data, and the pose estimation data.
[0018] In a fourth aspect, an embodiment of the present application further provides a map usage device, including:
[0019] A map acquisition module, configured to acquire a target map; wherein, the target map is generated by using a map construction device provided in an embodiment of the third aspect of the present application;
[0020] A travel control module, configured to perform travel control on a current robot according to the target map.
[0021] In a fifth aspect, an embodiment of the present application further provides a robot, including:
[0022] One or more processors;
[0023] A memory, configured to store one or more programs;
[0024] When the one or more programs are executed by the one or more processors, the one or more processors implement a map construction method provided in an embodiment of the first aspect of the present application, and / or implement a map usage method provided in an embodiment of the second aspect of the present application.
[0025] In a sixth aspect, an embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, it implements a map construction method provided in an embodiment of the first aspect of the present application, and / or implements a map usage method provided in an embodiment of the second aspect of the present application.
[0026] The technical solution of the embodiment of the present application determines the estimation credibility of the pose estimation data, determines the reliability degree of the pose estimation data according to the magnitude of the estimation credibility, and updates the map data based on the reliable pose estimation data and the fused pose data. The advantage of doing so is that the pose estimation data can be screened relying on the estimation credibility, solving the problem of inaccurate map update caused by inaccurate pose estimation data due to errors, and at the same time reducing the influence of cumulative errors on the sparse environment of recognized features, thereby improving the accuracy of the map construction result. Description of the Drawings
[0027] Figure 1 is a flowchart of a map construction method provided in Embodiment 1 of the present application;
[0028] Figure 2 is a flowchart of a map construction method provided in Embodiment 2 of the present application;
[0029] Figure 3 is a flowchart of a map construction method provided in Embodiment 3 of the present application;
[0030] Figure 4 is a flowchart of a map usage method provided in Embodiment 4 of the present application;
[0031] Figure 5 is a structural diagram of a map construction device provided in Embodiment 5 of the present application;
[0032] Figure 6 is a structural diagram of a map usage device provided in Embodiment 6 of the present application;
[0033] Figure 7 is a structural diagram of a robot provided in Embodiment 7 of the present application. Detailed Embodiments
[0034] The present application will be further described in detail below with reference to the drawings and embodiments. It can be understood that the specific embodiments described herein are only used to explain the present application, rather than limiting the present application. Additionally, it should be noted that for the sake of description, only the parts related to the present application rather than all the structures are shown in the drawings.
[0035] Embodiment 1
[0036] Figure 1 is a flowchart of a map construction method provided in Embodiment 1 of the present application. The embodiment of the present application is applicable to the situation of map construction in a sparse environment of environmental features. This method can be executed by a map construction device, which can be implemented by software and / or hardware and is specifically configured in a mapping robot.
[0037] Reference Figure 1The map construction method shown is applied to a mapping robot and specifically includes the following steps:
[0038] S110. Determine the fused pose data based on the historical detection data obtained by the state detection device of the mapping robot for detecting the target environment in the previous frame and the current point cloud data obtained by the lidar of the mapping robot for scanning the target environment in the current frame.
[0039] The mapping robot refers to a machine device with the ability to construct a map, which may include, but is not limited to, planar mobile robots, such as service robots, logistics robots, etc. The state detection device is a device configured on the mapping robot for detecting the motion state of the mapping robot, which may include, but is not limited to, an odometer and an IMU (Inertial Measurement Unit), etc. The historical detection data may include the historical point cloud data of the target environment scanned in the previous frame and the motion state of the mapping robot itself during the scanning in the previous frame.
[0040] By fusing the historical point cloud data of the target environment scanned in the previous frame, the current point cloud data of the target environment scanned in the current frame, and the motion state detected for the mapping robot itself in the previous frame, the pose state data of the mapping robot in the current frame can be obtained as the fused pose data, enriching the data source of the fused pose data and helping to improve the accuracy of the fused pose data.
[0041] Optionally, the motion state of the mapping robot in the previous frame can be detected based on the odometer and the IMU; the detection result can be used to predict the motion state data of the mapping robot in the current frame through a preset prediction algorithm; and the prediction result can be fused with the aforementioned historical point cloud data and current point cloud data through a preset fusion algorithm to obtain the fused pose data of the current frame. Among them, the preset prediction algorithm can be implemented by at least one pose prediction algorithm in the prior art, and the present application does not make any limitation thereto.
[0042] Alternatively, optionally, the fused pose data of the previous frame and the motion state detection result of the previous frame can be used to predict the motion state data of the mapping robot in the current frame through a preset prediction algorithm to obtain a pose prediction result; and the pose prediction result, the historical point cloud data, and the current point cloud data can be used to obtain the fused pose data of the current frame through a preset fusion algorithm. Among them, the preset prediction algorithm can be implemented by at least one pose prediction algorithm in the prior art, and the present application does not make any limitation thereto.
[0043] S120. Determine the pose estimation data and the estimation credibility of the pose estimation data based on the current point cloud data and each point cloud sub-map data in the target environment.
[0044] Among them, the point cloud sub-map data can be obtained by combining the historical point cloud data within the neighborhood scan frame. Optionally, a point cloud sub-map can be generated based on all the scanned point cloud data within a preset number of scan frames. For example, it can be set that the point cloud data obtained by every N (e.g., 100) frames of scanning is used as a point cloud sub-map, that is, a point cloud sub-map is saved for frames 1 to N, another point cloud sub-map is saved for frames N + 1 to 2N, and so on, and all the obtained point cloud sub-map data is stored. Here, N is a positive integer, and the specific value can be set or adjusted by technicians according to actual needs or experience.
[0045] The pose estimation data refers to the estimated data obtained by predicting the pose of the mapping robot in the current frame based on the current point cloud data and each point cloud sub-map data. Among them, the pose estimation data may include at least one of the following: speed in the x direction, speed in the y direction, and heading angle, etc. Optionally, according to the principle of the nearest distance, the current point cloud data can be respectively compared with each point cloud sub-map data in terms of distance to select the point cloud sub-map data that matches the current point cloud data; for example, the Euclidean distance can be used for comparison, and the point cloud sub-map with a smaller (e.g., the smallest) distance from the current point cloud can be selected, or at least one point cloud sub-map whose distance from the current point cloud meets the preset distance threshold range can be selected. Based on the current point cloud data and the selected point cloud sub-map data, through a preset pose estimation algorithm, the pose estimation data of the current frame and the estimation confidence of this pose estimation data are calculated.
[0046] The estimation confidence of the pose estimation data can be used as reference data for measuring the accuracy of the pose estimation data. The estimation confidence can be some parameters in the calculation process of the pose estimation data. For example, in the calculation process of the pose estimation data, the correlation data of the pose estimation data can be obtained, and the value of this correlation data is used as the estimation confidence to measure whether the pose estimation data is reliable.
[0047] It should be noted that the estimation confidence of the pose estimation data can include at least one data. For example, the speed parameter in the x direction can correspond to a speed estimation confidence, and the heading angle parameter corresponds to an angle estimation confidence. It should be noted that the correlation data may be different due to different pose estimation algorithms used by the mapping robot. For example, the value of the inverse matrix of the covariance matrix of the pose estimation data can be selected as the estimation confidence, or it can be other custom parameter values, and this application does not limit this.
[0048] S130. Add the current point cloud data to the target map.
[0049] Add the point cloud data of the target environment scanned in the current frame to the target map to create a new target map or update an existing target map. It can be understood that the point cloud data scanned in each frame can be added to the target map to achieve the function of real-time mapping.
[0050] S140. Update the current point cloud data in the target map according to the estimated confidence, the fused pose data, and the pose estimation data.
[0051] The reliability of the pose estimation data can be screened according to the magnitude of the estimated confidence. For example, the judgment conditions of the estimated confidence can be preset as the preset optimization conditions for screening the pose estimation data, and the pose estimation data that meets the preset optimization conditions can be screened out and combined with the fused pose data to optimize the pose data. The optimized pose data is used to optimize the point cloud data in the target map through coordinate transformation, so as to achieve the purpose of updating the target map.
[0052] In an optional implementation manner, updating the current point cloud data in the target map according to the estimated confidence, the fused pose data, and the pose estimation data may include: if the estimated confidence meets the preset optimization conditions, determine the cumulative error according to the pose estimation data and the fused pose data, and update the current point cloud data in the target map according to the cumulative error; if the estimated confidence does not meet the preset optimization conditions, prohibit the execution of the update operation of the current point cloud data in the target map.
[0053] Among them, when the estimated confidence of the pose estimation data meets the preset optimization conditions, the pose estimation data is calculated with the pose fusion data to obtain the cumulative error. Meeting the preset optimization conditions can be that the value of the estimated confidence is greater than the preset threshold. For the pose estimation data with an estimated confidence greater than the preset threshold, the point cloud data in the target map can be updated according to the pose estimation data and the fused pose data of the same frame; for the pose estimation data with an estimated confidence less than the preset threshold, it can be selected not to be used, that is, the pose estimation data is not used to update the point cloud data in the target map. It should be noted that since the pose estimation data can include multiple parameters, each parameter has a corresponding estimated confidence. The corresponding preset threshold can be set for different parameters respectively, and when the estimated confidence of all parameters of the pose estimation data is greater than the corresponding preset threshold, the pose estimation data is used to update the map data; if the estimated confidence of any parameter of the pose estimation data is less than the corresponding preset threshold, the use of the pose estimation data to update the map data is prohibited.
[0054] Optionally, the cumulative error between the fused pose data and the pose estimation data can be obtained, and the cumulative error can be optimized according to a preset optimization algorithm, so as to optimize the pose data. For example, the CERES open-source library for nonlinear optimization or the GTSAM (Georgia Tech Smoothing and Mapping) algorithm can be used, etc.
[0055] In the above technical solution, each valuation credibility of the pose estimation data can be used to screen the pose estimation data, improving the screening accuracy of the pose estimation data, indirectly helping the mapping robot reduce the impact of the cumulative error on map construction, and contributing to improving the accuracy of map construction.
[0056] In the technical solution of the embodiment of the present application, the valuation credibility of the pose estimation data is determined, the reliability of the pose estimation data is determined according to the size of the valuation credibility, and the map data is updated based on the reliable pose estimation data and the fused pose data. The advantage of this is that the pose estimation data can be screened based on the valuation credibility, solving the problem of inaccurate map update caused by inaccurate pose estimation data due to errors, and at the same time reducing the impact of the cumulative error on the sparse feature recognition environment, thereby improving the accuracy of the map construction result.
[0057] Embodiment Two
[0058] Figure 2 It is a flowchart of a map construction method provided in Embodiment Two of the present application. Based on the technical solutions of the foregoing embodiments, the operation of determining the valuation credibility in this embodiment of the present application is optimized to improve the accuracy of the mapping result.
[0059] Reference Figure 2 As shown in a map construction method, it specifically includes the following steps:
[0060] S210. Determine the fused pose data according to the historical detection data obtained by the state detection device of the mapping robot for detecting the target environment in the previous frame and the current point cloud data obtained by the lidar of the mapping robot for scanning the target environment in the current frame.
[0061] S220. Select the point cloud sub-map data that matches the current point cloud data from the point cloud sub-map data in the target environment as the reference sub-map data.
[0062] During the loop closure process of the mapping robot, many point cloud sub - maps have been recorded in the target map corresponding to the target environment. Select at least one point cloud sub - map that matches the current point cloud data as a reference to estimate the pose. The point cloud sub - map data can be screened according to the Euclidean distance between each point cloud sub - map data and the current point cloud data. For example, the Euclidean distance can be calculated between the center point of the current point cloud data and the center points of each point cloud sub - map data, and the point cloud sub - map data corresponding to the center point with a smaller (e.g., the smallest) Euclidean distance from the center point of the current point cloud data is selected as the reference sub - map data. A distance threshold can also be preset, and at least one point cloud sub - map data whose Euclidean distance from the center point of the current point cloud data falls within the preset distance threshold range is selected as the reference sub - map data.
[0063] S230. Determine the estimation credibility of the pose estimation data according to the current point cloud data and the reference sub - map data.
[0064] Substitute the current point cloud data and the reference sub - map data screened in the previous step into a preset pose estimation algorithm, thereby calculating the pose estimation data, and a parameter associated with the pose estimation data is generated during this calculation process. This parameter can represent the estimation credibility. Among them, the preset pose estimation algorithm can be implemented by at least one pose estimation algorithm in the prior art, and this application does not limit this.
[0065] In an alternative embodiment, determining the estimation credibility of the pose estimation data according to the current point cloud data and the reference sub - map data may include: determining the first correlation data between the current point cloud data and the reference sub - map data; and determining the estimation credibility of the pose estimation data according to the first correlation data.
[0066] The first correlation data can be a parameter related to the pose estimation data generated during the calculation process of the pose estimation data, and the first correlation data is converted into a parameter that can reflect the reliability of the pose estimation data as the estimation credibility. For example, the covariance matrix obtained by calculating the current point cloud data and the reference sub - map data through a preset matching algorithm can be selected as the first correlation data. Among them, the preset matching algorithm can be implemented by at least one point cloud matching algorithm in the prior art, and this application does not limit this.
[0067] The above - mentioned technical solution determines the estimation credibility through correlation data, which is convenient for calculation, has a small amount of computation, and high calculation efficiency, providing a basis for screening pose estimation data with high reliability.
[0068] In an alternative embodiment, determining the first correlation data between the current point cloud data and the reference sub-map data may include: determining the first covariance matrix between the current point cloud data and the reference sub-map data. Correspondingly, determining the estimation credibility of the pose estimation data according to the first correlation data may include: using the inverse matrix of the first covariance matrix as the estimation credibility of the pose estimation data.
[0069] Among them, when calculating the pose estimation data based on the current point cloud data and the reference sub-map data, it is necessary to match the current point cloud data and the reference sub-map data. The covariance matrix between the current point cloud data and the reference sub-map data can be obtained through a preset matching algorithm as the first covariance matrix. The preset matching algorithm can be implemented by at least one point cloud matching algorithm in the prior art, and this application does not limit this. Then, the inverse of the first covariance matrix is obtained; the matrix elements in the inverse matrix of the first covariance matrix are used as the estimation credibility of the pose estimation data.
[0070] The above technical solution calculates the estimation credibility through the covariance matrix, which is convenient to calculate, has a small amount of computation, and high calculation efficiency, providing a basis for screening pose estimation data with high reliability.
[0071] S240. Add the current point cloud data to the target map.
[0072] S250. Update the current point cloud data in the target map according to the estimation credibility, the fused pose data, and the pose estimation data.
[0073] The technical solution of the embodiment of this application screens the best point cloud sub-map data through the nearest distance principle and matches it with the current point cloud data. While calculating the pose estimation data, the value of the inverse matrix of the covariance matrix in the matching process is used as the estimation credibility to screen the pose estimation data. This method introduces the reference sub-map data to determine the estimation credibility, effectively measures the cumulative error in the loop closure process, improves the matching degree between the estimation credibility and the pose estimation data, thereby improving the accuracy of the pose estimation data and indirectly improving the accuracy of map building.
[0074] Embodiment III
[0075] Figure 3 This is a flowchart of a map construction method provided in Embodiment III of this application. The embodiment of this application optimizes the determination operation of the fused pose data on the basis of the technical solutions of the foregoing embodiments to improve the accuracy of the fused pose data, and further improve the accuracy of map building.
[0076] Reference Figure 3 As shown in a map construction method, it specifically includes the following steps:
[0077] S310. Determine the first pose data based on the historical detection data obtained by the state detection device for detecting the target environment in the previous frame.
[0078] The first pose data is the prediction result of the current frame pose based on the historical detection data obtained from the previous frame detection. For example, the pose data of the previous frame of the mapping robot can be obtained by performing coordinate transformation on the point cloud data scanned for the target environment in the previous frame, and then the pose of the current frame can be predicted through a preset prediction algorithm to obtain the first pose data. It should be noted that when the mapping robot just starts to move (the second frame after starting to move), it only has the historical detection data of the target environment detected in the previous frame (the first frame when starting to move), so the first pose data can only be determined through the historical detection data. When the mapping robot is not in the state of just starting to move but enters the continuous movement state, the first pose data can also be predicted based on the historical detection data of the previous frame and the fused pose data calculated in the previous frame, and a preset prediction algorithm can be used to predict the pose data of the mapping robot in the current frame. Among them, the preset prediction algorithm can be implemented by at least one pose prediction algorithm in the prior art, and the present application does not limit this.
[0079] S320. Determine the second pose data based on the first pose data and the current point cloud data obtained by the lidar scanning the target environment in the current frame.
[0080] The second pose data refers to the pose data of the mapping robot in the current frame, and the second pose data can be calculated from the current point cloud data and the first pose data through a preset pose algorithm. The current point cloud data can be subjected to coordinate transformation to obtain the central coordinate of the mapping robot in the current frame, and the calculation can be performed in combination with the first pose data (the prediction result of the previous frame for the current frame pose), so as to obtain the second pose data. The calculation method can be the Newton iteration method or other calculation methods in the prior art, and the embodiments of the present application do not limit this.
[0081] S330. Determine the point cloud credibility based on the historical point cloud data and the current point cloud data of the lidar in the previous frame.
[0082] Among them, the historical point cloud data and the current point cloud data are calculated through a preset matching algorithm. This calculation process is synchronized with the process of calculating the second pose data. During the calculation process, parameters associated with the second pose data will be generated, and these parameters can be transformed to represent the point cloud credibility. The preset matching algorithm can be implemented by at least one matching algorithm in the prior art, and the present application does not limit this.
[0083] In an alternative embodiment, determining the point cloud credibility based on the historical point cloud data and the current point cloud data of the lidar in the previous frame may include: determining second correlation data between the historical point cloud data and the current point cloud data of the lidar in the previous frame; and determining the point cloud credibility according to the second correlation data.
[0084] The second correlation data may be a parameter related to the second pose data generated simultaneously during the calculation of the second pose data, and the second correlation data is converted into a parameter that can reflect the reliability of the second pose data as the point cloud credibility. For example, the covariance matrix obtained by calculating the historical point cloud data and the current point cloud data through the foregoing preset matching algorithm may be selected as the second correlation data.
[0085] The above technical solution determines the point cloud credibility through the correlation data, with convenient calculation, small computational complexity, and high calculation efficiency, providing a basis for screening the second pose data with high reliability.
[0086] In an alternative embodiment, determining the second correlation data between the historical point cloud data and the current point cloud data of the lidar in the previous frame may include: determining the second covariance matrix between the historical point cloud data and the current point cloud data of the lidar in the previous frame. Correspondingly, determining the point cloud credibility according to the second correlation data may include: using the inverse matrix of the second covariance matrix as the point cloud credibility.
[0087] Wherein, when calculating the second pose data, the historical point cloud data and the current point cloud data need to be calculated through the foregoing preset matching algorithm, and the covariance matrix between the historical point cloud data and the current point cloud data can be obtained as the second covariance matrix. Then, the inverse of the second covariance matrix is obtained to get the inverse matrix of the second covariance matrix; the matrix elements in the inverse matrix of the second covariance matrix are used as the point cloud credibility of the second pose data.
[0088] It should be noted that the second pose data also contains multiple pose parameters, which may include but are not limited to at least one of the velocity in the x direction, the velocity in the y direction, and the heading angle, etc. Therefore, each pose parameter has its corresponding point cloud credibility.
[0089] The above technical solution calculates the point cloud credibility through the covariance matrix, with convenient calculation, small computational complexity, and high calculation efficiency, providing a basis for screening the second pose data with high reliability.
[0090] S340. Determine the fused pose data according to the point cloud credibility, the first pose data, and the second pose data.
[0091] Among them, the second pose data with high point cloud credibility can be fused with the first pose data through a preset fusion algorithm, and the calculation result obtained is used as the fused pose data. The preset fusion algorithm can adopt a recursive filtering method, such as Kalman filtering.
[0092] In an alternative embodiment, determining the fused pose data according to the point cloud credibility, the first pose data, and the second pose data may include: fusing the first pose data whose point cloud credibility meets the preset fusion condition with the second pose data to obtain the fused pose data.
[0093] The preset fusion condition can be set according to the point cloud credibility. For example, it can be set that the preset fusion condition is met when the value of the point cloud credibility is greater than a preset threshold. Since the second pose data also has multiple pose parameters, and each parameter has a corresponding point cloud credibility, the pose parameters are screened through the preset threshold of the point cloud credibility, and the pose parameters with a point cloud credibility greater than the preset threshold are used for fusion with the first pose data in the fusion algorithm; it is prohibited to use the second pose parameters with a point cloud credibility less than the preset threshold for fusion.
[0094] It should be particularly noted here that different from the aforementioned estimation credibility, each pose parameter that meets the preset threshold in the second pose data can be fused with the first pose data, and the pose parameters that do not meet the preset threshold are prohibited from being fused with the first pose data. For example, if the point cloud credibility of the speed in the x direction in the second pose data of the current frame meets the preset threshold, the speed in the x direction is brought into the preset fusion algorithm for calculation; if the point cloud credibility of the heading angle in the second pose data of the current frame does not meet the preset threshold, it is not brought into the preset fusion algorithm for calculation. That is, among the multiple pose parameters of the second pose data in the same frame, if individual parameters do not meet the preset fusion condition, it does not affect the fusion of other parameters. Among them, the preset fusion algorithm can be implemented by using at least one pose fusion algorithm in the prior art, and the embodiments of the present application do not make limitations in this regard.
[0095] The technical solution of the above embodiment uses the value of the inverse matrix of the covariance matrix obtained by matching and calculating the current point cloud data and the historical point cloud data as the point cloud credibility, and fuses the data whose point cloud credibility meets the fusion condition, thereby improving the accuracy of the fusion result and indirectly improving the accuracy of mapping.
[0096] S350. Determine pose estimation data and the estimation credibility of the pose estimation data according to the current point cloud data and each point cloud sub-map data in the target environment; wherein, the point cloud sub-map data is obtained by combining each historical point cloud data within the neighborhood scan frame.
[0097] S360. Add the current point cloud data to the target map.
[0098] S370. Update the current point cloud data in the target map according to the estimated confidence level, the fused pose data, and the pose estimation data.
[0099] In the technical solution of the embodiment of the present application, a point cloud confidence level that can characterize the reliability of the second pose data is generated during the process of calculating the second pose data. Each pose parameter in the second pose data is screened according to the point cloud confidence level, and then fused with the first pose data. This method introduces the point cloud confidence level, can detect the failure of the lidar, avoids the influence of the error caused by the lidar on the fusion result, and improves the accuracy of the fusion result.
[0100] Embodiment Four
[0101] Figure 4 It is a flowchart of a map usage method provided by Embodiment Four of the present application. The embodiment of the present application is applicable to the situation of using a robot to construct a map. This method can be executed by a map usage device, which can be implemented by software and / or hardware and is specifically configured in the current robot. Herein, the current robot can be understood as the robot during the current driving process, which can be the same as or different from the mapping robot.
[0102] Refer to Figure 4 The map usage method shown is applied to the current robot and specifically includes the following steps:
[0103] S410. Obtain a target map; wherein, the target map is generated by using any one of the map construction methods provided in the above embodiments of the present application.
[0104] S420. Control the driving of the current robot according to the target map.
[0105] Specifically, the current robot can call the already generated target map and control its driving in the real scenario according to the target map. The driving control includes but is not limited to obstacle avoidance control, etc.
[0106] In the technical solution of the embodiment of the present application, by obtaining the target map and controlling the movement of the mapping robot accordingly, it is possible to prevent the robot from colliding with walls and / or obstacles when moving in the environment, improve the working efficiency of the mapping robot, enhance the flexibility of the robot's work, and contribute to improving the driving safety of the current robot.
[0107] Embodiment Five
[0108] Figure 5The following is a structural diagram of a map construction device provided in Embodiment 5 of the present application. The embodiments of the present application are applicable to the situation of constructing a map of an unfamiliar environment. The device can be implemented in software and / or hardware and can be configured in a mapping robot. As Figure 5 shown, the device may include:
[0109] A fused pose data determination module 510, configured to determine fused pose data according to historical detection data obtained by a state detection device of the mapping robot in detecting a target environment in a previous frame, and current point cloud data obtained by a lidar of the mapping robot in scanning the target environment in a current frame;
[0110] An estimated value credibility determination module 520, configured to determine pose estimation data and the credibility of the estimated value of the pose estimation data according to the current point cloud data and each point cloud sub-map data in the target environment; wherein, the point cloud sub-map data is obtained by combining each historical point cloud data within a neighborhood scan frame;
[0111] A map construction module 530, configured to add the current point cloud data to the target map;
[0112] A map update module 540, configured to update the current point cloud data in the target map according to the credibility of the estimated value, the fused pose data, and the pose estimation data.
[0113] The technical solution of the embodiments of the present application determines the credibility of the estimated value of the pose estimation data, determines the reliability of the pose estimation data according to the magnitude of the credibility of the estimated value, and updates the map data based on the reliable pose estimation data and the fused pose data. The advantage of this is that the pose estimation data can be screened based on the credibility of the estimated value, solving the problem of inaccurate map update caused by inaccurate pose estimation data due to errors, and at the same time reducing the influence of cumulative errors on the identification of sparse feature environments, thereby improving the accuracy of the map construction result.
[0114] In an alternative embodiment, the estimated value credibility determination module 520 may include:
[0115] A reference sub-map determination unit, configured to select point cloud sub-map data that matches the current point cloud data from each point cloud sub-map data in the target environment as reference sub-map data;
[0116] An estimated value credibility determination unit, configured to determine the credibility of the estimated value of the pose estimation data according to the current point cloud data and the reference sub-map data.
[0117] In an alternative embodiment, the estimated value credibility determination unit may include:
[0118] A first correlation determination sub-unit, configured to determine first correlation data between the current point cloud data and the reference sub-map data;
[0119] An estimated value credibility determination subunit, configured to determine the estimated value credibility of the pose estimation data according to the first correlation data.
[0120] In an alternative implementation manner, the first correlation determination subunit may include:
[0121] A first covariance determination slave unit, configured to determine a first covariance matrix between the current point cloud data and the reference sub-map data;
[0122] Correspondingly, the estimated value credibility determination subunit may include:
[0123] An estimated value credibility determination slave unit, configured to use the inverse matrix of the first covariance matrix as the estimated value credibility of the pose estimation data.
[0124] In an alternative implementation manner, the map update module 540 may include:
[0125] An update unit, configured to determine an accumulated error according to the pose estimation data and the fused pose data if the estimated value credibility meets a preset optimization condition, and update the current point cloud data in the target map according to the accumulated error;
[0126] A prohibited update unit, configured to prohibit the execution of the update operation on the current point cloud data in the target map if the estimated value credibility does not meet the preset optimization condition.
[0127] In an alternative implementation manner, the fused pose data determination module 510 may include:
[0128] A first pose data determination unit, configured to determine first pose data according to the historical detection data obtained by the state detection device detecting the target environment in the previous frame;
[0129] A second pose data determination unit, configured to determine second pose data according to the first pose data and the current point cloud data obtained by the lidar scanning the target environment in the current frame;
[0130] A point cloud credibility determination unit, configured to determine the point cloud credibility according to the historical point cloud data and the current point cloud data of the lidar in the previous frame;
[0131] A fused pose data determination unit, configured to determine the fused pose data according to the point cloud credibility, the first pose data, and the second pose data.
[0132] In an alternative implementation manner, the point cloud credibility determination unit may include:
[0133] A second correlation determination subunit, configured to determine second correlation data between the historical point cloud data of the lidar in the previous frame and the current point cloud data;
[0134] A point cloud credibility determination subunit, configured to determine the point cloud credibility according to the second correlation data.
[0135] In an alternative embodiment, the second correlation determination subunit may include:
[0136] A second covariance determination subunit, configured to determine a second covariance matrix between the historical point cloud data of the lidar in the previous frame and the current point cloud data;
[0137] Correspondingly, the point cloud credibility determination subunit may include:
[0138] A point cloud credibility determination subunit, configured to use the inverse matrix of the second covariance matrix as the point cloud credibility.
[0139] In an alternative embodiment, the fused pose data determination unit may include:
[0140] A fused pose data determination subunit, configured to fuse the first pose data and the second pose data whose point cloud credibility meets a preset fusion condition to obtain fused pose data.
[0141] The map construction device provided by the embodiments of the present application can execute the map construction method provided by any embodiment of the present application, and has the corresponding functional modules and beneficial effects for executing each map construction method.
[0142] Embodiment Six
[0143] Figure 6 It is a structural diagram of a map usage device provided by Embodiment Six of the present application. The embodiments of the present application are applicable to the situation of using a robot to construct a map. The device can be implemented in a software and / or hardware manner and can be configured in the current robot. Among them, the current robot may be the same as or different from the aforementioned map construction robot.
[0144] As Figure 6 shown, the device may include:
[0145] A map acquisition module 610, configured to acquire a target map; wherein, the target map is generated by using the map construction device described in any one of the embodiments of the present application;
[0146] A driving control module 620, configured to perform driving control on the current robot according to the target map.
[0147] The technical solution of the embodiment of the present application controls the movement of the mapping robot by obtaining the target map, preventing the robot from colliding with walls and / or obstacles when moving in the environment, improving the working efficiency of the mapping robot, enhancing the flexibility of the robot's work, and contributing to improving the driving safety of the current robot.
[0148] The map construction device provided by the embodiment of the present application can execute the map usage method provided by any embodiment of the present application, and has the corresponding functional modules and beneficial effects for executing each map usage method.
[0149] Embodiment Seven
[0150] Figure 7 It is a structural diagram of a robot provided by Embodiment Seven of the present application. Figure 7 It shows a block diagram of an exemplary robot 712 suitable for implementing the embodiment of the present application. Figure 7 The shown robot 712 is only an example and should not bring any limitation to the functions and usage scope of the embodiment of the present application.
[0151] As Figure 7 shown, the robot 712 is presented in the form of a general-purpose computing device. The components of the robot 712 may include, but are not limited to: one or more processors or processing units 716, a system memory 728, and a bus 718 connecting different system components (including the system memory 728 and the processing unit 716).
[0152] The bus 718 represents one or more of several types of bus structures, including a memory bus or a memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any bus structure in a variety of bus structures. For example, these architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MAC) bus, Enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
[0153] The robot 712 typically includes a variety of computer system readable media. These media can be any available media accessible by the robot 712, including volatile and non-volatile media, removable and non-removable media.
[0154] The system memory 728 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 730 and / or cache memory 732. The robot 712 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, the storage system 734 can be used for reading and writing non-removable, non-volatile magnetic media ( Figure 7not shown and is generally referred to as a "hard disk drive"). Although Figure 7 not shown in Figure 7 , a disk drive for reading and writing to a removable non-volatile disk (such as a "floppy disk") and an optical disk drive for reading and writing to a removable non-volatile optical disk (such as a CD-ROM, DVD-ROM or other optical medium) may be provided. In these cases, each drive may be connected to the bus 718 through one or more data medium interfaces. The memory 728 may include at least one program product having a set (such as at least one) of program modules configured to perform the functions of the embodiments of the present application.
[0155] A program / utilities 740 having a set (at least one) of program modules 742 may be stored, for example, in the memory 728. Such program modules 742 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. The implementation of a network environment may be included in each or some combination of these examples. The program modules 742 generally perform the functions and / or methods in the embodiments described in the present application.
[0156] The robot 712 may also communicate with one or more external devices 714 (such as a keyboard, a pointing device, a display 724, etc.), and may also communicate with one or more devices that enable a user to interact with the robot 712, and / or communicate with any device that enables the robot 712 to communicate with one or more other computing devices (such as a network card, a modem, etc.). Such communication may be performed through the input / output (I / O) interface 722. Also, the robot 712 may communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through the network adapter 720. As shown in the figure, the network adapter 720 communicates with other modules of the robot 712 through the bus 718. It should be understood that although not shown in the figure, other hardware and / or software modules may be used in combination with the robot 712, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.
[0157] The processing unit 716 performs various functional applications and data processing by running at least one of the other programs among the multiple programs stored in the system memory 728, such as implementing the map construction method provided by any one of the embodiments of the present application, and / or, the map usage method provided by any one of the embodiments of the present application.
[0158] Embodiment Eight
[0159] Embodiment 8 of the present application further provides a computer-readable storage medium, on which a computer program (or computer-executable instructions) is stored. When the program is executed by a processor, it is used to execute a map construction method provided by an embodiment of the present application: determining fusion pose data according to historical detection data obtained by the state detection device of the robot for detecting the target environment in the previous frame and current point cloud data obtained by the lidar of the robot for scanning the target environment in the current frame; determining pose estimation data and the estimation credibility of the pose estimation data according to the current point cloud data and each point cloud sub-map data in the target environment; wherein, the point cloud sub-map data is obtained by combining each historical point cloud data within the neighborhood scan frame; adding the current point cloud data to the target map; and updating the current point cloud data in the target map according to the estimation credibility, fusion pose data and pose estimation data.
[0160] Embodiment of the present application also provides another computer-readable storage medium, on which a computer program (or computer-executable instructions) is stored. When the program is executed by a processor, it is used to execute a map usage method provided by an embodiment of the present application: obtaining a target map; wherein, the target map is generated by using the map construction method described in any one of the embodiments of the present application; and controlling the current robot to travel according to the target map.
[0161] The computer storage medium of the embodiment of the present application can adopt any combination of one or more computer-readable media. The computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples (non-exhaustive list) of the computer-readable storage medium include: an electrical connection with one or more wires, 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), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this document, the computer-readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or combined with an instruction execution system, apparatus, or device.
[0162] A computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device.
[0163] The program code contained on a computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0164] The computer program code for performing the operations of the embodiments of the present application may be written in one or more programming languages or combinations thereof. The programming languages include object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, executed as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
[0165] Note that the above is only the preferred embodiment of the present application and the technical principles applied. Those skilled in the art will understand that the present application is not limited to the specific embodiments described herein. Various obvious changes, re-adjustments, and substitutions can be made by those skilled in the art without departing from the protection scope of the present application. Therefore, although the present application has been described in detail through the above embodiments, the present application is not limited to the above embodiments. Without departing from the concept of the present application, more other equivalent embodiments may be included, and the scope of the present application is determined by the scope of the appended claims.
Claims
1. A method for map construction, characterized in that, Including: Determine the fused pose data based on the historical detection data obtained from the detection of the target environment by the state detection device of the mapping robot in the previous frame and the current point cloud data obtained from the scanning of the target environment by the lidar of the mapping robot in the current frame; Determine the pose estimation data and the estimation credibility of the pose estimation data according to the current point cloud data and each point cloud sub-map data in the target environment; wherein, the point cloud sub-map data is combined from each historical point cloud data within the neighborhood scan frame; Add the current point cloud data to the target map; Update the current point cloud data in the target map according to the estimation credibility, the fused pose data, and the pose estimation data; Among them, the determination of the estimation credibility of the pose estimation data according to the current point cloud data and each point cloud sub-map data in the target environment includes: Select the point cloud sub-map data that matches the current point cloud data from each point cloud sub-map data in the target environment as the reference sub-map data; Determine the estimation credibility of the pose estimation data according to the current point cloud data and the reference sub-map data; Among them, the determination of the estimation credibility of the pose estimation data according to the current point cloud data and the reference sub-map data includes: Determine the first correlation data between the current point cloud data and the reference sub-map data; Determine the estimation credibility of the pose estimation data according to the first correlation data.
2. The method according to claim 1, wherein The determination of the first correlation data between the current point cloud data and the reference sub-map data includes: Determine the first covariance matrix between the current point cloud data and the reference sub-map data; Correspondingly, the determination of the estimation credibility of the pose estimation data according to the first correlation data includes: Take the inverse matrix of the first covariance matrix as the estimation credibility of the pose estimation data.
3. The method according to claim 1, wherein The update of the current point cloud data in the target map according to the estimation credibility, the fused pose data, and the pose estimation data includes: If the estimation credibility meets the preset optimization condition, determine the cumulative error according to the pose estimation data and the fused pose data, and update the current point cloud data in the target map according to the cumulative error; If the estimation credibility does not meet the preset optimization condition, prohibit the update operation of the current point cloud data in the target map.
4. The method according to any one of claims 1-3, characterized in that, The determination of the fused pose data based on the historical detection data obtained from the detection of the target environment by the state detection device of the mapping robot in the previous frame and the current point cloud data obtained from the scanning of the target environment by the lidar of the mapping robot in the current frame includes: Determine the first pose data according to the historical detection data obtained from the detection of the target environment by the state detection device in the previous frame; Determine the second pose data according to the first pose data and the current point cloud data obtained from the scanning of the target environment by the lidar in the current frame; Determine the point cloud credibility based on the historical point cloud data of the lidar in the previous frame and the current point cloud data; Determine the fused pose data based on the point cloud credibility, the first pose data, and the second pose data.
5. The method according to claim 4, characterized in that, The determining the point cloud credibility based on the historical point cloud data of the lidar in the previous frame and the current point cloud data includes: Determine the second correlation data between the historical point cloud data of the lidar in the previous frame and the current point cloud data; Determine the point cloud credibility according to the second correlation data.
6. The method according to claim 5, characterized in that, The determining the second correlation data between the historical point cloud data of the lidar in the previous frame and the current point cloud data includes: Determine the second covariance matrix between the historical point cloud data of the lidar in the previous frame and the current point cloud data; Correspondingly, the determining the point cloud credibility according to the second correlation data includes: Take the inverse matrix of the second covariance matrix as the point cloud credibility.
7. The method according to claim 4, wherein The determining the fused pose data based on the point cloud credibility, the first pose data, and the second pose data includes: Fuse the first pose data that meets the preset fusion condition of the point cloud credibility with the second pose data to obtain the fused pose data.
8. A method for using a map, characterized in that, including: Obtain a target map; wherein, the target map is generated by using the map construction method described in any one of claims 1-7; Control the current robot to drive according to the target map.
9. A map construction device, characterized in that, including: A fused pose data determination module, configured to determine fused pose data according to the historical detection data obtained by detecting the target environment in the previous frame by the state detection device of the mapping robot, and the current point cloud data obtained by scanning the target environment by the lidar of the mapping robot in the current frame; An estimated credibility determination module, configured to determine pose estimation data and the estimated credibility of the pose estimation data according to the current point cloud data and each point cloud sub-map data in the target environment; wherein, the point cloud sub-map data is obtained by combining each historical point cloud data within the neighborhood scan frame; A map construction module, configured to add the current point cloud data to the target map; A map update module, configured to update the current point cloud data in the target map according to the estimated credibility, the fused pose data, and the pose estimation data; Wherein, the estimated credibility determination module includes: A reference sub-map determination unit, configured to select the point cloud sub-map data that matches the current point cloud data from each point cloud sub-map data in the target environment as the reference sub-map data; An estimated credibility determination unit, configured to determine the estimated credibility of the pose estimation data according to the current point cloud data and the reference sub-map data; The estimated credibility determination unit includes: A first correlation determination sub-unit, configured to determine the first correlation data between the current point cloud data and the reference sub-map data; An estimated credibility determination sub-unit, configured to determine the estimated credibility of the pose estimation data according to the first correlation data.
10. A map usage device, characterized in that, including: A map acquisition module, configured to acquire a target map; wherein, the target map is generated by the map construction device described in claim 9; A driving control module, configured to perform driving control on the current robot according to the target map.
11. A robot, characterized in that, Comprising: One or more processors; A memory, configured to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement a map construction method as described in any one of claims 1-7, and / or implement a map usage method as described in claim 8.
12. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements a map construction method as described in any one of claims 1-7, and / or implements a map usage method as described in claim 8.
Citation Information
Patent Citations
Binocular vision positioning method and binocular vision positioning device for robots, and storage medium
CN107796397A
Transformer substationinspection robot mapping method based on graph optimization
CN109974712A