Method for processing a map, method for generating a reference map and respective devices
By obtaining and fusion multiple maps generated by the robot's multiple runs, and generating a benchmark map based on user interaction data and map attributes, the problem of robot map not being close to the real environment is solved, and the work efficiency and effect of the robot is improved.
Patent Information
- Application Number
- CN201911378181.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-12-27
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2039-12-27
AI Technical Summary
In the prior art, robots have problems that they are not close to the real environment in environmental map processing, which affects their work efficiency and effectiveness.
By obtaining multiple maps generated by the robot's multiple runs, combining user interaction data, map attributes and matching attributes, weighted fusion generates a benchmark map, providing more comprehensive environmental information, and allowing users to choose the right map for work in the user interaction interface.
The generated benchmark map can more accurately reflect the real environment, improving the work efficiency and service effect of the robot.
Smart Images

Figure CN113050617B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to the field of intelligent technology, and more particularly to a method for processing maps. One or more embodiments of the present invention also relate to an apparatus for processing maps, a method for generating a reference map, an apparatus for generating a reference map, a robot, a computing device, and a computer-readable storage medium. Background Art
[0002] With the development and practical application of artificial intelligence technology, robots, such as food delivery robots and cleaning robots, have become part of everyday life. While providing services, robots must be fully aware of their surroundings. For example, the maps used by cleaning robots directly impact their cleaning performance.
[0003] Therefore, how to enable robots to work on maps that are closer to reality has become a problem that people urgently want to solve. Summary of the Invention
[0004] In view of this, the present invention provides a method for processing maps. One or more embodiments of the present invention also relate to an apparatus for processing maps, a method for generating a reference map, an apparatus for generating a reference map, a robot, a computing device, and a computer-readable storage medium to address technical deficiencies in the prior art.
[0005] According to a first aspect of an embodiment of the present invention, a method for processing a map is provided, comprising: obtaining a baseline map and a historically generated map of a robot, wherein the baseline map is generated based on multiple maps generated during multiple runs of the robot; providing the baseline map and the historically generated map on a user interaction interface so that the user can select them as the map for this work; the historically generated map is one or more maps.
[0006] Optionally, obtaining the robot's baseline map includes: obtaining a currently generated map, where the currently generated map is generated based on the robot's current work; when the robot has not generated a baseline map, judging whether the currently generated map is distorted based on map attributes corresponding to the currently generated map; if not, synthesizing the currently generated map and the historically generated map to generate a baseline map.
[0007] Optionally, the method further includes: if the currently generated map is determined to be distorted, saving the currently generated map as a historically generated map.
[0008] Optionally, obtaining the robot's baseline map includes: obtaining a currently generated map, where the currently generated map is generated based on the robot's current work; when the robot has generated a baseline map, calculating a matching attribute between the currently generated map and the already generated baseline map; if the matching attribute reaches a preset value, synthesizing the currently generated map and the historically generated map to generate a new baseline map.
[0009] Optionally, the method further includes: if the matching attribute does not reach a preset value, saving the currently generated map as a historically generated map of the new environment.
[0010] Optionally, judging whether the currently generated map is distorted based on the map attributes corresponding to the currently generated map includes: judging whether the currently generated map is distorted based on any one or more map attributes of a start mapping reason attribute, an end mapping reason attribute, a map integrity attribute, a mapping mode attribute, a map area attribute, and a map additional attribute corresponding to the currently generated map.
[0011] Optionally, the method further includes: classifying the map integrity attribute probability of the input currently generated map through a trained neural network model to determine the map integrity attribute of the currently generated map.
[0012] Optionally, the synthesizing of the currently generated map and the historically generated map includes: weighted fusion of pixel values of overlapping areas of the currently generated map and the historically generated map based on respective user interaction data and weights corresponding to map attributes of the currently generated map and the historically generated map.
[0013] Optionally, the synthesizing of the currently generated map and the historically generated map includes: weighted fusion of pixel values of overlapping areas of the currently generated map and the historically generated map according to weights corresponding to user interaction data, map attributes, and matching attributes of the currently generated map and the historically generated map.
[0014] Optionally, the pixel values of the overlapping areas of the multiple maps in the reference map are obtained by weighted fusion according to any one or more corresponding weights of the user interaction data, map attributes, and matching attributes of the multiple maps.
[0015] Optionally, the user interaction data includes any one or more of: user map usage frequency data, user map scoring data, user map collection data, user map deletion data, user virtual wall usage data, and user partition usage data.
[0016] According to a second aspect of an embodiment of the present invention, an apparatus for processing maps is provided, comprising: a multi-map acquisition module configured to acquire a baseline map and a historically generated map for a robot, wherein the baseline map is generated based on multiple maps generated during multiple runs of the robot, and the historically generated map is one or more maps; and a map provision module configured to provide the baseline map and the historically generated map on a user interface for the user to select as a map for the current operation.
[0017] Optionally, the multiple map acquisition module includes: a map acquisition submodule configured to acquire a currently generated map, the currently generated map being generated based on the robot's current work; a distortion determination submodule configured to determine whether the currently generated map is distorted based on map attributes corresponding to the currently generated map when the robot has not yet generated the baseline map; and a synthesis submodule configured to synthesize the currently generated map and the historically generated map to generate a baseline map if the distortion determination submodule determines that the map is not distorted.
[0018] Optionally, the system further includes: a historical map saving module configured to save the currently generated map as a historically generated map if the distortion judgment submodule determines that the currently generated map is distorted.
[0019] Optionally, the multiple map acquisition module includes: a map acquisition submodule configured to acquire a currently generated map, the currently generated map being generated based on the robot's current work; a matching calculation submodule configured to, when the robot has already generated a baseline map, calculate a matching attribute between the currently generated map and the previously generated baseline map; and a synthesis submodule configured to synthesize the currently generated map and a previously generated map to generate a new baseline map if the matching attribute reaches a preset value.
[0020] Optionally, the system further includes: a new environment map saving module configured to save the currently generated map as a historically generated map of the new environment if the matching attribute does not reach a preset value.
[0021] Optionally, the distortion judgment submodule is configured to judge whether the currently generated map is distorted based on any one or more map attributes of the start mapping reason attribute, end mapping reason attribute, map integrity attribute, mapping mode attribute, map area attribute and map additional attribute corresponding to the currently generated map.
[0022] Optionally, it further includes: a map attribute determination module configured to classify the map integrity attribute probability of the input currently generated map through a trained neural network model to determine the map integrity attribute of the currently generated map.
[0023] Optionally, the synthesis submodule is configured to perform weighted fusion on the pixel values of the overlapping area of the currently generated map and the historically generated map according to the user interaction data and weights corresponding to the map attributes of each of the currently generated map and the historically generated map.
[0024] Optionally, the synthesis submodule is configured to perform weighted fusion on the pixel values of the overlapping area of the currently generated map and the historically generated map according to the weights corresponding to the user interaction data, map attributes and matching attributes of the currently generated map and the historically generated map.
[0025] According to a third aspect of an embodiment of the present invention, a method for generating a reference map is provided, comprising: obtaining a plurality of maps generated during multiple runs of a robot; and synthesizing the plurality of maps generated during the multiple runs of the robot to generate a reference map.
[0026] Optionally, synthesizing the multiple maps generated during multiple runs of the robot to generate a reference map includes: generating the reference map based on any one or more of user interaction data, map attributes, and matching attributes of the multiple maps.
[0027] Optionally, the method further includes: performing weighted fusion on pixel values of overlapping areas of the multiple maps according to any one or more corresponding weights of user interaction data, map attributes, and matching attributes of the multiple maps.
[0028] According to a fourth aspect of an embodiment of the present invention, an apparatus for generating a reference map is provided, comprising: a multiple map acquisition module configured to acquire multiple maps generated during multiple robot operations; and a synthesis module configured to synthesize the multiple maps generated during the multiple robot operations to generate a reference map.
[0029] Optionally, the synthesis module is configured to generate a reference map based on any one or more of user interaction data, map attributes, and matching attributes of each of the multiple maps.
[0030] Optionally, the synthesis module is further configured to perform weighted fusion on the pixel values of the overlapping areas of the multiple maps according to any one or more corresponding weights of the user interaction data, map attributes, and matching attributes of each of the multiple maps.
[0031] According to a fifth aspect of an embodiment of the present invention, a computing device is provided, comprising: a memory and a processor; the memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions: obtaining a robot's baseline map and a historically generated map, wherein the baseline map is generated based on multiple maps generated during multiple runs of the robot; providing the baseline map and the historically generated map on a user interaction interface so that the user can select them as the map for this work; the historically generated map is one or more maps.
[0032] According to a sixth aspect of an embodiment of the present invention, a computer-readable storage medium is provided, which stores computer instructions, and when the instructions are executed by a processor, the steps of the method for processing a map described in any embodiment of the present invention are implemented.
[0033] According to a seventh aspect of an embodiment of the present invention, a robot is provided, comprising: a memory and a processor; the memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions: obtaining multiple maps generated during multiple runs of the robot; and synthesizing the multiple maps generated during the multiple runs of the robot to generate a baseline map.
[0034] According to an eighth aspect of an embodiment of the present invention, a computer-readable storage medium is provided, which stores computer instructions. When the instructions are executed by a processor, the steps of the method for generating a reference map according to any embodiment of the present invention are implemented.
[0035] One embodiment of the present invention provides a method for processing maps, which obtains a robot's baseline map and a historically generated map. Since the baseline map is generated based on multiple maps generated during multiple runs of the robot, it is synthesized based on an intelligent algorithm and can provide relatively comprehensive environmental information. The historically generated map is the map used by the robot when it worked before, and can more accurately provide map information collected under historical circumstances. Two types of maps, the baseline map and the historically generated map, are provided in a user interaction interface for the user to select as the map for this work. The user can then select a map that is closer to the current real environment as needed based on the current real environment, allowing the robot to work on a map that is closer to the real environment, further improving the robot's service efficiency and effectiveness.
[0036] One embodiment of the present invention provides a method for generating a baseline map. Since this method obtains multiple maps generated during multiple runs of a robot, synthesizes the multiple maps generated during the multiple runs of the robot, and generates a baseline map, the baseline map can provide relatively comprehensive environmental information, allowing the robot to operate on a map that is closer to the real environment. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] Figure 1 is a flowchart of a method for processing a map provided by one embodiment of the present invention;
[0038] Figure 2a This is a schematic diagram of a user interaction interface of a cleaning robot provided by one embodiment of the present invention;
[0039] Figure 2b is a schematic diagram of a user interaction interface of a cleaning robot provided by another embodiment of the present invention;
[0040] Figure 3 is a flowchart of a method for processing a map provided by one embodiment of the present invention;
[0041] Figure 4 is a flowchart of a method for processing a map provided by one embodiment of the present invention;
[0042] Figure 5 is a flowchart of a method for processing a map provided by one embodiment of the present invention;
[0043] Figure 6 is a flowchart of a method for processing a map provided by one embodiment of the present invention;
[0044] Figure 7 is a structural diagram of a device for processing a map provided by one embodiment of the present invention;
[0045] Figure 8 is a structural diagram of a device for processing a map provided by one embodiment of the present invention;
[0046] Figure 9 is a structural diagram of a device for processing a map provided by one embodiment of the present invention;
[0047] Figure 10 is a flowchart of a method for generating a reference map provided by one embodiment of the present invention;
[0048] Figure 11 1 is a schematic structural diagram of an apparatus for generating a reference map provided by one embodiment of the present invention;
[0049] Figure 12 This is a structural block diagram of a computing device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0050] The following description sets forth numerous specific details to facilitate a thorough understanding of the present invention. However, the present invention can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without departing from the scope of the present invention. Therefore, the present invention is not limited to the specific implementations disclosed below.
[0051] The terms used in one or more embodiments of the present invention are for the purpose of describing specific embodiments only and are not intended to limit one or more embodiments of the present invention. The singular forms "a", "the" and "the" used in one or more embodiments of the present invention and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in one or more embodiments of the present invention refers to and includes any or all possible combinations of one or more associated listed items.
[0052] It should be understood that although the terms first, second, etc. may be used to describe various information in one or more embodiments of the present invention, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of one or more embodiments of the present invention, the first may also be referred to as the second, and similarly, the second may also be referred to as the first. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
[0053] In the present invention, a method for processing a map is provided. The present invention also relates to an apparatus for processing a map, a method for generating a reference map, an apparatus for generating a reference map, a robot, and a computer-readable storage medium, which are described in detail one by one in the following embodiments.
[0054] Figure 1 A flowchart of a method for processing a map according to one embodiment of the present invention is shown, including steps 102 to 104. The method for processing a map can be applied to a robot, or can be applied to a robot client installed on a smart device such as a mobile phone, which can communicate with the robot via a network to exchange information and instructions.
[0055] Step 102: Obtain a baseline map and a historically generated map of the robot, wherein the baseline map is generated based on multiple maps generated during multiple runs of the robot, and the historically generated map is one or more maps.
[0056] For example, the robots may include cleaning robots, restaurant service robots, vending robots, and the like.
[0057] The obtaining of the robot's reference map may be generating a reference map or reading a previously generated reference map. The historically generated map may be one or more maps generated by mapping or cleaning prior to the current mapping or cleaning.
[0058] In an embodiment of the present invention, the reference map can be generated using image stitching technology. Image stitching technology can seamlessly stitch two or more partially overlapping images to produce an image with a wider viewing angle. Image stitching technology primarily includes three components: feature extraction, image registration, and image fusion. Common algorithms include the SRUF-based image stitching algorithm, the ORB-based image stitching algorithm, and the SIFI-based image stitching algorithm.
[0059] Step 104: providing the reference map and the historically generated map on a user interaction interface so that the user can select them as the current working map.
[0060] For example, in Figure 2a The user interaction interface 201 of the cleaning robot 200 shown provides a reference map and a historically generated map. The user can select a map that is closer to the current real environment as needed in the interface based on the current real environment, allowing the robot to work on a map that is closer to the real environment. For example, the screen used by the cleaning robot 200 to display the user interaction interface is a touch screen, and the user can select by clicking "reference map" or "historically generated map" on the touch screen. For another example, the cleaning robot 200 can provide an option switch button. When the option switch button is pressed by the user, the selected object switches between "reference map" or "historically generated map".
[0061] For example, in Figure 2b The robot client's user interface 203 on a smart device 202, such as a mobile phone, provides a baseline map and a historically generated map. The user can select either "Baseline Map" or "Historically Generated Map." Based on the user's selection, the robot client sends corresponding selection instructions to the robot, which then uses the baseline map or historically generated map to perform functions such as path planning, area cleaning, virtual wall cleaning, and customized cleaning.
[0062] It can be seen that since this method obtains a baseline map and a historically generated map, and the baseline map is a composite map of multiple maps generated during different operation processes of the robot, it can provide relatively comprehensive environmental information. The historically generated map is the map used by the robot when it worked before, and can more accurately provide the environmental information collected under the historical circumstances. The baseline map and the historically generated map are provided in the user interaction interface, so that the user can select a map that is closer to the current real environment as needed according to the current real environment, allowing the robot to work on a map that is closer to the real environment.
[0063] In image stitching technology, maps are stitched together after feature extraction, matching, and registration. However, the joints between multiple maps can be unnatural. To make the joints of the baseline map more natural and closer to the user's real environment, one or more embodiments of the present invention combine weights corresponding to any one or more of user interaction data, map attributes, and matching attributes to improve the baseline map. In this embodiment, the pixel values of the overlapping areas of the multiple maps in the baseline map are weighted and fused based on any one or more weights corresponding to any one or more of the user interaction data, map attributes, and matching attributes of each of the multiple maps.
[0064] Because this embodiment introduces the idea of weighted fusion based on one or more of user interaction data, map attributes, and matching attributes at the splicing point, the splicing point of the baseline map is affected by the weights corresponding to the user interaction data, map attributes, and matching attributes, making it smoother and more natural, closer to the real environment, and avoiding the situation where the same area is repeated multiple times and the map is overlapped. The information is comprehensive enough, enabling the robot to better implement functions such as path planning, area cleaning, virtual wall, and customized cleaning.
[0065] For example, interactive data such as users giving a high score to a map, users adding a map to their favorites, or users using a map frequently, indicates that the authenticity of the map pixel values at the joints is more reliable, and the corresponding weight is higher. However, interactive data such as users giving a low score to a map, or users using a map less frequently, indicates that the authenticity of the pixel values at the joints is less reliable, and the corresponding weight is lower. For another example, the map attributes may include one or more attributes such as the ratio of the map area to the maximum cleaned area among multiple maps, and the map integrity attribute. For example, if the ratio of the map area to the maximum cleaned area among multiple maps is large, the map integrity is better, and the corresponding weight is higher; otherwise, it is lower. For another example, the higher the degree of match between the currently generated map and the generated reference map, the higher the corresponding weight; otherwise, it is lower.
[0066] To facilitate updating or generating a baseline map using this user interaction data, one or more embodiments of the present invention store the corresponding user interaction data in response to a user performing an interaction on the baseline map and / or a historically generated map in the user interaction interface. For example, after the user interaction interface provides the baseline map and historically generated maps, the user can select the map they want to use for the current task as needed. The user can also perform user interaction operations such as rating, favorite, and deleting the map. The robot then stores the user interaction data generated by these user interactions, allowing it to use the stored user interaction data to update or generate the baseline map. The favorited map can be used as the default map for the user's next cleaning.
[0067] It should be noted that the embodiment of the present invention does not limit the user interaction data that can be used for weighted fusion, and the specific method can be determined based on the interactive operations provided in the implementation scenario. For example, the user interaction data may include: any one or more of: user map usage frequency data, user map scoring data, user map collection data, user virtual wall usage data, and user partition usage data. Since scoring, collection, virtual wall usage, and partition usage can indicate whether the environmental information of the corresponding map is more comprehensive and realistic, the use of these user interaction data in this embodiment can be used to reasonably assign weights to the pixel values in the overlapping areas of multiple maps, making the baseline map information at the joint closer to the real environment and more accurate.
[0068] The following examples illustrate how to determine the weights corresponding to the user interaction data of each of the multiple maps, the weights corresponding to the map attributes of each of the multiple maps, and the weights corresponding to the matching attributes between the multiple maps:
[0069] For example, the weight corresponding to user interaction data can be obtained as follows:
[0070] The weight of the user's map usage frequency data can be determined by the number of times the user uses the map. For example, if a user has used the map 5 times to clean, the weight of the user's map usage frequency data for the map is 5;
[0071] The weight of the user's rating data for the map can be determined by the user's rating of the map. If the user rates the map 5 (the rating range is 1-5), the weight of the user's rating data for the map is 5. If the user does not rate the map, the weight is 0.
[0072] The weight of the user's favorite map data can be determined by whether the user has favorited the map. If the user has favorited the map, the weight of the user's favorite map data is 1, otherwise it is 0.
[0073] The weight of the user's deletion of map data can be determined by whether the user has deleted the map. If the user has deleted the map, the weight of the user's deletion of map data is -1, otherwise it is 0.
[0074] The weight of the user's usage data of the virtual wall can be determined by whether the user uses the virtual wall function on the map. If the user uses the virtual wall function, the weight of the user's usage data of the virtual wall is 1, otherwise it is 0;
[0075] The weight corresponding to the user's usage data of the partition can be determined by whether the user uses the partition function on the map. If used, the weight corresponding to the user's usage data of the partition is 1, otherwise it is 0.
[0076] Map attributes, for example, may include: the ratio of the map area to the largest cleaned area among multiple maps, and map integrity attributes. The weights corresponding to these map attributes can be determined as follows:
[0077] The weight corresponding to the ratio of the map area to the maximum cleaned area among the multiple maps can be determined by the ratio of the map area to the maximum cleaned area among the multiple maps. For example, if the ratio is greater than a preset threshold (for example, the preset threshold is 0.6), the weight corresponding to the ratio of the map area to the maximum cleaned area among the multiple maps is the map weight plus 1, otherwise it is 0;
[0078] The map integrity attribute and its corresponding weight can be determined according to the map integrity attribute of the map. For example, if the map integrity attribute is complete and inclusive, the corresponding weight is 1. If the map integrity attribute is overlapping, tilted, or incomplete, the corresponding weight is 0.
[0079] The matching attribute and its corresponding weight can be determined by whether the matching degree is greater than a preset matching degree threshold. For example, if the matching degree is greater than the preset matching degree threshold, the corresponding weight is 1; otherwise, the corresponding weight is 0.
[0080] It should be noted that the above weighting methods are merely optional implementations of the present invention. In actual applications, different weighting methods corresponding to different user interaction data, different map attributes, and different matching attributes can be set according to the needs of the implementation scenario. The present invention does not limit this.
[0081] In order to make the weights corresponding to the multiple maps more reasonable, in one or more embodiments of the present invention, the weights of the multiple maps are further normalized, and the normalized weights are used for weighted fusion. Figure 3 , the method for processing the map is further described. Figure 3 A flowchart of a method for processing a map provided by an embodiment of the present invention is shown, and the specific steps include steps 302 to 316.
[0082] Step 302: Acquire multiple maps generated during multiple runs of the robot.
[0083] Step 304: extract features from the multiple maps.
[0084] Step 306: Perform image registration on the multiple maps and determine overlapping areas of the multiple maps based on the features of the multiple maps.
[0085] Step 308: Count the weights corresponding to the user interaction data of each of the multiple maps, the weights corresponding to the map attributes of each of the multiple maps, and the weights corresponding to the matching attributes between the multiple maps to determine the weights of each of the multiple maps.
[0086] Step 310: normalizing the weights of the plurality of maps to obtain normalized weights of the plurality of maps.
[0087] Step 312: extract pixel values from the corresponding overlapping areas of the map according to the normalized weights.
[0088] Step 314: Fusing the pixel values extracted from the overlapping areas of the multiple maps to obtain a reference map.
[0089] For example, if there are four maps A, B, C, and D, and their corresponding weights are 7, 3, 2, and 8, the normalized weights are 7 / 20, 3 / 20, 2 / 20, and 8 / 20, respectively. Then, using the normalized weights 7 / 20, 3 / 20, 2 / 20, and 8 / 20, we extract the corresponding proportions of pixel values from the overlapping areas of the corresponding maps A, B, C, and D, and fuse them to obtain the pixel values of the overlapping areas.
[0090] Step 316: Provide the reference map and the historically generated map on the user interaction interface so that the user can select them as the current working map.
[0091] In this embodiment, the weights of the multiple maps are normalized to make the weights corresponding to the multiple maps more reasonable, and the normalized weights are used for weighted fusion to make the synthesized reference map closer to the real environment.
[0092] The following describes in detail the implementation of obtaining a reference map according to an embodiment of the present invention.
[0093] In one or more embodiments of the present invention, when the robot has not generated a reference map, the distortion measurement is performed on the currently generated map, and the reference map is synthesized based on the undistorted currently generated map. Figure 4 , the method for processing the map is further described. Figure 4 A flowchart of a method for processing a map provided by an embodiment of the present invention is shown, and the specific steps include step 402 to step 410.
[0094] Step 402: Obtain a currently generated map, where the currently generated map is generated based on the robot's current work, and obtain a historically generated map.
[0095] After the current mapping or cleaning is completed, the currently generated map can be obtained. The historically generated map can be a map generated by mapping or cleaning before the current mapping or cleaning. The currently generated map can be a complete map of the environment or a partial map of the environment. In order to perform distortion measurement based on map attributes in subsequent steps, after obtaining the currently generated map, map attribute annotation can be performed. The following is an exemplary description of some map attributes in the embodiment of the present invention:
[0096] (1) The attribute of the reason for starting map building refers to the reason for triggering the robot to build a map, which can include: automatic cleaning triggering map building, automatic mopping triggering map building, edge cleaning triggering map building, etc.
[0097] (2) The attribute of ending mapping refers to the reason that triggers the robot to end mapping, which can include: cleaning end trigger, mopping end trigger, human operation trigger, etc. Specifically, by monitoring the robot's ending mapping behavior, the information that triggers the end of mapping is collected.
[0098] (3) Mapping mode attributes, for example, may include: building while scanning, building without scanning, and sweeping along the edge.
[0099] (4) Map integrity attributes may include four attribute values: overlap, tilt, complete inclusion, and incomplete inclusion. For example, in order to accurately determine the map integrity attribute, a trained neural network model (e.g., AlexNet) may be used to classify the map integrity attribute probabilities of the input currently generated map to determine the map integrity attribute of the currently generated map.
[0100] (5) Additional attributes of the map, including: virtual wall location information, robot charging station location information, automatic partition location information, map usage times, etc.
[0101] (6) Map area attributes, including map area, cleaning area, and maximum cleaning area. Map area refers to the area calculated based on the actual map; cleaning area refers to the actual cleaning area of the robot. Maximum cleaning area refers to the maximum area actually cleaned by the robot in all previous cleanings using a certain map.
[0102] When the robot is annotating the above map attributes, if the current behavior is map building, attributes (1)-(6) can be annotated; if the current behavior is cleaning, attributes (5)-(6) can be annotated.
[0103] Step 404: Determine whether the robot has generated a reference map.
[0104] For example, it is possible to determine whether the robot has generated a reference map by querying a map database.
[0105] Step 406: When the robot has not generated a reference map, it is determined whether the currently generated map is distorted according to map attributes corresponding to the currently generated map.
[0106] The embodiments of the present invention do not limit the specific method for determining whether the currently generated map is distorted. For example, whether the currently generated map is distorted can be determined based on any one or more map attributes of the currently generated map, including a map start reason attribute, a map end reason attribute, a map integrity attribute, a map mode attribute, a map area attribute, and a map additional attribute.
[0107] The decision method for determining whether the environment map is distorted can be set according to the implementation needs. For example, the decision can be made based on the distortion values corresponding to the following attributes: the reason for ending map construction, the map integrity attribute, and the robot charging socket location attribute. Specifically, for example, if two or less of the distortion values are 1, it is determined that the new environment map is not distorted. If more than two of the distortion values are 1, it is determined that the new environment map is distorted. The distortion values corresponding to each attribute are determined as follows:
[0108] When the attribute of ending mapping is triggered by cleaning, the corresponding distortion value is 0;
[0109] When the attribute of ending mapping is triggered by mopping, the corresponding distortion value is 0;
[0110] When the attribute of ending mapping is triggered by human operation, the corresponding distortion value is 1;
[0111] When the map integrity attribute is overlap, the corresponding distortion value is 1;
[0112] When the map integrity attribute is tilted, the corresponding distortion value is 1;
[0113] When the map integrity attribute is inclusive, the corresponding distortion value is 0;
[0114] When the map integrity attribute is incomplete, the corresponding distortion value is 1;
[0115] When the robot charging socket location attribute is "there is a socket", the corresponding distortion value is 0;
[0116] When the robot charging socket location attribute is no socket, the corresponding distortion value is 1.
[0117] It should be noted that the embodiments of the present invention do not restrict the map attributes used for distortion measurement. Distortion measurement can be performed using any one or more of the aforementioned attributes: the reason for ending mapping, the map integrity attribute, and the robot charging socket location. Other map attributes, or one or more, can also be used.
[0118] Step 408: If there is no distortion, synthesize the currently generated map and the historically generated map to generate a reference map.
[0119] For example, the pixel values of the overlapping area of the currently generated map and the historically generated map may be weightedly fused according to the user interaction data and the weights corresponding to the map attributes of the currently generated map and the historically generated map.
[0120] Optionally, if the currently generated map is determined to be distorted, the currently generated map is saved as a historically generated map to improve map utilization.
[0121] Step 410: providing the reference map and the historically generated map on a user interaction interface so that the user can select them as the current working map.
[0122] According to this embodiment, since the distortion of the currently generated map is measured when the robot has not generated a baseline map, and the baseline map is synthesized based on the undistorted currently generated map, the obtained baseline map is closer to the real environment, and can provide users with a more realistic environment map for user selection, further improving the service efficiency and effectiveness of the robot.
[0123] In one or more embodiments of the present invention, when the robot has already generated a reference map, a matching calculation can be performed on the currently generated map and the generated reference map, and the reference map can be synthesized based on the matched currently generated map. Figure 5 , the method for processing the map is further described. Figure 5A flowchart of a method for processing a map provided by an embodiment of the present invention is shown, and the specific steps include step 502 to step 510.
[0124] Step 502: Obtain a currently generated map, where the currently generated map is generated based on the robot's current work, and obtain a historically generated map.
[0125] Step 504: Determine whether the robot has generated a reference map.
[0126] Step 506: When the robot has generated a reference map, the matching attribute between the currently generated map and the generated reference map is calculated.
[0127] Step 508: If the matching attribute reaches a preset value, the currently generated map and the historically generated map are synthesized to generate a new reference map.
[0128] For example, the pixel values of the overlapping area of the currently generated map and the historically generated map may be weightedly fused according to the weights corresponding to the user interaction data, map attributes, and matching attributes of the currently generated map and the historically generated map.
[0129] Optionally, if the matching attribute does not reach a preset value, the currently generated map can be saved as a historically generated map of the new environment. Figure 4 In the illustrated embodiment, a baseline map of the new environment is generated.
[0130] Step 510: providing the reference map and the historically generated map on a user interaction interface so that the user can select them as the current working map.
[0131] According to this embodiment, since the matching attribute of the currently generated map and the previously generated reference map is calculated, when it is determined that the matching attribute reaches a preset value, it is determined that the currently generated map and the reference map are maps of the same environment, and the currently generated map and the historically generated map are synthesized to obtain an updated reference map, so that the synthesized reference map is closer to the real environment map for user selection, further improving the service efficiency and effectiveness of the robot.
[0132] Combined with the above Figure 4 and Figure 5 The embodiment shown, Figure 6 A flowchart of a method for processing a map provided by an embodiment of the present invention is shown, and the specific steps include step 602 to step 620.
[0133] Step 602: Obtain the currently generated map and the historically generated maps.
[0134] Step 604: Determine whether the robot has generated a reference map.
[0135] Step 606: If a reference map has been generated, calculate the matching attribute between the currently generated map and the generated reference map.
[0136] Step 608: Determine whether the matching attribute reaches a preset value.
[0137] Step 610: If the matching attribute reaches a preset value, the pixel values of the overlapping area of the currently generated map and the historically generated map are weightedly fused according to the weights corresponding to the user interaction data, map attributes, and matching attributes of the respective currently generated map and the historically generated map to obtain an updated baseline map.
[0138] Step 612: If the matching attribute does not reach a preset value, the currently generated map is saved as a historically generated map of the new environment.
[0139] Step 614: If no reference map exists, determine whether the currently generated map is distorted based on map attributes corresponding to the currently generated map.
[0140] Step 616: If there is no distortion, the pixel values of the overlapping area of the currently generated map and the historically generated map are weightedly fused according to the user interaction data and the weights corresponding to the map attributes of the currently generated map and the historically generated map to generate a reference map.
[0141] Step 618: If the currently generated map is determined to be distorted, the currently generated map is saved as a historically generated map.
[0142] Step 620: Provide the reference map and the historically generated map on the user interaction interface so that the user can select them as the current working map.
[0143] Below, one or more embodiments of the present invention are further described in conjunction with specific application scenarios to facilitate understanding.
[0144] Application scenario 1:
[0145] A robot that applies the method for processing maps according to one or more embodiments of the present invention, or a robot client installed on a smart terminal such as a mobile phone, obtains a baseline map and a historically generated map in response to user awakening (for example, the user clicks on the touch screen of the cleaning robot to wake up, presses the wake-up button of the cleaning robot, or wakes up by voice input, etc.), and provides the baseline map and the historically generated map on the user interaction interface for user selection, and implements path planning, area cleaning, virtual walls, custom cleaning and other functions based on the map selected by the user.
[0146] Application Scenario 2:
[0147] After building a map or completing cleaning, the cleaning robot annotates the map attributes of the currently generated map. It queries the map database for a baseline map for the cleaning robot. If a baseline map has been generated, the currently generated map is matched against the baseline map. If the matching attribute meets a preset value, the currently generated map is synthesized with a previously generated map. During this synthesis, the pixel values in the overlapping areas of the currently generated map and the previously generated map are weighted and fused based on the weights corresponding to the user interaction data, the weights corresponding to the map attributes, and the weights corresponding to the matching attributes of the currently generated map and the previously generated baseline map. If a baseline map does not exist, the map attributes corresponding to the currently generated map are used to determine whether the currently generated map is distorted. If the map is not distorted, the currently generated map and the previously generated map are synthesized to generate a baseline map. During this synthesis, the pixel values in the overlapping areas of the currently generated map and the previously generated map are weighted and fused based on the weights corresponding to the user interaction data and the weights corresponding to the map attributes. The newly generated baseline map and the previously generated map are sent to the cleaning robot client. The cleaning robot client provides the baseline map and the previously generated map on the user interface for the user to select as the map for the current work. The cleaning robot implements functions such as path planning, area cleaning, virtual wall, and customized cleaning based on the user-selected baseline map or historically generated map.
[0148] Application scenario 3:
[0149] A robot that applies the method for processing maps according to one or more embodiments of the present invention updates corresponding collection information, deletion information, scoring information, usage count information, and other information on the user interaction interface in response to a user performing interactive operations such as collecting, deleting, scoring, and clearing a baseline map and / or a historically generated map on the user interaction interface, so that the user can intuitively understand the relevant interactive information of the baseline map and the historically generated map, and provide assistance to the user in selecting the baseline map or the historically generated map.
[0150] Corresponding to the above method embodiment, the present invention also provides an embodiment of a device for processing a map. Figure 7 FIG. 1 shows a schematic diagram of a device for processing a map according to an embodiment of the present invention. Figure 7 As shown, the device includes: a plurality of map acquisition modules 702 and a map providing module 704 .
[0151] The multiple map acquisition module 702 can be configured to acquire a baseline map and a historically generated map of the robot, wherein the baseline map is generated based on multiple maps generated during multiple runs of the robot, and the historically generated map is one or more maps.
[0152] The map providing module 704 may be configured to provide the reference map and the historically generated map on a user interaction interface so that the user can select them as the current working map.
[0153] Since the multiple map acquisition module 702 of the device obtains the baseline map and the historically generated map, and the baseline map is a composite map of multiple maps generated during different operation processes of the robot, it can provide relatively comprehensive environmental information. The historically generated map is the map used by the robot when it worked before, and can more accurately provide the environmental information collected under the historical circumstances. The map providing module 704 provides the baseline map and the historically generated map in the user interaction interface, so that the user can select a map that is closer to the current real environment as needed according to the current real environment, allowing the robot to work on a map that is closer to the real environment.
[0154] The following describes in detail the implementation of obtaining a reference map according to an embodiment of the present invention.
[0155] Figure 8 FIG. 1 shows a schematic diagram of a device for processing a map according to an embodiment of the present invention. Figure 8 As shown, the various map acquisition modules 702 in the device may include: a map acquisition submodule 7021 , a distortion determination submodule 7022 , and a synthesis submodule 7023 .
[0156] The map acquisition submodule 7021 may be configured to acquire a currently generated map, where the currently generated map is generated based on the current work of the robot.
[0157] The distortion judgment submodule 7022 may be configured to judge whether the currently generated map is distorted based on map attributes corresponding to the currently generated map when the robot has not generated the reference map.
[0158] The synthesis submodule 7023 may be configured to synthesize the currently generated map and the historically generated map to generate a reference map if the distortion determination submodule determines that there is no distortion.
[0159] According to this embodiment, since the distortion of the currently generated map is measured when the robot has not generated a baseline map, and the baseline map is synthesized based on the undistorted currently generated map, the obtained baseline map is closer to the real environment, and can provide users with a more realistic environment map for user selection, further improving the service efficiency and effectiveness of the robot.
[0160] The embodiment of the present invention does not limit the specific method of measuring map distortion. For example, the distortion judgment submodule 7022 can be configured to judge whether the currently generated map is distorted based on any one or more map attributes of the map starting reason attribute, map ending reason attribute, map integrity attribute, map mode attribute, map area attribute, and map additional attribute corresponding to the currently generated map. Optionally, if Figure 8 As shown, the apparatus may further include: a map attribute determination module 710, which may be configured to classify the map integrity attribute probability of the input currently generated map through a trained neural network model, and determine the map integrity attribute of the currently generated map.
[0161] Alternatively, as Figure 8 As shown, the device may further include: a historical map saving module 706, which may be configured to save the currently generated map as a historically generated map if the distortion judgment submodule 7022 determines that the currently generated map is distorted, thereby improving map utilization.
[0162] Optionally, the synthesis submodule 7023 can be configured to perform weighted fusion on the pixel values of the overlapping area of the currently generated map and the historically generated map according to the user interaction data and weights corresponding to the map attributes of the currently generated map and the historically generated map.
[0163] Figure 9 FIG. 1 shows a schematic diagram of a device for processing a map according to an embodiment of the present invention. Figure 9 As shown, the various map acquisition modules 702 in the device may include: a map acquisition submodule 7021 , a matching calculation submodule 7024 , and a synthesis submodule 7023 .
[0164] The map acquisition submodule 7021 may be configured to acquire a currently generated map, where the currently generated map is generated based on the current work of the robot.
[0165] The matching calculation submodule 7024 may be configured to calculate a matching attribute between the currently generated map and the generated reference map when the robot has generated a reference map.
[0166] The synthesis submodule 7023 may be configured to synthesize the currently generated map and the historically generated map to generate a new reference map if the matching attribute reaches a preset value.
[0167] Optionally, for example, the synthesis submodule 7023 can be configured to perform weighted fusion on the pixel values of the overlapping area of the currently generated map and the historically generated map according to the weights corresponding to the user interaction data, map attributes and matching attributes of the currently generated map and the historically generated map.
[0168] According to this embodiment, since the matching attribute of the currently generated map and the previously generated reference map is calculated, when it is determined that the matching attribute reaches a preset value, it is determined that the currently generated map and the reference map are maps of the same environment, and the currently generated map and the historically generated map are synthesized to obtain an updated reference map, so that the synthesized reference map is closer to the real environment map for user selection, further improving the service efficiency and effectiveness of the robot.
[0169] Alternatively, as Figure 9 As shown, the apparatus may further include: a new environment map saving module 708, which may be configured to save the currently generated map as a historically generated map of the new environment if the matching attribute does not reach a preset value.
[0170] The above is a schematic diagram of a map processing device according to this embodiment. It should be noted that the technical solution of the map processing device and the technical solution of the map processing method described above are based on the same concept. For details not described in detail in the technical solution of the map processing device, please refer to the description of the technical solution of the map processing method described above.
[0171] Figure 10 A flowchart of a method for generating a reference map according to an embodiment of the present invention is shown, including steps 1002 to 1004 .
[0172] Step 1002: Acquire multiple maps generated during multiple runs of the robot.
[0173] Step 1004: synthesize multiple maps generated during multiple runs of the robot to generate a reference map.
[0174] It can be seen that since this method obtains multiple maps generated during the robot's multiple runs, synthesizes the multiple maps generated during the robot's multiple runs to generate a baseline map, the baseline map can provide relatively comprehensive environmental information, allowing the robot to work on a map that is closer to the real environment.
[0175] In order to make the generated baseline map closer to the current real environment, the multiple maps generated during the multiple operations of the robot are synthesized, and the generation of the baseline map includes: generating the baseline map based on any one or more of the user interaction data, map attributes, and matching attributes of each of the multiple maps.
[0176] In image stitching technology, maps are stitched together after feature extraction, matching, and registration. However, the stitching of multiple maps can be unnatural. To make the stitching of the baseline map more natural and closer to the user's real environment, in one or more embodiments of the present invention, the pixel values of the overlapping areas of the multiple maps are further weighted and fused based on any one or more corresponding weights of the user interaction data, map attributes, and matching attributes of the multiple maps.
[0177] Figure 11 FIG1 shows a schematic diagram of a device for generating a reference map according to an embodiment of the present invention. Figure 11 As shown, the device includes: a multiple map acquisition module 1102 and a synthesis module 1104.
[0178] The multiple map acquisition module 1102 can be configured to acquire multiple maps generated during multiple runs of the robot.
[0179] The synthesis module 1104 may be configured to synthesize multiple maps generated during multiple runs of the robot to generate a reference map.
[0180] It can be seen that since the device obtains multiple maps generated during the robot's multiple runs, synthesizes the multiple maps generated during the robot's multiple runs to generate a baseline map, the baseline map can provide relatively comprehensive environmental information, allowing the robot to work on a map that is closer to the real environment.
[0181] Optionally, in order to make the generated reference map closer to the current real environment, the synthesis module 1104 is configured to generate the reference map based on any one or more of the user interaction data, map attributes, and matching attributes of each of the multiple maps.
[0182] In image stitching technology, maps are stitched together after feature extraction, matching, and registration. However, the stitching of multiple maps can be unnatural. To make the stitching of the baseline map more natural and closer to the user's real environment, in one or more embodiments of the present invention, the synthesis module 1104 can be further configured to perform weighted fusion on the pixel values of the overlapping areas of the multiple maps based on any one or more corresponding weights of the user interaction data, map attributes, and matching attributes of the multiple maps.
[0183] The above is a schematic diagram of a device for generating a reference map according to this embodiment. It should be noted that the technical solution of this device for generating a reference map is based on the same concept as the technical solution of the method for generating a reference map described above. For details not described in detail in the technical solution of the device for generating a reference map, please refer to the description of the technical solution of the method for generating a reference map described above.
[0184] Figure 12 The block diagram shows a structure of a computing device 1200 according to one embodiment of the present invention. Components of the computing device 1200 include, but are not limited to, a memory 1210 and a processor 1220. The processor 1220 and the memory 1210 are connected via a bus 1230, and a database 1250 is used to store data.
[0185] The computing device 1200 also includes an access device 1240 that enables the robot 1200 to communicate via one or more networks 1260. Examples of such networks include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or a combination of communication networks such as the Internet. The access device 1240 may include one or more of any type of network interface (e.g., a network interface card (NIC)) whether wired or wireless, such as an IEEE 802.11 wireless local area network (WLAN) wireless interface, a Worldwide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a universal serial bus (USB) interface, a cellular network interface, a Bluetooth interface, a near field communication (NFC) interface, and the like.
[0186] In one embodiment of the present invention, the above components of the computing device 1200 and Figure 12 Other components not shown in the figure may also be connected to each other, for example, via a bus. Figure 12 The computing device structure block diagram shown is for illustrative purposes only and is not intended to limit the scope of the present invention. Those skilled in the art may add or replace other components as needed.
[0187] Computing device 1200 can be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., a tablet computer, a personal digital assistant, a laptop computer, a notebook computer, a netbook computer, etc.), a mobile phone (e.g., a smartphone), a wearable computing device (e.g., a smartwatch, smart glasses, etc.), or other types of mobile devices, or a stationary computing device such as a desktop computer or PC. Computing device 500 can also be a mobile or stationary server.
[0188] In one embodiment, the processor 1220 may be configured to execute the following computer-executable instructions:
[0189] Obtaining a baseline map and historically generated maps of the robot, wherein the baseline map is generated based on multiple maps generated during multiple runs of the robot;
[0190] Providing the reference map and the historically generated map on a user interaction interface so that the user can select them as the current working map;
[0191] The historically generated map is one or more maps.
[0192] Optionally, obtaining a reference map of the robot includes:
[0193] Obtaining a currently generated map, where the currently generated map is generated based on the robot's current work;
[0194] When the robot has not generated a reference map, determining whether the currently generated map is distorted based on map attributes corresponding to the currently generated map;
[0195] If there is no distortion, the currently generated map and the historically generated map are synthesized to generate a reference map.
[0196] Optionally, the method further includes: if the currently generated map is determined to be distorted, saving the currently generated map as a historically generated map.
[0197] Optionally, obtaining a reference map of the robot includes:
[0198] Get the currently generated map. The currently generated map is generated based on the robot's current work;
[0199] When the robot has generated a baseline map, it calculates the matching property between the currently generated map and the generated baseline map;
[0200] If the matching attribute reaches a preset value, the currently generated map and the historically generated map are synthesized to generate a new reference map.
[0201] Optionally, the method further includes: if the matching attribute does not reach a preset value, saving the currently generated map as a historically generated map of the new environment.
[0202] Optionally, judging whether the currently generated map is distorted according to map attributes corresponding to the currently generated map includes:
[0203] Whether the currently generated map is distorted is determined based on any one or more map attributes of a start mapping reason attribute, an end mapping reason attribute, a map integrity attribute, a mapping mode attribute, a map area attribute, and a map additional attribute corresponding to the currently generated map.
[0204] Optionally, the method further includes: classifying the map integrity attribute probability of the input currently generated map through a trained neural network model to determine the map integrity attribute of the currently generated map.
[0205] Optionally, the synthesizing of the currently generated map and the historically generated map includes: weighted fusion of pixel values of overlapping areas of the currently generated map and the historically generated map based on respective user interaction data and weights corresponding to map attributes of the currently generated map and the historically generated map.
[0206] Optionally, the synthesizing of the currently generated map and the historically generated map includes: weighted fusion of pixel values of overlapping areas of the currently generated map and the historically generated map according to weights corresponding to user interaction data, map attributes, and matching attributes of the currently generated map and the historically generated map.
[0207] Optionally, the pixel values of the overlapping areas of the multiple maps in the reference map are obtained by weighted fusion according to any one or more corresponding weights of the user interaction data, map attributes, and matching attributes of the multiple maps.
[0208] Optionally, the user interaction data includes any one or more of: user map usage frequency data, user map scoring data, user map collection data, user map deletion data, user virtual wall usage data, and user partition usage data.
[0209] The above is a schematic diagram of a computing device according to this embodiment. It should be noted that the technical solution of this computing device and the technical solution of the aforementioned method for processing maps are based on the same concept. For details not described in detail in the technical solution of the computing device, please refer to the description of the technical solution of the aforementioned method for processing maps.
[0210] In another embodiment, a robot according to another embodiment of the present invention is provided:
[0211] Obtain multiple maps generated during the robot's multiple runs;
[0212] A plurality of maps generated during the multiple operations of the robot are synthesized to generate a reference map.
[0213] Optionally, synthesizing the multiple maps generated during multiple runs of the robot to generate a reference map includes: generating the reference map based on any one or more of user interaction data, map attributes, and matching attributes of the multiple maps.
[0214] Optionally, the method further includes: performing weighted fusion on pixel values of overlapping areas of the multiple maps according to any one or more corresponding weights of user interaction data, map attributes, and matching attributes of the multiple maps.
[0215] The above is a schematic diagram of a robot according to this embodiment. It should be noted that the technical solution of this robot and the technical solution of the method for generating a reference map described above are based on the same concept. For details not described in detail in the technical solution of the robot, please refer to the description of the technical solution of the method for generating a reference map described above.
[0216] An embodiment of the present invention further provides a computer-readable storage medium storing computer instructions, which, when executed by a processor, are used to:
[0217] Obtaining a baseline map and historically generated maps of the robot, wherein the baseline map is generated based on multiple maps generated during multiple runs of the robot;
[0218] Providing the reference map and the historically generated map on a user interaction interface so that the user can select them as the current working map;
[0219] The historically generated map is one or more maps.
[0220] Optionally, obtaining a reference map of the robot includes:
[0221] Obtaining a currently generated map, where the currently generated map is generated based on the robot's current work;
[0222] When the robot has not generated a reference map, determining whether the currently generated map is distorted based on map attributes corresponding to the currently generated map;
[0223] If there is no distortion, the currently generated map and the historically generated map are synthesized to generate a reference map.
[0224] Optionally, the method further includes: if the currently generated map is determined to be distorted, saving the currently generated map as a historically generated map.
[0225] Optionally, obtaining a reference map of the robot includes:
[0226] Get the currently generated map. The currently generated map is generated based on the robot's current work;
[0227] When the robot has generated a baseline map, it calculates the matching property between the currently generated map and the generated baseline map;
[0228] If the matching attribute reaches a preset value, the currently generated map and the historically generated map are synthesized to generate a new reference map.
[0229] Optionally, the method further includes: if the matching attribute does not reach a preset value, saving the currently generated map as a historically generated map of the new environment.
[0230] Optionally, judging whether the currently generated map is distorted according to map attributes corresponding to the currently generated map includes:
[0231] Whether the currently generated map is distorted is determined based on any one or more map attributes of a start mapping reason attribute, an end mapping reason attribute, a map integrity attribute, a mapping mode attribute, a map area attribute, and a map additional attribute corresponding to the currently generated map.
[0232] Optionally, the method further includes: classifying the map integrity attribute probability of the input currently generated map through a trained neural network model to determine the map integrity attribute of the currently generated map.
[0233] Optionally, the synthesizing of the currently generated map and the historically generated map includes: weighted fusion of pixel values of overlapping areas of the currently generated map and the historically generated map based on respective user interaction data and weights corresponding to map attributes of the currently generated map and the historically generated map.
[0234] Optionally, the synthesizing of the currently generated map and the historically generated map includes: weighted fusion of pixel values of overlapping areas of the currently generated map and the historically generated map according to weights corresponding to user interaction data, map attributes, and matching attributes of the currently generated map and the historically generated map.
[0235] Optionally, the pixel values of the overlapping areas of the multiple maps in the reference map are obtained by weighted fusion according to any one or more corresponding weights of the user interaction data, map attributes, and matching attributes of the multiple maps.
[0236] Optionally, the user interaction data includes any one or more of: user map usage frequency data, user map scoring data, user map collection data, user map deletion data, user virtual wall usage data, and user partition usage data.
[0237] The above is a schematic diagram of a computer-readable storage medium according to this embodiment. It should be noted that the technical solution of this storage medium and the technical solution of the aforementioned method for processing a map are based on the same concept. For details not described in detail in the technical solution of the storage medium, please refer to the description of the technical solution of the aforementioned method for processing a map.
[0238] Another embodiment of the present invention further provides a computer-readable storage medium storing computer instructions, which, when executed by a processor, are used to:
[0239] Obtain multiple maps generated during the robot's multiple runs;
[0240] A plurality of maps generated during the multiple operations of the robot are synthesized to generate a reference map.
[0241] Optionally, the synthesis module is configured to generate a reference map based on any one or more of user interaction data, map attributes, and matching attributes of each of the multiple maps.
[0242] Optionally, the synthesis module is further configured to perform weighted fusion on the pixel values of the overlapping areas of the multiple maps according to any one or more corresponding weights of the user interaction data, map attributes, and matching attributes of each of the multiple maps.
[0243] The above is an illustrative embodiment of a computer-readable storage medium. It should be noted that the technical solution of this storage medium and the technical solution of the method for generating a reference map described above share the same concept. For details not described in detail in the technical solution of the storage medium, please refer to the description of the technical solution of the method for generating a reference map described above.
[0244] The foregoing description describes specific embodiments of the present invention. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0245] The computer instructions include computer program code, which may be in source code form, object code form, executable file, or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal, and software distribution medium, etc. It should be noted that the content contained in the computer-readable medium may be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.
[0246] It should be noted that for the aforementioned method embodiments, for ease of description, they are all expressed as a series of action combinations. However, those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily required for the embodiments of the present invention.
[0247] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.
[0248] The preferred embodiments of the present invention disclosed above are intended only to help illustrate the present invention. The alternative embodiments do not describe all details in detail, nor do they limit the invention to the specific embodiments described. Obviously, many modifications and variations can be made based on the content of the embodiments of the present invention. The present invention selects and describes these embodiments in detail to better explain the principles and practical applications of the embodiments of the present invention, thereby enabling those skilled in the art to better understand and utilize the present invention. The present invention is limited only by the claims and their full scope and equivalents.
Claims
1. A method for processing a map, characterized in that include: Obtaining a baseline map and historically generated maps of the robot, wherein the baseline map is generated by weighted fusion of weights corresponding to user interaction data of multiple maps generated during multiple runs of the robot; Wherein, obtaining the robot's reference map includes: Obtain the currently generated map, which is generated based on the robot's current work. If the robot has already generated a baseline map, calculate the matching property between the currently generated map and the previously generated baseline map. If the matching property reaches a preset value, synthesize the currently generated map and the previously generated map to generate a new baseline map. If the matching property does not reach the preset value, save the currently generated map as the previously generated map for the new environment. Providing the reference map and the historically generated map on a user interaction interface so that the user can select them as the current working map; The historically generated map is one or more maps.
2. The method according to claim 1, characterized in that The obtaining of the robot's reference map includes: Obtaining a currently generated map, where the currently generated map is generated based on the robot's current work; When the robot has not generated a reference map, determining whether the currently generated map is distorted based on map attributes corresponding to the currently generated map; If there is no distortion, the currently generated map and the historically generated map are synthesized to generate a reference map.
3. The method according to claim 2, characterized in that Also includes: If the currently generated map is determined to be distorted, the currently generated map is saved as a historically generated map.
4. The method according to claim 2, characterized in that The determining, based on the map attributes corresponding to the currently generated map, whether the currently generated map is distorted includes: Whether the currently generated map is distorted is determined based on any one or more map attributes of a start mapping reason attribute, an end mapping reason attribute, a map integrity attribute, a mapping mode attribute, a map area attribute, and a map additional attribute corresponding to the currently generated map.
5. The method according to claim 4, characterized in that Also includes: The map integrity attribute of the currently generated map is determined by classifying the map integrity attribute probability of the currently generated map through a trained neural network model.
6. The method according to claim 2, characterized in that The synthesizing of the currently generated map and the historically generated map includes: The pixel values of the overlapping area of the currently generated map and the historically generated map are weightedly fused according to the user interaction data of the currently generated map and the historically generated map and the weights corresponding to the map attributes.
7. The method according to claim 1, characterized in that The synthesizing of the currently generated map and the historically generated map includes: The pixel values of the overlapping area of the currently generated map and the historically generated map are weightedly fused according to the weights corresponding to the user interaction data, map attributes and matching attributes of the currently generated map and the historically generated map.
8. The method according to claim 1, characterized in that The pixel values of the overlapping areas of the multiple maps in the reference map are obtained by weighted fusion based on the user interaction data of the multiple maps or the weights corresponding to the user interaction data and any one or both of the map attributes and the matching attribute.
9. The method according to any one of claims 6 to 8, characterized in that: The user interaction data includes any one or more of: user map usage frequency data, user map rating data, user map collection data, user map deletion data, user virtual wall usage data, and user partition usage data.
10. A device for processing a map, characterized in that: include: a multiple map acquisition module configured to acquire a baseline map and historically generated maps of the robot, wherein the baseline map is generated by weighted fusion of weights corresponding to user interaction data of multiple maps generated during multiple runs of the robot, and the historically generated maps are one or more maps; The multiple map acquisition modules include: A map acquisition submodule is configured to acquire a currently generated map, where the currently generated map is generated based on the robot's current work; a matching calculation submodule configured to calculate a matching attribute between a currently generated map and the generated reference map when the robot has generated a reference map; a synthesis submodule configured to synthesize the currently generated map and the historically generated map to generate a new reference map if the matching attribute reaches a preset value; A new environment map saving module is configured to save the currently generated map as a historically generated map of the new environment if the matching attribute does not reach a preset value; The map providing module is configured to provide the reference map and the historically generated map on a user interaction interface so that the user can select them as the current working map.
11. The device according to claim 10, characterized in that The multiple map acquisition modules include: A map acquisition submodule is configured to acquire a currently generated map, where the currently generated map is generated based on the robot's current work; a distortion judgment submodule, configured to judge whether the currently generated map is distorted based on map attributes corresponding to the currently generated map when the robot has not generated the reference map; The synthesis submodule is configured to synthesize the currently generated map and the historically generated map to generate a reference map if the distortion determination submodule determines that there is no distortion.
12. The device according to claim 11, characterized in that Also includes: The historical map saving module is configured to save the currently generated map as a historically generated map if the distortion judgment submodule determines that the currently generated map is distorted.
13. The device according to claim 11, characterized in that The distortion judgment submodule is configured to judge whether the currently generated map is distorted based on any one or more map attributes of the currently generated map, including a mapping start reason attribute, a mapping end reason attribute, a map integrity attribute, a mapping mode attribute, a map area attribute, and a map additional attribute.
14. The device according to claim 13, characterized in that Also includes: The map attribute determination module is configured to classify the map integrity attribute probability of the input currently generated map through a trained neural network model to determine the map integrity attribute of the currently generated map.
15. The device according to claim 11, characterized in that The synthesis submodule is configured to perform weighted fusion on the pixel values of the overlapping area of the currently generated map and the historically generated map according to the user interaction data and the weights corresponding to the map attributes of the currently generated map and the historically generated map.
16. The device according to claim 13, characterized in that The synthesis submodule is configured to perform weighted fusion on the pixel values of the overlapping area of the currently generated map and the historically generated map according to the weights corresponding to the user interaction data, map attributes and matching attributes of the currently generated map and the historically generated map.
17. A method for generating a reference map, characterized in that: include: Obtain multiple maps generated during the robot's multiple runs; Perform weighted fusion based on the weights corresponding to the user interaction data of each of the multiple maps to generate a reference map; The method further includes: obtaining a currently generated map, where the currently generated map is generated based on the robot's current work; when the robot has generated a baseline map, calculating a matching attribute between the currently generated map and the generated baseline map; if the matching attribute reaches a preset value, synthesizing the currently generated map and a historically generated map to generate a new baseline map; if the matching attribute does not reach the preset value, saving the currently generated map as a historically generated map of the new environment.
18. The method according to claim 17, further comprising: The pixel values of the overlapping areas of the multiple maps are weightedly fused according to the user interaction data of the multiple maps or the weights corresponding to either one or both of the user interaction data and the map attribute and the matching attribute.
19. A device for generating a reference map, characterized in that: include: A multiple map acquisition module is configured to acquire multiple maps generated during multiple runs of the robot; a synthesis module configured to perform weighted fusion based on weights corresponding to the user interaction data of the plurality of maps to generate a reference map; Get the currently generated map. The currently generated map is generated based on the robot's current work. If the robot has already generated a baseline map, calculate the matching property between the currently generated map and the generated baseline map. If the matching attribute reaches a preset value, the currently generated map and the historically generated map are synthesized to generate a new reference map; If the matching attribute does not reach a preset value, the currently generated map is saved as a historically generated map of the new environment.
20. The device according to claim 19, characterized in that The synthesis module is further configured to perform weighted fusion on the pixel values of the overlapping areas of the multiple maps according to the user interaction data of each of the multiple maps or the weights corresponding to either or both of the user interaction data and the map attributes and the matching attributes.
21. A computing device, characterized in that include: memory and processor; The memory is configured to store computer-executable instructions, and the processor is configured to execute the computer-executable instructions: Obtaining a baseline map and historically generated maps of the robot, wherein the baseline map is generated by weighted fusion of weights corresponding to user interaction data of multiple maps generated during multiple runs of the robot; Wherein, obtaining the robot's reference map includes: Obtain the currently generated map, which is generated based on the robot's current work. If the robot has already generated a baseline map, calculate the matching property between the currently generated map and the previously generated baseline map. If the matching property reaches a preset value, synthesize the currently generated map and the previously generated map to generate a new baseline map. If the matching property does not reach the preset value, save the currently generated map as the previously generated map for the new environment. Providing the reference map and the historically generated map on a user interaction interface so that the user can select them as the current working map; The historically generated map is one or more maps.
22. A computer-readable storage medium storing computer instructions, characterized in that: When the instruction is executed by a processor, the steps of the method for processing a map according to any one of claims 1 to 9 are implemented.
23. A robot, characterized in that: include: memory and processor; The memory is configured to store computer-executable instructions, and the processor is configured to execute the computer-executable instructions: Obtain multiple maps generated during the robot's multiple runs; A weighted fusion is performed based on the weights corresponding to the user interaction data of each of the multiple maps to generate a baseline map; wherein, generating the baseline map also includes: obtaining a currently generated map, where the currently generated map is generated based on the robot's current work; when the robot has generated the baseline map, calculating a matching attribute between the currently generated map and the previously generated baseline map; if the matching attribute reaches a preset value, synthesizing the currently generated map and the historically generated map to generate a new baseline map; if the matching attribute does not reach the preset value, saving the currently generated map as a historically generated map of the new environment.
24. A computer-readable storage medium storing computer instructions, characterized in that: When the instruction is executed by a processor, the steps of the method for generating a reference map according to any one of claims 17 to 18 are implemented.
Citation Information
Patent Citations
Management system of robot map and robot
CN109507995A
Method for updating map and mobile robot
CN110268354A