Robot map storage method and device, robot, medium and product

By updating and periodically generating verification data during robot tasks and matching it with a stable global map, the problem of SLAM algorithm locating abnormal changes in complex environments is solved, thus improving the reliability and accuracy of robot mapping.

CN122448181APending Publication Date: 2026-07-24DREAM INNOVATION TECH (SUZHOU) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610590031.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-04-29
Publication Date
2026-07-24

Smart Images

  • Figure CN122448181A_ABST
    Figure CN122448181A_ABST
Patent Text Reader

Abstract

The application provides a robot map storage method and device, a robot, a medium and a product, and relates to the technical field of robots. When the robot performs a task, a real-time updated current map is first acquired and verification data is constructed, the verification data is generated from first sensor data collected by the robot after each driving of a preset distance or time period, then the verification data is matched with a pre-stored stable global map confirmed to be free of abnormalities to obtain a matching result; in response to a storage instruction, if it is determined that the matching result triggers a map saving condition, the current map is saved, otherwise the current map is discarded. The method matches and compares the verification data with the pre-stored stable global map; and in response to the storage instruction, whether the current state meets the map saving condition is determined according to the matching result, effectively solving the problem that the existing SLAM algorithm is difficult to quickly identify dynamic environment interference and robot pose abnormalities, and thereby greatly improving the reliability of map building.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics technology, and in particular to a method, apparatus, robot, medium, and product for storing robot maps. Background Technology

[0002] With the rapid development of intelligent robots, such as robotic vacuum cleaners and inspection robots, their applications in homes, warehouses, factories, and other scenarios are becoming increasingly widespread. These intelligent robots typically rely on Simultaneous Localization and Mapping (SLAM) technology to autonomously construct environmental maps and perform path planning and task execution based on the constructed maps.

[0003] In related technologies, taking robotic vacuum cleaners as an example, during the cleaning process, robotic vacuum cleaners can generate a current map in real time based on the SLAM method, and continuously update the cleaning map by performing difference detection with the pre-stored cleaning map.

[0004] However, in complex and dynamic environments, such as when encountering temporary obstacles, sensor occlusion, or displacement caused by collisions, existing SLAM algorithms may fail to promptly identify changes in localization and continue mapping based on the current, erroneous localization. This can lead to anomalies such as map overlay, map misalignment, or distortion. In such cases, erroneous maps may be saved, or incorrect maps may overwrite correct maps, affecting the reliability of the mapping. Summary of the Invention

[0005] This application provides a method, apparatus, robot, medium, and product for storing robot maps, which addresses the problem that existing SLAM algorithms struggle to identify abnormal changes in localization, leading to a decrease in the reliability of map creation.

[0006] Firstly, this application provides a method for storing robot maps, the method comprising:

[0007] During the robot's task execution, the current map is acquired and verification data is constructed; the current map is updated in real time during the robot's movement; the verification data is generated by the first sensor data collected by the robot after each preset distance traveled or after each preset time period of travel.

[0008] The verification data is matched with the pre-stored stable global map to obtain the matching results; the stable global map is a map that has been confirmed to be free of anomalies.

[0009] In response to the map saving command, if the matching result triggers the map saving condition, the current map is saved;

[0010] If the matching result does not trigger the map saving condition, discard the current map.

[0011] In this way, the robot can update the current map in real time and periodically collect and generate verification data during operation, and then match and verify it with the stable global map. Based on the map saving command and the matching result, it determines whether to save the map. This can effectively filter compliant maps, eliminate abnormal and distorted maps, ensure the accuracy and stability of the stable global map, and improve the positioning and navigation reliability of the robot in long-term operation.

[0012] In one possible implementation, the verification data is a verification sub-map, and the verification data is constructed by including:

[0013] Within each cycle of the robot traveling a preset distance or a preset time period, at least the following operations should be performed:

[0014] Obtain the robot's global pose data based on the current map;

[0015] The first sensor data collected in the current cycle is transformed into the global coordinate system based on the global pose data.

[0016] A verification sub-map is constructed based on the transformed first sensor data.

[0017] This method allows for the orderly construction of verification sub-maps at fixed travel distances or fixed time intervals. By combining the robot's real-time global pose with the unified coordinate transformation of sensor data, the coordinate reference of sensor data in each cycle can be kept consistent, improving the construction accuracy and structural integrity of the verification sub-maps and providing data support for subsequent map matching and comparison.

[0018] In one possible implementation, the verification data is target sensor data, and the verification data is constructed by including:

[0019] Within each cycle of the robot traveling a preset distance or a preset time period, at least the following operations should be performed:

[0020] Obtain the robot's global pose data based on the current map;

[0021] The data from the first sensor collected in the current period is downsampled to obtain the data from the second sensor.

[0022] The second sensor data is transformed using global pose data to obtain the target sensor data.

[0023] This method first removes redundant data and reduces computational load through downsampling, and then completes coordinate transformation by combining the robot's global pose. This not only ensures the consistency of the target sensor data coordinate benchmark, but also improves data processing efficiency. In turn, it provides efficient and accurate basic data for subsequent verification sub-map construction and map matching, ensuring the stable and smooth operation of the robot.

[0024] In one possible implementation, the method also includes:

[0025] When the robot starts performing its task, clear the pre-stored verification data.

[0026] This method proactively clears all pre-stored historical verification data at the initial stage of the robot's task startup. This ensures that old data is cleared before task execution, completely isolating redundant information and invalid verification content from the previous round of work. This prevents historical data from mixing with, overlapping, or conflicting with the real-time data collected for the current task. Furthermore, it eliminates interference from historically abnormal verification data, preventing residual data from affecting subsequent map matching, feature comparison, and accuracy verification logic. This ensures that all verification processes in this round of task are based on newly collected data, effectively improving the independence, rigor, and detection accuracy of the entire map verification process, and guaranteeing the authenticity and reliability of the environmental map verification results during robot operation.

[0027] In one possible implementation, the verification data is a verification sub-map, and the pre-stored verification data is cleared, including:

[0028] Discard all at least one type of verification sub-map pre-stored by the robot; the types of verification sub-maps include: two-dimensional grid map, three-dimensional voxel map, visual target point map, static map including static elements, verification sub-map including spatial category, and verification sub-map including object category.

[0029] By discarding pre-stored multi-type verification sub-maps at the initial stage of the robot's formal task start, historical redundant data can be prevented from interfering with the current data collection and matching calculations. This ensures that the map verification, feature matching, and global map update processes are all completed based on the newly generated map data in real time, thereby improving the accuracy of map verification and the stability of the robot's environmental perception.

[0030] In one possible implementation, the current map is discarded, including:

[0031] Discard all current maps of at least one type generated by the robot; the types of current maps include: 2D grid map, 3D voxel map, visual target point map, static map including static elements, check sub-map including spatial category, and check sub-map including object category.

[0032] This method discards multiple types of current maps generated in real time by the robot, covering map data of grid, voxel, visual point and various element dimensions. Only compliant and valid map data can be retained, reducing the judgment bias caused by erroneous maps, effectively optimizing map verification logic, and improving the accuracy of global map iteration and update and environmental adaptability.

[0033] In one possible implementation, the save command is determined in any of the following ways:

[0034] After the robot finishes performing its task;

[0035] In response to a user's triggering action on a terminal device or robot, the terminal device establishes a communication connection with the robot.

[0036] The robot detects that its own battery level is lower than the preset battery threshold and returns to the base station;

[0037] Generate synchronously after updating the stable global map using the current map;

[0038] This is generated after several cycles, each time the robot travels a preset distance or passes through a preset time period.

[0039] This method allows for flexible setting of multi-scenario trigger conditions to determine map saving instructions, forming a multi-dimensional triggering mechanism. This not only automatically completes the final map saving for routine tasks but also supports manual saving as needed, and can promptly retain map data before returning to base due to low battery. This comprehensively avoids map loss caused by sudden power outages or mid-journey return, ensuring the complete retention of environmental map data and improving the integrity of robot map construction and updates.

[0040] In one possible implementation, whether the map saving conditions are triggered is determined in the following way:

[0041] Set map anomaly flags based on the matching results, and determine whether to trigger map saving conditions based on the logical value type of the map anomaly flags.

[0042] If the map anomaly flag is a logical value indicating an anomaly, the map saving condition will not be triggered.

[0043] When the map anomaly flag is a logical value indicating normality, the map saving condition is triggered.

[0044] Among them, abnormal logical value representation verification data fails to match the stable global map, while normal logical value representation verification data matches the stable global map successfully.

[0045] This method sets map anomaly flags based on map matching results, using different logical values ​​as the criteria for determining map saving conditions. This simplifies subsequent logical judgment processes and avoids confusion caused by complex calculations. When a match fails, the logical value marked as abnormal directly prohibits map saving, thus preventing erroneous map data from entering the global map. Conversely, when a match succeeds, the logical value marked as normal allows normal map saving permissions. This hierarchical control logic accurately filters out abnormal and biased data, standardizes the global map update access mechanism, and continuously maintains the accuracy and environmental consistency of the global map.

[0046] In one possible implementation, the verification data is a verification sub-map, which is matched with a pre-stored stable global map to obtain the matching results, including:

[0047] Select the corresponding matching strategy based on the map type corresponding to the verified sub-map;

[0048] According to the matching strategy, the verification sub-map is matched with the stable global map to obtain the matching result.

[0049] This method allows for the adaptation of specific matching strategies based on the type of the sub-map being verified, and the execution of targeted map matching strategies to obtain matching results. This avoids the limitations of a single algorithm, enhances the adaptability of multi-type map verification, improves the matching accuracy and computational efficiency between different types of maps, and thus ensures the authenticity and reliability of map verification results.

[0050] In one possible implementation, when the verification submap is a two-dimensional raster map or a three-dimensional voxel map, the verification submap is matched with the stable global map according to a matching strategy to obtain the matching result, including:

[0051] Determine the first verification point cloud data in the verification sub-map;

[0052] The first verification point cloud data is transformed into the global coordinate system to obtain the second verification point cloud data;

[0053] For each second verification point cloud data, query the probability of the target occupying the corresponding coordinate position in the stable global map;

[0054] If the probability of the target occupying the target is greater than the preset probability threshold, then the second verification point cloud data is determined to be a successful match.

[0055] The first proportion of the second verification point cloud data that successfully matched is determined, and the first verification point cloud data in the verification sub-map is determined based on the first proportion.

[0056] The first verification point cloud data is transformed into the global coordinate system to obtain the second verification point cloud data;

[0057] For each second verification point cloud data, query the probability of the target occupying the corresponding coordinate position in the stable global map;

[0058] If the probability of the target occupying the target is greater than the preset probability threshold, then the second verification point cloud data is determined to be a successful match.

[0059] The first proportion of the second verification point cloud data that successfully matched is calculated, and the matching result is determined based on the first proportion.

[0060] This method first performs a unified coordinate transformation on the verification point cloud data, and then combines the occupancy probability of the stable global map to complete the point-by-point matching judgment. This can improve the quantification and judgment accuracy of map matching, effectively improve the matching accuracy of raster and voxel maps, and enhance the rigor and scene adaptability of the map verification process.

[0061] In one possible implementation, determining the first verification point cloud data in the verification sub-map includes:

[0062] Obtain map point cloud data within a preset area in the verification sub-map;

[0063] Perform pose estimation on map point cloud data and determine the check value;

[0064] The map point cloud data in the verification sub-map is corrected using the verification value to obtain the first verification point cloud data.

[0065] This method first delineates a preset area to extract map point cloud data, then calculates a verification value through pose estimation, and uses this verification value to correct the map point cloud data. This effectively corrects point position deviations, eliminates data errors caused by pose anomalies, and optimizes the overall accuracy of the point cloud. Furthermore, by limiting the area, invalid data computation is reduced, improving data processing efficiency and providing accurate and well-organized point cloud base data for subsequent map matching, ensuring the reliability of the verification results.

[0066] In one possible implementation, when the verification submap is a 3D voxel map, the verification submap is matched with the stable global map according to a matching strategy to obtain the matching result, including:

[0067] Determine the feature point data in the verification sub-map;

[0068] For each feature point data, determine the target feature voxel corresponding to the feature point data in the stable global map;

[0069] Determine the geometric distance between the target feature voxel and its nearest neighbor feature voxel;

[0070] If the geometric distance is less than the feature distance threshold, the feature point data is considered to be successfully matched.

[0071] The second proportion of successfully matched feature point data is used to determine the matching result.

[0072] This method involves several steps. First, it identifies and extracts feature point data from the verification sub-map, allowing for the identification of key spatial features as the basis for matching. Second, it matches target feature voxels in the stable global map one by one and calculates their geometric distances, using a distance threshold as a unified criterion to quantify the matching conditions. Finally, it statistically analyzes the percentage of valid matching feature points to obtain the final result. This approach not only adapts to the structural characteristics of 3D maps, avoiding the limitations of 2D matching, but also accurately detects spatial pose deviations and structural differences in voxel maps, reduces environmental noise interference, and improves the accuracy of 3D map matching and the overall reliability of verification.

[0073] In one possible implementation, determining the feature point data in the verification sub-map includes:

[0074] Obtain map point cloud data within a preset area in the verification sub-map;

[0075] Perform pose estimation on map point cloud data and determine the check value;

[0076] The map point cloud data in the verification sub-map is corrected using the verification value to obtain the third verification point cloud data;

[0077] From the third verification point cloud data, voxel data that meet the preset structural features are determined to obtain feature point data.

[0078] This method first corrects the pose of point cloud data in a specified area to eliminate data distortion caused by pose deviation. Then, it selects voxel data with stable structural features as feature points. This can eliminate invalid stray point clouds, optimize feature data quality, reduce the impact of environmental interference, and provide a stable and reliable basic feature data source for subsequent feature matching and map verification.

[0079] In one possible implementation, when the verification submap is a visual target point map, the verification submap is matched with the stable global map according to the matching strategy to obtain the matching result, including:

[0080] Determine the first visual feature point in the verification sub-map and the second visual feature point in the stable global map;

[0081] Perform feature matching on the first visual feature point and the second visual feature point to determine the successfully matched visual feature point pairs.

[0082] Based on visual feature point pairs, the relative pose of the verification sub-map with respect to the stable global map is determined;

[0083] The matching result is determined based on the relative pose.

[0084] This method first identifies the first visual feature point in the verification sub-map and finds the second visual feature point in the stable global map. Next, feature matching is performed on these two sets of visual feature points to determine successfully matched visual feature point pairs. Finally, based on these matched feature point pairs, the relative pose of the verification sub-map relative to the stable global map is calculated, thus obtaining the matching result. This method not only improves the matching accuracy of visual feature points but also accurately captures the spatial offset between the two maps through relative pose, reducing visual noise interference and ensuring the accuracy and reliability of visual target point map matching.

