Adaptive laser slam loop detection method, device, medium and equipment

By adaptively adjusting the loop closure detection strategy, and using ICP point cloud registration or Scan-context method based on laser point cloud data and pose information, the problem of erroneous loop closures in narrow scenes is solved, improving the accuracy and adaptability of SLAM.

CN116203583BActive Publication Date: 2025-11-07GUANGZHOU GOSUNCN ROBOTICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310075500.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-01-31
Publication Date
2025-11-07
Estimated Expiration
2043-01-31

AI Technical Summary

Technical Problem

Existing SLAM loop closure detection methods are prone to erroneous loop closures in narrow, similar scenes, resulting in low SLAM accuracy.

Method used

By acquiring laser point cloud data and pose information of the mobile robot during its movement, the loop closure detection strategy is adaptively adjusted. Different loop closure detection strategies are matched according to different scenarios, the distance standard between loop closure frames is adjusted, and loop closure detection is performed using ICP point cloud registration or Scan-context method.

Benefits of technology

This improved the loop closure detection performance and robustness of patrol robots in different scenarios, and enhanced the accuracy of SLAM.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116203583B_ABST
    Figure CN116203583B_ABST
Patent Text Reader

Abstract

The application discloses a kind of self-adapting laser SLAM loop detection methods, by acquiring the laser point cloud data and pose information that mobile robot is collected in moving process;According to the laser point cloud data and pose information, the movement scene information of the mobile robot is acquired;According to the movement scene information, self-adapting adjustment loop detection strategy is carried out SLAM loop detection according to adjusted loop detection strategy;Wherein, the distance criterion between different loop detection strategies is self-adapting adjustment loop frame.Adjusts the distance threshold between loop frame by different scene matching different loop detection strategy, can adapt to different scene, avoid the error loop that laser SALM loop detection method appears in narrow, similar scene, effectively improve the loop detection performance of patrol robot in laser Salm, improve the adaptability and robustness of loop detection to scene, to improve SLAM accuracy.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of robots, and in particular to a self-adaptive laser SLAM loop detection method, device, medium and equipment. BACKGROUND

[0002] When a patrol robot autonomously patrols in a working scene, it needs to construct a 3D point cloud map of the working scene in advance through a simultaneous localization and mapping (SLAM) technology. In the SLAM technology, the front laser odometer always brings an inevitable drift error. To this end, the prior art optimizes the state estimation error of the scan matching laser odometer through a loop detection technology. In the SLAM technology, the "loop detection" technology detects whether the current position of the robot has been to before through a specified method, and this method is called a loop detection method.

[0003] The laser scan context environment description Scan-context is an open source 3D laser point cloud global description method, and the Scan-context method is usually used in a SLAM loop detection module to find similar 3D laser scan frame pairs. The similar 3D laser scan frame pairs indicate that the robot collects laser scan frames at similar positions.

[0004] However, the adaptability and robustness of the Scan-context method to the scene are not high, and in narrow and similar scenes, the Scan-context method is prone to false loop detection, which greatly affects the SLAM accuracy. SUMMARY

[0005] Embodiments of the present application provide a self-adaptive laser SLAM loop detection method, device, medium and equipment to solve the problem that the existing SLAM loop detection method is prone to false loop detection in narrow and similar scenes and has low SLAM accuracy.

[0006] A self-adaptive laser SLAM loop detection method, the method comprising:

[0007] acquiring laser point cloud data and pose information collected by a mobile robot during movement;

[0008] acquiring movement scene information of the mobile robot according to the laser point cloud data and the pose information;

[0009] adapting a loop detection strategy according to the movement scene information, and performing SLAM loop detection according to the adapted loop detection strategy;

[0010] wherein different loop detection strategies adapt distance criteria between loop frames.

[0011] Optionally, the obtaining the movement scene information of the mobile robot according to the laser point cloud data and the pose information comprises:

[0012] traversing the laser point cloud data, calculating the distance of a single laser scanning frame;

[0013] obtaining the laser scanning frame with the distance within a preset distance threshold, and constructing a candidate laser point cloud;

[0014] traversing each laser scanning frame in the candidate laser point cloud, obtaining height information of the laser scanning frame, and comparing the height information with a preset height threshold;

[0015] when the height information of each laser scanning frame in the candidate laser point cloud is less than the preset height threshold, the movement scene information of the mobile robot is an indoor narrow space, otherwise the movement scene information of the mobile robot is a non-indoor narrow space.

[0016] Optionally, the self-adaptive adjustment of the loop detection strategy according to the movement scene information, and the execution of the SLAM loop detection according to the adjusted loop detection strategy comprises:

[0017] when the movement scene information of the mobile robot is an indoor narrow space, obtaining the pose information of each laser scanning frame in the laser point cloud data;

[0018] obtaining a loop candidate frame corresponding to a current frame according to the pose information, performing ICP point cloud registration according to the current frame and the loop candidate frame, and obtaining a target laser scanning frame pair.

