Map updating method and device, cleaning robot and computer readable storage medium

By using cleaning robots to collect sensory data and update maps based on their movement trajectories in underwater environments, the problem of dynamic changes in underwater environmental maps has been solved. This has enabled the accuracy and real-time synchronization of maps, improving the efficiency of navigation and task execution.

CN120773041BActive Publication Date: 2026-08-25WYBOTICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511051397.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-07-29
Publication Date
2026-08-25
Estimated Expiration
2045-07-29

AI Technical Summary

Technical Problem

The high complexity and dynamism of the underwater environment make it difficult for fixed underwater environment maps to accurately reflect the real state over a long period of time, thus failing to meet the navigation and operation needs of underwater robots.

Method used

By using cleaning robots to collect sensory data and movement trajectories during cleaning tasks, underwater environmental maps are updated. By identifying objects to be cleaned and adjusting map information, the map information is synchronized with the real environmental conditions.

Benefits of technology

It improves the accuracy and real-time performance of maps, enhances the reliability of map navigation and the efficiency of cleaning robot task execution, and avoids the energy and time consumption of additional data collection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120773041B_ABST
    Figure CN120773041B_ABST
Patent Text Reader

Abstract

The application provides a map updating method and device, a cleaning robot and a computer readable storage medium, and relates to the technical field of underwater robots. The method comprises the following steps: controlling the cleaning robot to move in an underwater environment along a navigation path, wherein the navigation path is a path of a historical map covering the underwater environment; determining whether the map of the underwater environment needs to be reconstructed; in the case where the map of the underwater environment does not need to be reconstructed, marking a to-be-cleaned object recognized by the cleaning robot on the historical map to obtain a cleaning map; controlling the cleaning robot to perform a cleaning task based on the cleaning map; and in the case where the cleaning task is completed, updating the historical map based on first perception data and a moving track of the cleaning robot during the execution of the cleaning task. The application realizes the updating of the underwater environment map by using the perception data and the moving track collected by the cleaning robot during the execution of the cleaning task in the underwater environment, and improves the accuracy and real-time performance of the map.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of underwater robot technology, and more specifically, to a map updating method, apparatus, cleaning robot, and computer-readable storage medium in the field of underwater robot technology. Background Technology

[0002] Underwater environment maps are crucial for underwater robots to perform tasks efficiently and safely in complex underwater environments. However, the underwater environment is highly complex and dynamic; factors such as sediment migration and structural corrosion cause underwater topography and target features to change over time. Therefore, fixed underwater environment maps cannot accurately reflect the true underwater environment conditions in the long term and are no longer sufficient to meet the navigation and operational needs of underwater robots. Given the unique characteristics and dynamic changes of the underwater environment, regularly updating and optimizing underwater environment maps has become essential to ensuring the efficient operation of underwater robots. Summary of the Invention

[0003] This application provides a map updating method, apparatus, cleaning robot, and computer-readable storage medium. This application utilizes the perception data and movement trajectory collected by the cleaning robot during cleaning tasks in an underwater environment to update the underwater environment map, which can realize the synchronization of map information with the actual underwater environment state, thereby improving the accuracy and real-time performance of the map, which is beneficial to improving the reliability of map navigation and the efficiency of the cleaning robot in performing tasks.

[0004] Firstly, a map updating method is provided, comprising: controlling a cleaning robot to move along a navigation path in an underwater environment, the navigation path being a path covering a historical map of the underwater environment; determining whether it is necessary to reconstruct the underwater environment map; if it is not necessary to reconstruct the underwater environment map, marking the objects to be cleaned identified by the cleaning robot on the historical map to obtain a cleaning map; controlling the cleaning robot to perform a cleaning task based on the cleaning map; and, if the cleaning task is completed, updating the historical map based on the first perception data and movement trajectory of the cleaning robot during the execution of the cleaning task.

[0005] In one possible implementation, determining whether it is necessary to reconstruct a map for the underwater environment includes: when the cleaning robot moves from the starting point to the ending point of the navigation path, identifying the second perception data of the underwater environment collected by the cleaning robot at each moment to obtain a first environmental feature description of the first location, where the first location is the location where the cleaning robot was collecting the second perception data; and determining whether it is necessary to reconstruct a map for the underwater environment based on the similarity between the first environmental feature description and the second environmental feature description of the second location, where the second location is the location in the historical map corresponding to the first location.

[0006] In one possible implementation, determining whether it is necessary to reconstruct an underwater environment map based on the similarity between the first environmental feature description and the second environmental feature description at the second location includes: if the similarity is less than a preset similarity, incrementing a counter by one and performing a step of identifying the second perception data of the underwater environment collected by the cleaning robot at each moment to obtain the first environmental feature description at the first location; if the count value is greater than or equal to a preset value, determining that it is necessary to reconstruct an underwater environment map; if the count value is less than a preset value, determining that it is not necessary to reconstruct an underwater environment map.

[0007] In one possible implementation, updating the historical map based on the first perception data and movement trajectory of the cleaning robot during the cleaning task includes: determining the same location reached by the cleaning robot at different times according to the movement trajectory to obtain a third location; obtaining perception data collected by the cleaning robot when it reaches the third location at different times from the first perception data to obtain multiple third perception data; identifying the multiple third perception data to obtain multiple third environmental feature descriptions about the third location; obtaining a fourth environmental feature description of a fourth location in the historical map, where the fourth location is the location corresponding to the third location in the historical map; if the multiple third environmental feature descriptions are all consistent, and the multiple third environmental feature descriptions are inconsistent with the fourth environmental feature description, then replacing the fourth environmental feature description with any one of the multiple third environmental feature descriptions.