[0085] In one possible implementation, when the validation submap is a static map containing static elements, the validation submap is matched against the stable global map according to the matching strategy to obtain the matching result, including:

[0086] Extract the first set of static elements from the verification submap and extract the second set of static elements from the stable global map;

[0087] The first static element set is transformed in a global coordinate system to obtain the third static element set;

[0088] Determine the matching degree between the third static element set and the second static element set;

[0089] The matching score is compared with the element matching threshold to determine the corresponding matching result.

[0090] This method first extracts stable, unchanging sets of static elements from both maps, avoiding interference from dynamic elements; second, unifying the coordinate system of the static elements eliminates comparison errors caused by coordinate system deviations; and finally, it calculates the element matching degree and combines it with a threshold to determine the matching result. By utilizing the high stability and unchanging nature of static elements, the anti-interference capability of map comparison can be improved, enhancing the stability, accuracy, and scene adaptability of map verification.

[0091] In one possible implementation, static elements include at least one of the following: a wall above a preset height, a door position, or the outline of fixed furniture.

[0092] This method allows for the explicit designation of stable and unchanging environmental elements such as walls, doors, and fixed furniture outlines as static elements, thereby enhancing the anti-interference capability and long-term matching stability of static map matching.

[0093] In one possible implementation, when the validation submap is a validation submap that includes spatial categories, the validation submap is matched with the stable global map according to the matching strategy to obtain the matching result, including:

[0094] Identify the first spatial category information in the verification sub-map and identify the second spatial category information in the stable global map;

[0095] The first spatial category information is transformed into the third spatial category information by global coordinate system transformation;

[0096] Determine the matching rate between the third spatial category information and the second spatial category information;

[0097] The matching rate is compared with the category matching threshold to determine the corresponding matching result.

[0098] This method involves several steps. First, by extracting spatial category information from both maps, the inherent spatial attributes of the environment can be identified. Second, a coordinate system transformation is performed on the spatial category information to eliminate comparison errors caused by coordinate deviations. Finally, the spatial category matching rate is calculated and combined with a threshold to determine the result. By leveraging the characteristic that fixed spatial categories are unaffected by temporary environmental changes, matching stability can be enhanced, the evaluation dimensions of map matching can be enriched, and the accuracy and validity of map matching in the spatial dimension can be effectively improved.

[0099] In one possible implementation, when the validation submap is a validation submap that includes object categories, the validation submap is matched with the stable global map according to the matching strategy to obtain the matching result, including:

[0100] Identify the first object category information in the verification sub-map and identify the second object category information in the stable global map;

[0101] The first object category information is transformed using a global coordinate system to obtain the third object category information;

[0102] Determine the similarity between the third object category information and the second object category information;

[0103] The similarity is compared with the category similarity threshold to determine the corresponding matching result.

[0104] This method first identifies object category information in both maps, allowing for the construction of a matching basis based on the inherent attributes of objects and avoiding interference from temporary environmental changes. Second, it transforms the object category information of the sub-maps to the global coordinate system, eliminating comparison errors caused by coordinate deviations. Finally, it calculates category similarity and compares it with a threshold to obtain the matching result. By leveraging the stability of object categories, it not only improves the accuracy and stability of object-dimensional matching verification but also enriches the discriminative dimensions of map verification, accurately capturing differences in object category distribution and effectively improving the accuracy and rationality of matching maps containing object categories.

[0105] In one possible implementation, the verification submap is matched with the stable global map according to a matching strategy to obtain the matching results, including:

[0106] Determine the application scenario requirements, and based on these requirements, determine at least two different matching strategies to execute.

[0107] Based on preset fusion rules, at least two sub-matching results obtained after executing at least two different matching strategies are fused to obtain the matching result.

[0108] This approach allows for the use of a multi-strategy fusion matching mechanism to overcome the limitations of a single matching method, reduce judgment biases caused by environmental changes, sensor errors, and other factors, and improve the fault tolerance, robustness, and overall accuracy of map matching results.

[0109] In one possible implementation, the method also includes:

[0110] If the matching result triggers the map saving condition, the stable global map will be updated based on the current map.

[0111] This method ensures that the map saving condition is triggered only when the matching result between the verified sub-map and the stable global map is successful. This triggering mechanism allows the current map to iteratively update the stable global map while removing map data with biases and anomalies, thus guaranteeing the accuracy and usability of the stable global map.

[0112] In one possible implementation, the current map is discarded when the matching result does not trigger the map saving condition, including:

[0113] If the matching result does not trigger the map saving condition, determine whether the verification data is located in a new area outside the stable global map;

[0114] If it is determined that the verification data is not located in the new area, discard the current map.

[0115] This method further verifies the region where the data is located when the map matching fails to meet the standard, and directly discards abnormal maps in non-new regions. This not only prevents unqualified map data from affecting the accuracy of the global fifth place, but also avoids the accidental deletion of valid map data in new regions, thus balancing the effectiveness and reliability of maps in new regions and abnormal maps.

[0116] In one possible implementation, the method also includes:

[0117] If the verification data is determined to be located in a new region, then search for the matching pose correction amount corresponding to the verification data in the stable global map;

[0118] If no matching pose correction is found, the map saving condition is triggered;

[0119] If a matching pose correction is found, the verification data is transformed into coordinates based on the matching pose correction to obtain corrected verification data. The corrected verification data is then matched and verified with the stable global map to obtain the matching verification result. Based on the matching verification result, it is determined whether the map saving condition is triggered.

[0120] This approach firstly, after determining that the data belongs to a new region, it actively retrieves the corresponding pose correction value within the global map. Secondly, if no pose correction value is found, the current map can be saved, adapting to the needs of expanding into unknown regions. When a matching pose correction value is found, a secondary coordinate transformation can be performed based on the correction data, and the decision to save the map is made based on the verification results. This method not only reasonably supports the map creation needs of robots exploring unknown environments but also uses pose correction to constrain the data accuracy of existing regions, balancing environmental expandability and map reliability. It effectively avoids the arbitrary input of pose deviation data and improves the rigor of global map iteration updates.

[0121] In one possible implementation, determining whether to trigger the map saving condition based on the matching verification result includes:

[0122] If the matching verification result indicates a successful match and the matching pose correction amount is greater than the preset correction threshold, the map saving condition will not be triggered.

[0123] If the matching verification result indicates that the match has failed, the map saving condition is triggered.

[0124] In this way, when the matching verification result shows that the match is successful and the matching pose correction amount is greater than the preset correction threshold, the map saving condition will not be triggered, which can filter out abnormal data with serious pose deviation; when the matching verification result shows that the match fails, the map saving condition will be triggered, which ensures the safety of global map updates while taking into account the robot's environmental expansion and adaptation capabilities.

[0125] Secondly, this application provides a device for storing robot maps, the device comprising:

[0126] The acquisition module is used to acquire the current map and build a verification sub-map during the robot's task execution. The current map is updated in real time during the robot's movement. The verification sub-map is generated by sensor data collected by the robot after each preset distance traveled or after each preset time period of travel.

[0127] The matching module is used to match the verification sub-map with the pre-stored stable global map to obtain the matching result; the stable global map is a map that has been confirmed to be free of anomalies.

[0128] The save module is used to save the current map in response to the map save command, provided that the matching result triggers the map save condition.

[0129] The discard module is used to discard the current map in response to a map saving command if the matching result does not trigger the map saving condition.

[0130] Thirdly, this application provides a robot, including: a memory and a processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, causing the processor to perform the first aspect and / or various possible implementations of the first aspect as described above.

[0131] Fourthly, this application provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the first aspect and / or various possible embodiments of the first aspect.

[0132] Fifthly, this application provides a computer program product, including a computer program that, when executed by a processor, implements the first aspect and / or various possible implementations of the first aspect.

[0133] This application provides a method, apparatus, robot, medium, and product for storing robot maps. During task execution, the robot continuously acquires and dynamically updates the current map. It collects data from a first sensor according to a preset travel distance or time interval, periodically generating corresponding verification data. The verification data is matched with a pre-stored, stable global map in a normal state to obtain the matching result. When a map storage command is detected, if the matching result meets the map storage conditions, the current map is saved; otherwise, the current map is discarded. This method, based on dynamically updated current maps, periodically generates verification data and compares it with a stable global map. By combining map storage commands and matching results to rationally manage map storage logic, it solves the problem in existing SLAM algorithms of difficulty in quickly identifying dynamic environmental interference and abnormal robot poses. It avoids continuous mapping due to incorrect localization, thus preventing map overlay, misalignment distortion, and incorrect map storage and overwriting, improving the reliability of mapping. Attached Figure Description

[0134] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0135] Figure 1 This is a schematic diagram of a robot overlay provided in an embodiment of this application;

[0136] Figure 2 A schematic diagram illustrating a scenario for the robot map storage method provided in this application embodiment;

[0137] Figure 3 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 1 ;

[0138] Figure 4 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 2 ;

[0139] Figure 5 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 3 ;

[0140] Figure 6 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 4 ;

[0141] Figure 7 A schematic diagram of a first verification point cloud data provided in an embodiment of this application;

[0142] Figure 8A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 5 ;

[0143] Figure 9 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 6 ;

[0144] Figure 10 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 7 ;

[0145] Figure 11 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 8 ;

[0146] Figure 12 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 9 ;

[0147] Figure 13 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 10 ;

[0148] Figure 14 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 10 one;

[0149] Figure 15 This is a schematic diagram of the structure of the robot map storage device provided in the embodiments of this application;

[0150] Figure 16 This is a schematic diagram of the robot provided in an embodiment of this application.

[0151] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0152] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0153] In this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0154] In the embodiments of this application, the use of terms such as "first" and "second" is to distinguish between identical or similar items that have essentially the same function and effect. For example, "first sensor data" and "second sensor data" are merely used to distinguish different sensor data and do not limit their order. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that "first" and "second" do not necessarily imply that they are different.

[0155] In this application embodiment, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following associated objects have an "or" relationship.

[0156] First, the terms used in this application will be explained.

[0157] Simultaneous Localization and Mapping (SLAM): This algorithm is the core technology of robot autonomous navigation. It refers to the technical solution in which a robot, when moving in an unknown environment, relies on its own sensors to estimate its own position and attitude in real time, while simultaneously collecting and modeling information such as the outline of the surrounding environment and obstacles, so as to achieve simultaneous localization and mapping.

[0158] With the rapid development of intelligent robots, such as robotic vacuum cleaners and inspection robots, their applications in homes, warehouses, factories, and other scenarios are becoming increasingly widespread. These intelligent robots typically rely on Simultaneous Localization and Mapping (SLAM) technology to autonomously construct environmental maps and perform path planning and task execution based on the constructed maps.

[0159] In related technologies, taking robotic vacuum cleaners as an example, during the cleaning process, robotic vacuum cleaners can generate a current map in real time based on the SLAM method, and continuously update the cleaning map by performing difference detection with the pre-stored cleaning map.

[0160] However, in complex and dynamic environments, such as when encountering temporary obstacles, sensor occlusion, or displacement caused by collisions, existing SLAM algorithms may fail to promptly identify changes in localization and continue mapping based on the current, erroneous localization. This can lead to anomalies such as map overlay, map misalignment, or distortion. In such cases, erroneous maps may be saved, or incorrect maps may overwrite correct maps, affecting the reliability of the mapping.

[0161] For example, Figure 1 This is a schematic diagram of a robot overlay provided in an embodiment of this application, such as... Figure 1 As shown. When the robot is working normally, it is at position A. If it is disturbed by external forces and shifts, such as being moved to position B by someone, the robot will rebuild the map. If the robot is moved again at position B and rebuilds the map, multiple misaligned local maps will overlap, resulting in a map overlapping and disordered problem.

[0162] This application provides a method for storing robot maps. Figure 2 This is a schematic diagram illustrating a scenario for the robot map storage method provided in an embodiment of this application. For example... Figure 2 As shown. When robot 10 performs a living room cleaning task, the living room environment includes static facilities such as sofa 20, dining table 30, and television 40, as well as a user 50 in the room. During the cleaning process, the robot acquires the current map in real time and periodically builds a verification sub-map, for example, every 4 meters it travels. When a save map command is detected, the robot compares the built verification sub-map with a pre-stored stable global map to obtain a matching result. When the matching result triggers the map saving condition, the robot immediately saves the current map.

[0163] During the robot's task execution, the current map is acquired in real time. At the same time, the robot collects data from the first sensor every preset distance traveled or every preset time interval to generate corresponding verification data. Then, the verification data is matched with a pre-stored, stable global map that has been confirmed to be free of anomalies to obtain a matching result. When a map saving command is detected, if the matching result meets the map saving conditions, the current map is saved. If the matching result does not meet the saving conditions, the current map is discarded. Compared to existing technologies that directly compare the acquired map with a pre-stored stable map after the task is completed, this method can periodically build verification data while acquiring the current map in real time. The verification data is then matched and compared with the pre-stored stable map. Based on the map saving instructions and the matching results, it is determined whether the map saving conditions are met, thus completing the compliant saving of the current map. This eliminates the need to compare the acquired map with the pre-stored map, overcoming the shortcomings of existing SLAM algorithms that are difficult to quickly identify dynamic environmental interference and cannot detect abnormal robot poses in a timely manner. It effectively avoids the problem of continuous erroneous mapping caused by positioning deviations, improves adverse phenomena such as map overlap, position offset, image distortion, and erroneous map overlay storage, and significantly improves the overall stability and measurement accuracy of robot environmental mapping.

[0164] In this embodiment, the executing entity can be the main control processor, navigation processor, or edge computing unit connected to the autonomous mobile robot body, and the robot can be a sweeping robot, inspection robot, delivery robot, or other devices with indoor autonomous mobility.

[0165] The technical solutions of this application will be described in detail below with reference to specific embodiments. The specific embodiments described below can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of this application will be described below with reference to the accompanying drawings.

[0166] Figure 3 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 1 .like Figure 3 As shown, the method includes:

[0167] S101. During the robot's task execution, the current map is acquired and verification data is constructed. The current map is updated in real time during the robot's movement. The verification data is generated by the first sensor data collected by the robot after each preset distance traveled or after each preset time period traveled.

[0168] The tasks can be, for example, cleaning tasks, path planning tasks, inspection tasks, navigation tasks, or return-to-base tasks.

[0169] The current map is the main map that is updated in real time based on multi-sensor fusion data during the robot's current cleaning task. It can represent the wall structure, obstacles, furniture outlines, passage boundaries, and robot-accessible areas in the robot's working environment. This current map is displayed on the user's mobile application interface or the device's built-in display interface, but it is not saved.

[0170] The purpose of this step is to maintain the real-time validity of the environmental map throughout the entire process of the robot's normal operation, and to periodically generate verification data to provide a basis for subsequent map verification.