[0019] Optionally, the obtaining of the loop candidate frame corresponding to the current frame according to the pose information, the ICP point cloud registration according to the current frame and the loop candidate frame, and the obtaining of the target laser scanning frame pair comprise:

[0020] if the current frame is the first laser scanning frame, adding the current frame and the pose information thereof to a loop frame library;

[0021] if the current frame is not the first laser scanning frame, obtaining a displacement difference value between the current frame and each laser scanning frame in the loop frame library according to the pose information;

[0022] when the displacement difference value is less than a preset displacement difference threshold, taking the laser scanning frame as a loop candidate frame of the current frame;

[0023] taking the loop candidate frame as a source point cloud and the current frame as a target point cloud to perform ICP point cloud registration, and obtaining a registration value;

[0024] when the registration value is less than a preset registration threshold, taking the loop candidate frame as a loop frame of the current frame;

[0025] wherein the current frame and the loop frame constitute a target laser scanning frame pair.

[0026] Optionally, the adaptive adjustment of the loop detection strategy according to the mobile scene information comprises:

[0027] when the mobile scene information of the mobile robot is a non-indoor narrow space, converting each laser scanning frame in the laser point cloud data into an SC scan sub;

[0028] obtaining a loop candidate frame of the current frame according to the SC scan sub, and performing displacement comparison according to pose information of the current frame and the loop candidate frame to obtain a target laser scanning frame pair.

[0029] Optionally, the obtaining of the loop candidate frame of the current frame according to the SC scan sub, and the performing of the displacement comparison according to the pose information of the current frame and the loop candidate frame to obtain the target laser scanning frame pair comprises:

[0030] if the current frame is the first laser scanning frame, adding the SC scan sub of the current frame and the pose information thereof to a loop frame library;

[0031] if the current frame is not the first laser scanning frame, obtaining a vector difference one norm between the SC scan sub of the current frame and the SC scan sub of each laser scanning frame in the loop frame library;

[0032] when the vector difference one norm is less than a preset norm threshold, taking the laser scanning frame as the loop candidate frame of the current frame;

[0033] calculating a displacement distance between pose information corresponding to the loop candidate frame and pose information corresponding to the current frame;

[0034] when the displacement distance is less than a preset displacement threshold, taking the loop candidate frame as the loop frame of the current frame;

[0035] wherein the current frame and the loop frame constitute a target laser scanning frame pair.

[0036] Optionally, the preset displacement threshold is:

[0037] a = 20 + | Candidate-Current | / 100

[0038] wherein a represents the preset displacement threshold, Candidate represents a frame number of the current loop candidate frame, and Current represents a frame number of the current frame.

[0039] An adaptive laser SLAM loop detection device, the device comprising:

[0040] An information acquisition module is configured to acquire laser point cloud data and pose information collected by a mobile robot during movement;

[0041] A scene acquisition module is configured to acquire movement scene information of the mobile robot according to the laser point cloud data and the pose information;

[0042] An adaptive detection module is configured to adaptively adjust a loop detection strategy according to the movement scene information, and perform SLAM loop detection according to the adjusted loop detection strategy;

[0043] Different loop detection strategies adaptively adjust distance criteria between loop frames.

[0044] A computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the adaptive laser SLAM loop detection method described above.

[0045] A computer device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the adaptive laser SLAM loop detection method described above when executing the computer program.

[0046] The embodiments of the present application acquire laser point cloud data and pose information collected by a mobile robot during movement, acquire movement scene information of the mobile robot according to the laser point cloud data and the pose information, adaptively adjust a loop detection strategy according to the movement scene information, and perform SLAM loop detection according to the adjusted loop detection strategy, wherein different loop detection strategies adaptively adjust distance criteria between loop frames. By matching different loop detection strategies with different scenes and adjusting distance thresholds between loop frames, the adaptive laser SLAM loop detection method can adapt to different scenes, avoid false loops in narrow and similar scenes, effectively improve the loop detection performance of a patrol robot in laser SLAM, improve the adaptability and robustness of loop detection to scenes, and further improve the SLAM accuracy. BRIEF DESCRIPTION OF DRAWINGS

[0047] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the description of the embodiments of the present application. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0048] Figure 1 This is a schematic diagram of an adaptive laser SLAM loop closure detection method provided in an embodiment of the present invention;

[0049] Figure 2 This is a schematic diagram of an adaptive laser SLAM loop closure detection device provided in an embodiment of the present invention;

[0050] Figure 3 This is a schematic diagram of a computer device according to an embodiment of the present invention. Detailed Implementation

[0051] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0052] This invention acquires laser point cloud data and pose information collected by a mobile robot during its movement; obtains the robot's movement scene information based on the laser point cloud data and pose information; adaptively adjusts the loop closure detection strategy according to the movement scene information; and performs SLAM loop closure detection according to the adjusted loop closure detection strategy. Different loop closure detection strategies adaptively adjust the distance threshold between loop closure frames. By matching different loop closure detection strategies to different scenes and adjusting the distance threshold between loop closure frames, it can adapt to different scenes, avoiding erroneous loops that occur in narrow or similar scenes in the original laser SALM loop closure detection method. This effectively improves the loop closure detection performance of patrol robots in laser SALM, enhances the adaptability and robustness of loop closure detection to different scenes, and thus improves SLAM accuracy.

