Laser slam system and error determination method and positioning method thereof

By dynamically adjusting the error weights of the lidar in the lidar SLAM system, the problem of reduced reliability of the lidar SLAM system in some scenarios is solved, and the positioning accuracy and system stability are improved.

CN116679311BActive Publication Date: 2026-07-03BEIJING XIAOMI MOBILE SOFTWARE CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING XIAOMI MOBILE SOFTWARE CO LTD
Filing Date
2022-02-23
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

In some scenarios, the reliability of laser SLAM systems decreases or even fails, resulting in a large deviation between the positioning results and the actual motion. Existing technologies have failed to effectively and dynamically adjust the error weights of laser radar.

Method used

By sampling the target pose set within a preset spatial range and resampling based on the probability density distribution of the lidar point cloud, the lidar error weights are dynamically determined. Combined with inertial navigation errors, optimization processing is performed to dynamically adjust the weights of the lidar error terms.

Benefits of technology

This improves the positioning accuracy of the laser SLAM system, reduces the risk of positioning failure due to lidar malfunction, and ensures the system's accuracy in different scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116679311B_ABST
    Figure CN116679311B_ABST
Patent Text Reader

Abstract

The present disclosure relates to the technical field of simultaneous localization and mapping (SLAM), and specifically provides a laser SLAM system, a laser SLAM system error determination method, and a laser SLAM positioning method. The laser SLAM system error determination method comprises: obtaining a first pose corresponding to a current frame signal; sampling a target pose set within a preset spatial range of the first pose, the target pose set comprising a plurality of target poses; performing a preset number of resamplings on the target pose set based on a probability density distribution of a laser radar point cloud of each target pose in the target pose set to obtain a pose point group corresponding to the first pose; and determining a laser radar error weight corresponding to a next frame signal according to a size of the pose point group in a preset direction. The present disclosure improves the positioning accuracy of the laser SLAM.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of simultaneous localization and mapping (SLAM) technology, specifically to a laser SLAM system and its error determination and positioning methods. Background Technology

[0002] Simultaneous Localization and Mapping (SLAM) is currently the most important research direction in the field of autonomous navigation and localization for mobile devices. SLAM technology mainly includes laser SLAM and visual SLAM. Laser SLAM has advantages such as being unaffected by ambient light and having low computational load, and is currently widely used in various SLAM scenarios. Summary of the Invention

[0003] To improve the accuracy of laser SLAM systems, this disclosure provides an error determination method and apparatus for laser SLAM systems, a laser SLAM positioning method and apparatus, a laser SLAM system, and a storage medium.

[0004] In a first aspect, embodiments of this disclosure provide an error determination method for a laser SLAM system, the method comprising:

[0005] Obtain the first pose corresponding to the current frame signal;

[0006] Within a preset spatial range of the first pose, a target pose set is obtained by sampling, and the target pose set includes multiple target poses;

[0007] Based on the probability density distribution of the lidar point cloud for each target pose in the target pose set, the target pose set is resampled a preset number of times to obtain the pose point group corresponding to the first pose.

[0008] The lidar error weight corresponding to the next frame signal is determined based on the size of the pose point group in the preset direction.

[0009] In some implementations, obtaining the first pose corresponding to the current frame signal includes:

[0010] Based on the first data from the inertial navigation device of the system, the inertial navigation error of the system in the current frame signal is determined; based on the second data from the lidar device of the system, the lidar error of the system in the current frame signal is determined.

[0011] The total error of the current frame signal is determined based on the inertial navigation error and inertial navigation error weight, the lidar error and the lidar error weight determined based on the pose of the previous frame signal.

[0012] The first pose corresponding to the current frame signal is obtained by performing optimization processing based on the total error of the current frame signal.

[0013] In some implementations, within a preset spatial range of the first pose, a target pose set is sampled, the target pose set including multiple target poses, including:

[0014] Obtain the position information and attitude information included in the first pose;

[0015] Based on the location information, the plurality of target poses are uniformly sampled within the preset spatial range, wherein the pose information of each target pose is the same as the pose information of the first pose.

[0016] In some implementations, the step of resampling the target pose set a preset number of times based on the probability density distribution of the lidar point cloud for each target pose in the target pose set to obtain the pose point group corresponding to the first pose includes:

[0017] For any target pose in the target pose set, a lidar point cloud is projected onto the target pose, and a first probability value corresponding to the target pose is determined based on the probability information of each lidar point.

[0018] Based on the first probability value of each target pose, the target pose set is resampled to obtain the target pose set required for the next resampling. The process of resampling the target pose set is repeated until the preset number of times is met to obtain the pose point group.

[0019] In some implementations, determining a first probability value corresponding to the target pose based on the probability information of each lidar point includes:

[0020] The point cloud map obtained from the second data based on the lidar device is rasterized using a grid of preset size to obtain a rasterized point cloud map.

[0021] Based on the second data, determine the average pose data corresponding to each grid cell;

[0022] For any given grid cell, a sub-probability value for the lidar point located within the grid cell is determined based on the average pose data of the grid cell.

[0023] The first probability value corresponding to the target pose is determined based on the sub-probability values ​​of all LiDAR points corresponding to the target pose.

[0024] In some implementations, the second data includes pose information for each point in the point cloud map; determining the average pose data corresponding to each grid cell based on the second data includes:

[0025] For any given grid cell, the mean and variance of the pose information of all points are determined based on the pose information of each point included in the grid cell.

[0026] The mean and the variance are determined as the average pose data corresponding to the grid.

[0027] In some implementations, determining the lidar error weights corresponding to the next frame signal based on the size of the pose point group in a preset direction includes:

[0028] Determine the dimensions of the pose point group in the x-axis, y-axis, and z-axis directions of the spatial coordinate system;

[0029] The dimensions are transformed to the lidar coordinate system of the lidar device to obtain the lidar error weights.

[0030] Secondly, this disclosure provides a laser SLAM positioning method applied to a laser SLAM system, the method comprising:

[0031] Based on the first data from the inertial navigation device of the system, the inertial navigation error of the system in the current frame signal is determined; based on the second data from the lidar device of the system, the lidar error of the system in the current frame signal is determined.

[0032] The total error of the current frame signal is determined based on the inertial navigation error and its weight, as well as the lidar error and its weight; wherein the lidar error weight is obtained according to the error determination method described in any embodiment of the first aspect.

[0033] The system pose corresponding to the current frame signal is obtained based on the total error of the current frame signal.

[0034] Thirdly, this disclosure provides an error determination device for a laser SLAM system, the device comprising:

[0035] The acquisition module is configured to acquire the first pose corresponding to the current frame signal;

[0036] The sampling module is configured to sample a target pose set within a preset spatial range of the first pose, the target pose set including multiple target poses;

[0037] The resampling module is configured to resample the target pose set a preset number of times based on the probability density distribution of the lidar point cloud for each target pose in the target pose set, to obtain the pose point group corresponding to the first pose.

[0038] The weight determination module is configured to determine the lidar error weights corresponding to the next frame signal based on the size of the pose point group in a preset direction.

[0039] In some implementations, the acquisition module is configured to:

[0040] Based on the first data from the inertial navigation device of the system, the inertial navigation error of the system in the current frame signal is determined; based on the second data from the lidar device of the system, the lidar error of the system in the current frame signal is determined.