[0171] Understandably, the working environment of a robot is prone to dynamic changes such as object movement and scene shifts, making it impossible to adapt to the real-time environment using only an initial static map. Therefore, acquiring the current map throughout the robot's task execution allows it to perceive surrounding obstacles and spatial layout in real time, thereby rationally planning its route, avoiding collisions, and ensuring continuous operation.

[0172] In addition, using a periodic collection method with fixed distance or fixed duration can ensure that the collection rules for verification data are uniform and the intervals are regular, avoiding chaotic data collection. This enables regular and standardized map comparison and verification, making it easier to detect problems such as map distortion, sensor anomalies, and positioning deviations in a timely manner.

[0173] The verification data includes, but is not limited to: verification sub-map and target sensor data. The verification sub-map is a local sub-map generated based on the first sensor data collected by the robot for each preset distance traveled or each preset time interval. This verification sub-map is not displayed in the user's mobile application interface or the device's built-in display interface. The target sensor data is obtained by downsampling the first sensor data collected by the robot for each preset distance traveled or each preset time interval.

[0174] The preset distance is the movement distance threshold used to trigger sampling, for example, 4m.

[0175] The preset time period is a time threshold used to trigger sampling, such as 2 minutes. The preset distance and preset time period can be used alone or configured in parallel and a sampling can be performed once when either condition is met.

[0176] The first sensor data can be lidar point cloud, depth map from depth camera, visual feature points, infrared ranging results, or a combination thereof, used to obtain local environmental information perceived by the robot within a single sampling period.

[0177] The first type of sensor data can be laser detection data collected by line laser sensors and two-dimensional laser sensors, three-dimensional point cloud data output by three-dimensional point cloud sensors, image feature information extracted by visual cameras, attitude data fed back by inertial sensors, displacement data output by wheel speedometers, and environmental ranging data from ultrasonic radar. It can also be comprehensive data obtained by fusing the above-mentioned multiple types of sensor data.

[0178] Optionally, this application provides an implementation method for obtaining the current map, including:

[0179] The first step involves the robot continuously collecting raw sensor data, such as structural features and contour information of the surrounding environment, as well as its own motion posture and displacement increments, through onboard sensors including lidar, vision sensors, inertial measurement units, and odometers, while performing its tasks.

[0180] The second step is to perform unified preprocessing on the multi-source sensor data, complete data denoising, time synchronization and distortion correction, remove invalid interference data, and ensure that various types of sensor data can participate in SLAM algorithm operations in a collaborative manner.

[0181] The third step involves the SLAM module extracting stable environmental feature points and structural identifiers. Based on the feature matching results of adjacent data frames and combined with motion mileage data, the module calculates the robot's real-time pose and motion trajectory.

[0182] The fourth step involves introducing loop closure detection and global optimization strategies to correct the cumulative positioning errors caused by the robot's long-term movement, calibrate the global motion pose, and ensure the stability of the coordinate reference.

[0183] The fifth step involves using the optimized global pose as a reference to uniformly transform the single-frame environmental perception data into the global coordinate system, and then completing the splicing, fusion, and regional overlay of the environmental data frame by frame.

[0184] The sixth step involves continuously iterating and correcting the map content of the already traveled areas, incrementally building and filling new travel areas, and continuously updating the environmental grid or voxel information.

[0185] The seventh step is to generate and output the corresponding environmental data for the operation scenario in real time based on the real-time fusion and update of the environmental data, and finally obtain the current map.

[0186] S102. Match the verification data with the pre-stored stable global map to obtain the matching result; the stable global map is a map that has been confirmed to be without anomalies.

[0187] The map saving command can be generated in several ways. When the robot completes all predetermined tasks, such as cleaning the entire house, following an inspection route, completing navigation and transportation, and returning to its original location, the device will automatically issue a map saving command. Operators can also manually trigger the map saving operation via a mobile app, device control panel, or remote management platform, which will also generate the corresponding map saving command. In addition, the robot can autonomously trigger the map saving action after meeting preset saving conditions. For example, it will automatically output a map saving command in any scenario such as recognizing that the map has achieved large-scale coverage of the target area, the robot returning to the vicinity of a charging base station, or the mapping status stabilizing.

[0188] A stable global map can be understood as a reliable reference map from historical missions. This map can be manually reviewed and confirmed, or it can be added to the official map library after passing algorithm verification. "No anomalies" means that the map has not been identified as having errors that would affect subsequent navigation, such as overlay, significant misalignment, loop closure failure, structural distortion, or large-scale boundary distortion.

[0189] The purpose of this step is to use a stable global map without any anomalies as a standard reference after the map saving command is triggered, and to accurately match and compare the current verification data with it to determine whether there are any anomalies in the current verification data.

[0190] Understandably, if the generated map is saved directly after receiving the map saving instruction, it is prone to erroneous map information due to positioning drift, sensor errors, and temporary environmental changes. Therefore, by using a verified and stable global map as a benchmark for matching and verification, a unified comparison standard can be established, abnormal data can be filtered out, unqualified maps can be prevented from being retained, and the accuracy and reliability of the global map used in the long term can be guaranteed.

[0191] In this step, the robot can retrieve and load a stable global map corresponding to the current working environment from local memory, flash memory, solid-state storage media, or cloud synchronous cache, and then perform matching calculations between the pre-built verification data and the stable global map, and finally output the corresponding matching result.

[0192] S103. In response to the map saving command, if the matching result triggers the map saving condition, save the current map.

[0193] Understandably, if the current map is saved directly without setting matching criteria, erroneous maps caused by sensor errors, positioning offsets, temporary environmental changes, etc., will be directly retained.

[0194] Therefore, by using the matching results as the criterion, the quality of the map can be pre-screened. Only qualified maps with good environmental consistency and map deviation within a reasonable range will be saved, which can effectively improve the stability of the robot's subsequent navigation, obstacle avoidance and cleaning operations.

[0195] Optionally, this application provides two implementation methods for updating the stable global map based on the current map, including: The first method is to immediately update the stable global map using the current map while saving the current map. This method can synchronize map data in real time, quickly correct map deviations caused by environmental changes, and ensure the positioning accuracy of the robot throughout a single operation; The second method is to call the saved current map before starting the next task to complete the iterative update of the pre-stored stable global map. This method can avoid the computational overhead caused by frequent map updates during the operation, reduce running lag and data anomalies, and ensure the continuity and stability of task execution.

[0196] S104. If the matching result does not trigger the map saving condition, discard the current map.

[0197] Understandably, when the matching result fails to trigger the map saving condition, it means that the current map deviates significantly from the stable global map, and the map information can no longer accurately reflect the actual environment. Forcibly saving such erroneous maps will cause problems such as map data corruption, inaccurate positioning, and abnormal route planning. Therefore, unqualified maps can be discarded in a timely manner to ensure that the robot always operates based on a reliable standard map.

[0198] The robot map storage method provided in this application first acquires the real-time updated current map and constructs verification data when the robot performs a task. The verification data is generated by the first sensor data collected after the robot travels a preset distance or time period. The verification data is then matched with a pre-stored stable global map that has been confirmed to be free of anomalies to obtain a matching result. In response to a map storage command, if the matching result triggers the map storage condition, the current map is saved; otherwise, the current map is discarded. This method, by matching the real-time constructed verification data with the stable global map, can effectively solve the problem that existing SLAM algorithms are unable to quickly identify dynamic environmental interference and abnormal robot poses. It avoids map overlay, misalignment distortion, incorrect map storage, and overwriting caused by continuous mapping based on incorrect localization, thereby significantly improving the reliability of map construction.

[0199] Figure 4 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 2 .like Figure 4 As shown. This embodiment, based on the above embodiments, provides a detailed explanation of the implementation process of the robot map storage method. The robot map storage method provided in this embodiment includes:

[0200] S201. When the robot starts performing the task, clear the pre-stored verification data.

[0201] Understandably, the moment the robot officially starts cleaning and other tasks, it actively deletes the previously stored verification data and does not retain the verification content generated in the previous task or historical period, ensuring that the verification data for each task is independent and pure, and ensuring that the map verification results are accurate and effective.

[0202] By adopting this implementation method, the verification deviation caused by cross-task data residue can be effectively avoided, the probability of incorrectly saving abnormal maps can be reduced, and the occupation of memory and computing resources by historical cache can be reduced, so that the map storage and verification process has better temporal consistency and task independence, thereby improving the stability and reliability of robot map management.

[0203] Optionally, when the verification data is a verification sub-map, this application provides a possible implementation method for clearing the pre-stored verification data, including: discarding at least one type of verification sub-map pre-stored by the robot; the types of verification sub-maps include: two-dimensional grid map, three-dimensional voxel map, visual target point map, static map including static elements, verification sub-map including spatial categories, and verification sub-map including object categories.

[0204] S202. During the robot's task execution, the current map is acquired and verification data is constructed. The current map is updated in real time during the robot's movement. The verification data is generated by the first sensor data collected by the robot after each preset distance traveled or after each preset time period traveled.

[0205] Optionally, when the verification data is a verification sub-map, this application provides a method for constructing verification data, including: within each cycle of the robot traveling a preset distance or a preset time period, performing at least the following operations: acquiring global pose data of the robot determined based on the current map; converting the first sensor data collected in the current cycle to the global coordinate system based on the global pose data; and constructing a verification sub-map based on the converted first sensor data.

[0206] Global pose data refers to the robot's position and orientation information in the current map coordinate system, typically including two-dimensional plane coordinates, heading angle, and height or attitude parameters in the three-dimensional scene. This data can be obtained by fusing the results of simultaneous localization and mapping (SLAM) and wheel speed odometer and inertial measurement unit (INS) detection. In practical applications, this data can also be generated by visual localization, laser localization, or a combination thereof; this application does not limit this approach.

[0207] Understandably, the robot triggers a cycle based on a preset distance or a preset time period. Within each cycle, it first reads the global pose corresponding to its current position from the current map and uses this pose as the coordinate transformation reference. Subsequently, the first sensor data collected in the current cycle is synchronized and filtered to remove obvious anomalies, motion-blurred frames, or measurements with high noise. Then, based on the global pose, the original measurements in the local coordinate system are mapped to the global coordinate system, allowing environmental information acquired in different cycles to be superimposed in the same map reference system. After the coordinate transformation is completed, the transformed point set, grid information, or feature contours are fused and updated to form a verification sub-map for the corresponding cycle.

[0208] Determining the global pose based on the current map ensures a unified reference system for coordinate transformation, maintaining spatial consistency in environmental information collected across different time periods. Converting the first sensor data to the global coordinate system before constructing the verification sub-map reduces the impact of relative displacement caused by local robot movements, allowing the sub-map to more accurately reflect the actual environmental structure. The resulting verification sub-map can be used to verify the consistency of the current map when the map saving command is triggered, and provides a basis for discarding the current map if duplicate mapping, local misalignment, or structural anomalies are detected.

[0209] With this approach, the verification data no longer depends on the original sensor information of a single frame, but is organized in the form of a sub-map under global pose constraints. Therefore, it has higher spatial stability and comparability, which can reduce the impact of local noise and short-term drift on map storage judgment, improve the accuracy of map storage decisions, and reduce the probability of abnormal maps being saved incorrectly.

[0210] Optionally, this application provides several possible implementation methods for transforming the first sensor data collected in the current period to a global coordinate system based on global pose data, including:

[0211] The first method employs a rigid body coordinate transformation method. Based on the translation and rotation parameters included in the robot's global pose, a coordinate transformation matrix is ​​constructed. The original data in the local coordinate system collected by the first sensor is used as input. Spatial rotation and position translation calculations are completed through matrix multiplication, so that all sensor point cloud, ranging, attitude and other data are uniformly mapped to the global coordinate system, thereby achieving coordinate standardization transformation.

[0212] The second method uses a point-by-point coordinate calculation and transformation method. It separates the position coordinates, heading angle, attitude tilt angle and other independent parameters of the global pose. It performs point-by-point calculation on each set of sampled data output by the first sensor, corrects the local relative offset and angle deviation in turn, and generates the corresponding data coordinates in the global coordinate system one by one according to the global environmental reference origin and axis rules, so as to complete the unified transformation of the whole domain.

[0213] The third method uses a time-synchronous mapping transformation method. Based on the timestamp of the global pose, the first sensor data of the current cycle is time-aligned and calibrated to match the robot's global position and attitude information at the same time. Combined with sensor installation extrinsic parameters to compensate for installation offset errors, the time-aligned sensor data is then uniformly transformed into the global coordinate system through a coordinate mapping algorithm.

[0214] Optionally, when the verification data is target sensor data, this application provides a method for constructing verification data, including: within each cycle of the robot traveling a preset distance or a preset time period, performing at least the following operations: acquiring global pose data of the robot determined based on the current map; downsampling the first sensor data collected in the current cycle to obtain second sensor data; and performing coordinate transformation on the second sensor data based on the global pose data to obtain target sensor data.

[0215] Understandably, the robot automatically triggers a data acquisition and map building process every time it travels a preset distance or reaches a preset time. First, it determines its real-time global pose based on the current map. Then, it discretizes the first sensor data collected in the current cycle to generate second sensor data, which contains less data and more concentrated environmental features. Subsequently, combined with its global pose, it constructs a transformation matrix from the local coordinate system to the global coordinate system, uniformly mapping the sampling points, pixels, and feature points in the second sensor data to the global coordinate system, thereby generating the target sensor data.

[0216] S203. Match the verification data with the pre-stored stable global map to obtain the matching result; the stable global map is a map that has been confirmed to be without anomalies.

[0217] S204. In response to the map save command, set the map exception flag bit according to the matching result, and determine whether to trigger the map save condition according to the logical value type of the map exception flag bit.

[0218] Among them, the map anomaly flag is used to characterize the matching result between the verification data and the stable global map.

[0219] Understandably, after the robot completes the matching and comparison of the verification data with the stable global map, it will automatically determine whether the current map meets the preset saving requirements based on the map anomaly flag, thereby completing the automatic determination of map saving permissions.

[0220] Optionally, the map saving instruction can be determined in the following ways: after the robot finishes its task; in response to a user's trigger operation on the terminal device or the robot, the terminal device establishes a communication connection with the robot; before the robot's own battery level is lower than a preset battery threshold and it returns to the base station; synchronously generated after updating the stable global map using the current map; or generated after multiple cycles in each cycle when the robot travels a preset distance or passes through a preset time period.

[0221] The terminal device can be a mobile terminal, tablet terminal, or fixed human-machine interaction panel with robot control application installed. The trigger operation on the robot can be pressing the button on the robot body, clicking the touch panel, or a voice wake-up command.

[0222] The terminal device can be a mobile terminal, tablet terminal, or fixed human-machine interaction panel with robot control application installed. The trigger operation on the robot can be pressing the button on the robot body, clicking the touch panel, or voice wake-up command.

[0223] The preset battery threshold can be configured as the remaining battery percentage, the remaining voltage value, or the estimated mileage that can continue driving, so as to trigger map saving control in a timely manner when the battery is low.