[0053] Figure 1 An adaptive laser SLAM loop closure detection method is provided in this embodiment of the invention. Figure 1 As shown, the adaptive laser SLAM loop closure detection method includes:

[0054] In step S101, laser point cloud data and pose information collected by the mobile robot during its movement are acquired.

[0055] The laser point cloud data is a set of laser scan frames acquired by a 3D LiDAR. The pose information is a set of poses corresponding to each laser scan frame obtained by an odometry. This embodiment of the invention involves installing a 3D LiDAR and an odometry on the head of a mobile robot, then starting the mobile robot and manually controlling its movement. During the robot's movement, the 3D LiDAR acquires laser scan frames, and the odometry acquires pose information.

[0056] In step S102, according to the laser point cloud data and the pose information, the moving scene information of the mobile robot is obtained.

[0057] The moving scene information refers to the scene information where the mobile robot is currently located, and represents the environmental state where the mobile robot is currently located. According to the laser point cloud data and the pose information, the moving scene information is further divided in the embodiment of the application. Optionally, as a preferred example of the application, the step S102 of obtaining the moving scene information of the mobile robot according to the laser point cloud data and the pose information further comprises:

[0058] In step S201, the distance of a single laser scanning frame is calculated by traversing the laser point cloud data.

[0059] The laser point cloud data includes a plurality of laser scanning frames, and the distance of a single laser scanning frame refers to the displacement of a single laser scanning frame relative to the origin (0, 0, 0) of the laser coordinate system, and the unit of displacement is preferably meters. In this embodiment, the distance of each laser scanning frame p(x, y, z) in the laser point cloud data is calculated by traversing each laser scanning frame in the laser point cloud data, and a set of distances of each laser scanning frame in the laser point cloud data is obtained.

[0060] In step S202, the laser scanning frames within a preset distance threshold are obtained to form a candidate laser point cloud.

[0061] The preset distance threshold is used as a judgment standard for narrow space. Optionally, the preset distance threshold is preferably 50 meters. In this embodiment, the laser scanning frames with a distance greater than the preset distance threshold are selected from the laser point cloud data as effective laser scanning frames to form a candidate laser point cloud.

[0062] In step S203, the height information of each laser scanning frame in the candidate laser point cloud is obtained by traversing each laser scanning frame in the candidate laser point cloud, and the height information is compared with a preset height threshold.

[0063] The preset height threshold is used as a judgment standard for indoor space. Optionally, the preset height threshold is preferably 5 meters. For the candidate laser point cloud, the height information in each laser scanning frame is compared with the preset height threshold in this embodiment.

[0064] In step S204, when the height information of each laser scanning frame in the candidate laser point cloud is less than the preset height threshold, the moving scene information of the mobile robot is an indoor narrow space, otherwise the moving scene information of the mobile robot is a non-indoor narrow space.

[0065] Traverse each laser scanning frame in the candidate laser point cloud, when the height information of all laser scanning frames is less than a preset height threshold, it is determined that the mobile robot is currently in an indoor narrow space, otherwise it is determined that the mobile robot is currently in a non-indoor narrow space.

[0066] After obtaining the movement scene information of the mobile robot, the embodiment executes different loop detection strategies according to the movement scene information of the mobile robot.

[0067] In step S103, the loop detection strategy is adaptively adjusted according to the movement scene information, and SLAM loop detection is performed according to the adjusted loop detection strategy.

[0068] Among them, the different loop detection strategies adaptively adjust the distance standard between loop frames. The distance standard refers to the distance basis for judging the laser scanning frame as a loop frame. By matching different loop detection strategies in different scenes, the distance threshold between loop frames is adjusted, which can adapt to different scenes, avoid the false loop in the narrow and similar scene of the laser SALM loop detection method, effectively improve the loop detection performance of the patrol robot in the laser SALM, the adaptability and robustness of the scene, and further improve the SLAM precision.

[0069] Optionally, when the mobile robot is currently in an indoor narrow space, the loop detection strategy is a loop detection method based on pose information and ICP point cloud registration. As a preferred example of the present application, when the mobile robot is currently in an indoor narrow space, the step S103 comprises:

[0070] In step S301, when the movement scene information of the mobile robot is an indoor narrow space, the pose information of each laser scanning frame in the laser point cloud data is obtained.

[0071] In step S302, the loop candidate frame corresponding to the current frame is obtained according to the pose information, ICP point cloud registration is performed according to the current frame and the loop candidate frame, and the target laser scanning frame pair is obtained.