[0008] In one possible implementation, determining the same position reached by the cleaning robot at different times based on the movement trajectory to obtain the third position includes: dividing the trajectories that intersect at the same point in the movement trajectory into a group to obtain multiple intersecting trajectory groups; obtaining the number of trajectories in each intersecting trajectory group; and determining the intersection point corresponding to the intersecting trajectory group with a number of trajectories greater than a preset number as the third position.

[0009] In one possible implementation, updating the historical map based on the first perception data and movement trajectory of the cleaning robot during the cleaning task includes: dividing the movement trajectory into multiple trajectory segments; for each trajectory segment, determining whether the trajectory segment is located on the historical map based on the position coordinates of the cleaning robot corresponding to the trajectory segment; if the trajectory segment is not located on the historical map, obtaining the perception data corresponding to the trajectory segment from the first perception data to obtain fourth perception data; identifying the fourth perception data to obtain a fifth environmental feature description corresponding to the trajectory segment; if the historical map does not include the fifth environmental feature description, determining the trajectory segment as an unknown trajectory segment; generating a local map based on the fifth environmental feature description and the unknown trajectory segment; and adding the local map to the historical map.

[0010] In one possible implementation, the map update method further includes: in response to a cleaning instruction from the underwater environment, selecting a path from multiple preset paths covering the historical map to obtain a navigation path, and executing the step of controlling the cleaning robot to move along the navigation path in the underwater environment; or, in response to a cleaning instruction from the underwater environment, sequentially connecting preset positions in the historical map to obtain a navigation path, and executing the step of controlling the cleaning robot to move along the navigation path in the underwater environment.

[0011] Secondly, a map updating device is provided, the map updating device comprising: The first control module is used to control the cleaning robot to move along the navigation path in the underwater environment. The navigation path is a path that covers the historical map of the underwater environment. The map determination module is used to determine whether it is necessary to reconstruct the map for the underwater environment; The map marking module is used to mark the objects to be cleaned identified by the cleaning robot on the historical map without needing to rebuild the map for the underwater environment, thus obtaining a cleaning map; The second control module is used to control the cleaning robot to perform cleaning tasks based on the cleaning map; The map update module is used to update the historical map based on the first perception data and movement trajectory of the cleaning robot during the cleaning task, after the cleaning task is completed.

[0012] Thirdly, a cleaning robot is provided, including a memory and a processor. The memory is used to store executable program code, and the processor is used to call and run the executable program code from the memory, causing the cleaning robot to perform the map update method in the first aspect or any possible implementation thereof.

[0013] Fourthly, a computer program product is provided, comprising: computer program code, which, when run on a computer, causes the computer to execute the map update method in the first aspect or any possible implementation thereof.

[0014] Fifthly, a computer-readable storage medium is provided that stores computer program code, which, when executed on a computer, causes the computer to perform the map update method described in the first aspect or any possible implementation thereof. Attached Figure Description

[0015] Figure 1 A schematic flowchart of a map updating method provided in an embodiment of this application is shown; Figure 2A schematic diagram illustrating the implementation of the historical map of the underwater environment provided in this application is shown; Figure 3 A schematic diagram illustrating the underwater environment cleaning map provided in this application is shown. Figure 4 An exemplary schematic diagram of the updated historical map provided in this application is shown; Figure 5 Another exemplary schematic diagram of the updated historical map provided in this application is shown; Figure 6 A schematic diagram of multiple preset paths is shown; Figure 7 This illustration shows a schematic diagram of a map updating device provided in an embodiment of this application; Figure 8 A schematic diagram of the structure of a cleaning robot provided in an embodiment of this application is shown. Detailed Implementation

[0016] The technical solutions in this application will be clearly and thoroughly described below with reference to the accompanying drawings. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B. "And / or" in the text is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the description of the embodiments of this application, "multiple" refers to two or more than two.

[0017] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.

[0018] Underwater environment maps are crucial for underwater robots to perform tasks efficiently and safely in complex underwater environments. However, the underwater environment is highly complex and dynamic; factors such as sediment migration and structural corrosion cause underwater topography and target features to change over time. Therefore, fixed underwater environment maps cannot accurately reflect the true underwater environment conditions in the long term and are no longer sufficient to meet the navigation and operational needs of underwater robots. Given the unique characteristics and dynamic changes of the underwater environment, regularly updating and optimizing underwater environment maps has become essential to ensuring the efficient operation of underwater robots.

[0019] To achieve regular updates to underwater environment maps, this application provides a map updating method, apparatus, cleaning robot, and computer-readable storage medium. This application utilizes sensing data and movement trajectories collected by the cleaning robot during cleaning tasks in the underwater environment to update the underwater environment map. This enables synchronization of map information with the actual underwater environment, thereby improving map accuracy and real-time performance, enhancing the reliability of map navigation, and increasing the efficiency of the cleaning robot's task execution. Since this sensing data and movement trajectory are acquired during the cleaning robot's task execution, there is no need for a separate data collection process specifically for map maintenance. This not only avoids the energy and time consumption associated with separate data collection for map maintenance but also integrates map updates into the cleaning robot's daily operations. This ensures map accuracy and achieves efficient collaboration between map maintenance and task execution, thus improving the intelligence level of the cleaning robot.

[0020] The following is an embodiment of a map updating method provided in this application specification.

[0021] Figure 1 A schematic flowchart of a map updating method provided in an embodiment of this application is shown, such as... Figure 1 As shown in the embodiment of this application, the map updating method is applied to a cleaning robot. By executing this map updating method, the cleaning robot can update the underwater environment map. Specifically, the underwater environment can include water storage tanks, swimming pools, rivers, aquariums, etc.