[0224] Before returning to the base station, it refers to the stage where the robot has entered the return mode but has not yet completed the recharging and docking.

[0225] Understandably, after the robot completes cleaning, inspection, or delivery tasks, it can automatically generate a map saving command based on the task completion flag and enter the map saving judgment. When the user views the current map on the terminal device and sends a confirmation save request, the terminal device first establishes effective communication with the robot and then transmits the trigger information to the robot so that the robot can generate a map saving command after receiving the request. When the robot detects that the remaining power output by the battery management module is lower than the preset power threshold, the controller can determine that the robot is in the process of returning to home by combining the current pose, return path, and base station location, and trigger the map saving command before reaching the base station, thereby avoiding the loss of the current map data due to power depletion.

[0226] This map saving command triggering method enables the robot to enter the map saving control logic in different scenarios such as task completion, user confirmation, and low battery return. It coordinates with the matching judgment of the current map and verification data to effectively control the timing of map saving. By automatically saving after task completion, saving promptly upon user request, and forcibly saving before low battery return, the risk of data loss caused by abnormal power outages or failure to save in a timely manner can be reduced, and the timeliness and reliability of map storage can be improved.

[0227] In addition, map saving instructions can be generated through two periodic mechanisms: First, they can be generated synchronously after the current map is updated to the stable global map, so as to realize real-time linkage between map update and map saving trigger, and ensure that valid data is retained in time after the map update is completed; Second, map saving instructions can be selectively generated at intervals of multiple cycles with the robot traveling a specified distance or running for a specified duration, so as to reduce the high-frequency repetitive verification and map saving operations, and reduce the computing pressure and resource consumption of the equipment.

[0228] In one possible implementation, when the robot starts the task, it will also pre-initialize the map anomaly flag to a normal logical value.

[0229] Understandably, after the robot finishes its previous task, the map anomaly flag may retain historical anomaly states. If not reset in advance, this residual data will interfere with the judgment logic of the current task. Therefore, initializing the map anomaly flag to a normal logical value can clear historical flag interference, enabling independent judgment for each task, preventing the erroneous discarding of valid maps or the incorrect saving of abnormal maps due to initial anomalies, and ensuring the stable operation of the map verification and automatic map saving control process.

[0230] S205. If the map anomaly flag is a logical value indicating an anomaly, the map saving condition will not be triggered.

[0231] Understandably, when the map anomaly flag is an abnormal logical value, it indicates that the current map deviates from the stable global map beyond a reasonable range. This suggests issues such as robot positioning deviation, environment matching failure, and mapping anomalies, resulting in a map that cannot accurately reflect the actual working environment. Preventing the map saving condition from being triggered effectively blocks the retention of erroneous maps, avoiding continuous interference from abnormal maps with the robot's subsequent positioning, navigation, and path planning, thus ensuring the orderly operation of the entire system.

[0232] For example, when the map anomaly flag is a number 0, a code 00, a status code N, or a Boolean value false, the map saving condition is not triggered.

[0233] S206. When the map anomaly flag is a logical value indicating normality, the map saving condition is triggered. The abnormal logical value indicates that the verification data fails to match the stable global map, while the normal logical value indicates that the verification data matches the stable global map successfully.

[0234] Understandably, when the map anomaly flag is at a normal logical value, it indicates that the current map matches the stable global map well, without defects such as map distortion, positioning drift, or environmental mismatch, and can completely and accurately reproduce the actual working scenario. At this time, triggering the map saving condition can provide accurate and effective map data support for the robot's subsequent autonomous navigation, obstacle recognition, and various operational tasks.

[0235] For example, when the map anomaly flag is the number 1, the code 01, the status code Y, or the boolean value true, the map saving condition is triggered.

[0236] S207. Save the current map.

[0237] S208, Discard the current map.

[0238] Optionally, this application provides a possible implementation method, including: discarding at least one type of current map generated by the robot; the types of the current map include: two-dimensional grid map, three-dimensional voxel map, visual target point map, static map including static elements, verification sub-map including spatial categories, and verification sub-map including object categories.

[0239] S209. If the matching result triggers the map saving condition, then update the stable global map based on the current map.

[0240] Understandably, when the matching result between the verification data and the stable global map meets the preset map storage requirements, and the overall map status is determined to be normal, the robot can use the current map generated in this operation to iteratively correct or update the stable global map that was originally used as a comparison reference. Through this dynamic update method, the reference map can adapt to subtle changes in the environment in real time, maintaining the accuracy and applicability of the map in the long term.

[0241] The robot map storage method provided in this application involves clearing historical pre-stored verification data after the robot starts its task, acquiring and continuously updating the current map in real time during task execution, and collecting first sensor data according to a preset travel distance or preset time period to dynamically construct verification data. The verification data is then matched with a pre-stored stable global map without anomalies. Upon receiving a map storage instruction, a corresponding map anomaly flag is set based on the matching result. Different logical values ​​of the flag are used to determine whether the map storage conditions are met. If the matching fails and the corresponding abnormal logical value is not triggered, the map storage is not triggered and the current map is discarded. If the matching succeeds and the corresponding normal logical value is triggered, the map storage is triggered and the current map is saved. At the same time, the stable global map is synchronously updated using the compliantly saved current map.

[0242] This method, based on the matching and verification of sensor-generated verification data with a stable global map, overcomes the shortcomings of existing SLAM algorithms, such as the inability to quickly identify dynamic environmental interference and abnormal robot pose, and the tendency to rely on erroneous localization for mapping, resulting in map overlay, misalignment and distortion, and erroneous map retention and overlay. It effectively improves the problem of insufficient mapping reliability, enabling the robot to complete full-coverage cleaning of the home environment based on accurate and compliant maps during cleaning operations, ensuring home cleaning results, and thus effectively improving the user experience and product practicality.

[0243] Figure 5 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 3 .like Figure 5 As shown. This embodiment, based on the above embodiment, provides a detailed explanation of the process of matching the verification data with a pre-stored stable global map to obtain the matching result when the verification data is a verification sub-map. The robot map storage method provided in this embodiment includes:

[0244] S301. Select the corresponding matching strategy based on the map type corresponding to the verification sub-map.

[0245] Among them, map type is used to characterize the expression form of the verification sub-map, such as a two-dimensional raster map, a three-dimensional voxel map, a visual feature map, or a map containing spatial semantic category information.

[0246] The purpose of this step is to match the appropriate exclusive matching rules based on the map type to which the verification sub-map belongs, to achieve differentiated comparison and verification, avoid the problem that a single matching strategy cannot adapt to different map structures and environmental characteristics, and improve the overall adaptability and judgment accuracy of map matching verification.

[0247] Understandably, different types of verification sub-maps differ significantly in data dimensions, environmental characteristics, point density, and structural features. Using the same matching strategy uniformly can easily lead to low matching efficiency, large comparison errors, and poor adaptability. Therefore, by selecting a specific matching strategy based on map type, we can better suit the data characteristics of various maps, improving comparison efficiency, reducing false matches, and ensuring accurate and reliable map verification results.

[0248] S302. According to the matching strategy, the verification sub-map is matched with the stable global map to obtain the matching result.

[0249] Understandably, different map types have significantly different environmental characteristics and data structures. Performing matching operations based on customized matching strategies can better suit the data characteristics of the current map, avoiding matching biases and computational redundancy caused by a uniform algorithm. Completing map comparisons and obtaining matching results in this way makes the verification process more targeted, effectively improving matching accuracy and computational efficiency, and ensuring the reasonableness and accuracy of subsequent map anomaly detection and map storage control logic.

[0250] The robot map storage method provided in this application first selects a matching strategy suitable for the map type corresponding to the verification sub-map during the map matching process. Then, based on the selected matching strategy, the verification sub-map is matched with the stable global map to obtain the corresponding matching result. This method achieves accurate matching between the matching strategy and the verification sub-map type, improves the accuracy and efficiency of matching the verification sub-map with the stable global map, and further ensures the accuracy and stability of robot mapping.

[0251] Figure 6 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 4 .like Figure 6 As shown. This embodiment, based on the above embodiments, provides a detailed explanation of the process of matching the verification sub-map with the stable global map according to the matching strategy to obtain the matching result when the verification sub-map is a two-dimensional grid map or a three-dimensional voxel map. The robot map storage method provided in this embodiment includes:

[0252] S401. Determine the cloud data of the first verification point in the verification sub-map.

[0253] The verification sub-map can be a 2D raster map or a 3D voxel map.

[0254] The first verification point cloud data is a discrete set of points derived from the occupied cells in a 2D raster map, or a set of spatial points extracted from the occupied voxels in a 3D voxel map. Its coordinates are usually represented in the local map coordinate system.

[0255] Understandably, the verification sub-map contains a large number of invalid blank areas, noisy data, and redundant information, making it unsuitable for direct and accurate matching. Therefore, by determining the first verification point cloud data, we can focus on key effective features such as environmental contours and obstacles, reducing computational interference from invalid data, lowering the overall computational load, and improving the accuracy and efficiency of map matching.

[0256] In this step, the robot first identifies the storage and presentation format of the verification sub-map, sets corresponding extraction rules for different map formats, then filters valid map units based on preset numerical thresholds, converts the qualified valid map units into a standardized point cloud format, and finally integrates them to generate the first verification point cloud data corresponding to the verification sub-map.

[0257] For example, if the verification sub-map is in the form of a two-dimensional grid map, the robot will check the occupancy probability value of each grid in the map one by one, filter out the valid grids whose occupancy probability is greater than a preset threshold, and then perform coordinate transformation and data parsing on these valid grids with actual environmental information, and uniformly convert them into point cloud data of the verification sub-map, thereby obtaining the required first verification point cloud data.

[0258] For example, Figure 7 This is a schematic diagram of a first verification point cloud data provided in an embodiment of this application, such as... Figure 7 As shown, Figure 7 The black point cloud data in the middle is the first verification point cloud data.

[0259] Optionally, this application provides a possible implementation, including: acquiring map point cloud data within a preset area in the verification sub-map; performing pose estimation on the map point cloud data to determine a verification value; and using the verification value to correct the map point cloud data in the verification sub-map to obtain first verification point cloud data.

[0260] The preset area range can be, for example, the central area, boundary area, area with obvious structural features, or area of ​​user interest of the verification sub-map. The area range is limited by coordinate threshold, raster index, or spatial mask in order to extract local point cloud for verification from the verification sub-map.

[0261] Understandably, directly collected raw map point cloud data is susceptible to factors such as robot positioning jitter, posture shifts, and environmental interference, resulting in inaccurate coordinates and misaligned points. Selecting only point cloud data from a preset area can eliminate invalid and redundant data, narrowing the computational scope and reducing computational costs. The verification value obtained through pose estimation can quantify the actual deviations in the point cloud. Further data correction based on the verification value can effectively eliminate original errors, ensuring the accuracy and reliability of subsequent point cloud data used for matching, and improving the robustness of map comparison and verification.

[0262] This method can improve the accuracy of verification data without relying on manual intervention and provide reliable input for subsequent map matching. Since the local point cloud has already undergone attitude compensation, the probability of misjudgment caused by drift can be reduced when comparing the occupancy probability with the stable global map, thereby improving the stability of map storage judgment and the reliability of map storage.

[0263] S402. Perform a global coordinate system transformation on the first verification point cloud data to obtain the second verification point cloud data.

[0264] Understandably, the first verification point cloud data is generated based on the robot's local perspective, and its coordinate origin and orientation are only adapted to the robot itself, which is not consistent with the spatial reference of the global map. If it is directly used for matching, problems such as position misalignment, angle offset, and matching failure will occur. Therefore, only by transforming the first verification point cloud data into a global coordinate system can we ensure that the point cloud data is aligned with the reference map space, reduce matching errors, and ensure the authenticity and reliability of the map verification results.

[0265] In this step, for example, a rigid body transformation method based on the pose matrix can be used. The robot first reads the real-time global pose, decomposes the corresponding translation vectors and rotation angles, and uses these to construct a global coordinate transformation matrix. Each coordinate point in the first verification point cloud is substituted into the transformation matrix one by one, and the angle rotation correction and spatial position translation calculation are completed simultaneously. The new coordinate information of all point clouds is calculated in batches, all points are uniformly mapped to the global coordinate system, and finally integrated and processed to obtain the second verification point cloud data.

[0266] Alternatively, a step-by-step transformation method based on coordinate step-by-step calculation can be adopted. Using the global coordinate origin as a reference, the robot first compensates for its own lateral and longitudinal positional deviations, completing the initial correction of the point cloud's basic position. Then, combined with the robot's attitude parameters such as heading and pitch angles, the angles of the point cloud feature points are corrected to eliminate directional deviations caused by local observation perspectives. After completing the layered conversion and calibration of position and attitude, all point cloud data can be adapted to the global coordinate standard, thereby generating standardized second-level verification point cloud data.

[0267] S403. For each second verification point cloud data, query the probability of the target occupying the corresponding coordinate position in the stable global map.

[0268] The target occupancy probability is used to characterize the likelihood that a stable global map is occupied at a corresponding coordinate location. When the verification sub-map is a 2D raster map, the corresponding target occupancy probability is the raster occupancy probability; when the verification sub-map is a 3D voxel map, the corresponding target occupancy probability is the voxel occupancy probability.

[0269] Understandably, the robot sequentially traverses each second verification point cloud data that has undergone global coordinate transformation. For each point in the verification point cloud, based on its global coordinates, it first locates the corresponding spatial position in the stable global map. Then, using this location point as the center, it extracts the local map data of the corresponding position in the stable global map. Finally, it performs a detailed comparison between the data of this point in the verification point cloud and the extracted local map data, and queries and reads the probability value of the environmental target occupancy corresponding to this coordinate position in the stable global map.

[0270] By querying the corresponding occupancy probability of each second verification point one by one, fine-grained point-to-point comparison can be achieved, avoiding the judgment bias caused by the overall rough comparison, and making the subsequent map matching results more accurate and reliable.

[0271] S404. If the probability of the target occupying the target is greater than the preset probability threshold, then the second verification point cloud data is determined to be successfully matched.

[0272] The preset probability threshold is used to distinguish between valid and invalid matches, and its value can be set according to map resolution, sensor noise, or environmental complexity.

[0273] Understandably, the target occupancy probability can reflect the distribution of obstacles or environmental entities at the corresponding location in a stable global map. The higher the probability value, the higher the credibility of the existence of a fixed environmental structure in that area.

[0274] Therefore, when the probability of the target being occupied exceeds the preset probability threshold, it indicates that the spatial characteristics of the current verification point are highly consistent with the recorded content of the base map, and the location environment information is consistent. Therefore, it can be determined that the cloud data of the second verification point is successfully matched.