[0072] The pose information of the laser scanning frame includes displacement information and attitude angle information of the mobile robot. When the movement scene information of the mobile robot is an indoor narrow space, the existing technology has a high error rate when the Scan-context method is applied. In view of this, the embodiment adopts the displacement information in the pose information to perform loop detection by ICP point cloud registration, which is beneficial to improve the accuracy of the mobile robot in performing SLAM loop detection in an indoor narrow space. Here, the laser scanning frame to be currently executed for loop detection is taken as a current frame. In order to find a loop frame of the current frame, the embodiment first screens a loop candidate frame corresponding to the current frame according to the pose information of the current frame and other laser scanning frames in a loop frame library, so as to reduce the data amount of ICP point cloud registration and improve the speed of ICP point cloud registration. Then, ICP point cloud registration is performed according to the current frame and the loop candidate frame, so that the loop candidate frame and the current frame that meet a preset registration requirement constitute a target laser scanning frame pair.

[0073] Optionally, as a preferred example of the present application, the step S302 comprises:

[0074] In step S3021, if the current frame is the first laser scanning frame, the current frame and the pose information thereof are added to the loop frame library.

[0075] In step S3022, if the current frame is not the first laser scanning frame, a displacement difference value between the current frame and each laser scanning frame in the loop frame library is obtained according to the pose information.

[0076] In step S3023, when the displacement difference value is less than a preset displacement difference threshold, the laser scanning frame is taken as a loop candidate frame of the current frame.

[0077] In step S3024, ICP point cloud registration is performed with the loop candidate frame as a source point cloud and the current frame as a target point cloud, to obtain a registration value.

[0078] In step S3025, when the registration value is less than a preset registration threshold, the loop candidate frame is taken as a loop frame of the current frame, wherein the current frame and the loop frame constitute a target laser scanning frame pair.

[0079] In the embodiment, if the current frame is the first laser scanning frame in the loop frame library, the current frame and the corresponding pose information thereof are added to the loop frame library, and the library sequence number is recorded as 1, and then the next laser scanning frame is returned to continue to be taken as the current frame. It should be understood that when the 3D laser radar collects the laser scanning frame, a frame sequence number is configured for each laser scanning frame according to the collection sequence, the first laser scanning frame corresponds to a frame sequence number of 1, the second laser scanning frame corresponds to a frame sequence number of 2, and so on.

[0080] If the current frame is not the first laser scanning frame in the loop frame library, that is, starting from the second laser scanning frame, the laser scanning frame closest to the pose of the current frame is obtained from the loop frame library as a loop candidate frame. Wherein, the pose is judged by the displacement difference value in the pose information. In this embodiment, the displacement information in the pose information of each laser scanning frame in the loop frame library is obtained respectively, and the displacement difference value between the current frame and each laser scanning frame in the loop frame library is calculated. The displacement difference value is compared with the preset displacement difference threshold. Optionally, the preset displacement difference threshold represents the difference of the robot displacement corresponding to the current laser scanning frame and the loop candidate frame, and is used as a standard for judging whether the current frame and the laser scanning frame are similar frames. In actual application, the preset displacement difference threshold is an empirical value, and is preferably 4 meters. When the displacement difference value is less than the preset displacement difference threshold, the laser scanning frame is taken as the loop candidate frame of the current frame. When the displacement difference value is greater than or equal to the preset displacement difference threshold, the current frame and the corresponding pose information are added to the loop frame library, and then the library sequence number is recorded as the current maximum sequence number in the loop frame library + 1, and the next laser scanning frame is obtained as the current frame.

[0081] After obtaining the loop candidate frame of the current frame, the loop candidate frame is taken as the source point cloud, and the current frame is taken as the target point cloud. The target point cloud is registered to the source point cloud by using the ICP point cloud registration method to obtain a registration value. Wherein, the registration value represents the proximity of the position of the mobile robot collecting the current frame and the position of the mobile robot collecting the loop candidate frame. The larger the registration value is, the farther the position of the mobile robot collecting the current frame and the position of the mobile robot collecting the loop candidate frame are. The smaller the registration value is, the closer the position of the mobile robot collecting the current frame and the position of the mobile robot collecting the loop candidate frame are. In this embodiment, the preset registration threshold is set according to experience in advance, and is used as a standard for determining whether the loop candidate frame and the current laser scanning frame are in the same position. In actual application, the preset registration threshold is an empirical value, and is preferably 0.3. The registration value is compared with the preset registration threshold. When the registration value is less than the preset registration threshold, it is determined that the position of the mobile robot collecting the current frame and the position of the mobile robot collecting the loop candidate frame are the same position, and the loop candidate frame is taken as the loop frame of the current frame. Wherein, the current frame and the loop frame constitute a target laser scanning frame pair. Otherwise, when the registration value is greater than or equal to the preset registration threshold, it is determined that the position of the mobile robot collecting the current frame and the position of the mobile robot collecting the loop candidate frame are different, and the current frame and the corresponding pose information are added to the loop frame library, and then the library sequence number is recorded as the current maximum sequence number in the loop frame library + 1, and the next laser scanning frame is obtained as the current frame.