[0041] The total error of the current frame signal is determined based on the inertial navigation error and inertial navigation error weight, the lidar error and the lidar error weight determined based on the pose of the previous frame signal.

[0042] The first pose corresponding to the current frame signal is obtained by performing optimization processing based on the total error of the current frame signal.

[0043] In some implementations, the sampling module is configured to:

[0044] Obtain the position information and attitude information included in the first pose;

[0045] Based on the location information, the plurality of target poses are uniformly sampled within the preset spatial range, wherein the pose information of each target pose is the same as the pose information of the first pose.

[0046] In some implementations, the resampling module is configured to:

[0047] For any target pose in the target pose set, a lidar point cloud is projected onto the target pose, and a first probability value corresponding to the target pose is determined based on the probability information of each lidar point.

[0048] Based on the first probability value of each target pose, the target pose set is resampled to obtain the target pose set required for the next resampling. The process of resampling the target pose set is repeated until the preset number of times is met to obtain the pose point group.

[0049] In some implementations, the resampling module is configured to:

[0050] The point cloud map obtained from the second data based on the lidar device is rasterized using a grid of preset size to obtain a rasterized point cloud map.

[0051] Based on the second data, determine the average pose data corresponding to each grid cell;

[0052] For any given grid cell, a sub-probability value for the lidar point located within the grid cell is determined based on the average pose data of the grid cell.

[0053] The first probability value corresponding to the target pose is determined based on the sub-probability values ​​of all LiDAR points corresponding to the target pose.

[0054] In some implementations, the resampling module is configured to:

[0055] For any given grid cell, the mean and variance of the pose information of all points are determined based on the pose information of each point included in the grid cell.

[0056] The mean and the variance are determined as the average pose data corresponding to the grid.

[0057] In some implementations, the weight determination module is configured to:

[0058] Determine the dimensions of the pose point group in the x-axis, y-axis, and z-axis directions of the spatial coordinate system;

[0059] The dimensions are transformed to the lidar coordinate system of the lidar device to obtain the lidar error weights.

[0060] Fourthly, this disclosure provides a laser SLAM positioning device for use in a laser SLAM system, the device comprising:

[0061] The first error determination module is configured to determine the inertial navigation error of the system in the current frame signal based on the first data of the inertial navigation device of the system, and to determine the lidar error of the system in the current frame signal based on the second data of the lidar device of the system.

[0062] The second error determination module is configured to determine the total error of the current frame signal based on the inertial navigation error and inertial navigation error weight, and the lidar error and lidar error weight; wherein the lidar error weight is obtained according to the error determination method described in any embodiment of the first aspect;

[0063] The positioning module is configured to obtain the system pose corresponding to the current frame signal based on the total error of the current frame signal.

[0064] Fifthly, embodiments of this disclosure provide a laser SLAM system, comprising:

[0065] Inertial navigation device;

[0066] LiDAR devices; and

[0067] The controller includes a processor and a memory, the memory storing computer instructions that can be read by the processor, the computer instructions being used to cause the processor to perform the method according to either the first aspect or the second aspect.

[0068] In a sixth aspect, embodiments of this disclosure provide a storage medium storing computer instructions for causing a computer to perform the method described according to either the first or second aspect.

[0069] The error determination method for a laser SLAM system disclosed in this embodiment includes acquiring the first pose corresponding to the current frame signal, sampling a target pose set within a preset spatial range of the first pose, resampling the target pose set a preset number of times based on the probability density distribution of the laser radar point cloud for each target pose to obtain a pose point group, and determining the laser radar error weights based on the size of the pose point group. In this embodiment, the laser radar error weights corresponding to each frame signal can be dynamically determined, thereby assigning weight values ​​to the laser radar error terms of the SLAM system, reducing the risk of positioning failure of the entire SLAM system due to laser radar failure, and improving positioning accuracy. Attached Figure Description

[0070] To more clearly illustrate the technical solutions in the specific embodiments of this disclosure or the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0071] Figure 1 This is a structural block diagram of a laser SLAM system according to some embodiments of the present disclosure.

[0072] Figure 2 This is a schematic diagram of a sweeping robot that uses a laser SLAM system according to some embodiments of this disclosure.

[0073] Figure 3 This is a flowchart of an error determination method according to some embodiments of this disclosure.

[0074] Figure 4 This is a flowchart of an error determination method according to some embodiments of this disclosure.

[0075] Figure 5 This is a flowchart of an error determination method according to some embodiments of this disclosure.

[0076] Figure 6 This is a flowchart of an error determination method according to some embodiments of this disclosure.

[0077] Figure 7 This is a flowchart of an error determination method according to some embodiments of this disclosure.

[0078] Figure 8 This is a schematic diagram of the error determination method according to some embodiments of this disclosure.

[0079] Figure 9 This is a flowchart of an error determination method according to some embodiments of this disclosure.

[0080] Figure 10 This is a flowchart of a laser SLAM positioning method according to some embodiments of the present disclosure.

[0081] Figure 11 This is a structural block diagram of an error determination device according to some embodiments of the present disclosure.

[0082] Figure 12 This is a structural block diagram of a laser SLAM positioning device according to some embodiments of the present disclosure. Detailed Implementation

[0083] The technical solutions of this disclosure will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without inventive effort are within the scope of protection of this disclosure. Furthermore, the technical features involved in the different embodiments of this disclosure described below can be combined with each other as long as they do not conflict with each other.

[0084] Simultaneous Localization and Mapping (SLAM) is currently the most important research direction in the field of autonomous navigation and localization for mobile devices. At present, SLAM systems are widely used in mobile robot scenarios such as assisted driving, warehouse robots, and robotic vacuum cleaners.

[0085] SLAM technology mainly includes laser SLAM and visual SLAM. Laser SLAM refers to the technology of achieving autonomous localization and mapping by fusing lidar and IMU (Inertial Measurement Unit) sensors. Compared with visual SLAM, laser SLAM started earlier and has advantages such as being unaffected by ambient light and having a low computational load, and is currently widely used in various SLAM scenarios.

[0086] The inventors of this case discovered that in certain scenarios, the reliability of laser SLAM systems can drastically decrease, or even completely fail. Further research revealed that this is because related technologies typically assume the lidar (LiDAR) to be highly reliable, or even completely reliable, during localization. Therefore, lidar errors are often assigned a high weight in the localization calculation, which is then used to fuse IMU (Integrated Device Unit) errors to determine the final total system error. However, in some scenarios, the lidar system may partially or completely fail. If a high error weight is still assigned to the lidar, it will lead to a deviation in the calculation of the total system error, resulting in system localization failure.

[0087] For example, in a long corridor scenario, as the SLAM system moves along the corridor, assuming the effective range of the SLAM system's LiDAR is 10 meters, while the corridor length far exceeds 10 meters, the LiDAR fails to scan along the corridor's length, only scanning the walls on either side. During the journey along the corridor's length, the system's pose relative to the walls remains almost unchanged. When calculating the system's localization, because the LiDAR's error weight is much greater than that of the IMU device, the determined total system error will assume that the system pose has not changed, or has only undergone a very small change. This leads to a large deviation between the localization result and the actual movement, causing the SLAM system to fail in localization.

