Vision-based loopback detection method and device, and mobile robot

By detecting loop closure detection trigger conditions in mobile robots, the problem of high computational power consumption in visual loop closure detection is solved, and the effective loop closure detection rate and the accuracy and stability of position information are improved.

CN120886246APending Publication Date: 2025-11-04HANGZHOU EZVIZ SOFTWARE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511010214.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-21
Publication Date
2025-11-04

AI Technical Summary

Technical Problem

Existing vision-based loop closure detection methods consume excessive computing power and have insufficient effective loop closure detection rates when robots or cameras revisit previously explored scenes.

Method used

By detecting loop closure trigger conditions during the movement of the mobile robot, including path overlap, directional deviation, and length accumulation, loop closure detection is triggered and position information is recorded, reducing invalid detections and improving the effective loop closure detection rate.

Benefits of technology

It reduces the computational cost of loop closure detection, improves the detection rate of effective loop closures, and enhances the accuracy and stability of location information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120886246A_ABST
    Figure CN120886246A_ABST
Patent Text Reader

Abstract

The invention discloses a vision-based loopback detection method, and the method comprises the steps: detecting whether a current moving path accords with a loopback detection triggering condition or not at a mobile robot side in the moving process of a mobile robot, and triggering the current loopback detection under the condition that the current moving path accords with the loopback detection triggering condition, the current position information is recorded as current loopback detection trigger point information, and loopback detection trigger conditions at least comprise one of the following conditions: a current moving path is overlapped with a historical path of a finished moving path before the current moving path; the angle of the current moving direction deviating from the historical path direction adjacent to the current moving direction is larger than a set angle threshold value, the accumulated length of the moving path is larger than a set accumulated length threshold value, and the position distance between the current loopback detection trigger point and the historical loopback detection trigger point is not smaller than a set first distance threshold value. According to the invention, the calculation power consumption is reduced, and the detection rate of effective loopback is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of machine vision, in particular, to a vision-based loop detection method. BACKGROUND

[0002] Loop detection is a key link of machine vision, and its main function is to detect that a robot or a camera visits a previously detected scene again at a certain time. Through loop detection, accumulated errors can be corrected, and a pose graph can be optimized, thereby improving the global consistency and accuracy of machine vision.

[0003] Loop detection methods mainly include two categories: one is feature point-based loop detection, for example, using image features (such as ORB, SIFT, SURF, etc.) to describe the scene, and constructing a visual dictionary based on a bag-of-words model, and judging whether there is a loop by similarity measurement between key frame descriptors. The other is deep learning-based loop detection, for example, using a convolutional neural network (CNN) and other deep learning models to extract global image features, and using a contrast learning method or an end-to-end detection network to directly predict a loop.

[0004] Whether it is feature point-based loop detection or deep learning-based loop detection, a large amount of image information needs to be processed, which leads to a consumption of computing power. SUMMARY

[0005] The present application provides a vision-based loop detection method, which reduces the consumption of computing power while improving the detection rate of effective loops.

[0006] The first aspect of the present application provides a vision-based loop detection method, which comprises:

[0007] During the movement of the mobile robot, it is detected whether the current movement path meets a loop detection triggering condition,

[0008] In the case where the loop detection triggering condition is met, the current loop detection is triggered, and the current position information is recorded as the current loop detection triggering point information,

[0009] wherein,

[0010] The loop detection triggering condition at least includes one of the following conditions:

[0011] The current movement path overlaps with a historical path that has been completed before the current movement path,

[0012] The current movement direction deviates from the direction of the historical path adjacent to the current movement direction by an angle greater than a set angle threshold,

[0013] The cumulative length of the movement path is greater than a set cumulative length threshold.

[0014] As a possible implementation manner, in the case of meeting the loop detection triggering condition, further comprising:

[0015] taking the current position as a current loop detection triggering point,

[0016] detecting whether a position distance between the current loop detection triggering point and a historical loop detection triggering point is not less than a set first distance threshold,

[0017] in the case that the position distance between the current loop detection triggering point and the historical loop detection triggering point is less than the first distance threshold, prohibiting triggering the current loop detection,

[0018] in the case that the position distance between the current loop detection triggering point and the historical loop detection triggering point is not less than the first distance threshold, performing the step of triggering the current loop detection;

[0019] The detecting whether the current moving path meets the loop detection triggering condition during the moving of the mobile robot comprises:

