Error key frame filtering method and device, terminal equipment and storage medium
By acquiring valid radar points of keyframes from a robotic vacuum cleaner and comparing them with a probabilistic map, erroneous keyframes are identified and filtered out, thus solving the map overlap problem in traditional methods and achieving more accurate map matching.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-21
- Publication Date
- 2026-04-07
AI Technical Summary
Traditional Karto Slam methods cannot effectively identify and filter erroneous keyframes in robot autonomous navigation, leading to an increased risk of map overlap.
By acquiring valid radar points of keyframes in the area to be cleaned by the robot vacuum cleaner and comparing them with the target area in the preset probability map, it is confirmed whether the keyframe is an erroneous keyframe. If so, the keyframe is filtered out when building the sub-map.
Effectively identifying and filtering erroneous keyframes and preventing them from being added to subgraphs greatly reduces the risk of map overlap and improves the accuracy of map matching.
Smart Images

Figure CN116222537B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of robot technology, and in particular to a method and device for filtering error key frames, a terminal device and a computer storage medium. BACKGROUND
[0002] At present, in the field of robot autonomous navigation application, Slam (Simultaneous Localization and Mapping) technology is widely used in positioning, mapping and path planning of floor cleaning robots in work, wherein a submap of a full map of a to-be-cleaned area is established through each key frame.
[0003] In the Karto Slam (a method based on graph optimization) of the traditional technology, key frames are filtered according to distance and frequency. This method can only roughly reduce the number of key frame insertions, avoid possible error key frames by reducing the number, and cannot guarantee the quality of each key frame. Once the key frame is wrong, the error key frame is directly added to the submap (a matching method of Karto Slam).
[0004] In summary, the traditional Karto Slam method greatly increases the risk of map overlap. SUMMARY
[0005] The main purpose of the present application is to provide a method and device for filtering error key frames, a terminal device and a computer storage medium, which aims to identify error key frames and prevent the error key frames from being added to the submap for matching, thereby avoiding the risk of map overlap.
[0006] To achieve the above purpose, the present application provides a method for filtering error key frames, which comprises the following steps:
[0007] Obtain a key frame of a to-be-cleaned area, and confirm valid radar points of the key frame;
[0008] Confirm whether the key frame is an error key frame according to the valid radar points and a target area in a preset probability map;
[0009] If it is confirmed that the key frame is the error key frame, filter the key frame when establishing a submap.
[0010] Optionally, the target area includes a free area, and the step of confirming whether the key frame is an error key frame according to the valid radar points and a target area in a preset probability map comprises:
[0011] confirming a first target radar point hitting the free area in the preset probability map in the effective radar points and confirming a first radar point proportion of the first target radar point in the effective radar points;
[0012] detecting whether the first radar point proportion is greater than or equal to a preset first radar point proportion threshold value;
[0013] if it is confirmed that the first radar point proportion is greater than or equal to the first radar point proportion threshold value, confirming that the key frame is an error key frame.
[0014] Optionally, the target area includes an unknown area, and after the step of detecting whether the first radar point proportion is greater than a preset first radar point proportion threshold value, the method further includes:
[0015] if it is confirmed that the first radar point proportion is less than the first radar point proportion threshold value, confirming whether the first radar point proportion is greater than or equal to a preset second radar point proportion threshold value, wherein the second radar point proportion threshold value is less than the first radar point proportion threshold value;
[0016] if it is confirmed that the first radar point proportion is greater than or equal to the second radar point proportion threshold value, confirming a second target radar point hitting the free area and the unknown area in the effective radar points and confirming a second radar point proportion of the second target radar point in the effective radar points;
[0017] detecting whether the second radar point proportion is greater than or equal to a preset third radar point proportion threshold value;
[0018] if it is confirmed that the second radar point proportion is greater than or equal to the third radar point proportion threshold value, confirming that the key frame is an error key frame.
[0019] Optionally, the target area includes an occupied area, and after the step of confirming whether the first radar point proportion is greater than or equal to a preset second radar point proportion threshold value, the method further includes:
[0020] if it is confirmed that the first radar point proportion is less than the second radar point proportion threshold value, confirming all radar line segments from a current position of the sweeping robot to the effective radar points;
[0021] confirming whether the key frame is an error key frame according to the all radar line segments and the occupied area in the preset probability map.
[0022] Optionally, the step of confirming whether the key frame is an error key frame according to the all radar line segments and the occupied area in the preset probability map includes:
[0023] In the all radar segments, a radar segment including the occupied area in the preset probability map is confirmed as a target radar segment, and a proportion of the target radar segment in the all radar segments is confirmed;
[0024] It is detected whether the radar segment proportion is greater than or equal to a preset radar segment proportion threshold value, and if it is confirmed that the radar segment proportion is greater than or equal to the radar segment proportion threshold value, the key frame is confirmed as an error key frame.
[0025] Optionally, the step of confirming the valid radar points of the key frame comprises:
[0026] All radar points of the key frame are acquired.
[0027] The all radar points are filtered according to a preset filtering condition to obtain valid radar points, wherein the filtering condition comprises a matching score and a frequency of the radar data, and a pose distance of the robot.
[0028] Optionally, the filtering method of the error key frame further comprises:
[0029] If it is confirmed that the key frame is not an error key frame, the probability map is updated according to the key frame.
[0030] In addition, to achieve the above object, the present application further provides a filtering device of an error key frame, characterized in that the filtering device of the error key frame comprises:
[0031] An acquisition module is configured to acquire a key frame of a to-be-cleaned area and confirm valid radar points of the key frame.
[0032] A first confirmation module is configured to confirm whether the key frame is an error key frame according to the valid radar points and a target area in a preset probability map.
[0033] A filtering module is configured to filter the key frame when a subgraph is established if it is confirmed that the key frame is the error key frame.
[0034] In addition, to achieve the above object, the present application further provides a terminal device, which comprises a memory, a processor, and an error key frame filtering program stored in the memory and executable on the processor, and the error key frame filtering program implements the steps of the error key frame filtering method in the above description when executed by the processor.
[0035] In addition, to achieve the above object, the present application further provides a computer storage medium, which stores an error key frame filtering program, and the error key frame filtering program implements the steps of the error key frame filtering method in the above description when executed by a processor.
[0036] The error key frame filtering method, device, terminal equipment and computer readable storage medium provided by the application, the error key frame filtering method comprises the following steps: acquiring a key frame of a to-be-cleaned area, and confirming valid radar points of the key frame; confirming whether the key frame is an error key frame according to the valid radar points and a target area in a preset probability map; if it is confirmed that the key frame is the error key frame, filtering the key frame when a subgraph is established.
[0037] The technical scheme of the application is applied to a sweeping robot, by acquiring a key frame of a sweeping robot in a to-be-cleaned area, and confirming valid radar points in all radar points of the key frame, then, according to the valid radar points and a target area in a preset probability map, confirming whether the key frame is an error key frame, if it is confirmed that the key frame is an error key frame, filtering the key frame when a subgraph is established.
[0038] Compared with the traditional method, the application confirms whether the key frame is an error key frame by the valid radar points in the key frame of the sweeping robot in the to-be-cleaned area and the target area in the preset probability map, if it is confirmed that the key frame is an error key frame, filtering the key frame when a subgraph is established, thereby, the application realizes identifying an error key frame, preventing the error key frame from being added to a subgraph for matching, thereby, greatly avoiding the risk of map overlap. BRIEF DESCRIPTION OF DRAWINGS
[0039] Figure 1 It is a structure schematic diagram of hardware operation of the terminal equipment involved in the embodiment scheme of the application;
[0040] Figure 2 It is a flow schematic diagram of an embodiment of the error key frame filtering method of the application;
[0041] Figure 3 It is an error key frame schematic diagram related to an embodiment of the error key frame filtering method of the application;
[0042] Figure 4 It is another error key frame schematic diagram related to an embodiment of the error key frame filtering method of the application;
[0043] Figure 5 It is a key frame schematic diagram related to an embodiment of the error key frame filtering method of the application;
[0044] Figure 6 It is an error key frame schematic diagram related to another embodiment of the error key frame filtering method of the application;
[0045] Figure 7is a key frame schematic diagram related to another embodiment of the error key frame filtering method of the present application;
[0046] Figure 8 is a structural relationship schematic diagram of the error key frame filtering system of the present application.
[0047] The purposes, functional features and advantages of the present application will be further described with reference to the accompanying drawings in conjunction with the embodiments. DETAILED DESCRIPTION
[0048] It should be understood that the specific embodiments described herein are merely intended to explain the present application and not to limit the present application.
[0049] As shown in Figure 1 , the hardware running environment structure of the terminal device is shown in Figure 1 .
[0050] It should be noted that Figure 1 , the hardware running environment structure of the terminal device is shown in the figure. The terminal device of the embodiment of the present application can be a sweeping robot, and the terminal device can be a mobile terminal, a data storage control terminal, a PC or a portable computer, etc.
[0051] As shown in Figure 1 , the terminal device can include a processor 1001 such as a CPU, a network interface 1004, a user interface 1003, a memory 1005, and a communication bus 1002. The communication bus 1002 is used to realize the connection and communication between the components. The user interface 1003 can include a display screen (Display), an input unit such as a keyboard (Keyboard), and an optional user interface 1003 can also include a standard wired interface, a wireless interface. The network interface 1004 can optionally include a standard wired interface, a wireless interface (such as a WI-FI interface). The memory 1005 can be a non-volatile memory (such as a Flash memory), a high-speed RAM memory, and can also be a stable memory (non-volatile memory) such as a magnetic disk memory. The memory 1005 can also be a storage device independent of the aforementioned processor 1001.
[0052] Those skilled in the art can understand that Figure 1 the terminal device structure shown in the figure does not constitute a limitation on the terminal device, and can include more or fewer components than the figure, or combine certain components, or different component arrangements.
[0053] As shown in Figure 1As shown, the memory 1005 as a computer storage medium can include an operating system, a network communication module, a user interface module, and an error key frame filtering program. Among them, the operating system is a program that manages and controls the hardware and software resources of the sample terminal device, supports the running of the error key frame filtering program and other software or programs.
[0054] In Figure 1 In the terminal device shown, the user interface 1003 is mainly used for data communication with each terminal; the network interface 1004 is mainly used for connecting the background server and communicating data with the background server; and the processor 1001 can be used to call the error key frame filtering program stored in the memory 1005 and perform the following operations:
[0055] Obtain the first radar point cloud data of the area to be cleaned, calculate the proportion of radar points occupied by the first radar point cloud data according to the preset probability map to obtain the first calculation result, and calculate the proportion of radar line segments occupied by the first radar point cloud data according to the preset probability map to obtain the second calculation result;
[0056] According to the first calculation result and the second calculation result, the key frame calculation result is calculated according to the preset radar data weight;
[0057] According to the key frame calculation result, it is determined whether the first radar point cloud data is an error key frame, and if so, the error key frame is filtered when the subgraph is established.
[0058] Optionally, the processor 1001 can be used to call the error key frame filtering program stored in the memory 1005, and further perform the following operations:
[0059] In the valid radar points of the first radar point cloud data, the target radar points hitting the target area of the preset probability map are confirmed;
[0060] The first proportion of the target radar points in the valid radar points is calculated, and the first proportion is taken as the first calculation result.
[0061] Optionally, the processor 1001 can be used to call the error key frame filtering program stored in the memory 1005, and further perform the following operations after performing the step of calculating the first proportion of the target radar points in the valid radar points:
[0062] Confirm whether the first proportion is greater than a preset proportion threshold;
[0063] If it is confirmed that the first proportion is greater than the proportion threshold, it is confirmed that the first radar point cloud data is an error key frame, and the error key frame is filtered when the subgraph is established.
[0064] Optionally, the processor 1001 can be configured to call the error key frame filtering program stored in the memory 1005, and further perform the following operations:
[0065] Confirm all radar line segments from the current position of the sweeping robot to the valid radar points of the first radar point cloud data;
[0066] According to the preset probability map, confirm the target radar line segment including the obstacle point of the probability map in the all radar line segments;
[0067] Calculate the second proportion of the target radar line segment in the all radar, and take the second proportion as the second calculation result.
[0068] Optionally, the processor 1001 can be configured to call the error key frame filtering program stored in the memory 1005, and further perform the following operations:
[0069] Obtain the second radar point cloud data of the area to be cleaned, and filter the second radar data according to a preset filtering condition to obtain the first radar point cloud data, wherein the filtering condition includes the matching score and frequency of the radar data, and the pose distance of the sweeping robot.
[0070] Optionally, the processor 1001 can be configured to call the error key frame filtering program stored in the memory 1005, and further perform the following operations:
[0071] Confirm whether the key frame calculation result is greater than a preset key frame threshold;
[0072] If it is confirmed that the key frame calculation result is greater than the key frame threshold, it is confirmed that the radar point cloud data is an error key frame.
[0073] Optionally, the processor 1001 can be configured to call the error key frame filtering program stored in the memory 1005, and further perform the following operations after the step of determining whether the first radar point cloud data is an error key frame according to the key frame calculation result:
[0074] If yes, it is confirmed that the radar point cloud data is a key frame;
[0075] Update the probability map according to the point cloud data of the key frame.
[0076] Based on the terminal device described above, embodiments of the error key frame filtering method of the present application are proposed. In the embodiments of the error key frame filtering method of the present application.
[0077] Please refer to Figure 2 , Figure 2A flowchart of a first embodiment of the filtering method for error keyframes of the present application. In the first embodiment of the filtering method for error keyframes of the present application, the filtering method for error keyframes of the present application comprises:
[0078] Step S10: Obtain a keyframe of a to-be-cleaned area, and confirm valid radar points of the keyframe.
[0079] In this embodiment, when the robot cleaner filters error keyframes, it obtains a keyframe of a to-be-cleaned area, and confirms valid radar points of the keyframe.
[0080] For example, in this embodiment, when the robot cleaner filters error keyframes, it obtains a keyframe of a to-be-cleaned area, which includes several hundred radar points.
[0081] Optionally, in some possible embodiments, the step of "confirming valid radar points of the keyframe" in step S10 can include the following steps:
[0082] Step S101: Obtain all radar points of the keyframe.
[0083] In this embodiment, when the robot cleaner filters error keyframes, it obtains all radar points of the keyframe.
[0084] Step S102: Filter all radar points according to a preset filtering condition to obtain valid radar points, wherein the filtering condition includes matching scores and frequencies of the radar data, and a pose distance of the robot cleaner.
[0085] In this embodiment, the robot cleaner obtains a keyframe of a to-be-cleaned area, and filters all radar points according to the matching scores and frequencies of the radar data, and the pose distance of the robot cleaner to obtain valid radar points.
[0086] For example, in this embodiment, the robot cleaner obtains a keyframe of a to-be-cleaned area, confirms whether the matching scores of all radar points of the keyframe are higher than a preset score threshold, whether the frequencies of all radar points are higher than a preset frequency threshold, and whether the distance between all radar points and all radar points of a previous frame is greater than a preset distance threshold according to the pose distance of the robot cleaner, and calculates a comprehensive score for all radar points by the weight of the three preset conditions, and finally filters all radar points according to the comprehensive score to obtain valid radar points.
[0087] Step S20: Confirm whether the keyframe is an error keyframe according to the valid radar points and a target area in a preset probability map.
[0088] In the embodiment, after the sweeping robot acquires the key frame of the region to be cleaned and confirms the valid radar points of the key frame, whether the key frame is an error key frame is confirmed according to the valid radar points and a target region in a preset probability map.
[0089] It should be noted that, in the embodiment, the preset probability map is constructed by using the probability value of the occupancy grid map point for the point cloud data of each key frame in history.
[0090] Optionally, in some possible embodiments, the target region includes a free region, and step S20 can include the following steps.
[0091] Step S201: In the valid radar points, a first target radar point hitting the free region in the preset probability map is confirmed, and a first radar point proportion occupied by the first target radar point in the valid radar points is confirmed.
[0092] In the embodiment, after the sweeping robot acquires the key frame of the region to be cleaned and confirms the valid radar points of the key frame, in the valid radar points, a first target radar point hitting the free region in the preset probability map is confirmed, and a first radar point proportion occupied by the first target radar point in the valid radar points is confirmed.
[0093] It should be noted that, the preset probability map includes three regions, namely, an unknown region, a free region and an occupied region, wherein the unknown region is a region that has not been swept by the radar of the sweeping robot, the free region is a region that has been swept by the radar of the sweeping robot but has no obstacle, and the occupied region is an obstacle.
[0094] Step S202: Whether the first radar point proportion is greater than or equal to a preset first radar point proportion threshold is detected.
[0095] In the embodiment, after the sweeping robot, in the valid radar points, confirms the first target radar point hitting the free region in the preset probability map and confirms the first radar point proportion occupied by the first target radar point in the valid radar points, whether the first radar point proportion is greater than or equal to a preset first radar point proportion threshold is detected.
[0096] Step S203: If it is confirmed that the first radar point proportion is greater than or equal to the first radar point proportion threshold, it is confirmed that the key frame is an error key frame.
[0097] In the embodiment, after the sweeping robot detects whether the first radar point proportion is greater than or equal to a preset first radar point proportion threshold, if it is confirmed that the first radar point proportion is greater than or equal to the first radar point proportion threshold, it is confirmed that the key frame is an error key frame.
[0098] It should be noted that the preset first radar point proportion threshold can be 65%, and if the first target radar point hitting the free area in the preset probability map accounts for a first radar point proportion greater than 65% in the effective radar points, it is indicated that most of the radar points of the key frame are located in the free area in the probability map, that is, most of the effective radar points of the key frame are located in the area without obstacles, so that it can be judged that the key frame is an error key frame.
[0099] Optionally, in some possible embodiments, the target area includes an unknown area, and after step S202, the filtering method for error key frames of the application can further include the following steps.
[0100] Step S204: If it is confirmed that the first radar point proportion is less than the first radar point proportion threshold, it is confirmed whether the first radar point proportion is greater than or equal to a preset second radar point proportion threshold, wherein the second radar point proportion threshold is less than the first radar point proportion threshold.
[0101] In this embodiment, after the sweeping robot detects whether the first radar point proportion is greater than or equal to a preset first radar point proportion threshold, if it is confirmed that the first radar point proportion is less than the first radar point proportion threshold, it is confirmed whether the first radar point proportion is greater than or equal to a preset second radar point proportion threshold, wherein the second radar point proportion threshold is less than the first radar point proportion threshold.
[0102] Step S205: If it is confirmed that the first radar point proportion is greater than or equal to the second radar point proportion threshold, in the effective radar points, second target radar points hitting the free area and the unknown area are confirmed, and a second radar point proportion of the second target radar points in the effective radar points is confirmed.
[0103] In this embodiment, after the sweeping robot confirms that the first radar point proportion is less than the first radar point proportion threshold, if it is confirmed that the first radar point proportion is greater than or equal to a preset second radar point proportion threshold, in the effective radar points of the key frame, second target radar points hitting the free area and the unknown area are confirmed, and a second radar point proportion of the second target radar points in the effective radar points is confirmed.
[0104] Exemplarily, the second radar point proportion threshold value can be 50%, if the first target radar point hitting the free area in the hit probability map accounts for a first radar point proportion less than 65% in all the effective radar points, it is further confirmed whether the first radar point proportion is greater than or equal to 50%, if it is confirmed that the first radar point proportion is greater than or equal to 50%, the second target radar point hitting the free area and the unknown area is further confirmed, and the second radar point proportion of the second target radar point in all the effective radar points is confirmed.
[0105] It should be noted that when the first radar point proportion hitting the free area confirmed by the sweeping robot is less than the first radar point proportion threshold value, but is still greater than the second radar point proportion threshold value, according to the proportion of the sum of the unknown area and the free area in all the effective radar points being high, it can be confirmed whether the key frame is a false key frame.
[0106] Step S206: detecting whether the second radar point proportion is greater than or equal to a preset third radar point proportion threshold value;
[0107] In this embodiment, if the sweeping robot confirms that the first radar point proportion is greater than or equal to the second radar point proportion threshold value, the second target radar point hitting the free area and the unknown area is confirmed in the effective radar points of the key frame, and then it is detected whether the second radar point proportion is greater than or equal to a preset third radar point proportion threshold value.
[0108] Step S207: if it is confirmed that the second radar point proportion is greater than or equal to the third radar point proportion threshold value, it is confirmed that the key frame is a false key frame.
[0109] In this embodiment, the sweeping robot detects whether the second radar point proportion is greater than or equal to a preset third radar point proportion threshold value, if it is confirmed that the second radar point proportion is greater than or equal to the third radar point proportion threshold value, it is confirmed that the key frame is a false key frame.
[0110] Exemplarily, the preset third radar point proportion threshold value can be 65%, if the second target radar point hitting the free area and the unknown area accounts for a proportion greater than or equal to 65% in all the effective radar points, it is confirmed that the key frame is a false key frame.
[0111] Optionally, in some possible embodiments, the target area includes an occupied area, after step S207, the false key frame filtering method of the application can further include the following steps:
[0112] Step S208: if it is confirmed that the first radar point proportion is less than the second radar point proportion threshold value, all the radar line segments from the current position of the sweeping robot to the effective radar points are confirmed.
[0113] In the embodiment, the robot confirms the all radar line segments from the current position of the robot to the effective radar points if the proportion of the first target radar point hitting the free area in the probability map in all the effective radar points is less than the second radar point proportion threshold.
[0114] It should be noted that if the proportion of the first target radar point hitting the free area in the probability map in all the effective radar points is less than 50%, it means that the position of the effective radar point of the key frame may be correct, and further judging whether the key frame is an error key frame through the all radar line segments from the current position of the robot to the effective radar points.
[0115] Step S209: confirming whether the key frame is an error key frame according to the all radar line segments and the occupied area in the preset probability map.
[0116] In the embodiment, the robot confirms whether the key frame is an error key frame according to the all radar line segments from the current position of the robot to the effective radar points and the occupied area in the preset probability map.
[0117] Optionally, in some possible embodiments, step S209 comprises the following steps.
[0118] Step S2091: confirming a radar line segment including the occupied area in the preset probability map as a target radar line segment in the all radar line segments, and confirming a radar line segment proportion of the target radar line segment in the all radar line segments.
[0119] In the embodiment, the robot confirms a radar line segment including the occupied area in the preset probability map as a target radar line segment in the all radar line segments from the current position of the robot to the effective radar points, and confirms a radar line segment proportion of the target radar line segment in the all radar line segments.
[0120] It should be noted that if the radar line segment from the current position of the robot to the effective radar point includes a line segment of the occupied area, the effective radar point may be incorrect.
[0121] Step S2092: detecting whether the radar line segment proportion is greater than or equal to a preset radar line segment proportion threshold, and confirming the key frame as an error key frame if it is confirmed that the radar line segment proportion is greater than or equal to the radar line segment proportion threshold.
[0122] In the embodiment, the robot detects whether the radar line segment proportion is greater than or equal to a preset radar line segment proportion threshold, and confirms the key frame as an error key frame if it is confirmed that the radar line segment proportion is greater than or equal to the radar line segment proportion threshold.
[0123] It should be noted that if the proportion of the target radar line segment, including the occupied area, to the total number of radar line segments is greater than or equal to the preset radar line segment proportion threshold, then the keyframe is confirmed as an erroneous keyframe.
[0124] For example, the preset radar line segment ratio threshold can be 30%. If the target radar line segment, including the occupied area, accounts for more than or equal to 30% of the total radar line segments, then the key frame is confirmed as an erroneous key frame.
[0125] Step S30: If the keyframe is confirmed to be the erroneous keyframe, filter the keyframe when building the subgraph.
[0126] In this embodiment, after the sweeping robot confirms whether the keyframe is an erroneous keyframe based on the effective radar points and the target area in the preset probability map, if the keyframe is confirmed to be an erroneous keyframe, the keyframe is filtered when the sub-map is built.
[0127] It should be noted that, in this embodiment, as Figure 3 A schematic diagram of an error keyframe of an embodiment is shown, as follows: Figure 4 Another error keyframe diagram of an embodiment is shown, such as Figure 6 The diagram shows an error keyframe of another embodiment. Figure 3 , Figure 4 and Figure 6 These are incorrect keyframes. Generally, keyframes that are off-target or whose coordinates don't match are considered incorrect keyframes. Figure 5 A keyframe diagram of an embodiment is shown, and, as... Figure 7 A keyframe diagram of another embodiment is shown. Figure 5 and Figure 7 If the robot vacuum adds an incorrect keyframe to the subgraph, the incorrect keyframe will overlap with the original subgraph. Therefore, when matching this subgraph using Karto Slam, the matching accuracy will be greatly reduced.
[0128] Optionally, in some feasible embodiments, the method for filtering erroneous keyframes of the present invention may further include the following steps:
[0129] Step A: If it is confirmed that the keyframe is not an erroneous keyframe, then update the probability map based on the keyframe.
[0130] In this embodiment, if the robot vacuum cleaner confirms that the keyframe is not an erroneous keyframe, it continuously updates the probability map based on the valid radar points of the keyframe.
[0131] Thus, in this embodiment, when the robot vacuum cleaner filters out erroneous keyframes, it acquires keyframes of the area to be cleaned and confirms the valid radar points of the keyframes. After acquiring keyframes of the area to be cleaned and confirming the valid radar points of the keyframes, the robot vacuum cleaner confirms whether the keyframe is an erroneous keyframe based on the valid radar points and the target area in the preset probability map. Finally, after confirming whether the keyframe is an erroneous keyframe based on the valid radar points and the target area in the preset probability map, if the keyframe is confirmed to be an erroneous keyframe, the robot vacuum cleaner filters the keyframe when building the sub-map.
[0132] This invention uses the effective radar points in the keyframe of the area to be cleaned by the robot vacuum cleaner and the target area in the preset probability map to determine whether the keyframe is an erroneous keyframe. If the keyframe is confirmed to be an erroneous keyframe, it is filtered when the sub-map is built. Thus, this invention realizes the identification of erroneous keyframes and prevents the erroneous keyframes from being added to the sub-map used for matching, thereby greatly avoiding the risk of map overlap.
[0133] In addition, please refer to Figure 4 The present invention also proposes an erroneous keyframe filtering device, which includes:
[0134] The acquisition module 10 is used to acquire key frames of the area to be cleaned and to confirm the valid radar points of the key frames.
[0135] The first confirmation module 20 is used to confirm whether the keyframe is an erroneous keyframe based on the valid radar points and the target area in the preset probability map.
[0136] The filtering module 30 is used to filter the keyframe when building the subgraph if the keyframe is confirmed to be the erroneous keyframe.
[0137] Optionally, the target area includes: a free area, and the confirmation module 20 includes:
[0138] The first confirmation unit is used to confirm, among the effective radar points, a first target radar point that hits the free area in the preset probability map, and to confirm the proportion of the first target radar point among the effective radar points.
[0139] The first detection unit is used to detect whether the proportion of the first radar point is greater than or equal to a preset threshold for the proportion of the first radar point.
[0140] The second confirmation unit is used to confirm that the keyframe is an erroneous keyframe if the proportion of the first radar point is greater than or equal to the first radar point proportion threshold.
[0141] Optionally, the target area includes: an unknown area; the confirmation module 20 further includes:
[0142] The third confirmation unit is used to confirm whether the first radar point ratio is greater than or equal to a preset second radar point ratio threshold if the first radar point ratio is less than the first radar point ratio threshold.
[0143] The fourth confirmation unit is used to, if the first radar point ratio is confirmed to be greater than or equal to the second radar point ratio threshold, confirm the second target radar point that hits the free area and the unknown area among the effective radar points, and confirm the second target radar point's proportion of the second radar points among the effective radar points.
[0144] The second detection unit is used to detect whether the proportion of the second radar point is greater than or equal to a preset threshold for the proportion of the third radar point.
[0145] The fifth confirmation unit is used to confirm that the keyframe is an erroneous keyframe if it is confirmed that the proportion of the second radar point is greater than or equal to the threshold of the proportion of the third radar point.
[0146] Optionally, the target area includes: an occupied area; the confirmation module 20 further includes:
[0147] The sixth confirmation unit is used to confirm all radar line segments from the current position of the sweeping robot to the effective radar point if the proportion of the first radar point is less than the threshold of the proportion of the second radar point.
[0148] The seventh confirmation unit is used to confirm whether the keyframe is an erroneous keyframe based on all radar line segments and the occupied area in the preset probability map.
[0149] Optionally, the seventh confirmation unit further includes:
[0150] The confirmation subunit is used to confirm, among all radar segments, the radar segment in the already occupied area in the preset probability map as the target radar segment, and to confirm the proportion of the target radar segment in all radar segments.
[0151] The detection subunit is used to detect whether the radar line segment ratio is greater than or equal to a preset radar line segment ratio threshold. If it is confirmed that the radar line segment ratio is greater than or equal to the radar line segment ratio threshold, then the keyframe is confirmed as an erroneous keyframe.
[0152] Optionally, module 10 includes:
[0153] An acquisition unit is used to acquire all radar points of the key frame;
[0154] The filtering unit filters all radar points according to preset filtering conditions to obtain effective radar points, wherein the filtering conditions include: the matching score and frequency of the radar data, and the pose distance of the sweeping robot.
[0155] Optionally, the erroneous keyframe filtering device of the present invention includes:
[0156] The second confirmation module is used to update the probability map based on the keyframe if it is confirmed that the keyframe is not an erroneous keyframe.
[0157] Furthermore, this embodiment of the invention also proposes a terminal device, which includes: a memory, a processor, and a filtering program for error keyframes stored in the memory and executable on the processor. When the error keyframe filtering program is executed by the processor, it implements the steps of the error keyframe filtering method as described above.
[0158] The steps implemented when the error keyframe filtering program running on the processor is executed can be referred to in various embodiments of the error keyframe filtering method of the present invention, and will not be repeated here.
[0159] Furthermore, this invention also proposes a computer storage medium for use in a computer. The computer storage medium can be a non-volatile computer-readable storage medium. The computer storage medium stores a filtering program for error keyframes. When the error keyframe filtering program is executed by the processor, it implements the steps of the error keyframe filtering method described above.
[0160] The steps implemented when the error keyframe filtering program running on the processor is executed can be referred to in various embodiments of the error keyframe filtering method of the present invention, and will not be repeated here.
[0161] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.
[0162] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0163] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a computer storage medium (such as Flash memory, ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a controller in a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to control the data read and write operations of the storage medium to execute the methods described in the various embodiments of the present invention.
[0164] The above are merely preferred embodiments of the present invention and do not limit the scope of the patent. Any equivalent structural or procedural transformations made based on the description and drawings of the present invention, or direct or indirect applications in other related technical fields, are similarly included within the scope of patent protection of the present invention.
Claims
1. A method for filtering erroneous keyframes, characterized in that, The method for filtering erroneous keyframes includes the following steps: Acquire key frames of the area to be cleaned, and confirm the valid radar points of the key frames; Confirm whether the keyframe is an erroneous keyframe based on the valid radar points and the target area in the preset probability map. If the keyframe is confirmed to be an erroneous keyframe, the keyframe is filtered when building the subgraph; The target area includes: a free area and an unknown area. The step of confirming whether the keyframe is an erroneous keyframe based on the effective radar points and the target area in the preset probability map includes: Among the effective radar points, the first target radar point that hits the free area in the preset probability map is identified, and the proportion of the first target radar point among the effective radar points is confirmed. Detect whether the proportion of the first radar point is greater than or equal to a preset threshold for the proportion of the first radar point. If it is confirmed that the proportion of the first radar point is greater than or equal to the threshold of the proportion of the first radar point, then the keyframe is confirmed as an erroneous keyframe. If it is confirmed that the proportion of the first radar point is less than the first radar point proportion threshold, then it is confirmed whether the proportion of the first radar point is greater than or equal to the preset second radar point proportion threshold, wherein the second radar point proportion threshold is less than the first radar point proportion threshold. If it is confirmed that the proportion of the first radar point is greater than or equal to the threshold of the proportion of the second radar point, then among the effective radar points, the second target radar point that hits the free area and the unknown area is confirmed, and the proportion of the second target radar point in the effective radar points is confirmed. Detect whether the proportion of the second radar point is greater than or equal to a preset threshold for the proportion of the third radar point; If it is confirmed that the proportion of the second radar point is greater than or equal to the threshold of the proportion of the third radar point, then the keyframe is confirmed as an erroneous keyframe.
2. The method for filtering erroneous keyframes as described in claim 1, characterized in that, The target area includes: an occupied area. After the step of confirming whether the proportion of the first radar point is greater than or equal to a preset threshold for the proportion of the second radar point, the method further includes: If it is confirmed that the proportion of the first radar point is less than the threshold of the proportion of the second radar point, then all radar line segments from the current position of the robot vacuum cleaner to the effective radar point are confirmed. Based on all radar line segments and the occupied area in the preset probability map, determine whether the keyframe is an erroneous keyframe.
3. The method for filtering erroneous keyframes as described in claim 2, characterized in that, The step of confirming whether the keyframe is an erroneous keyframe based on all radar line segments and the occupied area in the preset probability map includes: Among all the radar segments, the radar segments including the occupied areas in the preset probability map are identified as target radar segments, and the proportion of the target radar segments in all the radar segments is confirmed. The radar line segment ratio is checked to see if it is greater than or equal to a preset radar line segment ratio threshold. If it is confirmed that the radar line segment ratio is greater than or equal to the radar line segment ratio threshold, then the keyframe is confirmed to be an erroneous keyframe.
4. The method for filtering erroneous keyframes as described in claim 1, characterized in that, The step of confirming the valid radar points of the keyframe includes: Obtain all radar points of the keyframe; Valid radar points are obtained by filtering all radar points according to preset filtering conditions, wherein the filtering conditions include: radar data matching score and frequency, and the pose distance of the sweeping robot.
5. The method for filtering erroneous keyframes as described in claim 1, characterized in that, The method for filtering erroneous keyframes further includes: If it is confirmed that the keyframe is not an erroneous keyframe, then the probability map is updated based on the keyframe.
6. A filtering device for erroneous keyframes, characterized in that, The filtering device for the erroneous keyframes includes: The acquisition module is used to acquire key frames of the area to be cleaned and to confirm the valid radar points of the key frames. The first confirmation module is used to confirm whether the keyframe is an erroneous keyframe based on the valid radar points and the target area in the preset probability map. The filtering module is used to filter the keyframe when building the subgraph if the keyframe is confirmed to be the erroneous keyframe. The target area includes: a free area and an unknown area, and the confirmation module includes: The first confirmation unit is used to confirm, among the effective radar points, a first target radar point that hits the free area in the preset probability map, and to confirm the proportion of the first target radar point among the effective radar points. The first detection unit is used to detect whether the proportion of the first radar point is greater than or equal to a preset threshold for the proportion of the first radar point. The second confirmation unit is used to confirm that the keyframe is an erroneous keyframe if the first radar point ratio is confirmed to be greater than or equal to the first radar point ratio threshold. The third confirmation unit is used to confirm whether the first radar point ratio is greater than or equal to a preset second radar point ratio threshold if the first radar point ratio is less than the first radar point ratio threshold. The fourth confirmation unit is used to confirm, if the first radar point ratio is greater than or equal to the second radar point ratio threshold, the second target radar point that hits the free area and the unknown area among the effective radar points, and to confirm the second target radar point's proportion of the second radar points among the effective radar points. The second detection unit is used to detect whether the proportion of the second radar point is greater than or equal to a preset threshold for the proportion of the third radar point. The fifth confirmation unit is used to confirm that the keyframe is an erroneous keyframe if it is confirmed that the proportion of the second radar point is greater than or equal to the threshold of the proportion of the third radar point.
7. A terminal device, characterized in that, The terminal device includes: a memory, a processor, and a filtering program for error keyframes stored in the memory and executable on the processor. When the error keyframe filtering program is executed by the processor, it implements the steps of the error keyframe filtering method as described in any one of claims 1 to 5.
8. A computer storage medium, characterized in that, The computer storage medium stores a filtering program for error keyframes, which, when executed by the processor, implements the steps of the error keyframe filtering method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Key frame management method and management device, SLAM method and electronic equipment
CN115376051A
Subgraph construction method and device, terminal equipment and storage medium
CN115469330A