[0088] Based on the deficiencies in the aforementioned related technologies, this disclosure provides a laser SLAM system and its error determination method, positioning method, device, and storage medium, aiming to improve the accuracy of the laser SLAM system.

[0089] In a first aspect, the present disclosure provides an error determination method for a laser SLAM system, which can be applied to a laser SLAM system. Figure 1 A schematic diagram of the structure of a laser SLAM system according to some embodiments of this disclosure is shown below, with reference to... Figure 1 The embodiments of this disclosure will be described.

[0090] like Figure 1As shown, in some embodiments, the laser SLAM system 600 of this disclosure includes: a processor 601, a memory 602, a lidar device 604, an IMU device 605, and a drive device 606.

[0091] The processor 601, memory 602, lidar device 604, IMU device 605, and drive device 606 can establish a communicable connection between any two of them via bus 603.

[0092] The processor 601 can be any type of processor with one or more processing cores. It can execute single-threaded or multi-threaded operations, used for parsing instructions to perform operations such as data acquisition, logical operations, and outputting processing results.

[0093] The memory 602 may include a non-volatile computer-readable storage medium, such as at least one disk storage device, flash memory device, distributed storage device remotely located relative to the processor 601, or other non-volatile solid-state storage device. The memory may have a program storage area for storing non-volatile software programs, non-volatile computer-executable programs, and modules, which can be invoked by the processor 601 to cause the processor 601 to execute one or more method steps. The memory 602 may also include a volatile random access storage medium, or a storage portion such as a hard disk, as a data storage area for storing the processing results and data output by the processor 601.

[0094] Laser Radar device 604 refers to a radar system that uses laser beams to detect target characteristics such as position and velocity. The basic working principle of Laser Radar device 604 is to emit a detection signal (such as a laser beam) to the target, and then compare and process the received signal reflected back from the target (target echo) with the emitted signal to obtain relevant information about the target such as range, azimuth, velocity, altitude, and attitude.

[0095] In this embodiment of the disclosure, the lidar device 604 may include a two-dimensional lidar or a three-dimensional lidar. Those skilled in the art can choose to configure it according to specific application requirements, and this disclosure does not limit it.

[0096] The IMU device 605 is an inertial navigation device, which may include measuring devices such as gyroscopes, accelerometers, and wheeled odometers. During the motion, as the system moves from the initial moment to the next sampling moment, the IMU device 605 can estimate the system navigation error based on the data collected by each measuring device and use inertial navigation calculation methods, thereby obtaining the current pose information of the system.

[0097] It is understood that those skilled in the art can readily understand and fully implement the specific working principles and algorithm processes of the lidar device 604 and the IMU device 605 by referring to relevant technologies, and this disclosure need not elaborate on them.

[0098] The drive device 606 is the power source of the system, and the system can be controlled to generate power in the required direction through the drive device 606. The drive device 606 may include a series of electrical and mechanical components such as a drive control chip, a motor, a drive wheel, and a transmission structure. The drive device 606 can be any form suitable for driving the system to move, which will not be elaborated in this disclosure.

[0099] It is worth noting that the laser SLAM system 600 described in this disclosure can be applied to any mobile device scenario.

[0100] For example, in one example, such as Figure 2 As shown, the mobile device can be a robotic vacuum cleaner 100, and the aforementioned laser SLAM system 600 can be installed in the robotic vacuum cleaner 100. During the movement of the robotic vacuum cleaner 100, the IMU device 605 can collect the inertial navigation data generated by the movement, and the LiDAR device 604 can collect the LiDAR data generated by the movement. Therefore, by solving the relevant data based on the SLAM positioning algorithm, the positioning of the robotic vacuum cleaner 100 can be achieved.

[0101] Of course, it is understood that the laser SLAM system disclosed herein is not limited to the sweeping robot of the above example, but can also be applied to other devices, such as warehouse robots, food delivery robots, autonomous vehicles, etc., which will not be elaborated here.

[0102] Based on the laser SLAM system described above, the following combines... Figure 3 The error determination method of the laser SLAM system according to the present disclosure will be described.

[0103] like Figure 3 As shown, in some embodiments, the error determination method of the laser SLAM system exemplified in this disclosure includes:

[0104] S310. Obtain the first pose corresponding to the current frame signal.

[0105] It is understood that the process of locating the system based on SLAM technology is a continuous and cumulative process in time. Therefore, the system will calculate the current pose corresponding to each sampling moment in real time at a fixed sampling frequency (e.g., 30Hz). The sampling signal corresponding to each sampling moment is the "frame signal" described in the embodiments of this disclosure.

[0106] In this embodiment of the disclosure, the first pose represents the pose of the system in the current frame signal, and the first pose may include the position and orientation of the system in the world coordinate system.

[0107] In some embodiments, when the current frame signal is the initial frame, the first pose of the system in the current frame signal is the system's initial pose. When the current frame signal is not the initial frame, the system can calculate the first pose of the system in the current frame signal based on the first data from the IMU device 605 and the second data from the lidar device 604. This will be described in the following embodiments and will not be elaborated upon here.

[0108] S320. Within the preset space range of the first pose, the target pose set is sampled.

[0109] In this embodiment of the disclosure, the preset spatial range represents the spatial region surrounding the first pose.

[0110] For example, in one example, the first pose includes three-dimensional position coordinates (x0, y0, z0), and the preset spatial range can be: the spatial range of a cube with dimensions a*b*c centered at (x0, y0, z0). The specific dimensions of a, b, and c can be set according to the specific scenario; for example, a*b*c could be 1 meter * 1 meter * 1 meter.

[0111] For example, in another example, the first pose includes three-dimensional position coordinates (x0, y0, z0), and the preset spatial range can be: the spatial range of a sphere with (x0, y0, z0) as the center and r as the radius. The specific value of the radius r can be set according to the specific scenario, for example, r = 1 meter.

[0112] Of course, it is understood that the preset space range of the first pose is not limited to the above example, but can be any other form suitable for implementation, as long as the preset space range is located around the first pose.

[0113] After determining the preset spatial range, multiple target poses can be uniformly sampled within the preset spatial range to form a target pose set.

[0114] In one example, the first pose T includes the system's three-dimensional position t and three-dimensional orientation q. The three-dimensional position t is represented as t = (x0, y0, z0), and the three-dimensional orientation q is represented as q = (qx, qy, qz, qw). n sampling points can be uniformly sampled within the aforementioned preset spatial range. The coordinates of each sampling point are represented as t', and the three-dimensional orientation q' of each sampling point is set to be the same as the three-dimensional orientation q of the first pose. Thus, the coordinates t' and orientation q' of each sampling point constitute the pose of that sampling point, meaning each sampling point serves as a target pose T. i n target poses Ti The set of is the target pose set Tn.

[0115] It is understood that in the embodiments of this disclosure, the number of target poses included in the target pose set is not limited, and those skilled in the art can set it according to specific needs. For example, in one example, n=100, that is, the target pose set includes 100 target poses.

[0116] S330. Based on the probability density distribution of the lidar point cloud for each target pose in the target pose set, the target pose set is resampled a preset number of times to obtain the pose point group corresponding to the first pose.