[0020] during the exploration of the local region, planning a first planning path for the exploration of the position information of the local region, moving according to the first planning path, collecting image frames during the moving, constructing current map information and / or positioning based on the global map based on the collected image frames, and returning to perform the step of planning the first planning path for the exploration of the position information of the local region until the exploration of the local region ends,

[0021] and / or

[0022] during the exploration of the global range, planning a second planning path for the exploration of the global map information, moving according to the second planning path, and detecting the loop detection triggering condition during the moving,

[0023] wherein,

[0024] The exploration process comprises a global map construction process and / or a positioning process based on the global map,

[0025] The local region is a current visible range of the mobile robot.

[0026] As a possible implementation manner, the global map is constructed in the following manner:

[0027] taking a first undetected boundary point in the current visible range of the mobile robot and farthest from the current position as a first target point,

[0028] adopting a depth-first search algorithm to plan the first planning path, wherein the first planning path at least comprises a planning path from the current position to the first target point,

[0029] moving along the first planning path until reaching the first target point, and collecting image frames during the moving,

[0030] taking the first target point as the current position, returning to execute the step of taking the first undetected boundary point farthest from the current position in the current visual range of the mobile robot as the first target point until there is no first undetected boundary point in the current visual range, and obtaining a global map.

[0031] As a possible implementation manner, the second planning path for global map information detection comprises:

[0032] selecting a second undetected boundary point closest to the current position in the global map range as a second target point,

[0033] planning the second planning path by using a depth-first search algorithm, wherein the second planning path at least comprises a planning path from the current position to the second target point;

[0034] The method further comprises:

[0035] in the current loop detection, moving along the historical moving path from the current loop detection trigger point to perform the current loop detection,

[0036] after the current loop detection, returning to execute the step of selecting the second undetected boundary point closest to the current position in the global map range as the second target point until there is no second undetected boundary point in the global map range,

[0037] optimizing the obtained global map by using the loop detection result.

[0038] As a possible implementation manner, the planning path is determined in the following manner:

[0039] taking the current position as a starting node, and taking each adjacent position adjacent to the current position in the current visual range as a child node of the starting node,

[0040] in selecting any child node, taking each adjacent position adjacent to the selected child node in the current visual range as a child node of the selected child node,

[0041] returning to execute the step of selecting any child node until the target point is taken as a child node, and obtaining tree data or graph data for representing the relationship of the current position,

[0042] The depth-first search algorithm is used to search the tree data or the graph data from the starting node until the sub-node where the target point is located is found, and at least one search path from the starting node to the sub-node where the target point is located is obtained,

[0043] A search path is selected from the obtained search paths, and a path formed by positions corresponding to nodes in the selected search path is taken as the planning path.

[0044] As a possible implementation manner, the selecting a search path from the obtained search paths comprises:

[0045] calculating path distances of the search paths, and selecting a search path corresponding to the shortest path,

[0046] or,

[0047] selecting a search path including the least number of nodes.

[0048] As a possible implementation manner, the angle of view of the current visible range is greater than 0° and less than 180°.

[0049] The current moving path overlaps with a historical path completed before the current moving path in the following manner:

[0050] detecting whether there is at least one coincident trajectory point between the current trajectory point and the historical trajectory point in the historical path, wherein the coincident trajectory point is a trajectory point with a distance between the current trajectory point and the historical trajectory point less than a set second distance threshold,

[0051] if yes, it is determined that the current moving path overlaps with the historical path;

[0052] The current moving direction deviates from a historical path direction adjacent to the current moving direction by an angle greater than a set angle threshold in the following manner:

[0053] detecting whether an angle between the current moving direction and a direction of a directed line segment formed by a previous position adjacent to the current position and the current position is greater than an angle threshold,

[0054] if yes, it is determined that the current moving direction deviates from the historical path direction;

[0055] The accumulated length of the moving path is greater than a set accumulated length threshold in the following manner:

[0056] detecting whether a trajectory length between the current trajectory point and a first historical trajectory point in the historical path reaches the accumulated length threshold,

[0057] if yes, it is determined that the accumulated length of the moving path is greater than the accumulated length threshold.

[0058] The second aspect of the present application provides a visual-based loop detection device, which comprises a memory and a processor, the memory stores a computer program, and the processor is configured to execute the computer program to implement the steps of any of the visual-based loop detection methods.

[0059] The third aspect of the present application provides a mobile robot, which comprises a memory and a processor, the memory stores a computer program, and the processor is configured to execute the computer program to implement the steps of any of the visual-based loop detection methods.