[0275] For example, suppose there are N points in the verification sub-map point cloud. Iterate through each point in the "verification sub-map point cloud" and obtain the occupancy probability of that point in the grid cell of the 2D grid map. If the occupancy probability of that point is greater than a preset probability threshold, then the point is considered to be a successful match.

[0276] S405. Calculate the first proportion of the second verification point cloud data that successfully matched, and determine the matching result based on the first proportion.

[0277] It is understandable that the matching result of a single point is easily affected by environmental noise, minor occlusion, or acquisition error, and cannot represent the overall matching effect of the entire local area.

[0278] Therefore, the single-point matching status of all second verification point cloud data can be summarized, the first proportion of successfully matched points in all verification points can be calculated, and then the proportion can be compared with a preset threshold. When the proportion is greater than the preset threshold, the overall matching is considered successful.

[0279] This method can effectively reduce the interference caused by individual abnormal points, measure the degree of overlap of environmental features from the perspective of the overall region, make the judgment rules of map matching more rigorous and the results more reliable, accurately obtain effective matching conclusions, and provide a stable and reliable judgment basis for subsequent map saving and retention operations after successful matching.

[0280] In this step, the robot first counts the total number of second verification point clouds participating in the comparison, then counts the number of valid points that are determined to be successfully matched, divides the number of successfully matched points by the total number of verification points to calculate the first proportion, and then compares this proportion with the preset proportion threshold to complete the unified determination of the matching results according to the numerical relationship.

[0281] The robot map storage method provided in this application, during the map matching process, for verification sub-maps of two-dimensional raster maps or three-dimensional voxel maps, first extracts the corresponding first verification point cloud data, then converts it to the global coordinate system to generate second verification point cloud data. It then queries the occupancy probability of each point cloud data point at its corresponding coordinate position on the stable global map. When the occupancy probability exceeds a preset threshold, a single point is considered successfully matched. Finally, the proportion of valid matching point clouds is calculated, and the final matching result is determined by combining this proportion. This method, based on a quantitative matching approach of point cloud coordinate transformation and occupancy probability comparison, adapts to different types of sub-map detection needs, effectively improving the quantification degree and discrimination accuracy of map matching.

[0282] Figure 8 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 5 .like Figure 8 As shown. This embodiment, based on the above embodiment, provides a detailed explanation of the process of matching the verification sub-map with the stable global map according to the matching strategy to obtain the matching result when the verification sub-map is a 3D voxel map. The robot map storage method provided in this embodiment includes:

[0283] S501. Determine the feature point data in the verification sub-map.

[0284] Among them, feature point data is a set of points generated by transforming structured voxels with line features and surface features; in the three-dimensional voxel map scene, surface features refer to structured voxels that present a continuous planar distribution in the local point cloud, while line features refer to structured voxels that present an angular and edge-like structure in the local point cloud.

[0285] The purpose of this step is to extract key point data with stable geometric structures, such as line features and surface features, from the verification sub-map in 3D voxel format, and to remove invalid voxels and noisy data with no distinguishability.

[0286] Understandably, a complete verification sub-map contains a large number of blank voxels, noisy voxels, and irregular environmental data. Direct full comparison would result in high computational cost and poor anti-interference capability. Therefore, by determining feature point data, we can focus on stable features such as fixed contours and angular planes in the environment, making subsequent feature matching more accurate and efficient.

[0287] In this step, the specific type and data storage structure of the verification sub-map are first identified. Then, all basic units of the map are traversed according to preset structural feature judgment rules to filter out target units containing effective geometric structures such as line features and area features. Next, data parsing and format unification conversion are performed on the selected effective units, integrating them to form a standardized set of feature points. Finally, the extraction and determination of feature point data in the verification sub-map are completed.

[0288] For example, when the verification sub-map is a 3D voxel feature map, the robot will traverse all voxel units in the map one by one, filter out the structural voxels with line features and surface features, and then perform point analysis and data conversion on the qualified feature voxels, and uniformly convert them into the verification sub-map point cloud, thereby accurately completing the extraction and output of feature point data.

[0289] Optionally, this application provides a possible approach, including: acquiring map point cloud data within a preset area in the verification sub-map; performing pose estimation on the map point cloud data to determine a verification value; using the verification value to correct the map point cloud data in the verification sub-map to obtain third verification point cloud data; and determining voxel data that satisfy preset structural features from the third verification point cloud data to obtain feature point data.

[0290] The preset area is a locally defined spatial region pre-delineated within the three-dimensional space of the verification sub-map.

[0291] Preset structural features refer to fixed geometric structural features in three-dimensional space, such as preset linear structural features or preset planar structural features.

[0292] Understandably, the process begins by acquiring map point cloud data within a preset area of ​​the verification sub-map. Pose estimation is then performed on this portion of the point cloud, and a verification value is obtained. This verification value is used to uniformly correct all map point cloud data in the verification sub-map, generating a corrected third verification point cloud. Next, from the optimized third verification point cloud, voxel data possessing preset line and surface features are selected, and finally, valid feature point data is extracted. This method effectively reduces interference from environmental noise and pose errors, ensuring the stability and accuracy of feature point data, and further improving the robustness of the overall map matching verification.

[0293] S502. For each feature point data, determine the target feature voxel corresponding to the feature point data in the stable global map.

[0294] The target feature voxels include: surface feature voxels, in which the local point cloud is distributed in a planar manner; and line feature voxels, in which the local point cloud is distributed in an angular line manner.

[0295] The purpose of this step is to verify the data of each extracted feature point in the sub-map and match the target feature voxels with corresponding spatial locations and consistent geometric structure features in the stable global map.

[0296] Understandably, feature point data has a clear spatial location and a specific geometric structure (line or surface). If the corresponding target feature voxels are not matched one by one, the feature comparison will lose its accurate reference, resulting in problems such as the mixing of different types of features and misalignment of spatial locations.

[0297] Therefore, matching target feature voxels for each feature point can not only achieve targeted comparison of features of the same type, avoiding invalid retrieval and misjudgment of matching, but also narrow the comparison range, reduce computational redundancy, and ensure the accuracy of subsequent feature deviation calculation and matching determination.

[0298] S503. Determine the geometric distance between the target feature voxel and its nearest neighbor feature voxel.

[0299] Among them, the nearest neighbor feature voxel is the same type of feature voxel that is located within the preset search range around the target feature voxel in the stable global map, belongs to the same line structure or surface structure type as the target feature voxel, and has the smallest three-dimensional spatial distance.

[0300] Geometric distance refers to the shortest spatial distance between voxels calculated based on the differences in feature structure types. When comparing face feature voxels, the shortest vertical distance between voxel planes is calculated. When comparing line feature voxels, the shortest spatial distance between voxel edges is calculated.

[0301] The purpose of this step is to use the matched target feature voxel as a reference to retrieve the nearest neighbor feature voxels of the same type within its surrounding range, and to calculate the geometric distance according to the structural type of each type of voxel.

[0302] For example, if both the target feature voxel and its nearest neighbor feature voxel are planar feature voxels, then the shortest spatial distance between the two sets of planar structures is calculated; if both the target feature voxel and its nearest neighbor feature voxel are line feature voxels, then the shortest distance between the two sets of spatial edge structures is calculated.

[0303] S504. If the geometric distance is less than the feature distance threshold, the feature point data is determined to be successfully matched.

[0304] The feature distance threshold can be set based on voxel resolution, sensor noise level, and environmental scale, so that the matching determination can take into account both robustness and sensitivity.

[0305] Understandably, since the target feature voxel is obtained by accurately matching the corresponding voxel in the stable global map based on the feature point data of the verification sub-map, after calculating the geometric distance between the target feature voxel and its nearest neighbor feature voxel, this geometric distance is numerically compared with a preset feature distance threshold. If it is determined that the geometric distance is within the error range allowed by the threshold, it can be proven that the spatial position and structural morphology of the two feature voxels are highly consistent, and thus it can be inferred that the single feature point data corresponding to the voxel has been successfully matched.

[0306] S505. Calculate the second proportion of successfully matched feature point data, and determine the matching result based on the second proportion.

[0307] It is understandable that the matching results of a single feature point are easily affected by local environmental interference, sensor acquisition errors, and minor changes in environmental structure, and cannot fully reflect the overall map matching status of the entire area.

[0308] Therefore, we can first count the total number of feature points participating in the verification, then filter and count the number of qualified matching feature points, and calculate the second proportion. We can then compare this proportion with a preset proportion threshold. When the proportion is greater than the preset proportion threshold, we can determine that the overall matching is successful, which provides effective support for subsequent map retention and storage operations.

[0309] This method can effectively avoid misjudgment caused by individual abnormal feature points, and measures the degree of overlap of structural features between maps from a global perspective, making the judgment logic of map matching more rigorous and the final matching result more objective and reliable.

[0310] The robot map storage method provided in this application, when verifying that the sub-map is a 3D voxel map, first extracts feature point data from the map, matches each feature point one by one with the target feature voxels corresponding to each feature point in the stable global map, calculates the geometric distance between the target feature voxel and its neighboring feature voxels, and determines that the feature point is successfully matched when the geometric distance is less than a preset feature distance threshold. By statistically analyzing the second proportion of qualified matching feature points, the final map matching result is obtained through comprehensive judgment. This method uses feature voxel distance comparison matching logic for 3D voxel maps, which can adapt to the environmental detection needs of 3D space, accurately quantify the degree of feature matching, and effectively improve the accuracy and rationality of 3D map matching.

[0311] Figure 9 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 6 .like Figure 9 As shown. This embodiment, based on the above embodiment, provides a detailed explanation of the process of matching the verification sub-map with the stable global map according to the matching strategy to obtain the matching result when the verification sub-map is a visual target point map. The robot map storage method provided in this embodiment includes:

[0312] S601. Determine the first visual feature point in the verification sub-map and the second visual feature point in the stable global map.

[0313] The visual target point map can be either a visual feature point map or a 3D visual landmark map. This type of map can be constructed from image data collected and output by a visual sensor. The visual sensor, combined with Visual Simultaneous Localization and Mapping (VSLAM) algorithms, generates the corresponding visual feature point map or 3D visual landmark map.

[0314] Understandably, visual features are extracted from the verification sub-map to be tested and the stable global map used as a benchmark. The visual feature points extracted from the verification sub-map are recorded as the first visual feature points, and the visual feature points extracted from the stable global map are recorded as the second visual feature points, thus completing the distinction and pre-acquisition of visual feature points of the two different types of maps.

[0315] S602. Perform feature matching on the first visual feature point and the second visual feature point to determine the successfully matched visual feature point pairs.

[0316] Among them, visual feature point pairs refer to the pairing combinations formed by the first visual feature point of the verification sub-map and the corresponding second visual feature point in the stable global map after matching and filtering.

[0317] The purpose of this step is to establish a one-to-one correspondence between the first visual feature point and the second visual feature point, to select effective feature combinations that can correspond to each other, and to eliminate invalid features that are unrelated or have too large differences.

[0318] Understandably, using the second visual feature points of the stable global map as the matching benchmark, feature similarity matching is performed on the first visual feature points of the verification sub-map to match the first visual feature points with the highest similarity for each second visual feature point, thereby obtaining a one-to-one pair of visual feature points.

[0319] S603. Based on visual feature point pairs, determine the relative pose of the verification sub-map relative to the stable global map.

[0320] Understandably, by using the one-to-one visual feature point pairs between the verification sub-map and the stable global map as constraints, and combining them with a visual geometry solution algorithm, the translation and rotation parameters of the verification sub-map relative to the baseline stable global map are calculated, thus obtaining the relative pose transformation relationship between the two.

[0321] In this step, for example, an epipolar geometry algorithm can be used. This algorithm first extracts the two-dimensional pixel coordinates of the first visual feature points of the verification sub-map and the second visual feature points of the stable global map, respectively, and removes abnormal mismatch points to complete data preprocessing. Secondly, based on the two sets of one-to-one corresponding two-dimensional feature point coordinates, the fundamental matrix and the essential matrix are calculated to establish the epipolar geometric constraint relationship between the two images. Finally, the essential matrix is ​​decomposed and the rotation and translation between the coordinate systems are calculated, thereby accurately determining the relative pose of the verification sub-map relative to the stable global map.

[0322] Alternatively, the n-point perspective pose (PnP pose) algorithm can be used. This algorithm first obtains the 3D spatial coordinates of the second visual feature point in the stable global map based on the matched visual feature point pairs, and simultaneously collects the 2D pixel coordinates of the first visual feature point in the verification sub-map. Secondly, it combines the visual sensor to associate and bind the 3D spatial points and 2D pixel points, constructs geometric constraint equations, and forms the calculation conditions for pose solving. Finally, it solves the constraint equations through iterative optimization, continuously corrects the rotation matrix and translation vector, and outputs the optimal transformation parameters after convergence, thereby calculating the accurate relative pose of the verification sub-map to the stable global map.

[0323] S604. Determine the matching result based on the relative pose.

[0324] Understandably, after obtaining the relative pose of the verification sub-map relative to the stable global map, for example, we can first calculate the difference between the relative pose and the global pose used when constructing the verification sub-map; then, we compare the difference with the preset pose difference. If the difference is less than the preset pose difference, the match is considered successful, thus providing a valid basis for the subsequent map saving operation.

[0325] The robot map storage method provided in this application, when the verification sub-map is a visual target point map, determines the first visual feature points of the verification sub-map and the second visual feature points of the stable global map respectively, completes bidirectional matching of the two sets of feature points, and filters out the effective matching feature point pairs. Based on the successfully matched feature point pairs, the relative pose of the verification sub-map relative to the stable global map is calculated, and the final matching result is determined based on the deviation of the relative pose. This method adopts a judgment method that combines feature point matching with pose calculation for visual maps, which is adapted to the data characteristics of visual target point maps. It can accurately measure the positional deviation between maps and effectively improve the rationality and detection accuracy of map matching in visual scenes.

[0326] Figure 10 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 7 .like Figure 10As shown. This embodiment, based on the above embodiment, provides a detailed explanation of the process of matching the verification sub-map with the stable global map according to the matching strategy to obtain the matching result when the verification sub-map is a static map with static elements. The robot map storage method provided in this embodiment includes:

[0327] S701. Extract the first set of static elements from the verification sub-map and extract the second set of static elements from the stable global map.

[0328] Among them, a static map refers to a map mainly composed of environmental elements that remain unchanged over a long period of time, such as wall outlines, fixed furniture, and doorway boundaries. Static elements are used to represent the stable geometric structure in the indoor environment.

[0329] The purpose of this step is to extract stable and unchanging static elements from two different maps to form two corresponding sets of elements.

[0330] Understandably, dynamic elements are susceptible to environmental changes and object movement, making them unsuitable for long-term comparative analysis, while static elements have fixed structures and stable features. Therefore, by extracting the static element sets from both sets of maps separately, dynamic interference can be eliminated, ensuring the accuracy and stability of subsequent map structure comparison results.