[0117] In this embodiment of the disclosure, after sampling to obtain the target pose set corresponding to the first pose, the target pose set can be resampled multiple times based on the probability of each target pose using a particle filtering method, so that the sampling points in the target pose set present an approximately normal distribution, resulting in a group of pose points with different degrees of dispersion in each direction.

[0118] In some implementations, for the target pose set T n Each target pose T in i It can be in the target pose T i The projected LiDAR point cloud is used to represent the position coordinates. The probability value corresponding to the target pose is determined based on the probability information of each LiDAR point. For each target pose T in the target pose set Tn,... i After obtaining the probability values, resampling is performed based on the probability values ​​to obtain the resampled target pose set Tn1. The above resampling process is repeated for Tn1, and after a preset number of resampling operations, the final pose point group TnX is obtained.

[0119] The process of resampling the target pose set to obtain the pose point group is described in detail in the following embodiments of this disclosure, and will not be elaborated here.

[0120] S340. Determine the lidar error weight corresponding to the next frame signal based on the size of the pose point group in the preset direction.

[0121] It can be understood that the pose point group TnX in the above example represents the probability density distribution after multiple resampling of multiple target poses around the first pose. The degree of dispersion of the pose point group TnX in different directions can reflect the amount of lidar error in that direction.

[0122] For example, in one example, the target pose set obtained by sampling in S320 represents a set of sampling points in a cube shape that are uniformly distributed in the first pose by 1 meter by 1 meter by 1 meter. After multiple resampling in S330, the pose point group obtained is an irregularly distributed point group shape, that is, the size of the pose point group is different in the x-axis, y-axis and z-axis directions in space.

[0123] The larger the size of the pose point group in a certain direction, the greater the dispersion of the pose point group in that direction. In other words, it is more difficult for the sampling points of each target pose to converge in that direction, and thus the lower the reliability of the lidar in that direction.