[0082] So far, the SLAM loop detection in a narrow indoor space is completed, and the displacement information in the pose information is combined with the ICP point cloud registration to perform the loop detection, which is beneficial to improve the accuracy of the SLAM loop detection of the mobile robot in the narrow indoor space.

[0083] Optionally, when the mobile robot is currently in a non-narrow indoor space, the Scan-context method is used to perform the SLAM loop detection. As a preferred example of the present application, when the mobile robot is currently in a non-narrow indoor space, the step S103 comprises:

[0084] In step S401, when the mobile robot is in a non-narrow indoor space, each laser scan frame in the laser point cloud data is converted into an SC scan sub;

[0085] In step S402, a loop candidate frame of the current frame is obtained according to the SC scan sub, and a target laser scan frame pair is obtained by comparing the displacement of the pose information of the current frame and the loop candidate frame.

[0086] The SC scan sub of the laser scan frame is a 64-dimensional column vector. When the mobile robot is in a non-narrow indoor space, the Scan-context method can be used to perform the SLAM loop detection, and the accuracy of the SLAM loop detection of the mobile robot is higher. Here, the laser scan frame to be currently executed for loop detection is taken as the current frame. In order to find the loop frame of the current frame, the SC scan sub corresponding to the current frame is calculated by using the Scan-context method, and then the SC scan sub of the current frame and other laser scan frames in the loop frame library is used to screen the loop candidate frame corresponding to the current frame. Then, the displacement of the pose information of the current frame and the loop candidate frame is compared to determine whether the current frame and the loop candidate frame are in the same position or are close to each other, so as to obtain the loop frame of the current frame. Finally, the loop candidate frame and the current frame form a target laser scan frame pair.

[0087] Optionally, as a preferred example of the present application, the step S402 comprises:

[0088] In step S4021, if the current frame is the first laser scan frame, the SC scan sub of the current frame and the pose information thereof are added to the loop frame library.

[0089] In step S4022, if the current frame is not the first laser scan frame, the vector difference one norm between the SC scan sub of the current frame and the SC scan sub of each laser scan frame in the loop frame library is obtained.

[0090] In step S4023, when the vector difference one norm is less than a preset norm threshold, the laser scanning frame is taken as a loop candidate frame of the current frame.

[0091] In step S4024, a displacement distance between the pose information corresponding to the loop candidate frame and the pose information corresponding to the current frame is calculated.

[0092] In step S4025, when the displacement distance is less than a preset displacement threshold, the loop candidate frame is taken as a loop frame of the current frame, and the current frame and the loop frame constitute a target laser scanning frame pair.

[0093] In the embodiment, if the current frame is the first laser scanning frame in the loop frame library, the SC scanning sub of the current frame and the corresponding pose information are added to the loop frame library, and the library sequence number is recorded as 1, and the next laser scanning frame is acquired as the current frame. It should be understood that when the 3D laser radar collects the laser scanning frame, a frame sequence number is configured for each laser scanning frame according to the collection sequence, the first laser scanning frame corresponds to the frame sequence number 1, the second laser scanning frame corresponds to the frame sequence number 2, and so on.

[0094] If the current frame is not the first laser scanning frame in the loop frame library, that is, starting from the second laser scanning frame, the laser scanning frame most similar to the SC scanning sub of the current frame is acquired from the loop frame library as a loop candidate frame. Wherein, the proximity of the SC scanning sub is judged by the vector difference one norm, and a laser scanning frame is represented by a string of numbers. In the embodiment, the SC scanning sub of each laser scanning frame in the loop frame library is acquired, and the vector difference one norm between the current frame and each laser scanning frame in the loop frame library is calculated. The vector difference one norm is compared with a preset norm threshold. Optionally, the preset norm threshold is used as a standard for judging whether the current frame and the laser scanning frame are similar frames. In actual application, the preset norm threshold is an empirical value, and is preferably 10 meters. When the vector difference one norm is less than the preset norm threshold, the laser scanning frame is taken as the loop candidate frame of the current frame. When the vector difference one norm is greater than or equal to the preset norm threshold, the SC scanning sub of the current frame and the corresponding pose information are added to the loop frame library, and then the library sequence number is recorded as the maximum value of the current sequence number in the loop frame library + 1, and the next laser scanning frame is acquired as the current frame.

[0095] After the loop candidate frame of the current frame is obtained, the displacement distance in the pose information corresponding to the loop candidate frame and the pose information corresponding to the current frame is calculated. The displacement distance represents the proximity of the position of the mobile robot collecting the current frame and the position of the mobile robot collecting the loop candidate frame. The greater the displacement distance, the farther the position of the mobile robot collecting the current frame and the position of the mobile robot collecting the loop candidate frame. The smaller the displacement distance, the closer the position of the mobile robot collecting the current frame and the position of the mobile robot collecting the loop candidate frame. In this embodiment, the displacement threshold is preset according to experience, which is used as a standard for determining whether the loop candidate frame and the current laser scanning frame are in the same position. The displacement distance is compared with the preset displacement threshold. When the displacement distance is less than the preset displacement threshold, it is determined that the position of the mobile robot collecting the current frame and the position of the mobile robot collecting the loop candidate frame are the same position, and the loop candidate frame is used as the loop frame of the current frame. The current frame and the loop frame constitute a target laser scanning frame pair. Otherwise, when the displacement distance is greater than or equal to the preset displacement threshold, it is determined that the position of the mobile robot collecting the current frame and the position of the mobile robot collecting the loop candidate frame are different, the SC scanning sub of the current frame and the corresponding pose information are added to the loop frame library, and then the library sequence number is recorded as the maximum value of the current sequence number in the loop frame library + 1, and the next laser scanning frame is returned as the current frame.