[0060] As a possible implementation manner, the visual angle of the visual range of the mobile robot is greater than 0° and less than 360°.

[0061] The visual-based loop detection method provided by the present application increases the frequency of key loop triggering by detecting the loop detection triggering condition during the movement of the mobile robot, avoids invalid loop detection, and is beneficial to reduce the algorithm consumption of loop detection itself and improve the detection rate of effective loops, thereby improving the accuracy and stability of the position information. BRIEF DESCRIPTION OF DRAWINGS

[0062] Figure 1 FIG. 1 is a flowchart of a visual-based loop detection method according to an embodiment of the present application.

[0063] Figure 2 FIG. 2 is a flowchart of a visual-based loop detection method during map construction according to an embodiment of the present application.

[0064] Figure 3 FIG. 3 is a schematic diagram of establishing an initial detection boundary according to an embodiment of the present application.

[0065] Figure 4 FIG. 4 is a schematic diagram of tree structure data for representing position information according to an embodiment of the present application.

[0066] Figure 5 FIG. 5 is a schematic diagram of determining a first planning path and moving by using a depth-first search algorithm according to an embodiment of the present application.

[0067] Figure 6 FIG. 6 is a schematic diagram of selecting a nearest undetected boundary when there is no first target point in the front visual range according to an embodiment of the present application.

[0068] Figure 7 FIG. 7 is a schematic diagram of loop detection triggering according to an embodiment of the present application.

[0069] Figure 8 FIG. 8 is a schematic diagram of a visual-based loop detection device according to an embodiment of the present application.

[0070] Figure 9 Another schematic diagram of the embodiment of the application is provided. DETAILED DESCRIPTION

[0071] In order to make the purposes, technical means and advantages of the application more clear, the application is further described in detail below with reference to the drawings.

[0072] The applicant found that in the related art of visual-based loop detection, the technical personnel in the field pay attention to the improvement of the accuracy of visual loop detection itself, and few of them take into account the calculation power and accuracy.

[0073] Therefore, the embodiment of the application provides a visual-based loop detection, which takes into account the calculation power and accuracy by detecting the triggering time of loop detection.

[0074] Referring to Figure 1 as shown, Figure 1 A flowchart of the embodiment of the visual-based loop detection method of the application is provided, and the method comprises the following steps:

[0075] Step 101, detecting whether the current moving path meets the loop detection triggering condition during the movement of the mobile robot,

[0076] Since both map construction and positioning can be loop detection, the detection for triggering loop detection in the embodiment of the application can be during the movement of the mobile robot for map construction, or during the movement for positioning after the completion of map construction.

[0077] As an example, during the construction of the global map and / or the positioning based on the global map, i.e., during the detection of the local area, a first planning path for detecting the position information of the local area is planned, the mobile robot moves according to the first planning path, and image frames are collected during the movement, and based on the collected image frames, the current map information is constructed and / or the positioning based on the global map is performed,

[0078] wherein,

[0079] During the construction of the global map, the step of planning the first planning path for detecting the position information of the local area is executed until the global map information is obtained, so as to end the detection of the local area,

[0080] During the positioning based on the global map, the step of planning the first planning path for detecting the position information of the local area is executed until the current detection of the position information of the local area is ended, so as to end the detection of the local area,

[0081] The local area is within the current visual range of the mobile robot, for example, the visual angle of the current visual range is greater than 0° and less than 360°.

[0082] As another example, after obtaining the global map and / or in the positioning process based on the global map, i.e. in the global range detection process, a second planning path for global map information detection is planned, movement is made according to the second planning path, and a loop detection trigger condition is detected during the movement.

[0083] Step 102, in the case where the loop detection trigger condition is met, triggering the current loop detection, and recording the current position information as the current loop detection trigger point information, in the case where the loop detection trigger condition is not met, abandoning triggering the current loop detection, and maintaining the current movement.

[0084] wherein,

[0085] In the global map construction process, after the current loop detection ends, the loop detection result is used to optimize the map information, so as to improve the consistency of the map information,

[0086] In the positioning process based on the global map, after the current loop detection ends, the loop detection result is used to optimize the current positioning result, so as to improve the consistency of the positioning information,

[0087] The loop detection trigger condition at least includes one of the following conditions:

[0088] The current movement path overlaps with the historical path of the movement path completed before the current movement path,