[0124] Accordingly, in some implementations, the dimensions of the pose point group in one or more preset directions can be calculated, and the error weights of the lidar can be determined by the size of the pose point group. For example, in one example, the dimensions of the pose point group along the x-axis, y-axis, and z-axis in the spatial coordinate system can be calculated separately, expressed as D = [x l y l , z l Then, D can be transformed to the lidar coordinate system of the lidar device to obtain a 3*1 error vector w1, which is then determined as the lidar error weight. The embodiments described below will be further explained in detail, and will not be elaborated upon here.

[0125] In this embodiment of the present disclosure, the lidar error weight calculated based on the first pose of the current frame signal can be used as the lidar error weight of the next frame signal. Thus, when solving the system pose of the next frame signal, the lidar error weight can be used as the weight of the lidar error term to constrain and adjust the lidar error.

[0126] It is worth noting that the implementation method disclosed herein differs from related technologies in that:

[0127] In related technologies, lidar is generally considered to be completely reliable. Therefore, when calculating the total system error, only the error constraints of the IMU device are considered, without dynamically constraining the lidar error term. That is, only the IMU error is assigned a corresponding weight, while the lidar error is not weighted. This can also be understood as the lidar error weight always being 1.

[0128] In this embodiment, the high reliability of the LiDAR is not assumed. Instead, during system positioning for each frame of signal, the aforementioned process is used to obtain the LiDAR error weight, which is then used as the weight value for the LiDAR error term in the next frame. This ensures that the LiDAR error is dynamically constrained throughout the SLMA positioning process.

[0129] Taking the long corridor scenario mentioned earlier as an example, when the system moves along the length of the corridor, the data of the lidar device in the corridor length direction becomes invalid in related technologies. If the lidar weight is still assumed to be 1, the calculated total system error will be more inclined to the system not moving or hardly moving. As a result, the entire system error will be very different from the actual movement, causing positioning failure.

[0130] In this embodiment of the disclosure, in the scenario where the system moves along the length of the corridor, the sampling points of the lidar device in the length of the corridor have a very low probability density distribution. After multiple resamplings of the target pose set in S330, the distribution of the pose point group in the length of the corridor is more discrete than in other directions. That is, the reliability in the length of the corridor is lower. Therefore, the lidar error weight determined based on the size of the pose point group can constrain the lidar error term, making the lidar error term weight very low. That is, the total error is more inclined to the error of the IMU device, which is consistent with the actual operation.

[0131] As can be seen from the above, in this embodiment of the present disclosure, the error weight of the LiDAR corresponding to each frame of signal can be dynamically determined, thereby assigning weight values ​​to the LiDAR error terms of the SLAM system, reducing the risk of the entire SLAM system failing to locate due to LiDAR failure, and improving the positioning accuracy.

[0132] In this embodiment of the disclosure, as described above, after determining the lidar error weight of the next frame signal based on the first pose of the current frame signal, the lidar error weight can be used as the weight value of the lidar error term of the next frame signal to calculate the system pose corresponding to the next frame signal. Then, the above process is repeated using the system pose of the next frame signal to obtain the lidar error weight of the next frame signal, and so on.

[0133] exist Figure 4 In the example implementation, the process of calculating the pose of each frame signal in the SLAM system is explained by taking the calculation of the first pose of the current frame signal as an example.

[0134] like Figure 4 As shown, in some embodiments, the process of determining the first pose corresponding to the current frame signal in the error determination method of this disclosure includes:

[0135] S410. Based on the first data from the system's inertial navigation device, determine the inertial navigation error of the system in the current frame signal; based on the second data from the system's lidar device, determine the lidar error of the system in the current frame signal.

[0136] S420. Determine the total error of the current frame signal based on the inertial navigation error and relational navigation error weights, as well as the lidar error and the lidar error weights determined based on the first pose of the previous frame signal.

[0137] S430. Perform optimization processing based on the total error of the current frame signal to obtain the first pose corresponding to the current frame signal.

[0138] In this disclosure embodiment, combined with Figure 1 As shown, the inertial navigation device of the SLAM system 600 is... Figure 1 The IMU device 605 shown will be referred to as IMU device 605 for ease of explanation below.

[0139] In some implementations, the total error of the SLAM system 600 can be expressed as:

[0140] e0 2 =(w1*e1) 2 +(w2*e2) 2 Equation (1)

[0141] In equation (1), e0 represents the total error, w1 represents the lidar error weight, e1 represents the lidar error, w2 represents the IMU error weight, and e2 represents the IMU error.

[0142] It is understood that in related technical solutions, the lidar error weight w1 can be considered to always be 1, that is, no weight is set for the lidar error. However, in the embodiment of this disclosure, the lidar error weight w1 is based on the aforementioned... Figure 3 The method of implementation uses the pose data of the previous frame signal to determine w1. If the previous frame signal is the initial frame signal, w1 can be set to 1 by default, and the pose of the subsequent frame signal can be used to update the lidar error weight w1.

[0143] For example, in one example, the SLAM system 600 moves from the i-th frame to the current i+1-th frame and needs to calculate the first pose corresponding to the current i+1-th frame.

[0144] When the system moves from frame i to frame i+1, the IMU device 605 collects inertial navigation data during the system's motion, such as acceleration and angular velocity. This data is defined as the first data. Based on the inertial navigation algorithm, the IMU error e2 and IMU error weight w2 of the current frame i+1 signal can be calculated using the first data. The calculation process for IMU error e2 and IMU error weight w2 can be understood and fully implemented by those skilled in the art by referring to relevant technologies, and will not be elaborated further in this disclosure.

[0145] Simultaneously, as the system moves from frame i to frame i+1, the lidar device 604 acquires lidar data during the system's movement, such as distance and direction data. This data acquired by the lidar device 604 is defined as the second data. Based on the lidar algorithm, the lidar error e1 of the current frame i+1 signal can be calculated using this second data. Additionally, see the aforementioned... Figure 3 In this implementation, the lidar error weight w1 of the (i+1)th frame can be obtained based on the pose information corresponding to the i-th frame signal. Those skilled in the art can refer to the aforementioned implementation method, and this disclosure will not elaborate further.

[0146] After obtaining the lidar error weight w1, lidar error e1, IMU error weight w2 and IMU error e2 corresponding to the current i+1 frame signal, they can be substituted into equation (1) to calculate the total system error e0 of the current i+1 frame signal.

[0147] In this embodiment of the disclosure, after calculating the total system error e0, the first pose T corresponding to the (i+1)th frame signal can be determined based on an optimization method. The principle of the optimization method is to optimize the total error e2, solve for the optimal system pose corresponding to the minimum total error e2, and use this optimal pose as the first pose T corresponding to the current frame signal. It is understood that the calculation process of the optimization method has very mature applications in related fields, and those skilled in the art can understand and fully implement it without any doubt by referring to related technologies; therefore, this disclosure will not elaborate further.

[0148] It is worth noting that, as can be seen from equation (1), in this embodiment, the total error e2 includes both the lidar error and the IMU error, each with corresponding weights, and these weights are dynamically calculated based on the system's motion. For scenarios such as the aforementioned long corridor, utilizing the aforementioned... Figure 3 The lidar error weight w1 obtained by the implementation method will be much smaller than the IMU error weight w1, so the total error e0 is more inclined to the measurement result of the IMU device 605, reducing the impact of lidar device 604 failure on the positioning result and improving positioning accuracy.

[0149] The above explanation uses only one frame of motion signal as an example. For the dynamic movement process of the SLAM system 600, the above process is repeated for each frame of running signal to calculate the current pose corresponding to each frame signal in real time.

[0150] As can be seen from the above, in this embodiment of the present disclosure, the error weight of the LiDAR corresponding to each frame of signal can be dynamically determined, thereby assigning weight values ​​to the LiDAR error terms of the SLAM system, reducing the risk of the entire SLAM system failing to locate due to LiDAR failure, and improving the positioning accuracy.

[0151] like Figure 5 As shown, in some embodiments, the error determination method of the laser SLAM system of this disclosure, the process of obtaining the target pose set based on the first pose sampling includes:

[0152] S510, Obtain the position information and attitude information of the first pose.

[0153] S520. Based on the pose information, multiple target poses are obtained by uniformly sampling within a preset spatial range.

[0154] In this embodiment of the disclosure, the first pose T represents the current pose of the SLAM system. The first pose T includes the position information t of the SLAM system, denoted as t = (x0, y0, z0). In addition, the first pose T also includes the attitude information q of the SLAM system, denoted as q = (qx, qy, qz, qw).

[0155] The preset spatial range refers to the spatial range surrounding the position information t of the first pose T. In one example, the preset spatial range can be, for example, a cubic spatial range with a geometric center of t = (x0, y0, z0) and a length * width * height of 1 meter * 1 meter * 1 meter. In another example, the preset spatial range can be, for example, a spherical spatial range with a center of t = (x0, y0, z0) and a radius r = 1 meter. Of course, the preset spatial range can also be any other spatial range suitable for implementation, and this disclosure does not limit this.

[0156] In one example, consider a cube-shaped spatial area with a geometric center at t = (x0, y0, z0) and a length * width * height of 1 meter * 1 meter * 1 meter. Within this preset spatial area, n sampling points belonging to this spatial area can be uniformly sampled. Each sampling point corresponds to a coordinate t' and an attitude q'. The coordinate t' can be determined based on the position information t of the sampling point relative to the first pose, and the attitude q' can be the same as the attitude information q of the first pose. Thus, each sampling point can be considered as a target pose T. i n target poses T i The set of is the target pose set Tn.

[0157] For example, within the aforementioned 1m x 1m x 1m cube space, n = 100 sampling points can be uniformly sampled around the position information t = (x0, y0, z0) of the first pose T, in all directions (up, down, left, right, forward, backward). The pose q' of each sampling point is the same as the pose information q of the first pose T. Thus, 100 target poses T can be obtained. i The target pose set Tn.

[0158] After determining the target pose set Tn corresponding to the first pose, the target pose set Tn can be resampled multiple times based on the particle filter algorithm to obtain the pose point group. The following section combines... Figure 6 The implementation method is described below.

[0159] like Figure 6 As shown, in some embodiments, the error determination method of this disclosure, which resamples the target pose set to obtain a pose point group, includes the following steps:

[0160] S610. For any target pose in the target pose set, project a lidar point cloud onto the target pose, and determine the first probability value corresponding to the target pose based on the probability information of each lidar point.

[0161] S620. Based on the first probability value of each target pose, resample the target pose set to obtain the target pose set required for the next resampling. Repeat the process of resampling the target pose set until the preset number of times is met to obtain the pose point group.

[0162] In this embodiment of the disclosure, it is necessary to perform multiple cyclic resampling of the target pose set. The following is a detailed explanation of the process of one resampling.

[0163] Based on the foregoing, the target pose set Tn can be represented as: Tn = {T1, T2, ..., Tn} n}, where each T in the target pose set Tn i This represents a target pose. In this embodiment of the disclosure, each target pose T in the target pose set Tn is used... i The first probability value is obtained by resampling the target pose set Tn. Therefore, the target pose T in the target pose set can be calculated first. i The first probability value, combined with the following Figure 7 The implementation method is described below.

[0164] like Figure 7 As shown, in some implementations, the process of determining a first probability value for each target pose may include:

[0165] S611. The point cloud map obtained from the second data based on the lidar device is rasterized using a grid of preset size to obtain the rasterized point cloud map.

[0166] As can be seen from the foregoing, the basic working principle of the lidar device 604 is: the lidar device emits a laser beam toward the target, and then receives the echo signal reflected back from the target to determine the distance and coordinates of the target.

[0167] Therefore, during the movement of the laser SLAM system, the distance and coordinates of each laser radar point in the current scene can be obtained through the laser radar device 604, which is the second data. Based on all the laser radar points included in the second data, a point cloud map of the current scene can be constructed.

[0168] For example, Figure 8 Figure (a) shows a point cloud map of the current scene constructed by the lidar device 604 during the system's movement. Each lidar point in the point cloud map represents the pose of the target detected by the corresponding laser beam.

[0169] After obtaining the point cloud map of the current scene, it can be rasterized. The rasterization process involves rasterizing the currently constructed point cloud map using grids of preset sizes. For example, in one example, the preset size of each grid cell is length * width * height = 1 meter * 1 meter * 1 meter. The point cloud map is then rasterized using grids of this size. Figure 8 After rasterizing the point cloud map shown in (a), the resulting rasterized point cloud map can be as follows: Figure 8 As shown in (b).