[0022] The map update method provided in this application includes the following schemes: S110: Controls the cleaning robot to move along a navigation path in the underwater environment. The navigation path is a path that covers a historical map of the underwater environment. S120: Determine whether it is necessary to reconstruct the underwater environment map. If yes, proceed to S160; otherwise, proceed to S130. S130: Mark the objects to be cleaned identified by the cleaning robot on the historical map to obtain a cleaning map; S140: Controls the cleaning robot to perform cleaning tasks based on the cleaning map; S150: After completing the cleaning task, update the historical map based on the first perception data and movement trajectory of the cleaning robot during the cleaning task; S160: Map for reconstructing the underwater environment.

[0023] In an exemplary embodiment, when the cleaning robot is located in an underwater environment, a fully covered navigation path is planned for the cleaning robot based on the historical map of the underwater environment (i.e., a pre-established underwater environment map). That is, the navigation path is a path that covers the historical map of the underwater environment. In other words, as the cleaning robot starts from the starting point of the navigation path and travels to the ending point of the navigation path, it can fully perceive all areas in the underwater environment, thereby achieving complete coverage perception of the overall underwater environment.

[0024] As the cleaning robot moves along the navigation path, it determines whether a map reconstruction for the underwater environment is necessary. If not, the historical map of the underwater environment can continue to be used to control the cleaning robot's cleaning work. Then, after the cleaning robot completes the navigation path, it acquires the sensory data collected during its movement, called initial sensory data. This initial sensory data is used to identify the objects to be cleaned in the underwater environment and their location coordinates. The objects to be cleaned are the targets that the cleaning robot needs to clean, such as garbage, pollutants, and dirt. Then, based on the location coordinates, the object markers for the objects to be cleaned are marked in the historical map, resulting in a cleaning map. In other words, the cleaning map includes the object markers for the objects to be cleaned, and is different from the historical map in that it includes the object markers for the objects to be cleaned. Figure 2 and Figure 3 As shown, Figure 2 A schematic diagram illustrating the implementation of the historical map of the underwater environment provided in this application is shown. Figure 3 The diagram illustrates the underwater environment cleaning map provided in this application. M1 represents the historical map, M2 represents the cleaning map, L represents the navigation path, P1 represents environmental features in the underwater environment (excluding the object to be cleaned), and P2 represents the object to be cleaned.

[0025] If it is necessary to rebuild the underwater environment map, it means that the historical underwater environment map is no longer usable, i.e., the historical map does not match the current underwater environment. In this case, S160 is executed to rebuild the underwater environment map. After the map is rebuilt, the cleaning robot is controlled to perform cleaning tasks based on the rebuilt map. Subsequently, if it is necessary to update the map, execution starts from S110.

[0026] Obtain a cleaning map, plan the cleaning path for the cleaning robot based on the cleaning map, and then control the cleaning robot to perform cleaning tasks on the objects to be cleaned according to the cleaning path. When all objects to be cleaned are completely removed, the cleaning task is considered complete.

[0027] When the cleaning robot completes the cleaning task, the sensory data (referred to as the first sensory data) and all movement trajectories of the cleaning robot during the cleaning task are acquired. Then, the historical map is updated based on the first sensory data and all movement trajectories. Specifically, updating the historical map includes updating the environmental feature descriptions (also known as semantic labels) of environmental objects in the underwater environment, i.e., updating the local map, and / or adding environmental feature descriptions of environmental objects to the historical map, i.e. expanding the scope of the historical map.

[0028] It should be noted that the historical map can be updated after each cleaning task is completed, or the number of cleaning tasks completed can be accumulated, and if the number exceeds a set number, the historical map can be updated based on the perception data and movement trajectory obtained from the most recently completed cleaning task; or the time difference between the current time and the time of the last map update can be calculated, and if the time difference is greater than a set time difference, the historical map can be updated based on the perception data and movement trajectory of the cleaning robot during the next cleaning task after the cleaning robot completes the cleaning task.

[0029] This application employs a technical solution that controls a cleaning robot to move along a navigation path in an underwater environment. When it is determined that map reconstruction for the underwater environment is unnecessary, the objects to be cleaned identified by the cleaning robot are marked on a historical map, resulting in a cleaning map. The cleaning robot then performs cleaning tasks based on this map. Upon completion of the cleaning task, the historical map is updated based on the robot's initial perception data and movement trajectory during the task. This approach utilizes perception data and movement trajectories collected during the cleaning robot's underwater operations to update the underwater environment map, achieving synchronization between map information and the actual underwater environment. This improves map accuracy and real-time performance, enhancing the reliability of map navigation and increasing the efficiency of the cleaning robot's task execution. Since this perception data and movement trajectory are acquired during the cleaning robot's task execution, there is no need for a separate data collection process specifically for map maintenance. This not only avoids the energy and time consumption associated with separate data collection for map maintenance but also integrates map updates into the cleaning robot's daily operations. This ensures map accuracy and achieves efficient collaboration between map maintenance and task execution, thereby improving the cleaning robot's intelligence level.

[0030] In one possible implementation, the above determination of whether a map needs to be reconstructed for the underwater environment includes the following steps: When the cleaning robot moves from the starting point to the ending point of the navigation path, the second perception data of the underwater environment collected by the cleaning robot at each moment is identified to obtain the first environmental feature description of the first position, which is the position where the cleaning robot was when it collected the second perception data. Based on the similarity between the first environmental feature description and the second environmental feature description of the second location, it is determined whether it is necessary to reconstruct an underwater environment map. The second location is the location in the historical map that corresponds to the first location.