[0089] The current movement direction deviates from the historical path direction adjacent to the current movement direction by an angle greater than a set angle threshold,

[0090] The cumulative length of the movement path is greater than a set cumulative length threshold.

[0091] As an example, in the case where the loop detection trigger condition is met, further comprising:

[0092] Taking the current position as the current loop detection trigger point,

[0093] Detecting whether the position distance between the current loop detection trigger point and the historical loop detection trigger point is not less than a set first distance threshold,

[0094] In the case where the position distance between the current loop detection trigger point and the historical loop detection trigger point is less than the first distance threshold, prohibiting triggering the current loop detection,

[0095] In the case where the position distance between the current loop detection trigger point and the historical loop detection trigger point is not less than the first distance threshold, executing the step of triggering the current loop detection.

[0096] It should be understood that the above trigger conditions can be dynamically combined in real time according to the application scenario and the situation of the moving path.

[0097] The method for loop detection based on vision provided by the embodiment of the application is advantageous in reducing invalid loop detection, improving the effective loop detection rate, avoiding the occupation and consumption of computing power caused by invalid loop detection, and increasing the frequency of effective loop triggering, so as to balance the computing power and accuracy.

[0098] To facilitate understanding of the embodiments of the application, the following describes a mobile robot with front vision for map construction as an example. It should be understood that the form of machine vision in the embodiments of the application can not be limited to front vision, and can include rear vision, side vision, and various combined vision with a visual angle range greater than 0° and less than 360°. In actual application, the visual angle range is greater than 0° and less than 180°. The loop detection in the embodiments of the application is not limited to the map construction process, and can also be applied to the positioning process based on a global map.

[0099] Referring to Figure 2 as shown, Figure 2 FIG. 1 is a flowchart of a method for loop detection based on front vision in the map construction process according to an embodiment of the application. The method comprises the following steps.

[0100] In step 201, initial map information is acquired, and an initial boundary is established.

[0101] As an example, the mobile robot rotates at least one round at the current position, and acquires image data of the surrounding environment within the visual range through the front vision sensor during the rotation. The position information is determined based on the image frames to construct the initial map information within the visual range, and the initial detection boundary information is established based on the acquired initial map information.

[0102] As an example, the front vision sensor includes a laser radar, a camera, and the like.

[0103] Referring to Figure 3 as shown, Figure 3 FIG. 2 is a schematic diagram of establishing an initial detection boundary according to an embodiment of the application. After the mobile robot rotates at least one round at the current position, the initial map information within the visual range is determined based on the image frame data, and the initial detection boundary is established. The yellow area in the figure represents a passable area, and the white boundary of the passable area represents the detected boundary.

[0104] In step 202, it is detected whether there is a first undetected boundary within the current visual range at the current position,

[0105] If there is no first undetected boundary, it is determined that the global map has been constructed, and step 203 is performed,

[0106] If a first undetected boundary exists, the first undetected boundary point that is farthest from the current position is selected as the first target point. A depth-first detection algorithm is used to plan a first planned path from the current position to the first target point. The first planned path is used for local area location information detection. The user moves according to the first planned path to construct map information within the current visible range using image frames collected during the movement.

[0107] Depth-First Search (DFS) is an algorithm used to traverse or search tree or graph data structures. This algorithm searches the branches of a tree or graph as deeply as possible until it finds the target node or reaches a node with no children, then backtracks to the previous branch to continue the search. In this embodiment, the DFS algorithm is used for path planning.

[0108] Specifically,

[0109] Step 2021: Using the current location as the starting node, search for all adjacent locations within the current visible range. Then, use each of these adjacent locations as a child node of the starting node.

[0110] Step 2022: For each child node, search for each adjacent location point of the corresponding location point of the child node, and take each of the searched adjacent location points as the child node of the child node. Repeat this step until the current first target point is taken as a child node, and obtain tree data or graph data used to represent the location point information in the current visible range.

[0111] Each adjacent location point is determined based on the image frame data collected at the current location point.

[0112] See Figure 4 As shown, Figure 4 This is a schematic diagram of tree data used to represent location information within the current visible range. In the diagram, node A is the starting node, node B is the node corresponding to the target point, nodes C and D are child nodes of node A, nodes E, F, and G are child nodes of node C, and node B is a child node of node D. Each node in the tree data corresponds to a piece of location information.