[0096] Optionally, as a preferred example of the present application, the preset displacement threshold is:

[0097] a = 20 + | Candidate-Current | / 100

[0098] Wherein, a represents the preset displacement threshold, Candidate represents the frame sequence number of the current loop candidate frame, Current represents the frame sequence number of the current frame, and the frame sequence number refers to the frame number sequence of the laser scanning frame collected by the 3D laser radar. The unit of the preset displacement threshold is meter.

[0099] At this point, the SLAM loop detection in the non-indoor narrow space is completed, and the Scan-context method combined with the displacement information in the pose information is used for loop detection, which is beneficial to improve the accuracy of the mobile robot performing SLAM loop detection in the non-indoor narrow space.

[0100] To sum up, the embodiment of the present application acquires laser point cloud data and pose information collected by the mobile robot during movement; acquires movement scene information of the mobile robot according to the laser point cloud data and the pose information; adaptively adjusts a loop detection strategy according to the movement scene information, and performs SLAM loop detection according to the adjusted loop detection strategy; wherein different loop detection strategies adaptively adjust distance standards between loop frames. By matching different loop detection strategies with different scenes and adjusting distance thresholds between loop frames, different scenes can be adapted, error loop in a narrow and similar scene in the laser SALM loop detection method is avoided, the loop detection performance in the laser SALM of the patrol robot is effectively improved, the adaptability and robustness to the scene are improved, and the SLAM precision is improved.

[0101] It should be understood that the size of the serial number of each step in the above embodiment does not mean the order of execution, and the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiment of the present application.

[0102] In an embodiment, the present application also provides an adaptive laser SLAM loop detection device, which corresponds to the adaptive laser SLAM loop detection method in the above embodiment. As shown in the figure, the adaptive laser SLAM loop detection device comprises an information acquisition module 21, a scene acquisition module 22 and an adaptive detection module 23. The detailed description of each functional module is as follows: Figure 2

[0103] The information acquisition module 21 is used for acquiring laser point cloud data and pose information collected by the mobile robot during movement;

[0104] The scene acquisition module 22 is used for acquiring movement scene information of the mobile robot according to the laser point cloud data and the pose information;

[0105] The adaptive detection module 23 is used for adaptively adjusting a loop detection strategy according to the movement scene information, and performing SLAM loop detection according to the adjusted loop detection strategy;

[0106] Wherein different loop detection strategies adaptively adjust distance standards between loop frames.

[0107] Optionally, the scene acquisition module 22 comprises:

[0108] The calculation unit is used for traversing the laser point cloud data and calculating the distance of a single laser scanning frame;

[0109] The screening unit is used for acquiring laser scanning frames with a distance within a preset distance threshold to constitute a candidate laser point cloud; ​

[0110] a comparison unit, configured to traverse each laser scanning frame in the candidate laser point cloud, obtain height information of the laser scanning frame, and compare the height information with a preset height threshold;

[0111] a determination unit, configured to determine that the mobile robot is in an indoor narrow space when the height information of each laser scanning frame in the candidate laser point cloud is less than the preset height threshold, and determine that the mobile robot is not in an indoor narrow space otherwise.

[0112] Optionally, the adaptive detection module 23 comprises:

[0113] a pose obtaining unit, configured to obtain pose information of each laser scanning frame in the laser point cloud data when the mobile robot is in an indoor narrow space.

[0114] a first loop detection unit, configured to obtain a loop candidate frame corresponding to a current frame according to the pose information, and perform ICP point cloud registration on the current frame and the loop candidate frame to obtain a target laser scanning frame pair.

[0115] Optionally, the first loop detection unit comprises:

[0116] an adding subunit, configured to add the current frame and the pose information of the current frame to a loop frame library if the current frame is a first laser scanning frame.

[0117] a displacement difference obtaining subunit, configured to obtain a displacement difference value between the current frame and each laser scanning frame in the loop frame library according to the pose information if the current frame is not a first laser scanning frame.

[0118] a first candidate frame obtaining subunit, configured to take the laser scanning frame as a loop candidate frame of the current frame when the displacement difference value is less than a preset displacement difference threshold.

[0119] a registration subunit, configured to take the loop candidate frame as a source point cloud and the current frame as a target point cloud to perform ICP point cloud registration and obtain a registration value.

[0120] a first loop frame obtaining subunit, configured to take the loop candidate frame as a loop frame of the current frame when the registration value is less than a preset registration threshold.

