Method, device, processing device and equipment for judging robot map distortion
By comparing map changes during robot task execution, we can determine whether path planning errors and map distortions have occurred, which solves the problem that existing robots cannot judge map distortions, and improves cleaning efficiency and cleaning strength.
Patent Information
- Application Number
- CN202111274487.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-29
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2041-10-29
AI Technical Summary
Existing robots cannot tell whether the map has distorted, resulting in low cleaning efficiency and poor cleaning strength.
Perform tasks through the historical map, judge whether path planning errors have occurred, reconstruct the map, compare new maps and historical maps, and analyze whether map distortion has occurred.
It can detect map distortions in time, update or reposition, avoid map distortions caused by relocation errors, and improve cleaning efficiency and cleaning strength.
Smart Images

Figure CN114138799B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of robots, and particularly relates to a method, device, processing device and equipment for judging map distortion of a robot. Background Art
[0002] Currently, during the cleaning process of a robot, due to defects in components such as gyroscopes or encoders, or reasons such as slippery floors, walking errors will occur, and these errors will gradually accumulate, resulting in a decreasing cleaning efficiency of the robot. Currently, the way to solve this problem is to let the robot perform repositioning, that is, to make the robot reconfirm its position in the map, so as to obtain a better path planning and improve the cleaning efficiency.
[0003] However, when the robot performs repositioning, there may be a situation of repositioning error. When the robot has a repositioning error, the whole machine will use the wrong position information to affect the map construction and path planning, thus causing distortion in the subsequent map construction. For example, it is misjudged on the map that there are obstacles around, but in fact, the area around the sweeping robot can be cleaned, but the robot uses the wrong map for cleaning planning, and vice versa, resulting in low cleaning efficiency and poor cleaning strength. However, existing robots cannot judge whether the map has undergone distortion, which in turn leads to frequent occurrences of low cleaning efficiency and poor cleaning strength for the robot. Summary of the Invention
[0004] The technical problem to be solved by the present invention is that existing robots cannot judge whether the map has undergone distortion, which in turn leads to frequent occurrences of low cleaning efficiency and poor cleaning strength for cleaning robots.
[0005] To solve the above technical problem, the technical solution adopted by the present invention includes four aspects.
[0006] In the first aspect, a method for judging map distortion of a robot is provided, including the following steps: performing a task according to a historical map, and judging whether a path planning error occurs; when a path planning error occurs, reconstructing the map to obtain a new map; comparing the new map and the historical map, and analyzing whether map distortion has occurred based on the comparison result.
[0007] Preferably, judging whether a path planning error occurs includes: if it is detected that the robot has not moved for a preset duration, it is determined that a path planning error has occurred.
[0008] Preferably, when comparing the new map and the historical map and analyzing whether map distortion has occurred based on the comparison result, the method includes: extracting the feature points in the new map and comparing them with the corresponding feature points in the historical map to determine whether the feature points in the new map have changed; counting the number of changed feature points in the new map; if the proportion of the changed feature points in the new map exceeds a first threshold, extracting the fixed feature points in the new map and the historical map; and determining whether map distortion has occurred based on the fixed feature points.
[0009] Preferably, determining whether map distortion has occurred based on the fixed feature points includes: comparing the fixed feature points in the new map with the corresponding fixed feature points in the historical map; if the fixed feature points in the new map have changed relative to the corresponding fixed feature points in the historical map, determining that map distortion has occurred; if the fixed feature points in the new map have not changed relative to the corresponding fixed feature points in the historical map, determining that no map distortion has occurred.
[0010] Preferably, when it is determined that map distortion has occurred, repositioning is performed; when it is determined that the map has changed normally, the historical map is updated.
[0011] Preferably, the map update includes the following steps: when it is detected that the robot cannot move forward, if no obstacle marker is made on the historical map, an obstacle marker is added at the corresponding position on the historical map; for the position on the historical map with an obstacle marker, when it is detected that the robot can move forward without obstacles, the corresponding obstacle marker on the historical map is deleted.
[0012] In a second aspect, a device for judging robot map distortion includes: a collision information acquisition module for judging whether a path planning error has occurred; a map construction module for constructing map information around the robot; a first distortion determination module for performing a preliminary distortion determination on the map; and a second distortion determination module for performing a depth distortion determination on the map.
[0013] Preferably, it further includes: a map update module for updating the map executed by the robot; and a repositioning module for repositioning the position of the robot.
[0014] In a third aspect, a processing device includes a storage and a processor. The storage stores a computer program, and when the processor executes the computer program, the steps of the method according to any one of the first aspect are implemented.
[0015] In a fourth aspect, a robot device includes a device body and the processing device according to the third aspect, and the processing device is connected to the device body.
[0016] Advantages of the present invention: The method for judging map distortion in this application can timely detect whether there is map distortion during task execution, and then update the map or perform repositioning, effectively avoiding map distortion caused by repositioning errors, resulting in path planning errors, low cleaning efficiency, and poor cleaning strength. Brief Description of the Drawings
[0017] The scope of the present disclosure can be better understood by reading the following detailed description of exemplary embodiments in conjunction with the accompanying drawings. The accompanying drawings included are:
[0018] Figure 1 It is the overall flowchart of the method for judging map distortion;
[0019] Figure 2 It is a schematic diagram of path error;
[0020] Figure 3 It is a schematic diagram of a new map where the changed feature points do not exceed the threshold;
[0021] Figure 4 It is a new map where the changed feature points exceed the threshold Figure 4 schematic diagram;
[0022] Figure 5 It is a schematic diagram of the relationship between feature points in the new map and the historical map when map distortion occurs;
[0023] Figure 6 It is a schematic diagram of the relationship between feature points in the new map and the historical map when map distortion does not occur;
[0024] Figure 7 It is a comparison schematic diagram of the historical map and the modified map when adding obstacles in map update;
[0025] Figure 8 It is a comparison schematic diagram of the historical map and the modified map when deleting obstacles in map update. Detailed Embodiments
[0026] To make the objectives, technical solutions, and advantages of the present invention clearer, the following will describe in detail the implementation method of the present invention in combination with the accompanying drawings and embodiments, so as to fully understand how the present invention applies technical means to solve technical problems and achieve the realization process of technical effects and implement accordingly.
[0027] In the prior art, after repositioning, existing robots cannot determine whether the map has distorted, resulting in frequent occurrences of low cleaning efficiency and poor cleaning strength for cleaning robots.
[0028] Embodiment 1:
[0029] Therefore, the present application proposes a method, a device and a device for judging whether the map is distorted during a task. Specifically, it includes four aspects. One aspect is a method for judging map distortion, one aspect is a device for judging map distortion that matches the method for judging map distortion, and there is also a processing device equipped with the method for judging map distortion by the user, as well as a robot for carrying the processing device.
[0030] Specifically, as Figure 1 shown, a method for judging map distortion mainly includes the following main steps:
[0031] S1: Execute the task according to the historical map and judge whether there is a path planning error.
[0032] Judging whether there is a path planning error includes the following steps: When executing the task, if it is detected that the robot has not moved for more than a preset duration, it is determined that there is a path planning error. Specifically, when the robot executes the task, it will proceed according to the preset route. During the process, there may be turns or task execution actions, and it will stay at a certain position for a period of time and then continue to move. However, if there is a path planning error, the robot will keep colliding and staying at a certain position for a long time. Therefore, it is possible to confirm whether there is a path planning error by the time the robot collides and stays at a certain position. When the time the robot collides and stays at a certain position exceeds the first time threshold, it is judged that there is a path planning error. If the robot leaves a certain position within the first time threshold, it is determined that there is no path planning error. The first time threshold is a set threshold.
[0033] For example, when a sweeping robot executes a sweeping task, when the actual map information is inconsistent with what the robot executes, then according to the path planned by the map executed by the robot, there will be a path planning error in actual execution. As Figure 2 Therefore, the position of the dotted line without an arrow in the figure represents the shape of the obstacle in the map executed by the robot, and the dotted line with an arrow is the planned path, and the solid line part is the actual map information. So when the robot executes the task according to the planned path, it will be blocked by the obstacle and move forward, and stay at a certain position and collide for a long time.
[0034] S2: When there is a path planning error, reconstruct the map to obtain a new map.
[0035] Generally, in order to improve efficiency, a new map near the robot can be constructed. The construction method can be to construct the new map around it by lidar scanning, picture recognition, and collision information collection.
[0036] S3: Compare the new map with the historical map and analyze whether the map is distorted based on the comparison result. S3 includes the following sub-steps:
[0037] S31: Extract the feature points in the new map and compare them with the corresponding feature points in the historical map to determine whether the feature points in the new map have changed.
[0038] Since it is necessary to compare whether the feature points in the new map have changed relative to the feature points in the historical map, it is necessary to confirm the position of the new map in the historical map so that the feature points in the new map can form a corresponding relationship with the feature points in the historical map.
[0039] This corresponding relationship is mainly a position relationship correspondence. Since the position of the new map in the historical map is determined, feature points corresponding to the position relationship of the feature points in the new map are searched for in the historical map.
[0040] S32: Count the number of changed feature points in the new map.
[0041] Among them, the feature points for which no corresponding position relationship can be found in the historical map are the feature points whose positions have changed in the new map.
[0042] S33: If the proportion of the changed feature points in the new map exceeds the first threshold, extract the fixed feature points in the new map and the historical map.
[0043] Obtain the proportion of the feature points whose positions have changed in the new map among all the feature points in the new map. If this proportion exceeds the first threshold, then the fixed feature points in the new map and the historical map.
[0044] S34: Judge whether map distortion has occurred based on the fixed feature points.
[0045] If this proportion does not exceed the first threshold, it indicates that it belongs to the normal change of the map. Due to human activities, the positions of some obstacles will change. Taking a sweeping robot as an example, due to human activities indoors, the positions of some obstacles will change, such as the positions of tables, chairs, coffee tables, sofas, etc. will change, and sometimes people will also add or remove some obstacles artificially. This makes the map change to a certain extent, but this change belongs to the normal change of the map and is not caused by map distortion. However, if map distortion occurs, it will definitely cause the positions of obstacles to change.
[0046] Since there are some obstacles that will not change due to human daily activities, such as walls, doors, and corners, etc., these fixed obstacles that are not easily changed. And the fixed obstacles will be marked as fixed feature points in the map.
[0047] Therefore, if the proportion of the changed feature points in the new map exceeds the first threshold, extract the fixed feature points in the new map and the historical map. The specific steps are as follows:
[0048] S341: Compare the fixed feature points in the new map with the corresponding fixed feature points in the historical map.
[0049] S342: If the fixed feature points in the new map have changed relative to the corresponding fixed feature points in the historical map, it is determined that map distortion has occurred.
[0050] S343: If the fixed feature points in the new map have not changed relative to the corresponding fixed feature points in the historical map, it is determined that the map has not undergone distortion.
[0051] Obtain the fixed feature points in the new map, compare them with the corresponding fixed feature points in the historical map, and determine whether there are changes. If there are changes, it is determined that map distortion has occurred. If there are no changes, it is determined that it is a normal change of the map.
[0052] Of course, there is also a situation where no fixed feature points are constructed in the new map. So when there are no fixed feature points in the new map, the robot will drive to near the fixed feature points according to the historical map, reconstruct the new map, and extract the fixed feature points in the new map for comparison, and then determine whether map distortion has occurred.
[0053] Taking a floor cleaning robot as an example, as Figure 5 and Figure 6 shown. The left figure in the diagram is the corresponding part in the historical map to the new map, and the right side is the new map. The diamonds and diamonds in the diagram both represent obstacles. The solid lines represent fixed obstacles. The circles represent cleaning robots, and the dotted lines in the diagram are the dividing lines between the left and right figures. So when making a preliminary determination of map distortion, first construct a new map around the robot, then find the corresponding position in the historical map for the new map. Then extract the feature points in the new map and find the feature points corresponding to their positional relationships in the historical map. Among them, the feature points that cannot find corresponding positional relationships in the historical map are the changed feature points. Obtain the proportion of the feature points with changed positions in the new map among all the feature points in the new map. If this proportion exceeds the first threshold, it is necessary to extract the fixed feature points and continue to determine whether map distortion has occurred based on the fixed feature points. When continuing to determine whether map distortion has occurred based on the fixed feature points, mainly compare whether the positions of the fixed feature points in the new map have changed. If they have changed, as Figure 5 shown, it indicates that map distortion has occurred. If there is no change, as Figure 6 shown, it is a normal map change. As Figure 3 and Figure 4 shown, where the dotted patterns represent the feature points with changed positions. However, the fixed feature points in the diagram have not changed, so it still belongs to a normal map change.
[0054] When it is determined that the map is distorted, repositioning is performed. Since map distortion is the map offset caused by repositioning errors, the most convenient way to correct it is to perform repositioning again. This can eliminate the map distortion problem caused by repositioning, and improve the working efficiency and effect of the robot. When it is determined that the map has normal changes, the historical map is updated. The map update includes the following steps:
[0055] A1: When it is detected that the robot cannot move forward, if there is no obstacle mark on the historical map, an obstacle mark is added at the corresponding position on the historical map.
[0056] A2: For the positions on the historical map with obstacle marks, when it is detected that the robot can move forward without obstacles, the corresponding obstacle marks are deleted on the historical map.
[0057] Take a floor cleaning robot as an example, as Figure 7 and Figure 8 shown. In the figure, it is divided into two upper and lower pictures by the center dividing line. The upper part of the center dividing line is Picture A, and the lower part is Picture B. A is the historical map, B is the modified map, and C is the obstacle. The obstacle represented by the dotted line is the deleted obstacle. As Figure 8 shown, when the floor cleaning robot is performing a task and driving along the planned route, when it is found that there is an obstacle C on the map and it can continue to move forward after actual attempts, the obstacle C in the historical map is deleted. As Figure 7 shown, if it is found that there is no obstacle on the map but it cannot continue to move forward in reality, an obstacle C is added at the corresponding position on the map to update and complete the map.
[0058] Map update enables the robot to better adapt to the changes in the map caused by human activities, and avoid the problems that the actual map changes due to human activities while the map executed by the robot cannot be updated in time, resulting in low working efficiency and poor working effect of the robot.
[0059] Therefore, the method for judging robot map distortion in this application can promptly detect whether map distortion has occurred, and then update the map or perform repositioning, effectively avoiding map distortion caused by repositioning errors, which may lead to incorrect path planning, resulting in problems such as low robot working efficiency and poor working effects. Among them, judging whether the planned path is correct is used as the trigger condition for entering the map distortion judgment. The map distortion judgment is carried out in multiple steps, which can better avoid wasting time in the case of non-distortion. When map distortion occurs, repositioning can save the time for re-composing the map to the greatest extent. The historical map can still be used, and the map can be updated to conform to the working scenario by updating the historical map, improving the working efficiency. At the same time, the judgment of map distortion can avoid map update on the distorted map, making the map update and correction more efficient, and better ensuring the working efficiency and working effects.
[0060] Embodiment 2:
[0061] In a second aspect, a device for judging robot map distortion is provided. This device can be used to implement the method of the above-mentioned Embodiment 1. This device can also be set in a terminal device. For example, for the device for judging robot map distortion used below, the terms "module", "unit", "sub-unit", etc. can be a combination of software and / or hardware that can achieve a predetermined function. Although the device described below is preferably implemented in software, implementation in hardware, or a combination of software and hardware is also possible and contemplated.
[0062] A device for judging robot map distortion includes: a collision information acquisition module, a map construction module, a first distortion determination module, and a second distortion determination module. The collision information acquisition module is used to judge whether path planning errors occur. The map construction module is used to construct map information around the robot. The first distortion determination module is used to determine whether the proportion of changed feature points in the new map exceeds a first threshold. The second distortion determination module is used to judge whether map distortion occurs based on fixed feature points.
[0063] It further includes: a map update module and a repositioning module. The map update module is used to update the map executed by the robot. The repositioning module is used to reposition the position of the robot.
[0064] Specifically, first, the collision information acquisition module obtains the motion collision information of the robot, and then determines whether there is a path planning error. If a path planning error occurs, the first distortion determination module and the second distortion determination module perform distortion judgment on the map. According to the result of the map distortion judgment, it is finally determined whether to perform repositioning by the repositioning module or to update the map by the map update module. When performing distortion judgment on the map, a new map that conforms to the actual situation needs to be constructed. The new map is constructed by the map construction module, and the construction method adopted by the map construction module can be common ways of obtaining surrounding information such as lidar scanning, visual image processing, and collision information aggregation.
[0065] Embodiment 3:
[0066] The third aspect of the present application is a processing device, including a storage and a processor. The storage stores a computer program, and when the processor executes the computer program, the steps of the method in the first aspect are implemented. Those of ordinary skill in the art of this technology can understand that all or part of the steps carried by implementing the above embodiment method can be completed by instructing relevant hardware through a program. The program can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of the steps of the method embodiment.
[0067] Embodiment 4:
[0068] The fourth aspect of the present application provides a robot device, including a device body and the processing device in Embodiment 3, and the processing device is connected to the device body.
[0069] It should be understood that although Figure 1 the steps in the flowchart are shown in sequence according to the indication of the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear indication in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, Figure 1 at least a part of the steps in
[0070] Each module in the above-mentioned device for judging robot map distortion can be implemented in whole or in part by software, hardware, or a combination thereof. Each of the above modules can be embedded in the processor of the robot device in hardware form or be independent of it, or can be stored in the memory of the processing device in software form, so as to facilitate the processor to call and execute the operations corresponding to each of the above modules. It should be noted that the division of modules in the embodiments of the present application is illustrative, only a logical function division, and there may be other division methods in actual implementation.
[0071] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned method embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the above-mentioned method embodiments. Among them, any reference to a memory, storage, database, or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memories. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, or optical memory, etc. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.
[0072] The technical features of the above embodiments can be combined arbitrarily. For the sake of concise description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope described in this specification.
[0073] Although the disclosed embodiments of the present invention are as above, the content described is only an embodiment adopted for the convenience of understanding the present invention, and is not used to limit the present invention. Any person skilled in the art within the technical field to which the present invention pertains, without departing from the spirit and scope disclosed by the present invention, can make any modifications and changes in the form of implementation and details, but the protection scope of the present invention must still be subject to the scope defined by the appended claims.
Claims
1. A method for judging robot map distortion, characterized in that, it includes the following steps: Execute tasks according to the historical map and judge whether path planning errors occur; When path planning errors occur, reconstruct the map to obtain a new map; Compare the new map and the historical map, and analyze whether map distortion has occurred based on the comparison result; The comparing the new map and the historical map and analyzing whether map distortion has occurred based on the comparison result includes: Extract the feature points in the new map and compare them with the corresponding feature points in the historical map to judge whether the feature points in the new map have changed; Count the number of changed feature points in the new map; If the proportion of changed feature points in the new map exceeds the first threshold, extract the fixed feature points in the new map and the historical map; Judge whether map distortion has occurred based on the fixed feature points; The judging whether map distortion has occurred based on the fixed feature points includes: Compare the fixed feature points in the new map with the corresponding fixed feature points in the historical map; If the fixed feature points in the new map have changed relative to the corresponding fixed feature points in the historical map, it is judged that map distortion has occurred; If the fixed feature points in the new map have not changed relative to the corresponding fixed feature points in the historical map, it is judged that the map has not distorted.
2. The method for judging robot map distortion according to claim 1, characterized in that, the judging whether path planning errors occur includes: If it is detected that the robot has not moved for more than a preset time, it is determined that path planning errors have occurred.
3. The method for judging robot map distortion according to claim 1, characterized in that, When it is judged that the map is distorted, perform repositioning; When it is judged that the map has normal changes, perform map update on the historical map.
4. The method for judging robot map distortion according to claim 3, characterized in that, the map update includes the following steps: When it is detected that the robot cannot move forward, if there is no obstacle mark on the historical map, add an obstacle mark at the corresponding position on the historical map; For the positions on the historical map with obstacle marks, when it is detected that the robot can move forward without obstacles, delete the corresponding obstacle marks on the historical map.
5. A device for judging robot map distortion, characterized in that, it includes: A collision information acquisition module for judging whether path planning errors occur; A map construction module for constructing map information around the robot; A first distortion determination module for determining whether the proportion of changed feature points in the new map exceeds the first threshold; A second distortion determination module for judging whether map distortion has occurred based on fixed feature points; The second distortion determination module is further configured to extract the feature points in the new map and compare them with the corresponding feature points in the historical map to judge whether the feature points in the new map have changed; count the number of changed feature points in the new map; If the proportion of changed feature points in the new map exceeds the first threshold, extract the fixed feature points in the new map and the historical map; determine whether map distortion has occurred based on the fixed feature points; The second distortion determination module is further configured to compare the corresponding fixed feature points in the new map and the historical map; if the fixed feature points in the new map have changed relative to the corresponding fixed feature points in the historical map, it is determined that map distortion has occurred; If the fixed feature points in the new map have not changed relative to the corresponding fixed feature points in the historical map, it is determined that no map distortion has occurred.
6. A device for determining robot map distortion according to claim 5, wherein, further comprising: a map update module for updating the map executed by the robot; a relocalization module for relocalizing the position of the robot.
7. A processing device includes a storage and a processor, and the storage stores a computer program, wherein, when the processor executes the computer program, the steps of the method according to any one of claims 1 to 4 are implemented.
8. A robot device, wherein, comprises a device body and the processing device according to claim 7, and the processing device is connected to the device body.
Citation Information
Patent Citations
Navigation map updating method and device, readable storage medium and robot
CN111024100A
High-precision map updating method and device, electronic equipment and storage medium
CN112960000A
Robot, repositioning method thereof, positioning device and storage medium
CN113112547A