[0113] Step 2023, search the tree data or the graph data by using the depth-first search algorithm until the target node is searched, select any search path from the start node to the target node based on the tree data or the graph data, for example, select the search path with the shortest distance, or select the search path with the least number of nodes, take the position points corresponding to the nodes in the selected search path as the position points of the first planning path, move according to the first planning path until the current first target point is reached, and determine the position information by the collected image frames during the movement, so as to realize the map information construction.

[0114] Referring to Figure 5 as shown, Figure 5 is a schematic diagram of determining the first planning path by using the depth-first search algorithm and moving. In the figure, the green line segment is a schematic of the first planning path.

[0115] Step 2024, take the current first target point as the current position point, return to step 2021 to plan the next first planning path, until there is no first unexplored boundary, to obtain the global map.

[0116] In step 202, the depth-first search algorithm is used for map construction. Since the tree data or the graph data is dynamically generated with the current position and the first target point, the unknown area in the current field of view can be preferentially covered by local area exploration, which is beneficial to construct the main map information, reduce redundant paths, help improve the efficiency of map construction, and reduce the influence of the limited current visible range on the efficiency of map construction.

[0117] Step 203, check whether there is a second unexplored boundary in the global map to perform global map exploration,

[0118] If there is, select the second unexplored boundary point closest to the current position point in the global map as the second target point, plan the second planning path from the current position point to the second target point by using the depth-first search algorithm, and move according to the second planning path, wherein the second planning path is used for global map information exploration,

[0119] If not, the map construction is completed.

[0120] Referring to Figure 6 as shown, Figure 6 is a schematic diagram of selecting the nearest unexplored boundary after there is no first target point in the forward viewing range of the mobile robot. The left figure shows that there is no first unexplored boundary point in the forward viewing range of the mobile robot, and the right figure shows that the second unexplored boundary point closest to the current distance is selected, and the second planning path, in the figure, the white boundary of the yellow area represents the explored boundary, and the original color boundary of the yellow area represents the unexplored boundary.

[0121] Step 204, in the process of moving according to the second planning path, whether the loop detection trigger condition is met is detected,

[0122] If yes, the current position is recorded as a loop detection trigger point, and the current loop detection is triggered. In the loop detection process, short distance detection is performed by fitting the historical trajectory, for example, the cumulative length of the fitted historical trajectory is less than a set third distance threshold, to confirm whether it is a loop, and based on the current loop detection result, the consistency of the map is optimized.

[0123] Otherwise, move according to the second planning path, and return to step 204,

[0124] As an example, to improve the accuracy of loop detection detection rate, in this embodiment, the loop detection trigger condition includes all the following conditions:

[0125] The current moving path overlaps with the historical path of the moving path completed before the current path, for example, there is at least one coincident trajectory point between the current trajectory point and the trajectory point in the historical trajectory data moved before the current trajectory point, wherein the coincident trajectory point is that the position distance between the current trajectory point and the historical trajectory point is less than a set second distance threshold,

[0126] The current moving direction deviates from the historical path direction adjacent to the current moving direction by an angle greater than a set angle threshold, for example, the angle between the current moving direction and the direction of the directed line segment formed by the last position point adjacent to the current position point and the current position point exceeds the angle threshold, and the angle threshold is generally 60°

[0127] The cumulative length of the current moving path reaches a set cumulative length threshold, for example, the length between the current trajectory point and the first trajectory point in the historical path completed before the current trajectory point reaches the cumulative length threshold,

[0128] The position distance between the current position point and the historical loop detection trigger point is not less than a set first distance threshold, to avoid triggering loop detection at the same position point multiple times.

[0129] Referring to Figure 7 , as shown, Figure 7 is a schematic diagram of the loop detection trigger of this embodiment. In the left figure, the relationship between the current path ni and the historical path n0 meets the condition of triggering loop detection, so loop detection is triggered. In the figure, the black directed line segment is the historical path, and the red directed line segment is the current path. In the right figure, after the loop detection trigger, the mobile robot moves by fitting the historical trajectory. In the figure, the black directed line segment is the historical path, and the red directed line segment is the moving path in the loop detection process.

[0130] After the current loop detection ends, return to step 203 to detect the second un-detected boundary point closest to the current position point.

[0131] The embodiment combines local area map construction and global detection, the former helps efficient main stem map information construction, and the latter helps improve coverage and accuracy, so that the detection efficiency and coverage are balanced; through steps 203-204, consistency optimization of the global map obtained in the local detection mode is realized, the trigger condition detection of the loop detection ensures effective loop detection rate, avoids invalid loop detection, balances the loop detection efficiency and computing power consumption, and further helps reduce the influence of the limited current visible range on the stability and accuracy of map construction; in general, while considering the coverage and map construction efficiency, the accuracy of the global map is improved.