[0331] One possible implementation includes at least one of the following static elements: a wall above a preset height, a door position, and the outline of fixed furniture.

[0332] The preset height can be set to a fixed value, such as 2.5m, or it can be set to a height threshold range, such as 2m to 2.5m, to adapt to the actual detection needs of different scenarios.

[0333] S702. Perform a global coordinate system transformation on the first static element set to obtain the third static element set.

[0334] Understandably, the first set of static elements is generated based on the local coordinate system of the verification sub-map and cannot be directly compared and matched with the second set of static elements under the stable global map.

[0335] Therefore, a global coordinate system transformation can be performed on the first static element set to uniformly map it to a global coordinate system based on the stable global map, thus obtaining the third static element set. In this way, the static element set of the verification submap can be accurately compared with the static element set in the stable global map, ensuring that both are in the same coordinate system.

[0336] In this step, for example, coordinate transformation can be achieved based on the registration of static feature points of landmarks. First, multiple sets of fixed landmark elements from the same source are selected from the first set of static elements and the second set of static elements, which are used as reference constraint points for coordinate registration. Second, the transformation parameters for the transformation from local coordinates to global coordinates are solved by using the corresponding coordinate differences of the landmark elements, and a coordinate mapping model is established. Finally, based on the completed registration model, the coordinate conversion of the first static elements is completed in batches, and all transformation results are integrated to form the third set of static elements.

[0337] Alternatively, coordinate transformation can be performed based on the relative pose matrix. First, the rotation matrix and translation vector of the verification sub-map relative to the stable global map are determined, thus establishing a complete transformation relationship from the local coordinate system to the global coordinate system. Next, all elements in the first static element set are traversed, and their local coordinates are substituted into the coordinate transformation formula to perform coordinate mapping calculations. Finally, all transformed static element coordinates are unified and integrated, outlier data is removed, and the results are neatly stored to generate a standard third static element set.

[0338] S703. Determine the matching degree between the third static element set and the second static element set.

[0339] Understandably, after completing the unified transformation from local coordinates to global coordinates, the elements in the third static element set and the second static element set are compared, and then the overall matching degree between the two sets of static element sets is calculated and obtained.

[0340] In this step, the matching degree can be evaluated, for example, by calculating the spatial distance between elements. First, structural elements of the same category are extracted from the two sets of static elements, and a one-to-one correspondence is established between the elements. Next, the spatial distance deviation of each pair of static elements in the global coordinate system is calculated, and the deviation data of all elements are summarized to obtain the average error value. Finally, the average distance error is compared with a preset error standard to obtain the overall matching degree of the two sets of static elements.

[0341] The matching degree can also be evaluated by calculating the percentage of overlapping elements. First, all static elements in the third and second static element sets are traversed, and a reasonable spatial matching neighborhood is defined based on their global coordinates. Next, corresponding homologous static elements are searched one by one within the neighborhood, and the total number of successfully matched static elements is counted. Finally, the number of successfully matched elements is divided by the total number of static elements to calculate the percentage of overlapping elements, and this percentage is used as the overall matching degree between the two sets.

[0342] S704. Compare the matching degree with the element matching threshold to determine the corresponding matching result.

[0343] Understandably, the matching degree is compared with the preset element matching threshold. When the matching degree is greater than the element matching threshold, it can be determined that the static elements are matched successfully as a whole. This means that the scene structure of the verification sub-map and the stable global map is highly consistent, which can provide a reliable basis for the retention of the current map in the future.

[0344] For example, when a wall structure with a height greater than a preset height is selected as the static element, this application provides a specific implementation scenario; wherein, assuming the preset height is set to 2.5m, the implementation process is as follows:

[0345] The first step is to extract wall structure elements with a height of 2.5m or more from both the verification sub-map and the stable global map. The wall elements extracted from the verification sub-map are designated as the first static element set, and the wall elements extracted from the stable global map are designated as the second static element set.

[0346] The second step is to perform a global coordinate system transformation on the wall elements belonging to the first static element set, so that the wall elements under the local coordinates are uniformly mapped to the global coordinate system, forming the transformed third static element set.

[0347] The third step is to traverse each wall unit in the third static element set one by one, and within the range of the second static element set, retrieve the target wall that is closest to the current wall's spatial position, thus completing the association and pairing of the two sets of wall elements.

[0348] The fourth step is to calculate the spatial distance between the paired walls in sequence, compare the distance value with the preset distance threshold, and determine that the single set of wall elements is qualified when the wall spacing is less than the distance threshold.

[0349] The fifth step is to count the number of all matching walls, divide the number of matching walls by the total number of walls in the third static element set, and calculate the overall matching degree of the static elements.

[0350] The sixth step is to compare the calculated matching degree with the preset element matching threshold. If the matching degree is greater than the element matching threshold, it is determined that the two sets of static wall elements are successfully matched, and the corresponding element matching result is output.

[0351] The robot map storage method provided in this application extracts corresponding first and second static element sets from a verification sub-map and a stable global map, respectively, during map matching. After transforming the first static element set into a global coordinate system, a third static element set is obtained. The matching degree between the third and second static element sets is calculated and compared with a preset element matching threshold to determine the final map matching result. This method performs comparison and matching based on static environmental elements, is unaffected by dynamic clutter, and provides a more stable and reliable matching basis, effectively improving the anti-interference capability and accuracy of map matching.

[0352] Figure 11 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 8 .like Figure 11 As shown. This embodiment, based on the above embodiment, provides a detailed explanation of the process of matching the verification sub-map with the stable global map according to the matching strategy to obtain the matching result when the verification sub-map includes spatial categories. The robot map storage method provided in this embodiment includes:

[0353] S801. Identify the first spatial category information in the verification sub-map and identify the second spatial category information in the stable global map.

[0354] It is understandable that the construction dimensions and collection perspectives of the verification sub-map and the stable global map are different. Relying solely on point feature matching is easily subject to interference, while spatial category information can reflect the overall spatial structure attributes of the scene.

[0355] Therefore, by identifying the first spatial category information in the verification sub-map and the second spatial category information in the stable global map, the verification dimension can be supplemented at the spatial level, enriching the evaluation criteria for map matching and improving the comprehensiveness and anti-interference ability of map verification in complex scenarios.

[0356] In this step, identification can be performed based on environmental structural features, for example. First, objective features such as the environmental layout, regional division, and spatial structure boundaries of the verification sub-map and the stable global map are analyzed separately. Second, based on preset spatial classification rules, the spatial functions and structural forms of different regions are automatically classified and divided. Finally, the classified spatial feature information is summarized and integrated to extract and output the first spatial category information and the second spatial category information in sequence.

[0357] It can also be identified based on map annotation attributes. First, it iterates through the internal storage fields of the verification sub-map and the stable global map to retrieve the map's built-in spatial attribute annotations and classification labels; second, it filters out key category content such as area range, spatial type, and area attributes according to the preset spatial category classification criteria; finally, it integrates all the filtered spatial attribute content and organizes them into first spatial category information and second spatial category information respectively.

[0358] S802. Perform a global coordinate system transformation on the first spatial category information to obtain the third spatial category information.

[0359] Understandably, the verification sub-map uses an independent local coordinate system, which has translation, rotation and coordinate origin deviation from the stable global map. Directly comparing the two types of spatial information will result in problems such as regional misalignment, range offset and matching failure.

[0360] Therefore, by performing a global coordinate system transformation on the first spatial category information, we can unify the spatial reference benchmark, correct coordinate deviations, ensure the accuracy of subsequent comparisons of spatial region range, boundary position, and spatial distribution, and guarantee the authenticity and effectiveness of the category matching results.

[0361] In this step, coordinate transformation can be performed, for example, based on the pose transformation matrix. First, the rotation and translation parameters of the verification sub-map relative to the stable global map are obtained, and a unified transformation matrix from the local coordinate system to the global coordinate system is constructed. Second, all elements included in the first spatial category information, such as the region boundary, spatial points, and range coordinates, are traversed and substituted into the transformation matrix one by one to complete the coordinate conversion. Finally, all corrected spatial category data are integrated, the format is standardized, and the set is reorganized to finally generate standard third spatial category information.

[0362] Feature transformation can also be performed based on registration of common features. First, common spatial boundaries and fixed structural regions shared by the sub-map and the stable global map are selected and verified as reference benchmarks for coordinate registration. Second, the coordinate differences of common features are used to solve the offset compensation and angle correction between local and global coordinates, and a two-way coordinate mapping rule is established. Finally, the range and spatial parameters of each region of the first spatial category information are corrected and adjusted one by one according to the mapping rule to complete the overall coordinate transformation, thereby obtaining the third spatial category information under the global coordinates.

[0363] S803. Determine the matching rate between the third spatial category information and the second spatial category information.

[0364] Understandably, after the first spatial category information completes global coordinate transformation and is in the same coordinate system as the second spatial category information, the degree of matching between the two sets of spatial category information can be measured by determining the matching rate between the third spatial category information and the second spatial category information.

[0365] S804. Compare the matching rate with the category matching threshold to determine the corresponding matching result.

[0366] Understandably, a single matching rate value lacks a direct reference standard and cannot determine whether a spatial category meets the matching requirements. Therefore, by comparing the matching rate with a preset category matching threshold, it can be determined whether the spatial category meets the matching requirements. When the spatial category matching rate is greater than the category matching threshold, it can be determined that the spatial category is successfully matched, proving that the spatial structure of the verification sub-map is highly consistent with the stable global map, thus providing a valid basis for the subsequent retention and saving of the current map.

[0367] The robot map storage method provided in this application first identifies the first spatial category information corresponding to the verification sub-map and the second spatial category information corresponding to the stable global map, provided that the verification sub-map contains spatial categories. Then, a global coordinate system transformation is performed on the first spatial category information to obtain the third spatial category information. Next, the matching rate between the third spatial category information and the second spatial category information is calculated. Finally, the matching rate is compared with a preset category matching threshold to determine the corresponding spatial category matching result.

[0368] This method uses a unified coordinate benchmark for spatial categories and combines quantitative comparison to perform category consistency verification. It can effectively eliminate comparison errors caused by local coordinate system deviations, reduce the impact of environmental interference on category matching judgment, make the spatial category matching verification logic more standardized and rigorous, and further improve the accuracy and environmental adaptability of the overall map matching detection.

[0369] Figure 12 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 9 .like Figure 12 As shown. This embodiment, based on the above embodiment, provides a detailed explanation of the process of matching the verification sub-map with the stable global map according to the matching strategy to obtain the matching result when the verification sub-map includes object categories. The robot map storage method provided in this embodiment includes:

[0370] S901. Identify and verify the first object category information in the sub-map, and identify the second object category information in the stable global map.

[0371] Understandably, by identifying the first object category information in the verification sub-map and the second object category information in the stable global map, the verification basis can be increased from the dimension of entity objects, making up for the shortcomings of a single matching dimension and effectively improving the comprehensiveness of the overall map verification.

[0372] In this step, for example, environmental visual features can be used for identification. First, the shape features, outline size, and texture characteristics of various objects in the verification sub-map and stable global map are extracted from the environmental visual data collected by sensors. Second, based on preset object classification rules and intelligent recognition models, different entity targets are automatically classified and distinguished into specific categories of various objects. Finally, the classification results and associated attributes of all objects are integrated to generate the corresponding first object category information and second object category information.

[0373] Alternatively, it can perform retrieval and identification based on the map tag library. First, it retrieves the object tag database built into the verification sub-map and the stable global map, clarifying all preset object classification standards and category identifiers; second, it iterates through all entity targets in both maps one by one, matching the corresponding classification tags and attribute parameters of the entities; finally, it summarizes all successfully matched object categories, locations, ranges, etc., and outputs the first object category information and the second object category information respectively.

[0374] S902. Perform a global coordinate system transformation on the first object category information to obtain the third object category information.

[0375] Understandably, the verification sub-map uses an independent local coordinate system, which differs from the stable global map in terms of origin offset, rotation angle, and scale deviation. Directly comparing object categories can lead to problems such as misaligned object positions, range shifts, and confused correspondences.

[0376] Therefore, by performing a global coordinate system transformation on the first object category information, coordinate errors can be corrected, ensuring the accuracy of comparison of object position, distribution range and relative relationship, and ensuring that subsequent object similarity detection results are true and effective.

[0377] In this step, coordinate transformation can be performed, for example, using a pose transformation matrix. First, the translation, rotation, and scaling parameters of the verification sub-map relative to the stable global map are obtained, and a transformation matrix is ​​constructed to convert from the local coordinate system to the global coordinate system. Second, the coordinate points, region boundaries, and spatial ranges of all objects in the first object category information are traversed, and the coordinate conversion and correction are completed by substituting them one by one into the transformation matrix. Finally, all the corrected object category data are integrated, the data format and attribute associations are unified, and a complete third object category information is formed.

[0378] Coordinate transformation can also be performed based on registration with common reference objects. First, common reference targets such as fixed objects and landmark structures shared by the sub-map and the stable global map are screened and verified, and used as the basis for coordinate registration. Second, the positional differences of common reference objects in local coordinates and global coordinates are compared to calculate the offset compensation and angle correction of global coordinates, and a dedicated coordinate mapping rule is established. Finally, according to the mapping rule, the spatial parameters of all objects in the first object category information are corrected and adjusted one by one to complete the overall coordinate transformation, thereby obtaining the third object category information in the global coordinate system.

[0379] S903. Determine the similarity between the third object category information and the second object category information.

[0380] Understandably, after the first object category information is transformed into the third object category information, the two sets of object category information are in the same coordinate system. Through comparative analysis, the overlap of object types, consistency of spatial distribution and similarity of overall structure can be measured, and finally the overall similarity value between the two can be obtained.

[0381] S904. Compare the similarity with the category similarity threshold to determine the corresponding matching result.

[0382] Understandably, a single matching rate value lacks a direct reference standard and cannot determine whether an object match meets the matching requirements. Therefore, by comparing the similarity score with a category similarity threshold, it is possible to determine whether an object match meets the matching requirements. When the object category similarity is greater than this threshold, the object match is considered successful, indicating that the object categories and distribution of the current verification sub-map are highly consistent with the stable global map. This provides a reliable basis for subsequent retention and saving operations of the current map.

[0383] For example, the robot identifies and verifies the object category information such as tables, chairs, and cabinets in the sub-map, as well as the object category information of the same type in the corresponding area of ​​the stable global map; then it converts the object category information of tables, chairs, cabinets, etc. in the sub-map to the global coordinate system; then it calculates the similarity of the object category distribution and contour features of the two sets; then it compares the similarity with a preset threshold to determine whether the two maps are successfully matched.

[0384] The robot map storage method provided in this application embodiment, based on verifying that the sub-map contains object categories, extracts the first object category information in the verification sub-map and the second object category information in the stable global map respectively, then performs global coordinate system transformation processing on the first object category information to generate the third object category information under a unified coordinate reference, then calculates the similarity between the third object category information and the second object category information, and finally compares and analyzes the obtained similarity value with the preset category similarity threshold, and then determines and outputs the corresponding object category matching result.