[0031] The cleaning robot moves from the starting point to the ending point of the navigation path, indicating that it has completed the navigation path. Once the cleaning robot has completed the navigation path, it acquires second-level sensing data of the underwater environment at each moment during its movement along the navigation path. This second-level sensing data is represented as sensing data Di. The location where the cleaning robot acquires the second-level sensing data is called the first location. By identifying sensing data Di, a first environmental feature description for the first location is obtained. For example, if the environmental object at the first location is a water pipe, then the first environmental feature description is "water pipe". By identifying the sensing data Di acquired at each moment, a first environmental feature description for a first location can be obtained. Based on this, the sensing data acquired by the cleaning robot at various moments during its movement along the navigation path can be identified, thus obtaining first environmental feature descriptions for multiple first locations. For each identified first location, a corresponding location can be found on the historical map, called the second location. The environmental feature description associated with this second location on the historical map is then obtained, called the second environmental feature description. The similarity between the first environmental feature description of each first location and the second environmental feature of the corresponding second location is calculated. Then, based on the similarity, it is determined whether it is necessary to reconstruct the underwater environment map. This achieves the consistency judgment between the real underwater environment and the map information, and improves the accuracy of the judgment on whether it is necessary to reconstruct the underwater environment map.

[0032] Specifically, the above-mentioned determination of whether it is necessary to reconstruct an underwater environment map based on the similarity between the first environmental feature description and the second environmental feature description at the second location includes the following steps: If the similarity is less than the preset similarity, the counter value is incremented by one, and the second perception data of the underwater environment collected by the cleaning robot at each moment is identified to obtain the first environmental feature description of the first location. If the count value is greater than or equal to the pre-designed value, it is determined that an underwater environment map needs to be reconstructed. If the count value is less than the pre-designed value, it is determined that it is not necessary to reconstruct the underwater environment map.

[0033] Assume that the perceived data D1 at time t1 is collected at the first position W1, the perceived data D2 at time t2 is collected at the first position W2, and so on; the position corresponding to the first position W1 in the historical map is the second position S1, the position corresponding to the first position W2 in the historical map is the second position S2, and so on; the similarity between the first environmental feature description of the first position W1 and the second environmental feature description of the second position S1 is represented by X1, the similarity between the first environmental feature description of the first position W2 and the second environmental feature description of the second position S2 is represented by X2, and so on.

[0034] If the similarity X1 is greater than or equal to the preset similarity, it means that the first environmental feature description at the first location W1 is consistent with the second environmental feature description at the second location S1. In other words, the environmental features at the first location W1 in the underwater environment are consistent with the environmental feature description marked at the second location S1 on the historical map. If the similarity X1 is less than the preset similarity, it means that the first environmental feature description at the first location W1 is inconsistent with the second environmental feature description at the second location S1. In other words, the environmental features at the first location W1 in the underwater environment are inconsistent with the environmental feature description marked at the second location S1 on the historical map. Then, the counter's count value is incremented by 1. The initial count value of the counter is 0, and the current count value is 1.

[0035] Assuming the preset count value is 5, and 1 is less than 5, the process continues to execute the second perception data of the underwater environment collected by the cleaning robot at each moment to obtain the first environmental feature description of the first location, thus calculating the similarity X2. If the similarity X2 is greater than or equal to the preset similarity, the count value does not increase and remains at 1. If the similarity X2 is less than the preset similarity, it means that the first environmental feature description of the first location W2 is inconsistent with the second environmental feature description of the second location S2. That is, the environmental objects at the first location W2 in the underwater environment are inconsistent with the description of the environmental objects marked at the second location S2 on the historical map. In this case, the counter value is incremented by 1, and the count value is 2. Since 2 is less than 5, the process continues to execute the second perception data of the underwater environment collected by the cleaning robot at each moment to obtain the first environmental feature description of the first location, and so on.

[0036] If the counter value when it stops counting is greater than or equal to 5, it indicates that the descriptions of multiple environmental features marked at the second location in the historical map are inconsistent with the characteristic descriptions of the environmental features at the corresponding first location in the underwater environment. Therefore, it is determined that the underwater environment map needs to be reconstructed. If the counter value when it stops counting is less than 5, it indicates that the descriptions of a small number of environmental features marked at the second location in the historical map are inconsistent with the characteristic descriptions of the environmental features at the corresponding first location in the underwater environment. This can be resolved by updating the map, therefore, it is determined that the underwater environment map does not need to be reconstructed.

[0037] The above-mentioned method of determining whether to rebuild the underwater environment map by counting values ​​actually involves judging whether to rebuild the underwater environment map by the number of inconsistencies between the description of environmental objects marked at the second position in the historical map and the characteristic description of environmental objects at the first position corresponding to the underwater environment. Based on this judgment method, the degree of matching between the historical map and the real underwater environment can be accurately assessed. Unnecessary map reconstruction operations can be avoided while the historical map is still usable, which is beneficial to saving the computing and energy resources of the cleaning robot.

[0038] The above method determines whether a map reconstruction for the underwater environment is necessary after the cleaning robot has completed its navigation path. Alternatively, if the cleaning robot cannot complete its navigation path, then a map reconstruction for the underwater environment is considered necessary.

[0039] In one possible implementation, updating the historical map based on the cleaning robot's initial perception data and movement trajectory during the cleaning task includes the following steps: The third position is obtained by determining the same location reached by the cleaning robot at different times based on its movement trajectory; Multiple third-sensor data are obtained by acquiring the sensing data collected by the cleaning robot when it arrives at the third position at different times from the first-sensor data; Identify multiple third-sensory data to obtain multiple third-environment feature descriptions about a third location; Obtain the fourth environmental feature description of the fourth location in the historical map. The fourth location is the location in the historical map that corresponds to the third location. If multiple third environmental feature descriptions are consistent, and multiple third environmental feature descriptions are inconsistent with the fourth environmental feature description, then any one of the multiple third environmental feature descriptions shall be used to replace the fourth environmental feature description.