[0121] wherein, the current frame and the loop frame constitute a target laser scanning frame pair.

[0122] Optionally, the adaptive detection module 23 comprises:

[0123] a conversion unit, configured to convert each laser scanning frame in the laser point cloud data into an SC scan sub when the mobile robot is in a non-indoor narrow space;

[0124] a second loop detection unit, configured to obtain a loop candidate frame of a current frame according to the SC scan sub, and perform displacement comparison according to pose information of the current frame and the loop candidate frame to obtain a target laser scanning frame pair.

[0125] Optionally, the second loop detection unit comprises:

[0126] an adding subunit, configured to add the SC scan sub and the pose information of the current frame to a loop frame library if the current frame is a first laser scanning frame;

[0127] a norm obtaining subunit, configured to obtain a vector difference one norm between the SC scan sub of the current frame and the SC scan sub of each laser scanning frame in the loop frame library if the current frame is not the first laser scanning frame;

[0128] a second candidate frame obtaining subunit, configured to take the laser scanning frame as a loop candidate frame of the current frame when the vector difference one norm is less than a preset norm threshold;

[0129] a displacement distance obtaining subunit, configured to calculate a displacement distance between pose information corresponding to the loop candidate frame and pose information corresponding to the current frame;

[0130] a second loop frame obtaining subunit, configured to take the loop candidate frame as a loop frame of the current frame when the displacement distance is less than a preset displacement threshold;

[0131] wherein the current frame and the loop frame constitute the target laser scanning frame pair.

[0132] Optionally, the preset displacement threshold is:

[0133] a = 20 + | Candidate-Current | / 100

[0134] wherein a represents the preset displacement threshold, Candidate represents a frame sequence number of the current loop candidate frame, and Current represents a frame sequence number of the current frame.

[0135] The specific limitations of the adaptive laser SLAM loop detection device can refer to the limitations of the adaptive laser SLAM loop detection method in the foregoing, which will not be repeated here. Each module in the adaptive laser SLAM loop detection device described above can be realized by software, hardware, and combinations thereof, in whole or in part. The above-mentioned modules can be embedded in or independent of the processor in the computer device in hardware form, or can be stored in the memory in the form of software so as to be called and executed by the processor to perform the operations corresponding to each of the above modules.

[0136] In one embodiment, a computer device, which can be a server, is provided, and an internal structure diagram of the computer device can be as shown in Figure 3 The computer device includes a processor, a memory, a network interface, and a database connected by a system bus. The processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operating system and the computer program in the non-volatile storage medium. The network interface of the computer device is configured to communicate with an external terminal through a network connection. The computer program is executed by the processor to implement an adaptive laser SLAM loop detection method.

[0137] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the following steps when executing the computer program:

[0138] Obtain laser point cloud data and pose information collected by the mobile robot during movement;

[0139] According to the laser point cloud data and the pose information, obtain the movement scene information of the mobile robot;

[0140] Adaptively adjust a loop detection strategy according to the movement scene information, and perform SLAM loop detection according to the adjusted loop detection strategy;

[0141] Different loop detection strategies adaptively adjust the distance criterion between loop frames.

[0142] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer readable storage medium, and when executed, can include the processes of the above-mentioned embodiment methods. Any reference to memory, storage, database or other medium used in the embodiments of the present application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration but not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0143] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is exemplified, and in actual application, the above-mentioned functions can be completed by different functional units and modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the above-described functions.

[0144] The above-mentioned embodiments are only used to illustrate the technical solutions of the present application, but not limit it. Although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part of the technical features. The modification or replacement does not make the essence of the corresponding technical solution deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.

Claims