[0170] Of course, those skilled in the art will understand that the preset size of the grid can be set according to the specific needs of the scenario, and this disclosure does not impose any restrictions on it.

[0171] S612. Based on the second data, determine the average pose data corresponding to each grid.

[0172] In this embodiment of the disclosure, for the rasterized point cloud map, each grid space includes multiple LiDAR points, and each LiDAR point corresponds to a pose. Therefore, for any given grid, the average pose data corresponding to that grid can be determined based on the pose data of all LiDAR points included in that grid.

[0173] In some implementations, the average pose data for each grid cell includes a mean and a variance. Therefore, for any given grid cell, the average pose data for that grid cell can be obtained by calculating the mean and variance based on the pose data of each LiDAR point belonging to that grid cell. By sequentially calculating the mean and variance for each grid cell in the current scene, the average pose data for all grid cells can be obtained.

[0174] S613. For any given grid cell, determine the sub-probability value of the lidar points located on the mountain based on the average pose data of the grid cell.

[0175] S614. Determine the first probability value corresponding to the target pose based on the sub-probability values ​​of all LiDAR points corresponding to the target pose.

[0176] After determining the average pose data corresponding to each grid in the current scene in advance based on the second data from the lidar device 604 through the aforementioned processes S611 to S612, for each target pose T in the target pose set Tn... i It can be in the target pose T i The corresponding location is projected with a LiDAR point cloud, so that each projected LiDAR point will fall into a certain grid.

[0177] Taking a two-dimensional lidar device as an example, for a certain target pose T in the target pose set Tn... i It can be in the target pose T i The area is projected onto a 360° range around the horizontal plane, resulting in 360 LiDAR points. In this way, in the pre-constructed raster map, each LiDAR point may fall into a certain grid.

[0178] Taking one of the lidar points N as an example, assuming lidar point N falls within grid M, based on the average pose data of grid M obtained in the aforementioned S612, the sub-probability value of lidar point N can be calculated according to the following probability distribution formula, expressed as:

[0179]

[0180] In equation (2), f(x) represents the sub-probability value, σ represents the variance of the average pose data, and μ represents the mean of the average pose data. The sub-probability value corresponding to the lidar point N can be calculated using equation (2).

[0181] The above refers to the target pose T i The process of calculating the subprobability of a single LiDAR point in the projection is explained, for the target pose T. i By performing the above calculation process on each of the 360 ​​projected lidar points, the sub-probability value corresponding to each lidar point can be obtained.

[0182] For the target pose T i The target pose T i The average of the sub-probability values ​​of the 360 ​​projected LiDAR points is calculated, and this average value is the first probability value corresponding to the target pose, denoted as P. i .

[0183] It can be understood that the target pose set Tn includes n target poses T i The above describes the calculation process for the first probability value of one target pose. For n target poses, repeating the above process will yield the target pose T for each target pose. i The corresponding first probability value P i That is, the target pose set Tn includes n target poses T.i Each target pose T i It has the corresponding first probability value P i .

[0184] After obtaining the first probability value of each target pose in the target pose set Tn, the target pose set can be resampled according to the first probability value. The basic principle of resampling is that the higher the first probability value, the higher the probability of the point being resampled.

[0185] In some implementations, prior to resampling, all target poses T included in the target pose set Tn can also be resampled. i The first probability value P i Normalization is performed to simplify resampling calculations.

[0186] Commonly used resampling algorithms based on particle filtering include simple random resampling, hierarchical resampling, systematic resampling, and residual resampling methods. The embodiments disclosed herein do not limit the specific resampling algorithm. Those skilled in the art can resample the target pose set based on relevant technical knowledge.

[0187] For example, a simple random resampling method can be used to resample the target pose set Tn once, resulting in a resampled target pose set Tn1. It can be understood that after one resampling, the individual target poses in the target pose set will converge based on the probability density distribution.

[0188] For example, in the original target pose set Tn, the sampling points of each target pose represent a group of pose points uniformly distributed within a preset space of length * width * height = 1 meter * 1 meter * 1 meter. After one resampling, the group of pose points represented by each target pose in the target pose set Tn1 will tend to exhibit a normal distribution, that is, the sampling points are more dense in areas with higher probability distribution, and more discrete in areas with lower probability distribution.

[0189] The pose point group obtained by resampling the target pose set Tn once often cannot effectively present a clear normal distribution. Therefore, in this embodiment, the target pose set can be resampled multiple times in a loop.

[0190] For example, in one example, the target pose set Tn can be resampled 5 times in cycles. Specifically, this can be achieved through the above... Figure 6 The implementation method resamples the target pose set Tn to obtain the target pose set Tn1. Then, it uses the above method again. Figure 6The implementation method involves resampling the target pose set Tn1 to obtain the target pose set Tn2, and so on, until five resampling processes are completed, resulting in the final target pose set Tn5. The group of pose points represented by each target pose in the target pose set Tn5 is the group of pose points that exhibit a normal distribution after final convergence.

[0191] It is understandable that the pose point group obtained after multiple resampling has converged from an initial uniform distribution to an approximately normal distribution. That is, for each sampling point in the pose point group, the sampling points with higher probability distributions are more densely packed, while the sampling points with lower probability distributions are more dispersed. Therefore, the overall shape of the pose point group exhibits different principal axis dimensions in various directions. Thus, the LiDAR error weights can be determined based on the dimensions of the pose point group. The following section will combine... Figure 9 The implementation method is described below.

[0192] like Figure 9 As shown, in some embodiments, the process of determining the lidar error weights in the error determination method of this disclosure includes:

[0193] S910. Determine the dimensions of the pose point group in the x-axis, y-axis, and z-axis directions of the spatial coordinate system.

[0194] S920. Transform the dimensions to the lidar coordinate system of the lidar device to obtain the lidar error weights.

[0195] In this embodiment of the disclosure, the dimensions of the pose point group in the three directions of the x-axis, y-axis, and z-axis can be calculated in the spatial coordinate system of the point cloud map, and expressed as the pose point group size D = [x...]. l y l , z l ], where x l The y-axis represents the size of the pose point group in the x-axis direction. l The z-axis represents the size of the pose point group in the y-axis direction. l This represents the size of the pose point group in the z-axis direction.

[0196] Of course, it is understood that the size of the pose point group is not limited to the dimensions in the x-axis, y-axis and z-axis directions in the above example, and may also include dimensions in other directions, which this disclosure does not limit.

[0197] After obtaining the pose point group size D, the pose point group size D can be transformed from the spatial coordinate system to the lidar coordinate system where the lidar device 604 is located, thereby converting the pose point group size D into a 3*1 vector, which is used as the lidar error weight w1 corresponding to the next frame signal.

[0198] In this embodiment of the present disclosure, taking the aforementioned long corridor scenario as an example, the SLAM system moves along the length of the corridor, and the length of the corridor far exceeds the effective range of the LiDAR device. In this case, using the error determination method of this embodiment, the first probability value calculated from the target poses distributed along the corridor length in the target pose set will be very low. Therefore, after multiple resampling, the sampled points along the corridor length will be more discrete in the pose point group obtained, and the final determined LiDAR error weight w1 will also be very low. That is, the total error e0 will be more inclined towards the IMU error, reducing the impact of LiDAR failure and improving positioning accuracy.