[0385] This method achieves quantitative comparison of object types and location distributions across different maps by unifying the coordinate reference standard for object category information, thereby improving the accuracy and stability of object dimension matching verification and enriching the mapping capabilities. Figure 1 The consistency detection evaluation dimensions ensure that the map matching verification results are more comprehensive and reliable.

[0386] Figure 13 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 10 .like Figure 13 As shown. This embodiment, based on the above embodiments, provides a detailed explanation of the implementation process of matching the verification sub-map with the stable global map according to the matching strategy to obtain the matching result. The robot map storage method provided in this embodiment includes:

[0387] S1001. Determine the application scenario requirements and, based on these requirements, determine at least two different matching strategies to be executed.

[0388] Application scenario requirements can be determined by objective conditions corresponding to the actual environment in which the robot is located, including but not limited to the complexity of the environmental structure, the number of dynamic obstacles, or changes in lighting conditions; or they can be determined by the task, such as the required work area in robot cleaning operations.

[0389] Matching strategies include dedicated matching strategies for 2D raster maps, spatial matching strategies for 3D voxel maps, feature point matching strategies based on visual target point maps, and static element map matching strategies based on fixed structural elements of the scene. Various matching strategies can be flexibly selected and combined according to the actual application scenario requirements.

[0390] It is understandable that each type of map matching strategy has its own applicable scope and performance limitations. Using only a single matching strategy can easily lead to matching failures and excessive matching deviations in complex conditions such as drastic changes in lighting, highly repetitive scene structures, sparse environmental features, and numerous dynamic obstacles.

[0391] Therefore, by first clarifying the various constraints and requirements of the actual application scenario, and then using at least two matching strategies based on different principles in combination as needed, it is possible to achieve complementary advantages and cross-validation between different matching strategies, effectively reduce interference caused by complex environmental factors, reduce the occurrence of abnormal situations such as mismatch and matching failure, and thus improve the comprehensiveness, stability and reliability of map verification work.

[0392] S1002. Based on the preset fusion rules, the at least two sub-matching results obtained after executing at least two different matching strategies are fused to obtain the matching result.

[0393] The fusion rule can be a weighted fusion rule, and the specific implementation process is as follows: First, based on the scene adaptability, detection accuracy, and anti-interference performance of different matching strategies, a corresponding weight coefficient is assigned to each matching strategy (the stronger the adaptability and the higher the accuracy of the strategy, the higher the weight coefficient); second, the quantitative values ​​output by each matching strategy are collected (for example, the first proportion corresponding to successful matching of 2D grid map, the second proportion corresponding to successful matching of 3D voxel map, and the quantitative value corresponding to "pose deviation less than preset threshold" in visual target point map matching); finally, the quantitative values ​​of each matching strategy are weighted and calculated with the corresponding weight coefficient to obtain a comprehensive matching value, and then the comprehensive matching value is compared with the preset evaluation threshold to finally output the matching result.

[0394] Alternatively, a high-priority fusion rule can be adopted. The specific implementation process is as follows: First, based on the algorithm stability, environmental robustness, and detection reliability of the four matching strategies—two-dimensional raster map matching strategy, three-dimensional voxel map spatial matching strategy, visual target point map feature point matching strategy, and static element map matching strategy—a fixed priority order from high to low is predefined. Second, each matching strategy is run synchronously and outputs independent matching judgment results and detection data. The output results of each strategy are verified for validity according to the preset priority order. Finally, the valid results of high-priority matching strategies are adopted as the core judgment basis, and invalid or low-reliability low-priority results are discarded. A unified judgment is completed based on the filtered high-priority valid data, and the complete map matching result is finally output.

[0395] It is understandable that a single matching strategy is easily affected by factors such as feature sparsity and dynamic occlusion, resulting in distorted results. Different matching strategies have their own advantages and disadvantages.

[0396] Therefore, by using preset fusion rules to fuse at least two sub-matching results obtained after executing at least two different matching strategies, it is possible to achieve complementary advantages of multiple strategies, balance various error interferences, avoid the one-sidedness of a single judgment logic, and greatly improve the fault tolerance and reliability of map matching judgment.

[0397] The robot map storage method provided in this application first selects and runs at least two different matching strategies based on the actual application scenario requirements during the map matching process. Then, according to preset fusion rules, the sub-matching results output by the multiple matching strategies are fused and integrated to obtain a comprehensive final matching result. This method adopts a multi-strategy fusion matching mechanism, which makes up for the limitations of a single matching method, reduces the judgment bias caused by environmental changes, sensor errors, and other factors, and improves the fault tolerance, robustness, and comprehensive accuracy of the map matching results.

[0398] Figure 14 A flowchart illustrating the robot map storage method provided in this application embodiment. Figure 10 1. For example Figure 14 As shown. This embodiment, based on the above embodiments, provides a detailed explanation of the implementation process for discarding the current map when the matching result does not trigger the map saving condition. The robot map saving method provided in this embodiment includes:

[0399] S1101. When the matching result does not trigger the map saving condition, determine whether the verification data is located in a new area outside the stable global map.

[0400] Understandably, when the matching result does not trigger the map saving condition, the current verification data will not be discarded directly. Instead, an additional layer of regional verification logic will be added to detect the spatial distribution range of the currently collected verification data, thereby determining whether the verification data exceeds the existing environmental coverage area of ​​the stable global map.

[0401] S1102. If it is determined that the verification data is not located in the new area, discard the current map.

[0402] Understandably, when the verification data is not located in the new area, it indicates that the data does not exceed the existing coverage of the stable global map, and fails the verification only because there is too large a matching deviation between the data and the stable global map.

[0403] Therefore, in order to prevent the accumulation of abnormal data and avoid polluting the global map data, the current map will be discarded directly.

[0404] S1103. If it is determined that the verification data is located in a new area, then search for the matching pose correction amount corresponding to the verification data in the stable global map.

[0405] Among them, the matching pose correction amount refers to the position and angle deviation values ​​generated by the robot's real-time verification data relative to the stable global map, including translation distance deviation and posture rotation deviation. It is used to adjust the coordinates and posture of the misaligned verification data so that the verification data can achieve coordinate unification and alignment with the stored stable global map.

[0406] Understandably, when the matching result between the verification data and the stable global map does not trigger the map saving condition, and it has been determined that the verification data is located in a new area, the robot will not directly determine that the map is abnormal. Instead, it will continue to actively search for pose correction values ​​that can be adapted to the current verification data based on the global features of the stable global map, so as to determine whether to store the current map based on the search results of the pose correction values.

[0407] S1104. If no matching pose correction is found, the map saving condition is triggered.

[0408] Understandably, the new area is an unfamiliar environment being explored by the robot for the first time. There is no matching historical map information, and the inability to obtain pose corrections is a normal phenomenon caused by the environment itself, not a malfunction caused by robot mapping errors or positioning deviations. If map saving is prohibited at this time, the valid maps generated during normal exploration will not be preserved.

[0409] Therefore, if no matching pose correction is found, the map saving condition can be triggered to ensure that the mapping operation of the new area can be completed normally.

[0410] Optionally, if no matching pose correction is found, the stable global map can be updated based on the current map to ensure that the stable global map can adapt to real-time environmental changes.

[0411] Optionally, the failure to find a valid matching pose correction in this application includes two situations: the first is that the corresponding pose correction cannot be matched, that is, in the stable global map, the pose correction that matches the verification data cannot be retrieved; the second is that the pose correction exceeds the standard, that is, the matched pose correction is greater than the preset threshold.

[0412] S1105. If a matching pose correction is found, the verification data is transformed into coordinates based on the matching pose correction to obtain corrected verification data. The corrected verification data is then matched and verified with the stable global map to obtain the matching verification result. Based on the matching verification result, it is determined whether the map saving condition is triggered.

[0413] Understandably, when a matching pose correction value corresponding to the verification data is found in the stable global map, the robot uses this correction value to uniformly transform and adjust the coordinates and orientation of the current verification data to generate corrected verification data. Then, the corrected data is matched and compared with the stable global map again. Based on the result of the second matching, it is determined whether to allow the map to be saved.

[0414] Optionally, this application provides a possible implementation method for determining whether to trigger map saving conditions based on the matching verification result, including: not triggering map saving conditions when the matching verification result indicates successful matching and the matching pose correction amount is greater than a preset correction threshold; and triggering map saving conditions when the matching verification result indicates failed matching.

[0415] The preset correction threshold is a pre-set reasonable offset threshold used to limit the acceptable slight pose deviation within the normal driving range of the robot.

[0416] Understandably, if the corrected data can successfully match the stable global map, but the required position or angle adjustment exceeds the specified limit, the map saving condition will not be triggered; if the corrected verification data still cannot match and align with the stable global map, it will be judged as a newly added unknown environment, not a map malfunction, and map saving permission will be enabled normally.

[0417] The robot map saving method provided in this application first determines whether the verification data is in a completely new area outside the stable global map when the matching result fails to trigger the map saving condition. If it is not in a new area, the current map is discarded directly. If it is in a new area, the corresponding pose correction amount is retrieved in the stable global map. If no correction amount is found, the map saving condition is triggered directly. If a correction amount is found, the coordinate transformation of the verification data is performed using the correction amount. After obtaining the corrected verification data, it is matched and verified with the stable global map again. The final verification result is then used to determine whether the map saving condition is triggered.

[0418] This method adds a new area recognition and pose correction secondary verification mechanism for scenarios where map matching fails. It can reasonably distinguish between different scenarios of positioning anomalies and environmental expansion, avoiding the rejection of updates due to the misjudgment of newly added areas in the home environment as map anomalies. At the same time, it can optimize matching accuracy through pose correction, taking into account both map anomaly prevention and environmental adaptive update capabilities. It effectively balances the stability of map building and map expansion, further improving the adaptability and reliability of the robot for long-term home mapping.

[0419] Figure 15 This is a schematic diagram of the structure of the robot map storage device provided in the embodiments of this application, as shown below. Figure 15 As shown, this application embodiment provides a robot map storage device, the device comprising:

[0420] The acquisition module 1201 is used to acquire the current map and construct a verification sub-map during the robot's task execution. The current map is updated in real time during the robot's movement. The verification sub-map is generated by sensor data collected by the robot after each preset distance traveled or after each preset time period of travel.

[0421] The matching module 1202 is used to match the verification sub-map with the pre-stored stable global map to obtain the matching result; the stable global map is a map that has been confirmed to be without anomalies.

[0422] The save module 1203 is used to save the current map in response to the map save command, when the matching result triggers the map save condition.

[0423] The discard module 1204 is used to discard the current map in response to the map saving command when it is determined that the matching result does not trigger the map saving condition.

[0424] In one possible implementation, the acquisition module 1201 is further configured to acquire global pose data of the robot determined based on the current map;

[0425] The device also includes: a conversion module;

[0426] The conversion module is used to convert the first sensor data collected in the current cycle to the global coordinate system based on the global pose data.

[0427] The device also includes: a building module;

[0428] The module is specifically used to build a verification sub-map based on the transformed first sensor data.

[0429] In one possible implementation, the acquisition module 1201 is further configured to acquire global pose data of the robot determined based on the current map;

[0430] The device also includes: a processing module;

[0431] The processing module is used to downsample the first sensor data collected in the current cycle to obtain the second sensor data;

[0432] The conversion module is specifically used to perform coordinate transformation on the second sensor data based on global pose data to obtain the target sensor data.

[0433] In one possible implementation, the device further includes: a clearing module;

[0434] The clear module is used to clear the pre-stored verification data when the robot starts performing a task.

[0435] In one possible implementation, the discard module 1204 is specifically used to discard at least one type of verification sub-map pre-stored by the robot; the types of verification sub-maps include: two-dimensional grid map, three-dimensional voxel map, visual target point map, static map including static elements, verification sub-map including spatial category, and verification sub-map including object category.

[0436] In one possible implementation, the discard module 1204 is specifically used to discard at least one type of current map generated by the robot; the types of current maps include: two-dimensional grid map, three-dimensional voxel map, visual target point map, static map including static elements, verification sub-map including spatial category, and verification sub-map including object category.

[0437] In one possible implementation, the apparatus further includes: a determining module;

[0438] The determination module is used to determine whether the map saving conditions have been triggered in the following ways:

[0439] After the robot finishes performing its task;

[0440] In response to a user's triggering action on a terminal device or robot, the terminal device establishes a communication connection with the robot.

[0441] The robot detects that its own battery level is lower than the preset battery threshold and returns to the base station;

[0442] Generate synchronously after updating the stable global map using the current map;

[0443] This is generated after several cycles, each time the robot travels a preset distance or passes through a preset time period.

[0444] In one possible implementation, the determining module is also used to set a map anomaly flag based on the matching result, and to determine whether to trigger the map saving condition based on the logical value type of the map anomaly flag.

[0445] The device also includes: a trigger module;

[0446] The trigger module is specifically used to prevent the map saving condition from being triggered when the map anomaly flag is a logical value indicating an anomaly.

[0447] The trigger module is specifically used to trigger the map saving condition when the map anomaly flag is a logical value that indicates normality.

[0448] Among them, abnormal logical value representation verification data fails to match the stable global map, while normal logical value representation verification data matches the stable global map successfully.

[0449] In one possible implementation, the device further includes: a selection module;

[0450] The selection module is used to select the corresponding matching strategy based on the map type corresponding to the verification sub-map;

[0451] The matching module 1202 is specifically used to match the verification sub-map with the stable global map according to the matching strategy to obtain the matching result.

[0452] In one possible implementation, the determining module is also used to determine the first verification point cloud data in the verification sub-map;

[0453] The conversion module is also used to perform a global coordinate system transformation on the first verification point cloud data to obtain the second verification point cloud data;

[0454] The device also includes: a query module;

[0455] The query module is used to query the probability of target occupancy at the corresponding coordinate position in the stable global map for each second verification point cloud data.

[0456] The device also includes: a judgment module;

[0457] The judgment module determines that the second verification point cloud data is successfully matched if the target occupancy probability is greater than a preset probability threshold.

[0458] The determination module is specifically used to calculate the first proportion of the second verification point cloud data that has been successfully matched, and to determine the matching result based on the first proportion.

[0459] In one possible implementation, the acquisition module 1201 is also used to acquire map point cloud data within a preset area range in the verification sub-map;

[0460] The device also includes: an estimation module;

[0461] The estimation module is used to estimate the pose of map point cloud data and determine the verification value;

[0462] The determination module is specifically used to correct the map point cloud data in the verification sub-map using the verification value to obtain the first verification point cloud data.

[0463] In one possible implementation, the determining module is also used to determine feature point data in the verification sub-map;