[0040] After the cleaning robot completes its cleaning task, the system acquires its initial perception data and all movement trajectories during the task. Based on these trajectories, it determines the same location reached at different times during the cleaning task; this location is referred to as the third location. Since the cleaning robot has multiple movement trajectories during the cleaning task, the resulting third location may be one or multiple.

[0041] Specifically, determining the third location by identifying the same position reached by the cleaning robot at different times based on its movement trajectory includes the following steps: The trajectories that intersect at the same point in the movement trajectory are grouped together to obtain multiple intersecting trajectory groups; Get the number of trajectories in each intersection trajectory group; The intersection point corresponding to the intersection point of the intersection trajectory group with a number of trajectories greater than the preset number is determined as the third position.

[0042] During the cleaning robot's cleaning task, all movement trajectories that intersect at the same point are grouped together to obtain multiple intersecting trajectory groups. For example, all movement trajectories include trajectories 1-10. Trajectories 1 to 4 intersect at the same point, so trajectories 1 to 4 are grouped together to obtain intersecting trajectory group 1, which includes trajectories 1 to 4 and has 4 trajectories. Trajectories 5 and 7 intersect at the same point, so trajectories 5 and 7 are grouped together to obtain intersecting trajectory group 2, which includes trajectories 5 and 7 and has 2 trajectories. Trajectories 6, 8 to 10 intersect at the same point, so trajectories 6, 8 to 10 are grouped together to obtain intersecting trajectory group 32, which includes trajectories 6, 8 to 10 and has 4 trajectories.

[0043] Assuming the preset number is 3, then the intersection point of trajectory 1 to trajectory 4 in trajectory group 1 is one third position, and the intersection point of trajectory 6, trajectory 8 to trajectory 10 in trajectory group 3 is another third position. Determining the third position by the number of trajectories in the trajectory group can improve the accuracy of the third position determination and avoid misjudgment.

[0044] For each third location, multiple third-perception data points are obtained by acquiring the sensing data collected by the cleaning robot when it arrives at the third location at different times from the first-perception data. For example, if the cleaning robot arrives at the third location at times t20 to t22, then three third-perception data points will be obtained. After obtaining multiple third-perception data points, by identifying each third-perception data point, a third environmental feature description of the environmental objects identified by the cleaning robot at that third location each time it arrives at that location can be obtained, resulting in multiple third environmental feature descriptions for the third location.

[0045] Since the third location has been obtained, the location corresponding to the third location in the historical map can be obtained based on the third location, which is called the fourth location. Then, the environmental feature description associated with the fourth location can be obtained, which is called the fourth environmental feature description.

[0046] Next, multiple third-environment feature descriptions are compared. If the similarity of each of the multiple third-environment feature descriptions is greater than or equal to a preset similarity, it indicates that the multiple third-environment feature descriptions are consistent. If the multiple third-environment feature descriptions are consistent, they are then compared with a fourth-environment feature description. If the similarity between each third-environment feature description and the fourth-environment feature description is greater than or equal to a preset similarity, it indicates that the multiple third-environment feature descriptions are consistent with the fourth-environment feature description; if the similarity between each third-environment feature description and the fourth-environment feature description is less than a preset similarity, it indicates that the multiple third-environment feature descriptions are inconsistent with the fourth-environment feature description. Therefore, it is considered that the feature description of the environmental object at the third location in the real underwater environment does not match the feature description of the corresponding environmental object at the fourth location in the historical map. In this case, any one of the multiple third-environment feature descriptions is used to replace the fourth-environment feature description, that is, the fourth-environment feature description is modified to a third-environment feature description, thereby updating the historical map. Figure 4 As shown, Figure 4 An exemplary schematic diagram of the updated historical map provided in this application is shown. M3 represents the updated historical map, referred to as the target map. By performing the above steps, the cleaning robot reaches a third location in the real underwater environment at three different times. Through the identification of perception data, it is finally determined that the environmental feature description identification result when the cleaning robot reaches the third location at these three different times is "010". For example, "010" represents "rock". That is, the environmental feature description of the environmental object at the third location is "010". The location corresponding to the third location in the historical map M1 is the location selected by the dashed ellipse in M1. The environmental feature description associated with this fourth location is "002", which represents "water pipe". Because "010" and "002" are inconsistent, the environmental feature description associated with the fourth location is replaced with "010" instead of "002", thus obtaining the target map M3. This realizes the updating of the historical map of the underwater environment by modifying local map information, which not only ensures the accuracy of the map, but also avoids the waste of resources caused by global map reconstruction.

[0047] In one possible implementation, updating the historical map based on the cleaning robot's initial perception data and movement trajectory during the cleaning task includes the following steps: The movement trajectory is divided into multiple trajectory segments; For each trajectory segment, determine whether the trajectory segment is located on the historical map based on the position coordinates of the cleaning robot corresponding to the trajectory segment; If the trajectory segment is not located on the historical map, obtain the corresponding perception data of the trajectory segment from the first perception data to obtain the fourth perception data; Identify the fourth perception data to obtain the fifth environmental feature description corresponding to the trajectory segment; If the historical map does not include the fifth environmental feature description, the trajectory segment will be identified as an unknown trajectory segment; A local map is generated based on the fifth environmental feature description and the unknown trajectory segment; Add a local map to the history map.

[0048] The above describes how to update the historical map of the underwater environment by modifying local map information. Here, we will continue to explain how to update the historical map of the underwater environment by adding new map information.

[0049] After the cleaning robot completes its cleaning task, all its movement trajectories during the cleaning task are divided into multiple trajectory segments. For each trajectory segment Gi, the robot's position coordinates are used to determine whether the trajectory segment Gi is located in the historical map during the cleaning task. If it is located in the historical map, it means that the trajectory segment Gi is not an unknown trajectory segment; if it is not located in the historical map, it means that the trajectory segment Gi may be an unknown trajectory segment, but further determination is needed.