[0199] As can be seen from the above, in this embodiment of the present disclosure, the error weight of the LiDAR corresponding to each frame of signal can be dynamically determined, thereby assigning weight values ​​to the LiDAR error terms of the SLAM system, reducing the risk of the entire SLAM system failing to locate due to LiDAR failure, and improving the positioning accuracy.

[0200] Secondly, based on the aforementioned laser SLAM system, this disclosure provides a laser SLAM positioning method, which can be applied to, for example... Figure 1 The laser SLAM system shown.

[0201] like Figure 10 As shown, in some embodiments, the laser SLAM localization method of this disclosure includes:

[0202] S1010. Based on the first data from the system's inertial navigation device, determine the inertial navigation error of the system in the current frame signal; based on the second data from the system's lidar device, determine the lidar error of the system in the current frame signal.

[0203] S1020. Determine the total error of the current frame signal based on the inertial navigation error and its weight, as well as the lidar error and its weight.

[0204] S1030. Based on the total error of the current frame signal, obtain the system pose corresponding to the current frame signal.

[0205] Combination Figure 1 The laser SLAM system shown in the figure, in one example, takes the SLAM system 600 moving from the i-th frame to the current i+1-th frame as an example to illustrate the calculation process of the current system pose.

[0206] When the system moves from frame i to frame i+1, the IMU device 605 (i.e., the inertial navigation device) collects inertial navigation data during the system's motion, such as acceleration and angular velocity. The data collected by the IMU device 605 is defined as the first data. Based on the inertial navigation algorithm, the IMU error e2 (i.e., the inertial navigation error) and the IMU error weight w2 (i.e., the inertial navigation error weight) of the current frame i+1 signal can be calculated from the first data.

[0207] Simultaneously, as the system moves from frame i to frame i+1, the lidar device 604 acquires lidar data during the system's movement, such as distance and direction data. This data acquired by the lidar device 604 is defined as the second data. Based on the lidar algorithm, the lidar error e1 of the current frame i+1 signal can be calculated using this second data. Additionally, see the aforementioned... Figure 3 In this implementation, the lidar error weight w1 of the (i+1)th frame can be obtained based on the pose information corresponding to the i-th frame signal. Those skilled in the art can refer to the aforementioned implementation method, and this disclosure will not elaborate further.

[0208] After obtaining the lidar error weight w1, lidar error e1, IMU error weight w2 and IMU error e2 corresponding to the current i+1 frame signal, they can be substituted into the aforementioned equation (1) to calculate the total system error e0 of the current i+1 frame signal.

[0209] In some embodiments, after calculating the total system error e0, the system pose at the current moment corresponding to the (i+1)th frame signal can be determined based on the optimization method according to the total system error e0. This disclosure will not elaborate further on this.

[0210] As can be seen from the above, in this embodiment of the present disclosure, the error weight of the LiDAR corresponding to each frame of signal can be dynamically determined, thereby assigning weight values ​​to the LiDAR error terms of the SLAM system, reducing the risk of the entire SLAM system failing to locate due to LiDAR failure, and improving the positioning accuracy.

[0211] Thirdly, embodiments of this disclosure provide an error determination device for a laser SLAM system, which can be applied to, for example... Figure 1 The laser SLAM system shown.

[0212] like Figure 11 As shown, in some embodiments, the error determination apparatus of the laser SLAM system exemplified in this disclosure includes:

[0213] The acquisition module 10 is configured to acquire the first pose corresponding to the current frame signal;

[0214] The sampling module 20 is configured to sample a target pose set within a preset spatial range of the first pose, the target pose set including multiple target poses;

[0215] The resampling module 30 is configured to resample the target pose set a preset number of times based on the probability density distribution of the lidar point cloud for each target pose in the target pose set, to obtain the pose point group corresponding to the first pose.

[0216] The weight determination module 40 is configured to determine the lidar error weight corresponding to the next frame signal based on the size of the pose point group in a preset direction.

[0217] As can be seen from the above, in this embodiment of the present disclosure, the error weight of the LiDAR corresponding to each frame of signal can be dynamically determined, thereby assigning weight values ​​to the LiDAR error terms of the SLAM system, reducing the risk of the entire SLAM system failing to locate due to LiDAR failure, and improving the positioning accuracy.

[0218] In some embodiments, the acquisition module 10 is configured to:

[0219] Based on the first data from the inertial navigation device of the system, the inertial navigation error of the system in the current frame signal is determined; based on the second data from the lidar device of the system, the lidar error of the system in the current frame signal is determined.

[0220] The total error of the current frame signal is determined based on the inertial navigation error and inertial navigation error weight, the lidar error and the lidar error weight determined based on the pose of the previous frame signal.

[0221] The first pose corresponding to the current frame signal is obtained by performing optimization processing based on the total error of the current frame signal.

[0222] In some embodiments, the sampling module 20 is configured to:

[0223] Obtain the position information and attitude information included in the first pose;

[0224] Based on the location information, the plurality of target poses are uniformly sampled within the preset spatial range, wherein the pose information of each target pose is the same as the pose information of the first pose.

[0225] In some implementations, the resampling module 30 is configured to:

[0226] For any target pose in the target pose set, a lidar point cloud is projected onto the target pose, and a first probability value corresponding to the target pose is determined based on the probability information of each lidar point.

[0227] Based on the first probability value of each target pose, the target pose set is resampled to obtain the target pose set required for the next resampling. The process of resampling the target pose set is repeated until the preset number of times is met to obtain the pose point group.

[0228] In some implementations, the resampling module 30 is configured to:

[0229] The point cloud map obtained from the second data based on the lidar device is rasterized using a grid of preset size to obtain a rasterized point cloud map.

[0230] Based on the second data, determine the average pose data corresponding to each grid cell;

[0231] For any given grid cell, a sub-probability value for the lidar point located within the grid cell is determined based on the average pose data of the grid cell.

[0232] The first probability value corresponding to the target pose is determined based on the sub-probability values ​​of all LiDAR points corresponding to the target pose.

[0233] In some implementations, the resampling module 30 is configured to:

[0234] For any given grid cell, the mean and variance of the pose information of all points are determined based on the pose information of each point included in the grid cell.

[0235] The mean and the variance are determined as the average pose data corresponding to the grid.

[0236] In some implementations, the weight determination module 40 is configured to:

[0237] Determine the dimensions of the pose point group in the x-axis, y-axis, and z-axis directions of the spatial coordinate system;

[0238] The dimensions are transformed to the lidar coordinate system of the lidar device to obtain the lidar error weights.

[0239] As can be seen from the above, in this embodiment of the present disclosure, the error weight of the LiDAR corresponding to each frame of signal can be dynamically determined, thereby assigning weight values ​​to the LiDAR error terms of the SLAM system, reducing the risk of the entire SLAM system failing to locate due to LiDAR failure, and improving the positioning accuracy.

[0240] Fourthly, embodiments of this disclosure provide a laser SLAM positioning device, which can be applied to, for example... Figure 1 The laser SLAM system shown.

[0241] like Figure 12 As shown, in some embodiments, the laser SLAM positioning device of this disclosure includes:

[0242] The first error determination module 50 is configured to determine the inertial navigation error of the system in the current frame signal based on the first data of the inertial navigation device of the system, and to determine the lidar error of the system in the current frame signal based on the second data of the lidar device of the system.