1. A self-adaptive laser SLAM loop detection method, characterized in that, The method comprises: acquiring laser point cloud data and pose information collected by a mobile robot during movement; acquiring movement scene information of the mobile robot according to the laser point cloud data and the pose information; the movement scene information is an indoor narrow space or a non-indoor narrow space, wherein the indoor narrow space is a scene in which distances of all laser scanning frames in the laser point cloud are within a preset distance threshold and height information of all the laser scanning frames is less than a preset height threshold, and otherwise the non-indoor narrow space; adaptively adjusting a loop detection strategy according to the movement scene information, and performing SLAM loop detection according to the adjusted loop detection strategy; wherein different loop detection strategies adaptively adjust a distance criterion between loop frames, when the movement scene information is an indoor narrow space, the distance criterion is a preset displacement difference threshold, and when the movement scene information is a non-indoor narrow space, the distance criterion is a preset displacement threshold, the preset displacement threshold is: a = 20 + | Candidate - Current | / 100 wherein a represents the preset displacement threshold, Candidate represents a frame number of a current loop candidate frame, and Current represents a frame number of a current frame. 2.The adaptive laser SLAM loop detection method of claim 1, wherein, The acquiring of the movement scene information of the mobile robot according to the laser point cloud data and the pose information comprises: traversing the laser point cloud data to calculate distances of single laser scanning frames; acquiring laser scanning frames with distances within a preset distance threshold to form a candidate laser point cloud; traversing each laser scanning frame in the candidate laser point cloud to acquire height information of the laser scanning frame, and comparing the height information with a preset height threshold; when the height information of each laser scanning frame in the candidate laser point cloud is less than the preset height threshold, the movement scene information of the mobile robot is an indoor narrow space, and otherwise the movement scene information of the mobile robot is a non-indoor narrow space. 3.The self-adapting laser SLAM loop detection method of claim 2, wherein, The adaptively adjusting of the loop detection strategy according to the movement scene information and the performing of the SLAM loop detection according to the adjusted loop detection strategy comprise: when the movement scene information of the mobile robot is an indoor narrow space, acquiring pose information of each laser scanning frame in the laser point cloud data; acquiring a loop candidate frame corresponding to a current frame according to the pose information, performing ICP point cloud registration according to the current frame and the loop candidate frame to acquire a target laser scanning frame pair. 4.The self-adapting laser SLAM loop detection method of claim 3, wherein, The acquiring of the loop candidate frame corresponding to the current frame according to the pose information and the performing of the ICP point cloud registration according to the current frame and the loop candidate frame to acquire the target laser scanning frame pair comprise: if the current frame is a first laser scanning frame, adding the current frame and the pose information thereof to a loop frame library; if the current frame is not the first laser scanning frame, acquiring a displacement difference value between the current frame and each laser scanning frame in the loop frame library according to the pose information; when the displacement difference value is less than a preset displacement difference threshold, taking the laser scanning frame as a loop candidate frame of the current frame; taking the loop candidate frame as a source point cloud and the current frame as a target point cloud to perform ICP point cloud registration to obtain a registration value. when the registration value is less than a preset registration threshold, the loop candidate frame is taken as a loop frame of the current frame; wherein the current frame and the loop frame constitute a target laser scanning frame pair. 5.The self-adapting laser SLAM loop detection method of claim 2, wherein, The adaptive adjustment of the loop detection strategy according to the movement scene information comprises: when the movement scene information of the mobile robot is a non-indoor narrow space, each laser scanning frame in the laser point cloud data is converted into an SC scan sub; a loop candidate frame of the current frame is obtained according to the SC scan sub, and displacement comparison is performed according to pose information of the current frame and the loop candidate frame to obtain a target laser scanning frame pair. 6.The adaptive laser SLAM loop detection method of claim 5, wherein, The adaptive adjustment of the loop detection strategy according to the movement scene information comprises: if the current frame is the first laser scanning frame, the SC scan sub of the current frame and the pose information thereof are added to a loop frame library; if the current frame is not the first laser scanning frame, a vector difference one norm between the SC scan sub of the current frame and the SC scan sub of each laser scanning frame in the loop frame library is obtained; when the vector difference one norm is less than a preset norm threshold, the laser scanning frame is taken as a loop candidate frame of the current frame; a displacement distance between the pose information corresponding to the loop candidate frame and the pose information corresponding to the current frame is calculated; when the displacement distance is less than a preset displacement threshold, the loop candidate frame is taken as a loop frame of the current frame; wherein the current frame and the loop frame constitute a target laser scanning frame pair.

7. An adaptive laser SLAM loop detection device, characterized in that, The device comprises: an information acquisition module configured to acquire laser point cloud data and pose information collected by a mobile robot during movement; a scene acquisition module configured to acquire movement scene information of the mobile robot according to the laser point cloud data and the pose information, the movement scene information being an indoor narrow space or a non-indoor narrow space, wherein the indoor narrow space is a scene in which all laser scanning frames in the laser point cloud data have a distance within a preset distance threshold and height information less than a preset height threshold, and otherwise, the indoor narrow space is a non-indoor narrow space; an adaptive detection module configured to adaptively adjust a loop detection strategy according to the movement scene information and perform SLAM loop detection according to the adjusted loop detection strategy; wherein different loop detection strategies adaptively adjust a distance standard between loop frames, when the movement scene information is an indoor narrow space, the distance standard is a preset displacement difference threshold, and when the movement scene information is a non-indoor narrow space, the distance standard is a preset displacement threshold, the preset displacement threshold being: a = 20 + | Candidate-Current | / 100 wherein a represents the preset displacement threshold, Candidate represents a frame number of a current loop candidate frame, and Current represents a frame number of a current frame.

8. A computer-readable storage medium storing a computer program, the computer program comprising instructions that, when executed by a computer, cause the computer to perform the method of any one of claims 1 to 7. The computer program, when executed by a processor, implements the adaptive laser SLAM loop detection method according to any one of claims 1 to 6. The computer program, when executed by a processor, implements the adaptive laser SLAM loop detection method according to any one of claims 1 to 6.

9. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor implements the adaptive laser SLAM loop detection method according to any one of claims 1-6 when executing the computer program.

Citation Information

Patent Citations

  • Point cloud map construction method, device and apparatus and computer storage medium

    CN112767545A

  • Robot steering method and device and medium

    CN115351787A