[0132] From the perspective of the movement process of the mobile robot, the mobile robot continuously moves forward from the initial position until reaching an obstacle or a boundary position farthest from the current position, continuously moves forward from the current position until reaching the next obstacle or the next boundary position farthest from the current position, and so on until the global map is obtained. Then, the mobile robot moves from the current position to the obstacle or the boundary position closest to the current position. During the movement, when the movement path forms a closed loop, the historical path movement is fitted at the closed position, i.e., the loop detection trigger point, and then the mobile robot moves from the current position to the next obstacle or the next boundary position closest to the current position. The process is repeated until the global map is detected.

[0133] It should be understood that the trigger condition detection of loop detection and the loop detection can also be performed during the movement of the mobile robot according to the first planned path, and the embodiment of the present application does not limit this. In the embodiment, in order to balance the map construction efficiency and accuracy, the trigger condition detection of loop detection is abandoned during the movement of the mobile robot according to the first planned path, and the loop detection is not performed.

[0134] It should be understood that the visual-based loop detection method of the embodiment of the present application can also be applied to global map-based positioning, and the embodiment of the present application does not limit this. In the positioning scenario, as an example, during the movement of the mobile robot based on the map, the trigger condition detection of loop detection can be performed according to steps 101-102. Once the trigger condition of loop detection is met, the loop detection is triggered, and the current positioning result is optimized according to the loop detection result.

[0135] Referring to Figure 8 as shown, Figure 8 is a schematic diagram of a visual-based loop detection device according to an embodiment of the present application.

[0136] The device comprises:

[0137] A trigger condition detection module is configured to detect whether a current movement path meets a loop detection trigger condition during movement of the mobile robot,

[0138] A loop detection trigger module is configured to trigger current loop detection and record current position information as current loop detection trigger point information when the loop detection trigger condition is met.

[0139] Referring to Figure 9 , Figure 9 Another schematic diagram of a visual loop detection device according to an embodiment of the present application is shown. The device comprises a memory and a processor, the memory stores a computer program, and the processor is configured to execute the computer program to implement the steps of the visual loop detection method according to an embodiment of the present application.

[0140] The memory can include a random access memory (RAM) and can also include a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory can also be at least one storage device located away from the aforementioned processor.

[0141] The aforementioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc. It can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component.

[0142] The embodiment of the present application also provides a computer readable storage medium, the storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the visual loop detection method according to an embodiment of the present application.

[0143] For the device / network side equipment / storage medium embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the related parts can be referred to the part of the method embodiment.

[0144] In this document, relational terms such as first and second and the like can be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises... a" does not, without more constraints, exclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.

[0145] The application has been described herein in relation to particular embodiments, and any modifications and / or improvements, and / or the like reasonably implied by the foregoing disclosure are intended to be included.

Claims

1. A vision-based loop closure detection method, characterized in that, The method includes: on the mobile robot side, During the movement of the mobile robot, it is checked whether the current movement path meets the loop closure detection trigger condition. If the loop closure detection trigger conditions are met, the current loop closure detection is triggered, and the current position information is recorded as the current loop closure detection trigger point information. in, Loop closure detection trigger conditions must include at least one of the following conditions: The current movement path overlaps with historical paths that were completed before this current movement path. The current movement direction deviates from the historical path direction adjacent to the current movement direction by an angle greater than a set angle threshold. The cumulative length of the movement path exceeds the set cumulative length threshold.

2. The loop closure detection method as described in claim 1, characterized in that, In cases where the loop closure detection trigger condition is met, it further includes: Use the current position as the current loop closure detection trigger point. Check whether the positional distance between the current loop closure detection trigger point and the historical loop closure detection trigger point is not less than a set first distance threshold. If the distance between the current loop closure detection trigger point and the historical loop closure detection trigger point is less than a first distance threshold, the current loop closure detection should be disabled. If the positional distance between the current loop closure detection trigger point and the historical loop closure detection trigger point is not less than the first distance threshold, then the step of triggering the current loop closure detection is executed. The step of detecting whether the current movement path meets the loop closure detection trigger condition during the movement of the mobile robot includes: During the local area detection process, a first planned path for local area location information detection is planned, and the device moves according to the first planned path, acquiring image frames during the movement. Based on the acquired image frames, current map information and / or positioning based on the global map are constructed. The process then returns to the step of planning the first planned path for local location information detection, until the local area detection is completed. and / or During the global detection process, a second planned path is planned for global map information detection. The device moves according to the second planned path, and loop closure detection trigger conditions are detected during the movement. in, The detection process includes: the construction of a global map and / or the localization process based on the global map. The local area represents the current visible range of the mobile robot.