[0050] If trajectory segment Gi is determined not to be located in the historical map, the perception data corresponding to trajectory segment Gi is obtained from the first perception data to obtain the fourth perception data. Since the cleaning robot may pass through at least one environmental object after generating trajectory segment Gi when performing the cleaning task, the fourth perception data includes at least one perception data.

[0051] After obtaining the fourth perception data, the environmental feature descriptions of each environmental object that the trajectory segment Gi passes through are identified from the fourth perception data, that is, the fifth environmental feature description corresponding to the trajectory segment Gi is obtained. The fifth environmental feature description includes at least one environmental feature description.

[0052] If the historical map information matches the actual underwater environment, and the historical map includes the fifth environmental feature description, then trajectory segment Gi is not an unknown trajectory segment. The initial determination that trajectory segment Gi was an unknown trajectory might be due to the cleaning robot's positioning drift. If the historical map does not include the fifth environmental feature description, then trajectory segment Gi is an unknown trajectory segment, indicating that the cleaning robot entered an unknown area during its cleaning task, an area not recorded in the historical map. A local map is then generated based on the fifth environmental feature description and the unknown trajectory segment. This local map is added to the historical map, essentially stitching it together to update the historical map and obtain the target map. This adds map information to the historical map, effectively expanding its coverage and improving its completeness and applicability.

[0053] like Figure 5 As shown, Figure 5 Another exemplary schematic diagram of the updated historical map provided in this application is shown. M4 represents the updated historical map, i.e., the target map, and the right side of the dashed line represents the stitched local map. The process of stitching the local map into the historical map includes: working backwards from the timeline of trajectory segment Gi to find the earliest time point among all time points corresponding to trajectory segment Gi, called the first time point; then obtaining the time points adjacent to the first time point among all time points corresponding to other trajectory segments in the historical map, called the second time points; then determining whether the historical map includes a sixth environmental feature description obtained from the perception data corresponding to the second time point; if so, determining the location point of the environmental object corresponding to the sixth environmental feature description in the historical map as the map stitching point; and stitching the local map into the historical map based on this map stitching point to obtain the target map, thus achieving precise stitching of the local map and the historical map.

[0054] In one possible implementation, the map update method described above further includes the following steps: In response to cleaning instructions in the underwater environment, a path is selected from multiple preset paths covering a historical map to obtain a navigation path, and the cleaning robot is controlled to move along the navigation path in the underwater environment. or, In response to cleaning commands in the underwater environment, the robot sequentially connects preset locations on the historical map to obtain a navigation path, and then executes steps to control the cleaning robot to move along the navigation path in the underwater environment.

[0055] This application allows for the automatic map update function of a cleaning robot. The robot updates the map after each underwater cleaning cycle. Multiple preset paths are pre-set based on historical maps, each completely covering the previous map. These preset paths have various shapes, including squares, S-shapes, and crosses, and each has a different start and end point. Figure 6 As shown, Figure 6 The diagram shows several preset paths. R represents the cleaning robot, C represents the sensing range of the cleaning robot, M1 represents the historical map, (a) G1 in the diagram represents the S-shaped preset path, (b) G2 in the diagram represents the square-shaped preset path, and (c) G3 in the diagram represents the cross-shaped preset path.

[0056] For example, after a user triggers a cleaning command for the cleaning robot to clean the underwater environment, the cleaning robot responds to the command, selects one path from multiple preset paths as the navigation path, for example, option G1 as the navigation path, and then executes step S110, controlling the cleaning robot to move along the navigation path in the underwater environment. To ensure that the map is fully updated each time, the second selected navigation path can be different from the first selected path.

[0057] For example, after a user triggers a cleaning command for the cleaning robot to clean the underwater environment, the cleaning robot responds to the command, automatically generates a path that fully covers the historical map, and obtains a navigation path. Specifically, it connects the preset locations in the historical map sequentially to obtain the navigation path, and then executes S110. Figure 6 As shown in Figure (d), P1-P4 represent four different preset locations. Connecting P1-P4 sequentially yields path G4, which is the navigation path. The preset locations can be the locations of environmental objects or locations without any objects.

[0058] By selecting navigation paths from preset paths and automatically generating navigation paths, the system can determine from multiple perspectives whether it is necessary to reconstruct the underwater environment map, thereby improving the accuracy of determining whether underwater environment map reconstruction is required.

[0059] The following are embodiments of the apparatus described in this application, which can be used to execute the embodiments of the method described in this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the method described in this application.

[0060] Figure 7 This application provides a schematic diagram of the structure of a map updating device according to an embodiment of the present application. Figure 7 As shown, the map updating device 700 includes: The first control module 710 is used to control the cleaning robot to move along a navigation path in the underwater environment. The navigation path is a path that covers a historical map of the underwater environment. The map determination module 720 is used to determine whether it is necessary to reconstruct the map for the underwater environment. The map marking module 730 is used to mark the objects to be cleaned identified by the cleaning robot on the historical map without needing to reconstruct the map for the underwater environment, thus obtaining a cleaning map; The second control module 740 is used to control the cleaning robot to perform cleaning tasks based on the cleaning map; The map update module 750 is used to update the historical map based on the first perception data and movement trajectory of the cleaning robot during the cleaning task, after the cleaning task is completed.

[0061] In one possible implementation, the map determination module 720 includes: The identification unit is used to identify the second perception data of the underwater environment collected by the cleaning robot at each moment when the cleaning robot moves from the starting point of the navigation path to the end point of the navigation path, and obtain the first environmental feature description of the first position, where the first position is the position where the cleaning robot is when it collects the second perception data. The judgment unit is used to determine whether it is necessary to reconstruct an underwater environment map based on the similarity between the first environmental feature description and the second environmental feature description of the second location, where the second location is the location in the historical map that corresponds to the first location.