[0464] The determination module is also used to determine the target feature voxel corresponding to each feature point data in the stable global map;

[0465] The determination module is also used to determine the geometric distance between the target feature voxel and its nearest neighbor feature voxel;

[0466] The judgment module is also used to determine if the geometric distance is less than the feature distance threshold.

[0467] The determination module is specifically used to calculate the second proportion of successfully matched feature point data, and to determine the matching result based on the second proportion.

[0468] In one possible implementation, the acquisition module 1201 is also used to acquire map point cloud data within a preset area range in the verification sub-map;

[0469] The estimation module is also used to estimate the pose of map point cloud data and determine the verification value;

[0470] The determination module is used to correct the map point cloud data in the verification sub-map using the verification value to obtain the third verification point cloud data.

[0471] The determination module is specifically used to determine the voxel data that meet the preset structural features from the third verification point cloud data, and obtain the feature point data.

[0472] In one possible implementation, the determining module is also used to determine the first visual feature point in the verification sub-map and the second visual feature point in the stable global map;

[0473] The determination module is also used to perform feature matching on the first visual feature point and the second visual feature point to determine the successfully matched visual feature point pair.

[0474] The determination module is also used to determine the relative pose of the verification sub-map relative to the stable global map based on visual feature point pairs;

[0475] The determination module is specifically used to determine the matching result based on the relative pose.

[0476] In one possible implementation, the apparatus further includes: an extraction module;

[0477] Extraction module; used to extract the first set of static elements from the verification sub-map and the second set of static elements from the stable global map;

[0478] The transformation module is also used to perform a global coordinate system transformation on the first static element set to obtain the third static element set;

[0479] The determination module is also used to determine the matching degree between the third static element set and the second static element set;

[0480] The determination module is specifically used to compare the matching degree with the element matching threshold to determine the corresponding matching result.

[0481] In one possible implementation, static elements include at least one of the following: a wall above a preset height, a door position, or the outline of fixed furniture.

[0482] In one possible implementation, the device further includes: an identification module;

[0483] The identification module is used to identify the first spatial category information in the verification sub-map and to identify the second spatial category information in the stable global map.

[0484] The transformation module is also used to perform a global coordinate system transformation on the first spatial category information to obtain the third spatial category information;

[0485] The determination module is also used to determine the matching rate between the third spatial category information and the second spatial category information;

[0486] The determination module is specifically used to compare the matching rate with the category matching threshold to determine the corresponding matching result.

[0487] In one possible implementation, the identification module is also used to identify first object category information in the verification sub-map and identify second object category information in the stable global map;

[0488] The conversion module is also used to perform a global coordinate system transformation on the first object category information to obtain the third object category information;

[0489] The determination module is also used to determine the similarity between the third object category information and the second object category information;

[0490] The determination module is specifically used to compare similarity with a category similarity threshold to determine the corresponding matching result.

[0491] In one possible implementation, the determining module is also used to determine application scenario requirements, and based on the application scenario requirements, to determine the execution of at least two different matching strategies;

[0492] The processing module is specifically used to perform fusion processing on at least two sub-matching results obtained after executing at least two different matching strategies, based on preset fusion rules, to obtain a matching result.

[0493] In one possible implementation, the device further includes: an update module;

[0494] The update module is used to update the stable global map based on the current map if the matching result triggers the map saving condition.

[0495] In one possible implementation, the judgment module is also used to determine whether the verification data is located in a new area outside the stable global map when the matching result does not trigger the map saving condition.

[0496] The discard module 1204 is specifically used to discard the current map when it is determined that the verification data is not located in the new area.

[0497] In one possible implementation, the device further includes: a search module;

[0498] The search module is used to search for the matching pose correction amount corresponding to the verification data in the stable global map when it is determined that the verification data is located in a new area.

[0499] The trigger module, if no matching pose correction value is found, is specifically used to trigger the map saving conditions;

[0500] The trigger module, if a matching pose correction value is found, specifically performs coordinate transformation on the verification data based on the matching pose correction value to obtain corrected verification data, and performs matching verification with the stable global map to obtain the matching verification result. Based on the matching verification result, it determines whether to trigger the map saving condition.

[0501] In one possible implementation, the triggering module is specifically used to prevent the map saving condition from being triggered when the matching verification result indicates a successful match and the matching pose correction amount is greater than a preset correction threshold.

[0502] The trigger module is specifically used to trigger the map saving condition when the matching verification result indicates that the matching has failed.

[0503] The robot map storage device provided in this application embodiment can be used to execute the robot map storage method in any of the above embodiments of this application. Its implementation principle and technical effect are similar, and will not be described again here.

[0504] Figure 16 This is a schematic diagram of the robot provided in an embodiment of this application. Figure 16 As shown, the robot provided in this embodiment includes at least one processor 1301 and a memory 1302. Optionally, the robot also includes a communication component 1303. The processor 1301, memory 1302, and communication component 1303 are connected via a bus 1304.

[0505] In a specific implementation, at least one processor 1301 executes computer execution instructions stored in memory 1302, causing at least one processor 1301 to perform the above-described method.

[0506] The specific implementation process of processor 1301 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.

[0507] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.

[0508] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.

[0509] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.

[0510] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.

[0511] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the above-described method.

[0512] The aforementioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.

[0513] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.

[0514] The division of units is merely a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.

[0515] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0516] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0517] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0518] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.

[0519] Finally, it should be noted that other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein, and is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.

Claims

1. A method for storing robot maps, characterized in that, The method includes: During the robot's task execution, the current map is acquired and verification data is constructed; the current map is updated in real time during the robot's movement; the verification data is generated from the first sensor data collected by the robot after each preset distance traveled or after each preset time period of travel. The verification data is matched with a pre-stored stable global map to obtain a matching result; the stable global map is a map that has been confirmed to be free of anomalies. In response to the map saving command, if it is determined that the matching result triggers the map saving condition, the current map is saved; If the matching result does not trigger the map saving condition, the current map is discarded.

2. The method according to claim 1, characterized in that, The verification data is a verification sub-map, and the construction of the verification data includes: During each cycle in which the robot travels the preset distance or the preset time period, at least the following operations are performed: Obtain the robot's global pose data based on the current map; The first sensor data collected in the current period is transformed into the global coordinate system based on the global pose data. The verification sub-map is constructed based on the converted first sensor data.

3. The method according to claim 1, characterized in that, The verification data is target sensor data, and the construction of the verification data includes: During each cycle in which the robot travels the preset distance or the preset time period, at least the following operations are performed: Obtain the robot's global pose data based on the current map; The data from the first sensor collected in the current period is downsampled to obtain the data from the second sensor. Based on the global pose data, the second sensor data is transformed into coordinates to obtain the target sensor data.

4. The method according to claim 1, characterized in that, The method further includes: When the robot begins to perform its task, the pre-stored verification data is cleared.

5. The method according to claim 4, characterized in that, The verification data is a verification sub-map, and clearing the pre-stored verification data includes: Discard all at least one type of verification sub-map pre-stored by the robot; the types of verification sub-maps include: two-dimensional grid map, three-dimensional voxel map, visual target point map, static map including static elements, verification sub-map including spatial category, and verification sub-map including object category.

6. The method according to claim 1, characterized in that, The discarding of the current map includes: The robot discards at least one type of current map generated by it; the types of current maps include: two-dimensional grid map, three-dimensional voxel map, visual target point map, static map including static elements, verification sub-map including spatial category, and verification sub-map including object category.

7. The method according to claim 1, characterized in that, The image saving instruction is determined in any of the following ways: After the robot finishes performing its task; In response to a user's triggering operation on a terminal device or the robot, the terminal device establishes a communication connection with the robot. The robot detects that its own battery level is lower than a preset battery threshold and returns to the base station; It is generated synchronously after updating the stable global map using the current map; This is generated after a series of cycles, each time the robot travels the preset distance or passes through the preset time period.

8. The method according to claim 1, characterized in that, Whether the map saving conditions are triggered is determined by the following: Set a map anomaly flag based on the matching result, and determine whether to trigger the map saving condition based on the logical value type of the map anomaly flag. If the map anomaly flag is a logical value indicating an anomaly, the map saving condition will not be triggered. When the map anomaly flag is a logical value indicating normality, the map saving condition is triggered. The abnormal logical value indicates that the verification data fails to match the stable global map, while the normal logical value indicates that the verification data successfully matches the stable global map.

9. The method according to claim 1, characterized in that, The verification data is a verification sub-map. The process of matching the verification data with a pre-stored stable global map to obtain a matching result includes: Select the corresponding matching strategy based on the map type corresponding to the verified sub-map; According to the matching strategy, the verification sub-map is matched with the stable global map to obtain the matching result.

10. The method according to claim 9, characterized in that, When the verification sub-map is a two-dimensional raster map or a three-dimensional voxel map, the step of matching the verification sub-map with the stable global map according to the matching strategy to obtain a matching result includes: Determine the first verification point cloud data in the verification sub-map; The first verification point cloud data is transformed into a global coordinate system to obtain the second verification point cloud data; For each second verification point cloud data, query the probability of target occupancy at the corresponding coordinate position of the second verification point cloud data in the stable global map; If the probability of the target being occupied is greater than a preset probability threshold, then the second verification point cloud data is determined to be a successful match. The first proportion of the second verification point cloud data that successfully matched is calculated, and the matching result is determined based on the first proportion.

11. The method according to claim 10, characterized in that, Determining the first verification point cloud data in the verification sub-map includes: Obtain map point cloud data within a preset area in the verification sub-map; Pose estimation is performed on the map point cloud data to determine the verification value; The map point cloud data in the verification sub-map is corrected using the verification value to obtain the first verification point cloud data.

12. The method according to claim 9, characterized in that, When the verification sub-map is a 3D voxel map, the matching of the verification sub-map with the stable global map according to the matching strategy to obtain the matching result includes: Determine the feature point data in the verification sub-map; For each feature point data, determine the target feature voxel corresponding to the feature point data in the stable global map; Determine the geometric distance between the target feature voxel and its nearest neighbor feature voxel; If the geometric distance is less than the feature distance threshold, then the feature point data is determined to be successfully matched; The second proportion of the feature point data that were successfully matched is used to determine the matching result.

13. The method according to claim 12, characterized in that, The process of determining the feature point data in the verification sub-map includes: Obtain map point cloud data within a preset area in the verification sub-map; Pose estimation is performed on the map point cloud data to determine the verification value; The map point cloud data in the verification sub-map is corrected using the verification value to obtain the third verification point cloud data; The feature point data is obtained by determining the voxel data that satisfy the preset structural features from the third verification point cloud data.

14. The method according to claim 9, characterized in that, When the verification sub-map is a visual target point map, the matching of the verification sub-map with the stable global map according to the matching strategy to obtain the matching result includes: Determine the first visual feature point in the verification sub-map and the second visual feature point in the stable global map; Perform feature matching between the first visual feature point and the second visual feature point to determine the successfully matched visual feature point pairs; Based on the visual feature point pairs, the relative pose of the verification sub-map with respect to the stable global map is determined; The matching result is determined based on the relative pose.

15. The method according to claim 9, characterized in that, When the verification sub-map is a static map including static elements, the step of matching the verification sub-map with the stable global map according to the matching strategy to obtain a matching result includes: Extract a first set of static elements from the verification sub-map, and extract a second set of static elements from the stable global map; The first static element set is transformed in a global coordinate system to obtain the third static element set; Determine the matching degree between the third static element set and the second static element set; The matching degree is compared with the element matching threshold to determine the corresponding matching result.

16. The method according to claim 15, characterized in that, The static elements include at least one of the following: a wall above a preset height, the position of a door, and the outline of fixed furniture.

17. The method according to claim 9, characterized in that, When the verification submap is a verification submap that includes spatial categories, the step of matching the verification submap with the stable global map according to the matching strategy to obtain a matching result includes: Identify the first spatial category information in the verification sub-map and identify the second spatial category information in the stable global map; The first spatial category information is transformed into a global coordinate system to obtain the third spatial category information; Determine the matching rate between the third spatial category information and the second spatial category information; The matching rate is compared with the category matching threshold to determine the corresponding matching result.

18. The method according to claim 9, characterized in that, When the verification submap is a verification submap that includes object categories, the step of matching the verification submap with the stable global map according to the matching strategy to obtain a matching result includes: Identify the first object category information in the verification sub-map and identify the second object category information in the stable global map; The first object category information is transformed into a global coordinate system to obtain the third object category information; Determine the similarity between the third object category information and the second object category information; The similarity is compared with the category similarity threshold to determine the corresponding matching result.

19. The method according to claim 9, characterized in that, The step of matching the verification sub-map with the stable global map according to the matching strategy to obtain the matching result includes: Determine the application scenario requirements, and based on the application scenario requirements, determine at least two different matching strategies to be executed; Based on preset fusion rules, at least two sub-matching results obtained after executing at least two different matching strategies are fused to obtain the matching result.

20. The method according to claim 1, characterized in that, The method further includes: If the matching result triggers the map saving condition, the stable global map is updated based on the current map.

21. The method according to claim 1, characterized in that, The step of discarding the current map when the matching result does not trigger the map saving condition includes: When the matching result does not trigger the map saving condition, determine whether the verification data is located in a new area outside the stable global map; If it is determined that the verification data is not located in the new area, the current map is discarded.

22. The method according to claim 21, characterized in that, The method further includes: If it is determined that the verification data is located in the new region, then a matching pose correction amount corresponding to the verification data is searched in the stable global map; If the matching pose correction is not found, the map saving condition is triggered; If the matching pose correction is found, the verification data is transformed into coordinates based on the matching pose correction to obtain corrected verification data. The corrected verification data is then matched and verified with the stable global map to obtain a matching verification result. Based on the matching verification result, it is determined whether the map saving condition is triggered.

23. The method according to claim 22, characterized in that, The step of determining whether to trigger the map saving condition based on the matching verification result includes: If the matching verification result indicates a successful match and the matching pose correction amount is greater than a preset correction threshold, the map saving condition will not be triggered. If the matching verification result indicates a matching failure, the map saving condition is triggered.

24. A device for storing robot maps, characterized in that, The device includes: The acquisition module is used to acquire the current map and construct a verification sub-map during the robot's task execution; the current map is updated in real time during the robot's movement; the verification sub-map is generated by sensor data collected by the robot after each preset distance traveled or after each preset time period of travel. The matching module is used to match the verification sub-map with a pre-stored stable global map to obtain a matching result; the stable global map is a map that has been confirmed to be free of anomalies. A save module is used to save the current map in response to a save command, provided that the matching result triggers the map save condition. The discard module is used to discard the current map in response to a map saving command when it is determined that the matching result does not trigger the map saving condition.

25. A robot, characterized in that, include: Memory, processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory, causing the processor to perform the method as described in any one of claims 1-23.

26. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-23.

27. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method as described in any one of claims 1-23.