3. The loop closure detection method as described in claim 2, characterized in that, The global map is constructed in the following manner: The first undetected boundary point that is furthest from the current position within the mobile robot's current field of view is taken as the first target point. A depth-first search algorithm is used to plan a first planned path, which includes at least the planned path from the current position to the first target point. The vehicle moves along the first planned path until it reaches the first target point, capturing image frames during the movement. Based on these captured image frames, the current map information is constructed. Using the first target point as the current position, return to execute the step of using the first undetected boundary point that is farthest from the current position within the current field of view of the mobile robot as the first target point, until there are no more first undetected boundary points within the current field of view, and obtain the global map.

4. The loop closure detection method as described in claim 3, characterized in that, The second planning path for global map information detection includes: Select the second undetected boundary point that is closest to the current location within the global map as the second target point. A depth-first search algorithm is used to plan a second planning path, wherein the second planning path includes at least the planning path from the current position to the second target point; The method further includes: During the current loop closure detection process, the system moves along the historical movement path starting from the current loop closure detection trigger point to perform the current loop closure detection. After the current loop closure detection is completed, return to the step of selecting the second undetected boundary point closest to the current position as the second target point within the global map range, until no second undetected boundary point exists within the global map range. The obtained global map is optimized using the loop closure detection results.

5. The loop closure detection method as described in any one of claims 2 to 4, characterized in that, The planned path is determined in the following manner: Starting from the current position, each adjacent position within the current visible range will be a child node of the starting position. When any child node is selected, all adjacent positions within the current visible range that are adjacent to the selected child node will be considered as child nodes of the selected child node. Return to the step of selecting any child node, and continue until the target point is selected as a child node, to obtain tree data or graph data representing the current positional relationship. A depth-first search algorithm is used to search the tree or graph data starting from the starting node until the child node of the target node is found, thus obtaining at least one search path from the starting node to the child node of the target node. Select a search path from the obtained search paths, and use the path formed by the positions of each node in the selected search path as the planned path.

6. The loop closure detection method as described in claim 5, characterized in that, Selecting a search path from the obtained search paths includes: Calculate the path distance for each search path, and select the search path corresponding to the shortest path. or, Select the search path with the fewest nodes among all search paths.

7. The loop closure detection method as described in claim 2, characterized in that, The current visible field of view is greater than 0° and less than 180°; The overlap between the current movement path and a historical path that has been completed before the current movement path is detected in the following manner: The system detects whether there is at least one overlapping trajectory point between the current trajectory point and historical trajectory points in the historical path. An overlapping trajectory point is defined as one where the distance between the current trajectory point and a historical trajectory point is less than a set second distance threshold. If so, it is determined that the current movement path overlaps with the historical path; The detection method is as follows: If the angle at which the current movement direction deviates from the historical path direction adjacent to the current movement direction is greater than a set angle threshold, the detection method is as follows: Detect the current movement direction and whether the angle between the current position and the direction of the directed line segment formed by the previous position adjacent to the current position and the current position is greater than an angle threshold. If so, then it is determined that the current movement direction deviates from the historical path direction; The cumulative length of the movement path is greater than the set cumulative length threshold, which is detected in the following manner: Check whether the trajectory length between the current trajectory point and the first historical trajectory point in the historical path has reached the cumulative length threshold. If so, then the cumulative length of the moving path is determined to be greater than the cumulative length threshold.

8. A vision-based loop closure detection device, characterized in that, The device includes a memory and a processor, the memory storing a computer program and the processor being configured to execute the computer program to implement any of the steps of the vision-based loop closure detection method 1 to 7.

9. A mobile robot, characterized in that, The mobile robot includes a memory and a processor, the memory storing a computer program and the processor being configured to execute the computer program to implement any of the steps of the vision-based loop closure detection method 1 to 7.

10. The mobile robot as described in claim 9, characterized in that, The mobile robot's field of view is greater than 0° and less than 360°.