[0062] In one possible implementation, the judgment unit is specifically used to increment the counter value by one when the similarity is less than the preset similarity, and to perform the step of identifying the second perception data of the underwater environment collected by the cleaning robot at each moment to obtain the first environmental feature description of the first location; when the count value is greater than or equal to the preset design value, it is determined that the underwater environment map needs to be reconstructed; when the count value is less than the preset design value, it is determined that the underwater environment map does not need to be reconstructed.

[0063] In one possible implementation, the map update module 750 includes: The first update unit is used to determine the same location reached by the cleaning robot at different times based on the movement trajectory, and obtain the third location; obtain the perception data collected by the cleaning robot when it reaches the third location at different times from the first perception data, and obtain multiple third perception data; identify the multiple third perception data to obtain multiple third environmental feature descriptions about the third location; obtain the fourth environmental feature description of the fourth location in the historical map, where the fourth location is the location corresponding to the third location in the historical map; if the multiple third environmental feature descriptions are consistent, and the multiple third environmental feature descriptions are inconsistent with the fourth environmental feature description, replace the fourth environmental feature description with any one of the multiple third environmental feature descriptions.

[0064] In one possible implementation, the first update unit is specifically used for In one possible implementation, the map update module 750 includes: dividing the trajectories that intersect at the same point in the movement trajectory into a group to obtain multiple intersecting trajectory groups; obtaining the number of trajectories in each intersecting trajectory group; and determining the intersection point corresponding to the intersecting trajectory group with a number of trajectories greater than a preset number as the third position.

[0065] The second update unit is used to divide the movement trajectory into multiple trajectory segments. For each trajectory segment, it determines whether the trajectory segment is located on the historical map based on the position coordinates of the cleaning robot corresponding to the trajectory segment. If the trajectory segment is not located on the historical map, it obtains the perception data corresponding to the trajectory segment from the first perception data to obtain the fourth perception data. It identifies the fourth perception data to obtain the fifth environmental feature description corresponding to the trajectory segment. If the historical map does not include the fifth environmental feature description, the trajectory segment is determined as an unknown trajectory segment. It generates a local map based on the fifth environmental feature description and the unknown trajectory segment. It adds the local map to the historical map.

[0066] In one possible implementation, the first control module 710 is specifically used to respond to a cleaning command from the underwater environment, select a path from multiple preset paths covering a historical map to obtain a navigation path, and execute the step of controlling the cleaning robot to move along the navigation path in the underwater environment; or, in response to a cleaning command from the underwater environment, connect preset positions in the historical map sequentially to obtain a navigation path, and execute the step of controlling the cleaning robot to move along the navigation path in the underwater environment.

[0067] It should be noted that the map updating device provided in the above embodiments is only illustrated by the division of the above functional modules when executing the map updating method. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the map updating device and map updating method embodiments provided in the above embodiments belong to the same concept. Therefore, for details not disclosed in the device embodiments of this application, please refer to the above embodiments of the map updating method of this application, which will not be repeated here.

[0068] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0069] Figure 8 A schematic diagram of the structure of a cleaning robot provided in an embodiment of this application is shown, such as... Figure 8 As shown, the cleaning robot 800 includes a memory 801 and a processor 802. The memory 801 stores executable program code 8011, and the processor 802 is used to call and execute the executable program code 8011 to perform a map update method.

[0070] This embodiment can divide the cleaning robot into functional modules according to the above method example. For example, each module can correspond to a separate function, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware. It should be noted that the module division in this embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0071] By dividing the functions into modules corresponding to each function, the cleaning robot may include: a first control module, a map judgment module, a map marking module, a second control module, a map update module, etc. It should be noted that all relevant content of each step involved in the above method embodiments can be referenced from the functional descriptions of the corresponding functional modules, and will not be repeated here.

[0072] The cleaning robot provided in this embodiment is used to execute the map update method described above, and thus can achieve the same effect as the above implementation method.

[0073] When using integrated units, a cleaning robot may include a processing module and a storage module. The processing module is used to control and manage the robot's actions. The storage module supports the robot in executing relevant program code and data.

[0074] The processing module may be a processor or a controller, which can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor may also be a combination of functions that implement computing capabilities, such as a combination of one or more microprocessors, a combination of digital signal processing (DSP) and a microprocessor, etc., and the storage module may be a memory.

[0075] This embodiment also provides a computer-readable storage medium storing computer program code. When the computer program code is run on a computer, the computer executes the above-described method steps to implement a map update method in the above embodiment.

[0076] This embodiment also provides a computer program product that, when run on a computer, causes the computer to perform the aforementioned steps to implement a map update method as described in the above embodiment.

[0077] In addition, the cleaning robot provided in the embodiments of this application may specifically be a chip, component or module. The cleaning robot may include a connected processor and a memory. The memory is used to store instructions. When the cleaning robot is running, the processor may call and execute the instructions to make the chip execute a map update method in the above embodiments.

[0078] In this embodiment, the cleaning robot, computer-readable storage medium, computer program product or chip are all used to execute the corresponding map update method provided above. Therefore, the beneficial effects that can be achieved can be referred to the beneficial effects in the corresponding map update method provided above, and will not be repeated here.

