A cloud-based collaborative automatic update method for indoor cleaning AMR maps
By using a cloud-based collaborative automatic update method, the problem of wasted computing resources and latency in indoor cleaning AMRs when the environment changes is solved, achieving efficient dynamic map updates and positioning stability, while reducing network bandwidth and computing overhead.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-27
- Publication Date
- 2026-04-03
AI Technical Summary
In existing technologies, when indoor cleaning AMRs experience dynamic environmental changes, the real-time online relocation method results in an excessive computational burden, affecting navigation efficiency and positioning accuracy. Furthermore, global map reconstruction leads to wasted computing resources and latency issues.
The cloud-based collaborative automatic update method is adopted. By receiving the operation log data uploaded by AMR in the cloud, environmental change detection is performed, and suspected change areas are marked. The robot collects incremental perception data packets, the cloud reconstructs the local map and generates incremental update packets, and the robot performs lock-free updates to achieve dynamic map maintenance.
It achieves centimeter-level dynamic map updates, reduces computational resource waste and latency, improves positioning stability and navigation efficiency, and saves network bandwidth and computational overhead.
Smart Images

Figure CN121594853B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of indoor cleaning AMR maps, and in particular to a cloud-based collaborative automatic update method for indoor cleaning AMR maps. Background Technology
[0002] Indoor cleaning AMRs are typically intelligent devices used indoors that integrate environmental perception, dynamic decision-making, planning, and behavior control. In situations where the operating environment of an AMR frequently changes dynamically, the environmental map data used by the AMR may deviate from or be inconsistent with the actual environment. For example, the environment in most real-world scenarios, such as factories, shopping malls, and supermarkets, is constantly changing.
[0003] In existing technologies, when an indoor mobile robot fails to locate due to dynamic changes in the environment (such as moving obstacles or changes in lighting), a real-time online relocation method is usually used to recover. This technology requires the AMR to use current sensor data to match the global map in real time when the initial pose is unknown in order to redetermine its own position.
[0004] However, this approach often involves a relocation process that involves traversing the entire map and verifying multiple hypotheses, which places a heavy burden on the embedded computing platform of the AMR, leading to overall system response delays and affecting the efficiency of normal navigation and obstacle avoidance tasks. Furthermore, real-time online relocation methods have high computational overhead and are prone to losing location information. Therefore, it is necessary to use a cloud-based collaborative automatic update method for indoor cleaning AMR maps. Summary of the Invention
[0005] The purpose of this invention is to provide a cloud-based collaborative automatic update method for indoor cleaning AMR maps to solve the problems mentioned in the background art.
[0006] To achieve the above objectives, the present invention provides the following technical solution: a method for automatic cloud-based collaborative updating of indoor cleaning AMR maps, comprising the following specific steps:
[0007] Step 1: The cloud receives the operation log data uploaded by the robot AMR and performs statistical analysis based on the area cleaning trajectory, coverage change rate and the proportion of repeated cleaning areas. Based on the statistical analysis and set rules, it detects environmental changes. If the set rules are met, the area is marked as a suspected change area.
[0008] Step 2: Trigger the robot's AMR to perform focused scanning of the suspected change areas from Step 1 in subsequent tasks, collect LiDAR point cloud, IMU attitude, wheel odometry pose and timestamp data, and package them into incremental perception data packages;
[0009] Step 3: After completing the current sub-graph cleaning task, compress and encrypt the incremental sensing data packets from Step 2, and then upload them to the cloud via the DTLS channel;
[0010] Step 4: Reconstruct a local high-precision 2D raster map in the cloud using the Cartographer SLAM engine;
[0011] Step 5: Perform a differential comparison between the reconstructed map from Step 4 and the global map, and use obstacle confidence matrix difference and morphological closing operation to identify the changed areas and update the global map, and then generate an incremental update package;
[0012] Step 6: Send the update packet containing only the coordinates, size, and grid values of the changed area to the AMR robot via the MQTT protocol;
[0013] Step 7: The robot performs lock-free map updates through atomic operations, without needing to restart the navigation system.
[0014] Preferably, the area cleaning trajectory in step one refers to the continuous movement path of the indoor cleaning AMR through its positioning system during the execution of a specific area cleaning task, and the trajectory consists of a series of pose points with timestamps. Composition, in which, This refers to the robot's position in a two-dimensional map coordinate system. This refers to the heading angle of the AMR, which represents its direction of travel relative to the X-axis. This refers to the corresponding timestamp.
[0015] Preferably, the coverage change rate in step one refers to the relative change rate between the actual coverage area per unit time in the current cleaning cycle and the historical average coverage area per unit time, under the same area and the same task type. The calculation of the coverage change rate specifically includes:
[0016] S1: Calculate cleaning coverage:
[0017] In a cleaning task, the robot constructs its own motion trajectory using LiDAR SLAM;
[0018] The cleaning area is divided into small grids, and the number of times each grid is effectively traversed by the robot is counted.
[0019] If a grid is traversed at least once and the cleaning device is activated, then the grid is considered to be covered, and the calculation formula is as follows:
[0020]
[0021] S2: Calculate coverage per unit time:
[0022] Record the total time taken for this task. The calculation formula is as follows:
[0023]
[0024] S3: Calculate the rate of change :
[0025] Assuming the average coverage per unit time of the same task in the past N times is ;
[0026] The current period's unit time coverage rate is The rate of change is:
[0027] .
[0028] Preferably, the percentage of repeatedly cleaned areas in step one refers to the proportion of the total covered area that the AMR repeatedly passes through multiple times in a cleaning task, specifically including:
[0029] SS1: Records the coverage count for each grid cell.
[0030] Use a grid map to divide the area into several cells;
[0031] Each time the robot effectively passes through a cell and performs a cleaning action, the cell's count is incremented by 1;
[0032] SS2: Identify overlapping areas: If a cell is covered ≥2 times, it is considered a overlapping area to be cleaned. Count the number of all cells that are overlappingly covered. Total number of cells covered: The percentage of areas that need repeated cleaning The calculation formula is as follows:
[0033] .
[0034] Preferably, the setting rules and conditions in step one specifically include:
[0035] The cleaning coverage change rate is greater than the preset threshold of 30%, and this continues to occur within N consecutive task cycles;
[0036] Overlapping cleaning occupancy rate > preset threshold 60%;
[0037] If a local grid cell meets the criteria of coverage change rate > 30% or repeated cleaning area proportion > 65% within two or more consecutive cleaning cycles, it is marked as a suspected change area.
[0038] The environmental change detection in step one is combined with a time-series analysis model for auxiliary judgment. This time-series analysis model uses a long short-term memory network for time-series modeling, specifically including:
[0039] Input layer: Receives time-series environmental feature sequences, including sweep coverage change rate and overlapping sweep occupancy data within a continuous time window;
[0040] Hidden layer: A multi-layer LSTM unit used to capture long-term dependencies of environmental changes;
[0041] Output layer: Outputs the probability value P∈(0,1) of structural change in the environment at the current moment.
[0042] Preferably, the lidar point cloud data in step two includes distance, angle, and intensity, and the IMU attitude angle data includes pitch, roll, and intensity. All data in step two are packaged in time sequence and labeled with spatial tags.
[0043] Preferably, the cloud-based offline mapping in step four includes dynamically setting the Cartographer's voxel filter size to 0.03m, using a sliding window optimization to eliminate odometry cumulative error, and then outputting the obstacle confidence matrix Mnew(x,y)∈[0,1].
[0044] Preferably, step five, which involves differential comparison, identifying changed regions, and updating the global map, specifically includes:
[0045] SSS1: Precise coordinate alignment, transforming the local subgraph M-new to the global coordinate system;
[0046] SSS2: An improved Hausdorff distance algorithm is used to compare the obstacle matrices Mnew(x,y) and Motd(x,y) of the old and new raster maps. The values represent the probability that each raster is occupied, and the probability range is [0,1]. The improved Hausdorff distance algorithm measures the similarity of the obstacle contour sets in the two maps and preliminarily assesses the degree of difference in spatial structure. The improved Hausdorff distance algorithm introduces a weighting mechanism and an outlier removal strategy.
[0047] SSS3: Performs raster difference operations, and performs pixel-by-pixel difference operations on the aligned Mnew and Motd:
[0048]
[0049] Among them, threshold This is a preset constant used to filter candidate regions that have undergone significant state changes. This is a preliminary screening image showing the changes in binarization;
[0050] SSS4: Performs morphological closing operations on difference matrices to enhance connectivity;
[0051] right Morphological closing operations are applied to eliminate isolated pixels caused by sensor noise, registration errors, or interference from dynamic objects, while connecting adjacent but broken regions of change.
[0052] SSS5: Based on the trend of change in obstacle confidence, further classify and identify the type of change:
[0053] New obstacle region: If Mnew(x,y)>0.7 and Motd(x,y)<0.3, it means that the original free region is now determined to be occupied with high confidence.
[0054] Regions with cleared obstacles: If Mnew(x,y)<0.3 and Motd(x,y)>0.7, it means that the area was originally a high-confidence obstacle and has now become free space;
[0055] SSS6: By performing map mask calculations, the changed areas are overlaid onto the global static map. The newly identified obstacle areas and the cleared obstacle areas are respectively constructed into incremental update masks and overlaid onto the corresponding positions of the global static map to achieve local map correction. The updated map serves as a new global baseline for subsequent navigation and mission planning.
[0056] Preferably, the incremental update package in step six further includes starting coordinates, region size, change type, raster value sequence, timestamp, version number, and CRC checksum. The lock-free update in step seven adopts a memory mapping and atomic write mechanism, and does not affect the execution of navigation tasks during map updates.
[0057] An indoor cleaning AMR map cloud-based collaborative automatic update system, characterized in that it includes:
[0058] The robot-side AMR includes a multi-sensor acquisition module, a local map cache, and an incremental communication module.
[0059] The cloud platform includes an environmental analysis engine, a distributed SLAM computing cluster, and a map difference processor. The environmental analysis engine is used for environmental change detection algorithms, and the map difference processor is used to generate incremental update packages.
[0060] A secure communication channel, which uses the DTLS protocol for communication, is used to ensure data transmission security.
[0061] The technical effects and advantages of this invention are as follows:
[0062] (1) This invention utilizes an improved grid difference algorithm to identify obstacle change areas and generate incremental update packages to send to the robot AMR. This facilitates centimeter-level dynamic map updates and maintenance. Incremental update packages are generated only for the changed parts, without the need to rebuild the entire map. This allows the AMR's map to match the dynamic scene in real time, solving the problem of static maps being out of touch with the real environment. It also corrects the changed parts of the robot map in a timely manner, thus effectively solving the navigation and positioning problems of the AMR after changes in the scene environment. Incremental update packages are generated only for the changed areas, and the amount of data transmitted is much smaller than that of the full map. This fundamentally solves the problem of bandwidth waste and update delay caused by full map reconstruction.
[0063] (2) The present invention uses the setting method of offline reconstruction of local sub-maps by SLAM in the cloud. The AMR end does not need to perform high-computing global map matching. It only receives the local sub-maps generated by the cloud for positioning, which greatly reduces the computing overhead of the AMR end. At the same time, the accurate sub-map matching supported by big data in the cloud also improves the stability of positioning, which helps to prevent positioning loss due to insufficient computing resources or environmental interference. It solves the problem of computing resource waste and update delay caused by full map reconstruction in traditional solutions, and realizes centimeter-level dynamic map update and maintenance.
[0064] (3) The present invention utilizes cloud big data analysis to automatically trigger environmental change detection based on cleaning behavior characteristics and guides the AMR to collect high-precision sensor data. This method can accurately determine whether the environment has changed and the specific area of change. It guides the AMR to collect high-precision data only in the changing area, which helps prevent indiscriminate data collection across the entire scene, reduces the amount of invalid data transmission, and saves network bandwidth. Attached Figure Description
[0065] Figure 1 This is a schematic diagram of the reference architecture for cloud-based collaborative map updates for indoor cleaning AMR in this invention;
[0066] Figure 2 This is a schematic diagram of the cloud-based collaborative automatic update process for indoor cleaning AMR maps according to the present invention;
[0067] Figure 3 This is a schematic diagram illustrating the identification of suspected change areas in this invention.
[0068] Figure 4 This is a schematic diagram of the coverage change rate calculation process of the present invention. Detailed Implementation
[0069] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0070] This invention provides, for example Figures 1-4 The method for automatic cloud-based collaborative updating of indoor cleaning AMR maps, as shown, includes the following specific steps:
[0071] Step 1: The cloud receives the operation log data uploaded by the robot AMR and performs statistical analysis based on the area cleaning trajectory, coverage change rate and the proportion of repeated cleaning areas. Based on the statistical analysis and set rules, environmental change detection is performed. Environmental change detection is used to determine whether there are significant structural changes in the current environment, thereby deciding whether to trigger the robot to execute the local mapping and data upload process. If the set rules are met, it is marked as a suspected change area.
[0072] Step 2: Trigger the robot's AMR to perform a focused scan of the suspected changed areas in Step 1 in subsequent tasks. Once it is confirmed that there is a change in the environmental structure of a certain sub-area, the AMR controller will perform a focused scan of that area in the next full-coverage cleaning task, collect LiDAR point cloud, IMU attitude, wheel odometry pose and timestamp data, and package them into an incremental perception data package.
[0073] Step 3: After completing the current sub-graph cleaning task, compress and encrypt the incremental sensing data packets from Step 2, and then upload them to the cloud via the DTLS channel;
[0074] Step 4: Reconstructing a high-precision local 2D raster map in the cloud based on the Cartographer SLAM engine. The Cartographer SLAM engine is based on Docker and integrates multi-sensor data. The Cartographer SLAM engine refers to packaging Google's open-source Cartographer SLAM algorithm and all its runtime dependencies, environment configurations, and compiled programs into a Docker container to form an independent, portable, and out-of-the-box runtime unit. Cartographer itself is the core tool for simultaneous localization and mapping (SLAM), enabling robots to determine their own position and build an environmental map simultaneously without a preset map. It is particularly good at reconstructing high-precision local 2D raster maps. The role of Docker encapsulation is to solve the problems of complex environment dependencies, version conflicts, and host environment pollution when Cartographer is deployed natively, allowing it to start quickly on any device with Docker without spending a lot of time debugging the environment. The Cartographer SLAM engine is the engine for Cartographer simultaneous localization and mapping. SLAM refers to simultaneous localization and mapping.
[0075] Step 5: Compare the reconstructed map from Step 4 with the global map using difference analysis. Then, use obstacle confidence matrix difference analysis and morphological closing operation to identify changed regions and update the global map. Finally, generate an incremental update package. Obstacle confidence matrix difference analysis helps quantify the differences between the two maps and initially locate the grid range of environmental changes. Morphological closing operation is a basic image processing method in mathematical morphology. For the binary matrix obtained after difference analysis, perform consecutive operations of dilation followed by erosion: Dilation: Expand the "1" regions (suspicious change regions) in the binary image outward, fill the small holes inside the regions, and connect adjacent small change regions into a whole; Erosion: Shrink the dilated "1" regions back to their original approximate shape, eliminate the edge burrs caused by dilation, and preserve the overall outline of the region. The role of morphological closing operation is to optimize the result of the difference matrix, remove noise interference, and restore the true outline of the changed regions.
[0076] Step Six: Send the update packet containing only the coordinates, size, and grid values of the changed area to the robot's AMR via the MQTT protocol. MQTT stands for Message Queuing Telemetry Transport Protocol. MQTT is a lightweight, low-bandwidth, and low-power network transmission protocol designed specifically for constrained environments (such as scenarios with low bandwidth, high latency, and unstable networks). MQTT supports disconnection reconnection and message retransmission level mechanisms. Even if the robot and the server are briefly disconnected, they can resume previous communication after reconnection. You can choose the message reliability level of at most once, at least once, or only once according to your needs to ensure that the issued instructions (such as task scheduling, path planning, and emergency stop commands) are not lost or duplicated.
[0077] Step 7: The robot achieves lock-free map updates through atomic operations, without needing to restart the navigation system. An atomic operation is the smallest indivisible and uninterrupted execution operation in a program. When this operation is executed, it either completes completely or is not executed at all. There will be no intermediate state of execution in half, and it will not be interrupted by other programs or threads. Its purpose is to ensure that when multiple threads read and write the same data at the same time, there will be no data reading errors, writing errors, or reading invalid intermediate values, ensuring the accuracy and integrity of the data. At the same time, it achieves lock-free data updates without the need for additional locking and unlocking, eliminating the computational cost and deadlock risk of locking and unlocking. It ensures data security and does not affect the speed of data updates and reading, achieving efficient and real-time update operations.
[0078] Furthermore, the area cleaning trajectory in step one refers to the continuous movement path of the indoor cleaning AMR during the execution of a specific area cleaning task, recorded by its positioning system, and the trajectory consists of a series of pose points with timestamps. The composition reflects the robot's actual operating route and behavior patterns within the area, among which, This refers to the robot's position in a two-dimensional map coordinate system. It refers to the heading angle of the AMR, which represents its direction of travel (in radians or degrees) relative to the X-axis. This refers to the corresponding timestamp (formatted as ISO8601 or Unix timestamp), accurate to milliseconds.
[0079] Furthermore, the coverage change rate in step one refers to the relative change rate between the actual coverage area per unit time in the current cleaning cycle and the historical average coverage area per unit time, under the same area and the same task type. The calculation of the coverage change rate specifically includes:
[0080] S1: Calculate cleaning coverage:
[0081] In a cleaning task, the robot constructs its own motion trajectory using LiDAR SLAM;
[0082] The cleaning area is divided into small grids (e.g., 0.5m × 0.5m), and the number of times each grid is effectively traversed by the robot is counted. The 0.5m is mainly estimated based on the width of the AMR at the end of the commercial cleaning robot and the effective cleaning width of the cleaning roller brush.
[0083] If a grid is traversed at least once and the cleaning device is activated, then the grid is considered to be covered, and the calculation formula is as follows:
[0084]
[0085] S2: Calculate coverage per unit time:
[0086] Record the total time taken for this task. The calculation formula is as follows:
[0087]
[0088] S3: Calculate the rate of change :
[0089] Assuming the average unit-time coverage of the same task over the past N times (e.g., the past week) is... ;
[0090] The current period's unit time coverage rate is The rate of change is:
[0091] .
[0092] Based on the average coverage of the sliding window, the average unit coverage is generally calculated using tasks completed in the past week. Historical data older than one week may be outdated and not relevant.
[0093] Specifically, the percentage of areas repeatedly cleaned in step one refers to the proportion of the total coverage area that the AMR repeatedly passes through during a cleaning task. This includes:
[0094] SS1: Records the coverage count for each grid cell.
[0095] Use a grid map to divide the area into several cells;
[0096] Each time the robot effectively passes through a cell and performs a cleaning action, the cell's count is incremented by 1;
[0097] SS2: Identify overlapping areas: If a cell is covered ≥2 times, it is considered a overlapping area to be cleaned. Count the number of all cells that are overlappingly covered. Total number of cells covered: The percentage of areas that need repeated cleaning The calculation formula is as follows:
[0098] .
[0099] The specific rules and conditions set in step one include:
[0100] The cleaning coverage change rate is greater than the preset threshold of 30%, and this continues to occur within N consecutive task cycles;
[0101] Overlapping cleaning occupancy rate > preset threshold 60%;
[0102] When a local grid cell meets the criteria of coverage change rate > 30% or repeated cleaning area proportion > 65% for two or more consecutive cleaning cycles, it is marked as a suspected change area;
[0103] Furthermore, the environmental change detection in step one is combined with a time-series analysis model for auxiliary judgment, which helps to further improve detection accuracy and avoid false triggers caused by transient noise or interference from dynamic objects. The time-series analysis model uses a Long Short-Term Memory (LSTM) network for time-series modeling. When the probability value exceeds a preset threshold (e.g., 0.8) and simultaneously meets the aforementioned threshold-based rule conditions, the local map acquisition and upload process is officially triggered. By introducing the LSTM time-series modeling mechanism and continuously optimizing the model through real-world experiments and manual annotation, the system can ultimately effectively distinguish between short-term interference (such as pedestrian passage and changes in illumination) and long-term structural changes (such as furniture movement and wall demolition), significantly reducing the false alarm rate and improving the reliability of cloud map updates. Specifically, this includes:
[0104] Input layer: Receives time-series environmental feature sequences, including sweep coverage change rate and overlapping sweep occupancy data within a continuous time window;
[0105] Hidden layer: A multi-layer LSTM unit used to capture long-term dependencies of environmental changes;
[0106] Output layer: Outputs the probability value P∈(0,1) of structural changes in the environment at the current moment. LSTM models are usually trained in a supervised manner on labeled datasets that simulate real AMR scenarios such as pedestrian crossing, light changes, furniture movement, and wall demolition, and learn to distinguish between short-term fluctuations and long-term trends.
[0107] Specifically, the lidar point cloud data in step two includes distance, angle, and intensity, and the IMU attitude angle data includes pitch, roll, and intensity. All data in step two are packaged in time sequence and labeled with spatial tags.
[0108] Furthermore, the cloud-based offline mapping in step four includes dynamically setting the Cartographer's voxel filter size to 0.03m, using a sliding window optimization to eliminate odometry cumulative errors, and then outputting the obstacle confidence matrix Mnew(x,y)∈[0,1]. It should be noted that the voxel filter size (voxel-filter-size = 0.03m) can effectively preserve key structures ≥5cm (such as table legs and corners), avoiding map distortion.
[0109] Specifically, step five, which involves differential comparison, identifying changed regions, and updating the global map, includes:
[0110] SSS1: Precise coordinate alignment, transforming the local subgraph M-new to the global coordinate system;
[0111] SSS2: An improved Hausdorff distance algorithm is used to compare the obstacle matrices Mnew(x,y) and Motd(x,y) of the old and new raster maps. The values represent the probability of each raster being occupied, with a probability range of [0,1]. The improved Hausdorff distance algorithm measures the similarity of obstacle contour sets in the two maps, providing a preliminary assessment of the degree of spatial structure difference. The improved Hausdorff distance algorithm introduces a weighting mechanism and an outlier removal strategy. The Hausdorff distance algorithm is an algorithm used to measure the similarity or distance between two point sets; its core function is to quantify the farthest matching degree between the two point sets. The weighting mechanism assigns a weight coefficient to each obstacle grid point in the obstacle matrix based on the spatial importance, topological contribution, or grid confidence of obstacles in the grid map. This transforms the traditional calculation logic of unweighted extreme distances in Hausdorff distance calculations into weighted distance calculations (such as weighted minimum distance, weighted average distance, or weighted extreme distance). The weight allocation can be determined based on the actual application requirements of the grid map. For example, obstacle grids in key areas of path planning (narrow passages, intersections, essential paths) have higher weights; weights are assigned based on sensor-collected confidence (obstacle grids with higher confidence have higher weights); and weights are assigned based on topological connectivity (connected regions...). The weighting mechanism, which assigns higher weights to internal obstacle grids than isolated obstacle grids, serves to highlight matching differences in key areas. Traditional Hausdorff distance treats all obstacle grids equally, but obstacles at different locations in a raster map have varying impacts on map effectiveness (e.g., passageway obstacles are more critical than edge redundancy obstacles). After weighting, the algorithm prioritizes the matching degree of high-weight key areas, allowing the distance results to better reflect the core changes in the map's topology. It also reduces interference from irrelevant obstacles: low-weighted grids such as edge redundancy obstacles and temporary interference obstacles in both old and new raster maps have a weaker contribution to the overall distance calculation, preventing these non-core obstacles from obscuring the true map structure. The changes in the graph enhance the relevance of distance calculations: the comparison results are more aligned with practical application needs (such as SLAM map updates and path planning map matching). The weighted Hausdorff distance can more accurately quantify the effective differences between the old and new maps, rather than the superficial total differences. Outliers refer to non-existent obstacle grid points in the obstacle matrix, usually caused by factors such as sensor noise, rasterization errors, and interference from dynamic objects. They appear as isolated, discrete grids that do not conform to topological logic. Outlier removal strategies identify and remove these non-existent obstacle points through methods such as neighborhood topology verification, statistical outlier detection, or confidence threshold filtering, before calculating the Hausdorff distance. Common removal rules include: Neighborhood rule: if the number of obstacle grids in the k-neighborhood of an obstacle grid is less than a threshold, it is determined to be an outlier; Statistical rule: calculate the distance from the obstacle grid point to its neighborhood center and remove points that exceed the outlier threshold.Confidence Rule: Obstacle grids with a confidence level below a set threshold are removed. The outlier removal strategy aims to eliminate distance errors caused by noise: Traditional Hausdorff distance calculations include outliers, leading to an overestimation of distance values between the old and new maps (mistakenly treating noise as map differences). Removing outliers makes distance calculations more robust and accurately reflects the matching of static obstacles; improves the reliability of map comparison: avoids misjudging noisy false obstacles as changes in obstacles between the old and new maps, reducing false alarm rates. For example, isolated obstacle points caused by temporary sensor noise will not be treated as newly added obstacles in the new map; reduces computational complexity: removing invalid outliers reduces the number of valid points in the obstacle matrix, significantly improving the algorithm's computational efficiency, especially suitable for rapid comparison of large-scale grid maps.
[0112] SSS3: Performs raster difference operations, and performs pixel-by-pixel difference operations on the aligned Mnew and Motd:
[0113]
[0114] Among them, threshold This is a preset constant used to filter candidate regions that have undergone significant state changes. This is a preliminary screening image showing the changes in binarization;
[0115] SSS4: Performs morphological closing operations on difference matrices to enhance connectivity;
[0116] right Morphological closing operations are applied to eliminate isolated pixels caused by sensor noise, registration errors, or interference from dynamic objects, while connecting adjacent but broken regions of change.
[0117] SSS5: Based on the trend of change in obstacle confidence, further classify and identify the type of change:
[0118] New obstacle region: If Mnew(x,y)>0.7 and Motd(x,y)<0.3, it means that the original free region is now determined to be occupied with high confidence.
[0119] Cleared obstacle areas: If Mnew(x,y)<0.3 and Motd(x,y)>0.7, it means that the area was originally a high-confidence obstacle and has now become free space. The above thresholds of 0.7 and 0.3 are based on the typical probability division of free and occupied states in mainstream SLAM systems (such as Cartographer and OctoMap), that is, <0.3 is high confidence "idle" and >0.7 is high confidence "occupied". The above thresholds can be fine-tuned through offline calibration or online learning to optimize the detection accuracy and robustness.
[0120] SSS6: By performing map mask calculations, the changed areas are overlaid onto the global static map. The newly identified obstacle areas and the cleared obstacle areas are respectively constructed into incremental update masks and overlaid onto the corresponding positions of the global static map to achieve local map correction. The updated map serves as a new global baseline for subsequent navigation and mission planning.
[0121] Furthermore, the incremental update package in step six also includes the starting coordinates, area size, change type, raster value sequence, timestamp, version number, and CRC checksum. The lock-free update in step seven adopts a memory mapping and atomic write mechanism, and does not affect the execution of navigation tasks during map updates.
[0122] An indoor cleaning AMR map cloud-based collaborative automatic update system, applied to an indoor cleaning AMR map cloud-based collaborative automatic update method, includes:
[0123] The robot-side AMR (Autonomous Mobile Robot) comprises a multi-sensor acquisition module, a local map cache, and an incremental communication module. The multi-sensor acquisition module collects data from multiple sources. The local map cache serves several purposes: First, it supports offline operations. When communication between the robot and the cloud is interrupted, the cached local map can be directly accessed to complete localization, path planning, and obstacle avoidance, preventing operation interruptions due to network issues. Second, it reduces communication overhead by eliminating the need to frequently request complete map data from the cloud; incremental synchronization only occurs when the map changes, reducing data transmission between the robot and the cloud and improving communication efficiency. Third, it improves response speed. The latency of reading locally cached map data is significantly lower than that of cloud requests, enabling rapid map support for the robot's real-time motion decisions and ensuring real-time positioning and navigation. The incremental communication module is a core component for enabling lightweight data interaction between the robot and the cloud. Its core logic is to transmit only the changed data, not the complete data. Its specific functions are as follows: Reducing data transmission volume: For map data, sensor data, etc., only the incremental portion of the update (such as newly detected environmental areas or incremental sensor sampling values) is transmitted, significantly reducing bandwidth consumption, especially suitable for scenarios with limited bandwidth; Improving real-time communication: Smaller incremental data transmission takes less time, enabling faster information synchronization between the robot and the cloud, ensuring real-time monitoring and scheduling of the robot by the cloud; Reducing device power consumption: Compared to continuously transmitting complete data, incremental transmission reduces the robot's communication time and data processing volume, thereby reducing overall device power consumption and extending battery life.
[0124] The cloud platform comprises an environmental analysis engine, a distributed SLAM computing cluster, and a map difference processor. The environmental analysis engine is used for environmental change detection algorithms, while the map difference processor generates incremental update packages. SLAM (Simultaneous Localization and Mapping) is the core technology for robot autonomous navigation. The distributed SLAM computing cluster splits the SLAM computation task across multiple nodes in the cloud for parallel processing. Its core functions are as follows: Overcoming the limitations of local robot computing power: The embedded computing power of a single robot is limited and cannot support large-scale, high-precision SLAM computation. The cloud cluster provides massive computing power through a distributed architecture, enabling the completion of complex SLAM tasks; Supporting multi-robot collaborative SLAM: When multiple robots operate in the same area, the cluster can aggregate sensor data from all robots, perform global map fusion and optimization, eliminate local errors in individual robot mapping, and generate a unified, high-precision global map; Enabling global map updates and management: When the environment changes (e.g., new obstacles, road modifications), the cluster can quickly process incremental data uploaded by robots, update the global map, and synchronize it to all robots in the area, ensuring the location of all devices. Figure 1 Consistency; Improve the robustness of SLAM algorithms. Distributed clusters can run multiple SLAM algorithms or different parameter versions of the same algorithm in parallel. By comparing and fusing the results, the error and failure probability of a single algorithm can be reduced, thereby improving the reliability of localization and mapping.
[0125] A secure communication channel uses the DTLS protocol to ensure data transmission security. DTLS, or Datagram Transport Layer Security, is a secure communication standard based on the UDP protocol and an extension of the TLS protocol. Its core function is to provide encryption, authentication, and integrity verification mechanisms for connectionless UDP data transmission, compensating for the inherent insecurity of the UDP protocol. Its core functions are as follows: Data encryption: Symmetric encryption algorithms are used to encrypt data transmitted between the robot and the cloud, preventing eavesdropping and tampering during transmission and ensuring data confidentiality; Identity authentication: A certificate mechanism verifies the legitimacy of both communicating parties (robot and cloud node), preventing unauthorized devices from accessing the cloud or forging cloud commands to control the robot, thus preventing malicious attacks; Integrity verification: A Message Authentication Code (MAC) is added to the transmitted data, allowing the receiver to verify whether the data has been tampered with during transmission, ensuring data integrity; Adapting to the connectionless nature of UDP: Communication between the robot and the cloud often uses UDP (for higher real-time performance).
[0126] Based on the above, and as follows Figure 1 As shown in the figure:
[0127] Robot side:
[0128] The area cleaning task log is reported, and the specific data includes the area cleaning trajectory, area cleaning task coverage rate, and the proportion of area re-cleaning tasks.
[0129] The robot's trigger collects data upon receiving event messages from the area cleaning task. The trigger then collects sensor data and records it to a rosbag file. A rosbag file is a ROS data package, a tool and file format used for recording, storing, and replaying ROS data. After completion, the robot reports a data collection completion event and waits for the cloud to download the sensor data file. The robot acts as a data producer, collecting relevant sensor data through trigger acquisition.
[0130] Incremental map updates.
[0131] Cloud:
[0132] The cloud-based environmental change analysis engine module determines whether the robot needs to collect data for the next area cleaning task based on the area operation logs.
[0133] The cloud-based data acquisition module collects sensor data based on the acquisition tasks reported by the robot, generates mapping-related tasks, and collects sensor data files from the robot to the cloud to generate mapping update tasks.
[0134] The cloud-based SLAM engine module enables local sub-map fusion and incremental update file distribution from the map.
[0135] The robot-side trigger, as an extension plug-in module of the robot system, communicates independently with the cloud. The native robot establishes an MQTT communication connection with the cloud through the SOC module, while the plug-in establishes an MQTT communication connection with the cloud separately.
[0136] Finally, it should be noted that the above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing embodiments or make equivalent substitutions for some of the technical features. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A method for automatic cloud-based collaborative updating of indoor cleaning AMR maps, characterized in that: include: Step 1: The cloud receives the operation log data uploaded by the robot AMR and performs statistical analysis based on the area cleaning trajectory, coverage change rate and the proportion of repeated cleaning areas. Based on the statistical analysis and set rules, it detects environmental changes. If the set rules are met, the area is marked as a suspected change area. Step 2: Trigger the robot's AMR to perform focused scanning of the suspected change areas from Step 1 in subsequent tasks, collect LiDAR point cloud, IMU attitude, wheel odometry pose and timestamp data, and package them into incremental perception data packages; Step 3: After completing the current sub-graph cleaning task, compress and encrypt the incremental sensing data packets from Step 2, and then upload them to the cloud via the DTLS channel; Step 4: Reconstruct a local high-precision 2D raster map in the cloud using the Cartographer SLAM engine; Step 5: Perform a difference comparison between the reconstructed map from Step 4 and the global map, and use obstacle confidence matrix difference and morphological closing operations to identify changed regions and update the global map. Then, generate an incremental update package. The step of using obstacle confidence matrix difference and morphological closing operations to identify changed regions and update the global map includes the following steps: SSS1: Precise coordinate alignment, transforming the local subgraph M-new to the global coordinate system; SSS2: An improved Hausdorff distance algorithm is used to compare the obstacle matrices Mnew(x,y) and Motd(x,y) of the old and new raster maps. The values represent the probability that each raster is occupied, and the probability range is [0,1]. The improved Hausdorff distance algorithm measures the similarity of the obstacle contour sets in the two maps and preliminarily assesses the degree of difference in spatial structure. The improved Hausdorff distance algorithm introduces a weighting mechanism and an outlier removal strategy. SSS3: Performs raster difference operations, and performs pixel-by-pixel difference operations on the aligned Mnew and Motd: Among them, threshold This is a preset constant used to filter candidate regions that have undergone significant state changes. This is a preliminary screening image showing the changes in binarization; SSS4: Performs morphological closing operations on difference matrices to enhance connectivity; right Morphological closing operations are applied to eliminate isolated pixels caused by sensor noise, registration errors, or interference from moving objects, while connecting adjacent but broken regions of change. SSS5: Based on the trend of change in obstacle confidence, further classify and identify the type of change: New obstacle region: If Mnew(x,y)>0.7 and Motd(x,y)<0.3, it means that the original free region is now determined to be occupied with high confidence. Regions with cleared obstacles: If Mnew(x,y)<0.3 and Motd(x,y)>0.7, it means that the area was originally a high-confidence obstacle and has now become free space; SSS6: By performing map mask calculations, the changed areas are overlaid onto the global static map. The newly identified obstacle areas and the cleared obstacle areas are respectively constructed into incremental update masks and overlaid onto the corresponding positions of the global static map to achieve local map correction. The updated map serves as a new global baseline for subsequent navigation and task planning. Step 6: Send the update packet containing only the coordinates, size, and grid values of the changed area to the AMR robot via the MQTT protocol; Step 7: The robot performs lock-free map updates through atomic operations, without needing to restart the navigation system.
2. The indoor cleaning AMR map cloud collaborative automatic update method according to claim 1, characterized in that: The area cleaning trajectory in step one refers to the continuous movement path of the indoor cleaning AMR during the execution of a specific area cleaning task, recorded by its positioning system. This trajectory consists of a series of pose points with timestamps. Composition, in which, This refers to the robot's position in a two-dimensional map coordinate system. This refers to the heading angle of the AMR, which represents its direction of travel relative to the X-axis. This refers to the corresponding timestamp.
3. The method for automatic cloud-based collaborative updating of indoor cleaning AMR maps according to claim 1, characterized in that: The coverage change rate in step one refers to the relative change rate between the actual coverage area per unit time in the current cleaning cycle and the historical average coverage area per unit time, under the same area and the same task type. The calculation of the coverage change rate specifically includes: S1: Calculate cleaning coverage: In a cleaning task, the robot constructs its own motion trajectory using LiDAR SLAM; The cleaning area is divided into small grids, and the number of times each grid is effectively traversed by the robot is counted. If a grid is traversed at least once and the cleaning device is activated, then the grid is considered to be covered, and the calculation formula is as follows: S2: Calculate coverage per unit time: Record the total time taken for this task. The calculation formula is as follows: S3: Calculate the rate of change : Assuming the average coverage rate of the same task per unit time over the past N times is ; The current period's unit time coverage rate is The rate of change is: 。 4. The method for automatic cloud-based collaborative updating of indoor cleaning AMR maps according to claim 1, characterized in that: The percentage of repeatedly cleaned areas in step one refers to the proportion of the total covered area that the AMR repeatedly passes through during a cleaning task. Specifically, it includes: SS1: Records the number of times each grid cell is covered. Use a grid map to divide the area into several cells; Each time the robot effectively passes through a cell and performs a cleaning action, the cell's count is incremented by 1; SS2: Identify overlapping areas: If a cell is covered ≥2 times, it is considered a overlapping area to be cleaned. Count the number of all cells that are overlappingly covered. Total number of cells covered: The percentage of areas that require repeated cleaning The calculation formula is as follows: 。 5. The method for automatic cloud-based collaborative updating of indoor cleaning AMR maps according to claim 1, characterized in that: The specific rules and conditions set in step one include: The cleaning coverage change rate is greater than the preset threshold of 30%, and this continues to occur within N consecutive task cycles; Overlapping cleaning occupancy rate > preset threshold 60%; If a local grid cell meets the criteria of coverage change rate > 30% or repeated cleaning area proportion > 65% within two or more consecutive cleaning cycles, it is marked as a suspected change area. The environmental change detection in step one is combined with a time-series analysis model for auxiliary judgment. This time-series analysis model uses a long short-term memory network for time-series modeling, specifically including: Input layer: Receives time-series environmental feature sequences, including sweep coverage change rate and overlapping sweep occupancy data within a continuous time window; Hidden layer: A multi-layer LSTM unit used to capture long-term dependencies of environmental changes; Output layer: Outputs the probability value P∈(0,1) of structural change in the environment at the current moment.
6. The method for automatic cloud-based collaborative updating of indoor cleaning AMR maps according to claim 1, characterized in that: The lidar point cloud data in step two includes distance, angle, and intensity, and the IMU attitude angle data includes pitch, roll, and intensity. All data in step two are packaged in time sequence and labeled with spatial tags.
7. The method for automatic cloud-based collaborative updating of indoor cleaning AMR maps according to claim 1, characterized in that: The cloud-based offline mapping in step four includes dynamically setting the Cartographer's voxel filter size to 0.03m, using a sliding window optimization to eliminate odometry cumulative errors, and then outputting the obstacle confidence matrix Mnew(x,y)∈[0,1].
8. The method for automatic cloud-based collaborative updating of indoor cleaning AMR maps according to claim 1, characterized in that: The incremental update package in step six also includes starting coordinates, area size, change type, raster value sequence, timestamp, version number, and CRC checksum. The lock-free update in step seven adopts a memory mapping and atomic write mechanism, and does not affect the execution of navigation tasks during map updates.
9. An indoor cleaning AMR map cloud-based collaborative automatic update system, applied to the indoor cleaning AMR map cloud-based collaborative automatic update method according to any one of claims 1-8, characterized in that: include: The robot-side AMR includes a multi-sensor acquisition module, a local map cache, and an incremental communication module. The cloud platform includes an environmental analysis engine, a distributed SLAM computing cluster, and a map difference processor. The environmental analysis engine is used for environmental change detection algorithms, and the map difference processor is used to generate incremental update packages. A secure communication channel, which uses the DTLS protocol for communication, is used to ensure data transmission security.
Citation Information
Patent Citations
Laser map updating method based on grid detection, terminal and computer equipment
CN112380312A
Map change detection method and device, equipment and storage medium
CN118730132A