[0243] The second error determination module 60 is configured to determine the total error of the current frame signal based on the inertial navigation error and inertial navigation error weight, and the lidar error and lidar error weight; wherein the lidar error weight is obtained according to the error determination method described in any embodiment of the first aspect;

[0244] The positioning module 70 is configured to obtain the system pose corresponding to the current frame signal based on the total error of the current frame signal.

[0245] As can be seen from the above, in this embodiment of the present disclosure, the error weight of the LiDAR corresponding to each frame of signal can be dynamically determined, thereby assigning weight values ​​to the LiDAR error terms of the SLAM system, reducing the risk of the entire SLAM system failing to locate due to LiDAR failure, and improving the positioning accuracy.

[0246] Fifthly, embodiments of this disclosure provide a laser SLAM system, comprising:

[0247] Inertial navigation device;

[0248] LiDAR devices; and

[0249] The controller includes a processor and a memory, the memory storing computer instructions that can be read by the processor, the computer instructions being used to cause the processor to perform the method according to either the first aspect or the second aspect.

[0250] In a sixth aspect, embodiments of this disclosure provide a storage medium storing computer instructions for causing a computer to perform the method described according to either the first or second aspect.

[0251] Specifically, those skilled in the art can understand and fully implement the corresponding structure and function of the laser SLAM system and storage medium by referring to the foregoing description of the embodiments, and this disclosure will not elaborate further on this.

[0252] Obviously, the above embodiments are merely examples for clear illustration and are not intended to limit the embodiments. Those skilled in the art will recognize that other variations or modifications can be made based on the above description. It is neither necessary nor possible to exhaustively list all embodiments here. However, obvious variations or modifications derived therefrom are still within the scope of protection of this disclosure.

Claims

1. A method for error determination of a laser SLAM system, characterized in that, The method includes: Obtain the first pose corresponding to the current frame signal; Within a preset spatial range of the first pose, a target pose set is obtained by sampling, and the target pose set includes multiple target poses; Based on the probability density distribution of the lidar point cloud for each target pose in the target pose set, the target pose set is resampled a preset number of times to obtain the pose point group corresponding to the first pose. Based on the size of the pose point group in a preset direction, the error weight of the next frame signal is determined, wherein the size of the pose point group in the preset direction is negatively correlated with the reliability of the lidar device in the preset direction.

2. The method of claim 1, wherein, The step of obtaining the first pose corresponding to the current frame signal includes: Based on the first data from the inertial navigation device of the system, the inertial navigation error of the system in the current frame signal is determined; based on the second data from the lidar device of the system, the lidar error of the system in the current frame signal is determined. The total error of the current frame signal is determined based on the inertial navigation error and inertial navigation error weight, the lidar error and the lidar error weight determined based on the pose of the previous frame signal; The first pose corresponding to the current frame signal is obtained by performing optimization processing based on the total error of the current frame signal.

3. The method according to claim 1 or 2, characterized in that, Within a preset spatial range of the first pose, a target pose set is obtained by sampling. The target pose set includes multiple target poses, including: Obtain the position information and attitude information included in the first pose; Based on the location information, the plurality of target poses are uniformly sampled within the preset spatial range, wherein the pose information of each target pose is the same as the pose information of the first pose.

4. The method according to any one of claims 1 to 3, characterized in that, The step of resampling the target pose set a preset number of times based on the probability density distribution of the lidar point cloud for each target pose in the target pose set to obtain the pose point group corresponding to the first pose includes: For any target pose in the target pose set, a lidar point cloud is projected onto the target pose, and a first probability value corresponding to the target pose is determined based on the probability information of each lidar point. Based on the first probability value of each target pose, the target pose set is resampled to obtain the target pose set required for the next resampling. The process of resampling the target pose set is repeated until the preset number of times is met to obtain the pose point group.

5. The method of claim 4, wherein, Based on the probability information of each lidar point, a first probability value corresponding to the target pose is determined, including: The point cloud map obtained from the second data based on the lidar device is rasterized using a grid of preset size to obtain a rasterized point cloud map. Based on the second data, determine the average pose data corresponding to each grid cell; For any given grid cell, a sub-probability value for the lidar point located within the grid cell is determined based on the average pose data of the grid cell. The first probability value corresponding to the target pose is determined based on the sub-probability values ​​of all LiDAR points corresponding to the target pose.

6. The method of claim 5, wherein, The second data includes the pose information of each point in the point cloud map; the step of determining the average pose data corresponding to each grid cell based on the second data includes: For any given grid cell, the mean and variance of the pose information of all points are determined based on the pose information of each point included in the grid cell. The mean and the variance are determined as the average pose data corresponding to the grid.

7. The method of claim 1, wherein, The step of determining the lidar error weight corresponding to the next frame signal based on the size of the pose point group in a preset direction includes: Determine the dimensions of the pose point group in the x-axis, y-axis, and z-axis directions of the spatial coordinate system; The dimensions are transformed to the lidar coordinate system of the lidar device to obtain the lidar error weights.

8. A laser SLAM positioning method, characterized by, The method, applied to laser SLAM systems, includes: Based on the first data from the inertial navigation device of the system, the inertial navigation error of the system in the current frame signal is determined; based on the second data from the lidar device of the system, the lidar error of the system in the current frame signal is determined. The total error of the current frame signal is determined based on the inertial navigation error and its weight, as well as the lidar error and its weight; wherein the lidar error weight is obtained by the error determination method according to any one of claims 1 to 7. The system pose corresponding to the current frame signal is obtained based on the total error of the current frame signal.

9. An error determination apparatus of a laser SLAM system, characterized by, The device includes: The acquisition module is configured to acquire the first pose corresponding to the current frame signal; The sampling module is configured to sample a target pose set within a preset spatial range of the first pose, the target pose set including multiple target poses; The resampling module is configured to resample the target pose set a preset number of times based on the probability density distribution of the lidar point cloud for each target pose in the target pose set, to obtain the pose point group corresponding to the first pose. The weight determination module is configured to determine the lidar error weight corresponding to the next frame signal based on the size of the pose point group in a preset direction, wherein the size of the pose point group in the preset direction is negatively correlated with the reliability of the lidar device in the preset direction.

10. A laser SLAM positioning device, characterized by, The device, used in laser SLAM systems, includes: The first error determination module is configured to determine the inertial navigation error of the system in the current frame signal based on the first data of the inertial navigation device of the system, and to determine the lidar error of the system in the current frame signal based on the second data of the lidar device of the system. The second error determination module is configured to determine the total error of the current frame signal based on the inertial navigation error and inertial navigation error weight, and the lidar error and lidar error weight; wherein the lidar error weight is obtained by the error determination method according to any one of claims 1 to 7. The positioning module is configured to obtain the system pose corresponding to the current frame signal based on the total error of the current frame signal.

11. A laser SLAM system, characterized by, include: Inertial navigation device; LiDAR device; as well as The controller includes a processor and a memory, the memory storing computer instructions that can be read by the processor, the computer instructions being used to cause the processor to perform the method according to any one of claims 1 to 7, 8.

12. A storage medium, characterized by The computer contains computer instructions for causing the computer to perform the method according to any one of claims 1 to 7 and 8.