[0079] Through the above description of the embodiments, those skilled in the art will understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0080] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0081] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A map updating method, characterized in that, The map update method includes: Control the cleaning robot to move along a navigation path in the underwater environment, the navigation path being a path that covers a historical map of the underwater environment; When the cleaning robot moves from the starting point of the navigation path to the ending point of the navigation path, the second perception data of the underwater environment collected by the cleaning robot at each moment is identified to obtain a first environmental feature description of the first position, where the first position is the position where the cleaning robot was when it collected the second perception data; Based on the similarity between the first environmental feature description and the second environmental feature description of the second location, it is determined whether it is necessary to reconstruct a map for the underwater environment, where the second location is the location in the historical map that corresponds to the first location. Without needing to reconstruct a map of the underwater environment, the cleaning robot marks the objects to be cleaned on the historical map to obtain a cleaning map; The cleaning robot is controlled to perform cleaning tasks based on the cleaning map; Upon completion of the cleaning task, the historical map is updated based on the first perception data and movement trajectory of the cleaning robot during the execution of the cleaning task. The step of updating the historical map based on the first perception data and movement trajectory of the cleaning robot during the cleaning task includes: The movement trajectory is divided into multiple trajectory segments; For each trajectory segment, determine whether the trajectory segment is located on the historical map based on the position coordinates of the cleaning robot corresponding to the trajectory segment; If the trajectory segment is not located on the historical map, obtain the perception data corresponding to the trajectory segment from the first perception data to obtain the fourth perception data; Identify the fourth perception data to obtain the fifth environmental feature description corresponding to the trajectory segment; If the historical map does not include the fifth environmental feature description, the trajectory segment will be determined as an unknown trajectory segment; A local map is generated based on the fifth environmental feature description and the unknown trajectory segment; Add the local map to the historical map.

2. The map updating method according to claim 1, characterized in that, The step of determining whether it is necessary to reconstruct a map for the underwater environment based on the similarity between the first environmental feature description and the second environmental feature description at the second location includes: If the similarity is less than the preset similarity, the counter value is incremented by one, and the second perception data of the underwater environment collected by the cleaning robot at each moment is identified to obtain the first environmental feature description of the first location. If the count value is greater than or equal to the pre-designed value, it is determined that a map needs to be reconstructed for the underwater environment. If the count value is less than the pre-designed value, it is determined that it is not necessary to reconstruct the map for the underwater environment.

3. The map updating method according to claim 1, characterized in that, The step of updating the historical map based on the first perception data and movement trajectory of the cleaning robot during the cleaning task includes: Based on the movement trajectory, the cleaning robot is determined to have reached the same position at different times, thus obtaining the third position; Multiple third-sensor data are obtained by acquiring the sensing data collected by the cleaning robot when it arrives at the third location at different times from the first sensing data; Identify the multiple third-sensory data to obtain multiple third-environment feature descriptions about the third location; Obtain a fourth environmental feature description of the fourth location in the historical map, wherein the fourth location is the location in the historical map corresponding to the third location; If all the third environmental feature descriptions are consistent, and all the third environmental feature descriptions are inconsistent with the fourth environmental feature description, then any one of the third environmental feature descriptions shall be used to replace the fourth environmental feature description.

4. The map updating method according to claim 3, characterized in that, The step of determining the same location reached by the cleaning robot at different times based on the movement trajectory to obtain the third location includes: The trajectories that intersect at the same point in the movement trajectory are divided into a group to obtain multiple intersecting trajectory groups; Get the number of trajectories in each intersecting trajectory group; The intersection point corresponding to the intersection point of the intersection trajectory group with a number of trajectories greater than the preset number is determined as the third position.

5. The map updating method according to any one of claims 1 to 4, characterized in that, The map update method also includes: In response to the cleaning command of the underwater environment, a path is selected from a plurality of preset paths covering the historical map to obtain the navigation path, and the step of controlling the cleaning robot to move along the navigation path in the underwater environment is executed. or, In response to the cleaning command for the underwater environment, the preset locations in the historical map are connected sequentially to obtain the navigation path, and the step of controlling the cleaning robot to move along the navigation path in the underwater environment is executed.

6. A map updating device, characterized in that, The map updating device includes: The first control module is used to control the cleaning robot to move along a navigation path in the underwater environment, wherein the navigation path is a path covering a historical map of the underwater environment; The map determination module is used to identify the second perception data of the underwater environment collected by the cleaning robot at each moment when the cleaning robot moves from the starting point of the navigation path to the ending point of the navigation path, and obtain a first environmental feature description of the first location, where the first location is the location where the cleaning robot was when it collected the second perception data; and determine whether it is necessary to reconstruct a map for the underwater environment based on the similarity between the first environmental feature description and the second environmental feature description of the second location, where the second location is the location in the historical map corresponding to the first location; The map marking module is used to mark the objects to be cleaned identified by the cleaning robot on the historical map without needing to reconstruct the map for the underwater environment, thus obtaining a cleaning map; The second control module is used to control the cleaning robot to perform cleaning tasks based on the cleaning map; The map update module is used to update the historical map based on the first perception data and movement trajectory of the cleaning robot during the execution of the cleaning task, after the cleaning task is completed. The step of updating the historical map based on the first perception data and movement trajectory of the cleaning robot during the cleaning task includes: The movement trajectory is divided into multiple trajectory segments; For each trajectory segment, determine whether the trajectory segment is located on the historical map based on the position coordinates of the cleaning robot corresponding to the trajectory segment; If the trajectory segment is not located on the historical map, obtain the perception data corresponding to the trajectory segment from the first perception data to obtain the fourth perception data; Identify the fourth perception data to obtain the fifth environmental feature description corresponding to the trajectory segment; If the historical map does not include the fifth environmental feature description, the trajectory segment will be determined as an unknown trajectory segment; A local map is generated based on the fifth environmental feature description and the unknown trajectory segment; Add the local map to the historical map.

7. A cleaning robot, characterized in that, The cleaning robot includes: Memory, used to store executable program code; A processor is configured to call and run the executable program code from the memory, causing the cleaning robot to perform the map update method as described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed, implements the map update method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Method and system for automatically updating map of cleaning robot

    CN114993287A

  • Cleaning robot

    US20210321847A1