Data management method, mobile robot, and electronic device

CN118839025BActive Publication Date: 2026-10-27HANGZHOU EZVIZ SOFTWARE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410917320.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-09
Publication Date
2026-10-27
Estimated Expiration
2044-07-09

AI Technical Summary

Technical Problem

但是,由于在分配给地图数据库的内存有限的情况下所记录的信息有限,这样会导致地图数据库中的数据所覆盖的工作环境面积有限,从而影响重定位

Benefits of technology

[0015]由以上技术方案可以看出,本申请实施例中通过在依据已获得的所有关键信息确定当前需要进行数据管理时,对已获得的所有关键信息进行数据管理以确定可被替换的目标关键信息;基于此,当移动机器人在工作过程中再采集到关键图像帧对应的关键信息时,可从已确定的所有目标关键信息中选中一个目标关键信息并替换为当前获得的关键信息,这样能够在分配给关键信息的存储内存有限的情况下记录更多新获得的关键图像帧对应的关键信息,以覆盖更广的工作环境面积。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118839025B_ABST
    Figure CN118839025B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a data management method, a mobile robot and an electronic device. The embodiment of the present application determines target key information which can be replaced by performing data management on all obtained key information when it is determined that current data management is needed according to all obtained key information. Based on this, when the mobile robot collects key information corresponding to a key image frame again during work, one target key information is selected from all determined target key information and is replaced by the currently obtained key information, so that more newly obtained key information corresponding to a key image frame can be recorded in the limited storage memory allocated to the key information, so as to cover a wider working environment area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of mobile robots, and more particularly to data management methods, mobile robots, and electronic devices. Background Technology

[0002] Vision-based mobile robot localization has significant application value and market potential. Its onboard visual sensors (such as monocular cameras) offer low cost and high resolution, enabling the perception of rich environmental texture features. Currently, in practical applications, the management of visual map data used for mobile robot relocalization typically involves recording the image frames acquired by these visual sensors into a pre-configured map database for subsequent relocalization. However, due to the limited memory allocated to the map database, the amount of information that can be recorded is limited, resulting in a limited coverage of the working environment area within the map database, thus affecting relocalization. Summary of the Invention

[0003] In view of this, this application provides a data management method, a mobile robot, and an electronic device to record more key information of more image frames with limited memory, covering a wider working environment area.

[0004] This application provides a data management method applied to a mobile robot, the method comprising:

[0005] Obtain key information corresponding to key image frames collected by the mobile robot during its operation; key image frames refer to image frames that meet preset conditions collected by the mobile robot during its operation.

[0006] If data management is required based on all the key information already obtained, then data management is performed on all the key information already obtained based on the obstacle layer established by the mobile robot during its operation to determine the target key information that can be replaced; any target key information in the obstacle layer corresponds to a collection location, and the key information corresponding to the nearest collection location of any target key information meets the similarity requirement with the target key information, and there are no obstacles within the specified area where the collection location of any target key information is located;

[0007] When the mobile robot collects key information corresponding to key image frames during its work, it selects one key information from all the identified key information and replaces it with the currently acquired key information.

[0008] This application also provides a mobile robot, which includes: an image sensor and a processor;

[0009] An image sensor is used to acquire image frames and the key information corresponding to those image frames.

[0010] The processing module is used to obtain key information corresponding to key image frames collected by the mobile robot during its operation. Key image frames refer to image frames that meet preset conditions collected by the mobile robot during its operation. If it is determined that data management is needed based on all the key information already obtained, then data management is performed on all the key information already obtained based on the obstacle layer established by the mobile robot during its operation to determine the target key information that can be replaced. Any target key information in the obstacle layer corresponds to a collection position. The key information corresponding to the nearest collection position of any target key information meets the similarity requirement with the target key information, and there are no obstacles within the specified area where the collection position of any target key information is located. When the mobile robot collects key information corresponding to a key image frame again during its operation, a target key information is selected from all the determined target key information and replaced with the currently obtained key information.

[0011] This application also provides an electronic device, which includes:

[0012] Processor; and

[0013] The memory stores computer program instructions that, when executed by the processor, cause the processor to perform the steps described above.

[0014] This application also provides a computer-readable storage medium storing computer program instructions that, when executed by a processor, cause the processor to perform the steps in the above method.

[0015] As can be seen from the above technical solutions, in this embodiment of the application, when it is determined that data management is needed based on all the key information already obtained, data management is performed on all the key information already obtained to determine the target key information that can be replaced. Based on this, when the mobile robot collects key information corresponding to key image frames during the working process, it can select one target key information from all the determined target key information and replace it with the currently obtained key information. In this way, more key information corresponding to newly obtained key image frames can be recorded when the storage memory allocated to key information is limited, so as to cover a wider working environment area. Attached Figure Description

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

[0017] Figure 1 A flowchart illustrating the method provided in this application embodiment.

[0018] Figure 2 A schematic diagram showing the spatial distribution of key information provided in the embodiments of this application.

[0019] Figure 3 A schematic diagram of the spatial distribution of another key piece of information provided in the embodiments of this application.

[0020] Figure 4 This is a schematic diagram showing the spatial distribution of another key piece of information provided in the embodiments of this application.

[0021] Figure 5 This is a schematic diagram showing the spatial distribution of another key piece of information provided in the embodiments of this application.

[0022] Figure 6 This is a schematic diagram showing the spatial distribution of another key piece of information provided in the embodiments of this application.

[0023] Figure 7 This is a schematic diagram of the structure of a mobile robot provided in an embodiment of this application.

[0024] Figure 8 This is a schematic diagram of the electronic device structure provided in an embodiment of this application. Detailed Implementation

[0025] To enable those skilled in the art to better understand the technical solutions provided in the embodiments of this application, and to make the above-mentioned objectives, features and advantages of the embodiments of this application more apparent and understandable, the technical solutions in the embodiments of this application will be further described in detail below with reference to the accompanying drawings.

[0026] See Figure 1 , Figure 1 This is a flowchart illustrating a method provided in an embodiment of this application. The method is applied to a mobile robot. Figure 1 As shown, the process may include the following steps:

[0027] Step 101: Obtain key information corresponding to key image frames collected by the mobile robot during its operation.

[0028] In this embodiment, the mobile robot collects image frames of the current working environment and corresponding key information of the image frames through its configured image sensors during operation. This key information may include, for example, the mobile robot's acquisition position and posture (such as orientation) when acquiring the image frames, the image frames themselves, and the environmental information contained within the image frames; however, this embodiment does not impose specific limitations on this information. Based on this, the mobile robot obtains key information corresponding to key image frames acquired during operation. Here, key image frames refer to image frames acquired by the mobile robot during operation that meet preset conditions.

[0029] Optionally, the aforementioned preset condition refers to the current captured image frame being the first captured image frame, or, when the current captured image frame is not the first captured image frame, the number of image frames between the current captured image frame and the previous key image frame reaches a preset value. Here, the preset value can be set to, for example, 5, 10, etc.

[0030] Step 102: If data management is required based on all the key information already obtained, then data management is performed on all the key information already obtained based on the obstacle layer established by the mobile robot during its work to determine the target key information that can be replaced.

[0031] In this embodiment, if data management is determined to be necessary based on all the acquired key information, then data management is performed on all the acquired key information based on the obstacle layer established by the mobile robot during its operation to determine replaceable target key information. The target key information here meets the following requirements: any target key information in the obstacle layer corresponds to a collection location; the key information corresponding to the nearest collection location to any target key information meets a similarity requirement with that target key information; and there are no obstacles within the specified area where the collection location corresponding to any target key information is located. The similarity requirement could be, for example, reaching a set similarity threshold; this embodiment does not impose a specific limitation.

[0032] In this embodiment, the obstacle layer refers to a layer used to describe the position and boundaries of obstacles in the mobile robot's working environment. This embodiment does not specifically limit how the obstacle layer is constructed; for example, it can be constructed based on all image frames collected by the mobile robot during its operation and the corresponding key information. It is understood that the obstacle layer is updated in real time; that is, after the mobile robot obtains each image frame and its key information, it updates the constructed obstacle layer accordingly.

[0033] As one embodiment, the mobile robot can pre-allocate a memory space for storing all acquired key information. Based on this, the above-mentioned determination of the need for data management based on all acquired key information can be implemented as follows: determine whether the storage space occupied by all acquired key information is greater than or equal to a preset threshold; if so, determine that data management is needed. Here, the preset threshold can be set based on actual needs and is not specifically limited here.

[0034] As for how to manage all the key information obtained based on the obstacle layer established by the mobile robot during its work to determine the target key information that can be replaced, this step 102 will be described with examples below, and will not be repeated here.

[0035] Step 103: When the mobile robot collects key information corresponding to key image frames during its operation, select one key information from all the determined key information and replace it with the currently obtained key information.

[0036] In this embodiment, assuming that the mobile robot has completed data management, when the mobile robot collects key information corresponding to key image frames during its work, it can select one key information from all the determined key information and replace it with the currently obtained key information.

[0037] Understandably, if two acquisition locations of a mobile robot are relatively close, the environmental information within the image frames acquired by these two locations will be less different, i.e., highly similar. Therefore, when constructing a map of the working environment, the mobile robot only needs to utilize one of the key information from the image frames corresponding to the two acquisition locations. Based on this, this embodiment identifies one of the two key information pieces that are in a nearest-neighbor relationship among all the acquired key information as the replaceable target key information. This allows newly acquired key information to replace the identified target key information. This enables the recording of more key information corresponding to newly acquired key image frames without additional memory allocation, utilizing only the allocated fixed memory space, thus covering a wider working environment area.

[0038] This concludes the process. Figure 1 The process is shown below.

[0039] pass Figure 1 As can be seen from the process shown, in this embodiment of the application, when it is determined that data management is needed based on all the key information already obtained, data management is performed on all the key information already obtained to determine the target key information that can be replaced. Based on this, when the mobile robot collects key information corresponding to key image frames during the working process, it can select one target key information from all the determined target key information and replace it with the currently obtained key information. In this way, more key information corresponding to newly obtained key image frames can be recorded when the storage memory allocated to key information is limited, so as to cover a wider working environment area.

[0040] The following describes how, in step 102 above, data management is performed on all the key information obtained based on the obstacle layer established by the mobile robot during its operation to determine the target key information that can be replaced:

[0041] As an example, after obtaining the key information corresponding to the key image frames collected by the mobile robot during its operation, the key information corresponding to the key image frames can be recorded in a configured key information data structure. This data structure also records all previously obtained key information. This data structure can be used to query the key frame information corresponding to the nearest collection position of any key frame information collection position. The data structure depends on the collection position corresponding to each key information. How to construct this data structure will be described with examples below, and will not be elaborated here.

[0042] Based on the above description, as an example, the above-mentioned obstacle layer established by the mobile robot during its operation is used to manage all the acquired key information to determine replaceable target key information. In specific implementation, this may include: first, traversing all acquired key information and using the traversed key information as the current key information; then, if it is found that the current key information is not marked as replaceable target key information, then, if it is found that there are no obstacles within the specified area of ​​the acquisition position corresponding to the current key information in the current obstacle layer, querying the key information corresponding to the nearest acquisition position of the acquisition position corresponding to the current key information from the current data structure; finally, if the key information corresponding to the nearest acquisition position is found, then, if it is found that there are no obstacles within the specified area of ​​the nearest acquisition position, marking the key information corresponding to the nearest acquisition position among all acquired key information as replaceable target key information.

[0043] In this embodiment, the aforementioned data structure can be a tree-based data structure containing all the acquired key information. That is, each node in the data structure corresponds to a key piece of information. Based on this, as an example, the process of querying the key information corresponding to the nearest neighboring collection location of the current key information from the current data structure can be implemented by, for example, traversing each node in the data structure and finding the collection location with the smallest distance to the collection location corresponding to the current key information based on the collection locations corresponding to the traversed nodes; then, if the distance between the collection location corresponding to the current key information and the found collection location is less than a set distance threshold, the found collection location is determined as the nearest neighboring collection location corresponding to the current key information.

[0044] In this embodiment, as an example, the above data structure can be established as follows: When key information of N key image frames is obtained, a data structure is established based on the key information of the N key image frames, where N is greater than 1; after establishing the data structure, for the key information corresponding to the newly obtained key image frames, the parent node corresponding to the key information is searched in the data structure, and it is checked whether the parent node meets the set balance condition; if the parent node is found to meet the set balance condition, the key information is inserted as a new node into the subtree of the parent node; if the parent node is found not to meet the set balance condition, the parent node and all nodes in the lower level of the parent node are reconstructed to obtain a new subtree, and the subtrees corresponding to the parent node and all nodes in the lower level of the parent node in the data structure are updated to the new subtrees. The set balance condition here includes: if a node has 1 subtree, the number of nodes in the subtree is less than a first threshold; if a node has at least 2 subtrees, the difference in the number of nodes between any two subtrees is less than a second threshold; wherein the first threshold and the second threshold can be set based on actual needs, and are not limited here. As for how to reconstruct the new subtree from the parent node and all its lower-level nodes, examples will be given below, and will not be elaborated here.

[0045] In this embodiment, in a tree-based data structure, for any given node, all nodes at its lower level can be considered as all descendant nodes of that node. For example, if the node is node 1, and the child nodes of node 1 are nodes 2 and 3, the child nodes of node 2 are nodes 4 and 5, and the child nodes of node 3 are nodes 6 and 7, where nodes 4, 5, 6, and 7 are the terminal nodes of this data structure, then all nodes at the lower level of node 1 can include nodes 2, 3, 4, 5, 6, and 7.

[0046] As an example, the above-described method of finding the parent node corresponding to the key information in the data structure can be implemented in the following ways: First, traverse all nodes in the data structure and take the traversed node as the current node; then, based on the location range corresponding to the current node, check whether the collection location corresponding to the key information falls within the location range; if the collection location corresponding to the key information is found to fall within the location range, then the location range is determined as a candidate location range; finally, select the smallest range from all candidate location ranges as the target location range, and determine the node corresponding to the target location range as the parent node corresponding to the key information. The location range here depends on the collection locations corresponding to all nodes at the next level of the current node. How this is determined will be described with examples below and will not be elaborated here.

[0047] To facilitate understanding of the specific implementation process of the above data management method, it will be described below through specific embodiments.

[0048] This application provides a method for data management using an incremental data structure, the method comprising the following steps:

[0049] Step 201: During the operation of the mobile robot, key information of key image frames is collected. If it is found that the storage space occupied by all the key information obtained is greater than or equal to a preset threshold, it is determined that data management is required.

[0050] Step 202: Create a pose mask container; generate corresponding masks for the pose information in all the key information that have been obtained, and use the pose mask container to record all the generated masks.

[0051] Here, the mask can be used to characterize whether the corresponding key information has been marked as replaceable target key information. Optionally, initially, all generated masks can be 0, indicating that the key information corresponding to all current masks has not been marked as replaceable target key information. Correspondingly, a mask of 1 can be used to indicate that it has been marked.

[0052] Step 203: Traverse each mask in the pose mask container and determine the traversed mask as the current mask; if the current mask is not marked, determine whether there are obstacles within the specified area where the current mask indicates the acquisition position based on the obstacle layer established by the mobile robot during the operation. If yes, skip; if no, proceed to step 204; if the current mask has been marked, skip.

[0053] Step 204: Query the configured key information data structure to see if there is a nearest collection location for the current mask-indicated collection location; if there is a nearest collection location, determine the location container where the key information corresponding to the nearest collection location is located, and determine whether there are obstacles within the specified area where the nearest collection location is located based on the obstacle layer established by the mobile robot during the operation; if there are obstacles, skip this step; if there are no obstacles, proceed to step 205.

[0054] Here, a global location container and a temporary location container can be created in advance. In this embodiment, the global location container can be used to record key information corresponding to historical key image frames obtained before the mobile robot's current operation. The key information corresponding to the historical key image frames is stored in a designated memory space (such as the mobile robot's local memory). After the global location container is created, the key information corresponding to the historical key image frames in the designated memory space can be loaded into the global location container. The temporary location container can be used to record key information corresponding to key image frames obtained by the mobile robot during its current operation.

[0055] As one example, the configured key information data structure contains all the acquired key information; that is, each node in this data structure corresponds to one key piece of information. Based on this, the above-mentioned query from the configured key information data structure to check if there is a nearest neighboring collection location for the current mask-indicated collection location can, in a specific implementation, involve traversing each node in the configured key information data structure, finding the collection location with the smallest distance to the current mask-indicated collection location based on the collection location indicated by the traversed nodes, and if the distance between the current mask-indicated collection location and the found collection location is less than a set distance threshold, then the found collection location is determined to be the nearest neighboring collection location corresponding to the current mask-indicated collection location.

[0056] Step 205: Update the mask corresponding to the nearest acquisition position in the pose mask container to 1, and record the index of the key information corresponding to the nearest acquisition position in the corresponding position container to the pre-created replacement container.

[0057] Here, as described above, the mask corresponding to the nearest acquisition position in the pose mask container is updated to 1, indicating that the mask has been marked.

[0058] Step 206: Assuming data management has been completed, for the key information corresponding to the newly acquired key image frames, if the current replacement container is found to be non-empty, proceed to step 207; if the current replacement container is found to be empty, proceed to step 209.

[0059] Step 207: Select an index identifier from the current replacement container and delete the index identifier from the replacement container.

[0060] Step 208: Replace the key information corresponding to the index identifier in all the currently obtained key information with the currently obtained key information.

[0061] Here, all the key information that has been obtained so far includes key information corresponding to all historical key image frames and all key information obtained during this work.

[0062] This embodiment identifies replaceable target key information from the already obtained key information. When new key information is obtained, one of the replaceable target key information is replaced with the new key information. This allows more new key information to be recorded without additional memory allocation, thus expanding the map data.

[0063] Step 209: Stop recording this critical information.

[0064] The following example further illustrates the data management process described above, using a spatial distribution diagram of the key information from all the obtained key image frames:

[0065] First, see Figure 2 As shown, after collecting a certain number of key image frames and their corresponding key information, the key information is spatially distributed according to the acquisition location attributes corresponding to the key information.

[0066] Then, when it is found that the storage space occupied by all the acquired key information is greater than or equal to a preset threshold, the target key information that can be replaced is determined from all the acquired image frame key information based on the obstacle layer established by the mobile robot during its operation and the configured image frame data structure. For example... Figure 3 As shown, the dot-filled circles represent the marked, replaceable target key information.

[0067] Then, based on the key information of the newly acquired key image frames, the marked replaceable target key information is replaced with this key information, such as... Figure 4 As shown, all the key information of the identified replaceable image frames has been replaced (i.e., deleted), and the white circles represent the key information of the newly acquired key image frames. It can be seen that, with the same memory size, the frame map data covers a larger environmental area as the mobile robot moves.

[0068] Then, after the storage space occupied by all the currently acquired key information reaches a preset threshold, the above process is repeated to rediscover the replaceable target key information from all the acquired key information, such as... Figure 5 As shown, the dot-filled circles represent the marked, replaceable target key information.

[0069] Finally, when new key image frames are collected, their new spatial distribution is as follows: Figure 6 As shown, a new data structure is used again to maintain all the acquired key information. In this embodiment, the spatial distribution of all key information reaches a distance balance when it is found that the collection location corresponding to each key information has no nearest neighbor location to a certain extent. At this point, the key information within a unit area has reached a convergence state.

[0070] This application embodiment combines obstacle layers and nearest neighbor location query methods to perform sparse processing of map frame data in open areas. This can increase the utilization rate of unit resources under limited memory conditions. For example, under the same memory conditions, more key information can be recorded to cover a larger environmental area.

[0071] The data structure described above is described below:

[0072] First, when key information corresponding to a specified number of key image frames is obtained, a corresponding data structure is established based on all the obtained key information, and various attribute information of the nodes is initialized.

[0073] Here, the attribute information of any node may include, for example, the acquisition location indicated by the key information corresponding to the node, as well as the location range, etc., without specific limitations. The location range here refers to the location range determined based on the acquisition location corresponding to the node and the acquisition locations corresponding to all nodes in the next level of the node. For example, if the acquisition location is a three-dimensional coordinate (X,Y,Z), Xmin, Xmax, Ymin, Ymax, Zmin, and Zmax are found from each acquisition location to form the location range [(Xmin,Xmax),(Ymin,Ymax),(Zmin,Zmax)].

[0074] As an example, the above-mentioned data structure built based on all the obtained key information can be implemented as follows: First, each piece of key information is recorded as a node. The variance of each coordinate dimension (X, Y, and Z) is calculated based on the collection location corresponding to each node. For example, the variance of the X coordinate dimension is the variance calculated based on the X value at the collection location corresponding to each node, and so on for other coordinate dimensions. Then, the coordinate dimension with the largest variance is selected as the reference dimension. The values ​​corresponding to this reference dimension at the collection location corresponding to each node are sorted in ascending order to obtain a sequence. The node corresponding to the median in the sequence is taken as the root node of the data structure. Nodes with values ​​less than the median are taken as nodes belonging to the left subtree of the root node, and nodes with values ​​greater than the median are taken as nodes belonging to the right subtree of the root node. Then, for the nodes belonging to the left subtree of the root node, the above process is repeated to obtain the root node of the left subtree, the nodes belonging to the left subtree of the root node, and the nodes belonging to the right subtree of the root node; similar processing is performed for the nodes belonging to the right subtree of the root node. This process is repeated continuously with such heaps until the data structure of each node is completed.

[0075] It should be noted that the process of reconstructing the parent node and all its lower-level nodes to obtain a new subtree is similar to the process of establishing a corresponding data structure based on all the key information already obtained, and will not be repeated here.

[0076] Then, after establishing the data structure, for the newly acquired key information, the parent node corresponding to the key information is found in the data structure, and it is checked whether the parent node meets the set balance conditions. The set balance conditions include: if the node has 1 subtree, the number of nodes in the subtree is less than the first threshold; if the node has at least 2 subtrees, the difference in the number of nodes between any two subtrees is less than the second threshold.

[0077] Finally, if the parent node meets the set balance condition, the key information is inserted as a new node into the parent node's subtree. If the parent node does not meet the set balance condition, the parent node and all its lower-level nodes are reconstructed to obtain a new subtree. The subtrees corresponding to the parent node and all its lower-level nodes in the above data structure are then updated to the new subtrees. After updating to the new subtrees, the node attributes of each node in the data structure are updated.

[0078] In this embodiment, requests for node insertion, node deletion, etc., received during the subtree reconstruction process are first cached in the request queue so that they can be processed after the subtree is updated. The specific processing method for node requests is not limited here.

[0079] This embodiment continuously updates the constructed data structure using the above method, making the query for the nearest collection location more efficient.

[0080] This concludes the description of the method provided in the embodiments of this application. The mobile robot provided in the embodiments of this application will now be described:

[0081] As one embodiment, this embodiment also provides a mobile robot. See [link to documentation]. Figure 7 , Figure 7 This is a schematic diagram of the mobile robot structure provided in an embodiment of this application. Figure 7 As shown, the mobile robot 700 includes an image sensor 701 and a processing module 702;

[0082] Image sensor 701 is used to acquire image frames and key information corresponding to the image frames;

[0083] The processing module 702 is used to obtain key information corresponding to key image frames collected by the mobile robot during its operation. Key image frames refer to image frames that meet preset conditions collected by the mobile robot during its operation. If it is determined that data management is needed based on all the key information already obtained, then data management is performed on all the key information already obtained based on the obstacle layer established by the mobile robot during its operation to determine the target key information that can be replaced. Any target key information in the obstacle layer corresponds to a collection position. The key information corresponding to the nearest collection position of any target key information meets the similarity requirement with the target key information, and there are no obstacles within the specified area where the collection position of any target key information is located. When the mobile robot collects key information corresponding to a key image frame again during its operation, a target key information is selected from all the determined target key information and replaced with the currently obtained key information.

[0084] As one example, determining that data management is currently required based on all the key information already obtained includes: determining whether the storage space occupied by all the key information already obtained is greater than or equal to a preset threshold; if so, determining that data management is currently required.

[0085] As an example, after obtaining the key information corresponding to the key image frame collected by the mobile robot during its operation, the processing module 702 is further used to: record the key information corresponding to the key image frame in the configured key information data structure; the data structure also records all the key information previously obtained.

[0086] As an example, the acquisition location refers to the acquisition location of the key image frame corresponding to the key information;

[0087] Based on the obstacle layer established by the mobile robot during its operation, data management is performed on all acquired key information to determine replaceable target key information. This includes: traversing all acquired key information and using the traversed key information as the current key information; if the current key information is not marked as replaceable target key information, then if no obstacle is found within the specified area of ​​the acquisition position corresponding to the current key information in the obstacle layer, the key information corresponding to the nearest acquisition position corresponding to the current key information is queried from the data structure; if the key information corresponding to the nearest acquisition position is found, then if no obstacle is found within the specified area of ​​the nearest acquisition position, the key information corresponding to the nearest acquisition position among all acquired key information is marked as replaceable target key information.

[0088] As an example, the data structure is a tree-based data structure;

[0089] The data structure is established as follows: When key information corresponding to N key image frames is obtained, a data structure is established based on the key information of the N key image frames. After establishing the data structure, for the key information of the newly obtained key image frames, the parent node corresponding to the key information is found in the data structure, and it is checked whether the parent node meets the set balance conditions. The set balance conditions include: if the node has 1 subtree, the number of nodes in the subtree is less than a first threshold; if the node has at least 2 subtrees, the difference in the number of nodes between any two subtrees is less than a second threshold. If the parent node is found to meet the set balance conditions, the key information is inserted as a new node into the subtree of the parent node. If the parent node is found not to meet the set balance conditions, the parent node and all nodes in the lower level of the parent node are reconstructed to obtain a new subtree, and the subtrees corresponding to the parent node and all nodes in the lower level of the parent node in the data structure are updated to the new subtrees.

[0090] As one embodiment, finding the parent node corresponding to the key information in the data structure includes: traversing all nodes in the data structure and taking the traversed node as the current node; checking whether the collection location corresponding to the key information falls within the location range corresponding to the current node; the location range depends on the collection locations corresponding to all nodes at the next level of the current node; if the collection location corresponding to the key information is found to fall within the location range, the location range is determined as a candidate location range; selecting the smallest range from each candidate location range as the target location range, and determining the node corresponding to the target location range as the parent node corresponding to the key information.

[0091] This concludes the process. Figure 7 The structure of the mobile robot shown is described.

[0092] For details on the implementation process of each embodiment of the mobile robot described above, please refer to the implementation process of the corresponding steps in the above method, which will not be repeated here.

[0093] Please see Figure 8 This is a schematic diagram of the hardware structure of an electronic device provided in an exemplary embodiment of this application. The electronic device may include a processor 801, a communication interface 802, a memory 803, and a communication bus 804. The processor 801, communication interface 802, and memory 803 communicate with each other via the communication bus 804. The memory 803 stores computer program instructions; the processor 801 can execute the steps of the method described in the above embodiments by executing the computer program instructions stored in the memory 803. Depending on the actual function of the electronic device, other hardware may also be included, which will not be elaborated further.

[0094] Correspondingly, embodiments of this application also provide a computer-readable storage medium storing a plurality of computer program instructions, which, when executed by a processor, can implement the methods disclosed in the above examples of this application.

[0095] For example, the aforementioned computer-readable storage medium can be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, etc. For instance, computer-readable storage media can be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard disk drives), solid-state drives, any type of storage disk (such as optical discs, DVDs, etc.), or similar storage media, or combinations thereof. The processor and memory may be supplemented by or incorporated into dedicated logic circuitry.

[0096] The above are merely preferred embodiments of this application and are not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. A data management method, characterized in that, The method is applied to a mobile robot, and the method includes: Obtain key information corresponding to key image frames collected by the mobile robot during its operation; the key image frames refer to image frames that meet preset conditions collected by the mobile robot during its operation. If data management is required based on all the key information already obtained, then data management is performed on all the key information already obtained based on the obstacle layer established by the mobile robot during its operation to determine the target key information that can be replaced; any target key information in the obstacle layer corresponds to a collection location, and the key information corresponding to the nearest collection location of any target key information meets the similarity requirement with the target key information, and there are no obstacles within the specified area where the collection location of any target key information is located; When the mobile robot collects key information corresponding to key image frames during its operation, it selects one key information from all the previously determined key information and replaces it with the currently obtained key information.

2. The method according to claim 1, characterized in that, Based on all the key information already obtained, it is determined that data management is currently required, including: Determine whether the storage space occupied by all the key information obtained is greater than or equal to a preset threshold. If so, determine that data management is required.

3. The method according to claim 1, characterized in that, After obtaining the key information corresponding to the key image frames collected by the mobile robot during its operation, the method further includes: recording the key information corresponding to the key image frames in a configured key information data structure; The data structure also records all the key information that was previously obtained.

4. The method according to claim 3, characterized in that, The acquisition location refers to the acquisition location of the key image frame corresponding to the key information; The process of managing all acquired key information based on the obstacle layer established by the mobile robot during its operation to determine replaceable target key information includes: Iterate through all the key information that has been obtained, and use the key information that has been iterated over as the current key information; If it is found that the current key information is not marked as a replaceable target key information, then when it is found that there are no obstacles in the specified area where the current key information is located in the obstacle layer, the key information corresponding to the nearest collection position of the current key information is queried from the data structure. If the key information corresponding to the nearest collection location is found, and no obstacles are found within the specified area where the nearest collection location is located, the key information corresponding to the nearest collection location among all the key information already obtained will be marked as the target key information that can be replaced.

5. The method according to claim 4, characterized in that, The data structure is a tree-based data structure; The data structure is established in the following way: When key information from N key image frames is obtained, the data structure is established based on the key information from the N key image frames; N is greater than 1; After establishing the data structure, for the key information corresponding to the newly obtained key image frames, the parent node corresponding to the key information is found in the data structure, and it is checked whether the parent node meets the set balance conditions; wherein, the set balance conditions include: if the node has 1 subtree, then the number of nodes in the subtree is less than a first threshold; if the node has at least 2 subtrees, then the difference in the number of nodes between any two subtrees is less than a second threshold. If the parent node is found to meet the set balance condition, then the key information is inserted as a new node into the subtree of the parent node; If the parent node is found to not meet the set balance condition, the parent node and all nodes in the parent node's lower level are reconstructed to obtain a new subtree, and the subtrees corresponding to the parent node and all nodes in the parent node's lower level in the data structure are updated to the new subtree.

6. The method according to claim 5, characterized in that, The step of finding the parent node corresponding to the key information from the data structure includes: Traverse all nodes in the data structure and take the traversed node as the current node; Based on the location range corresponding to the current node, check whether the collection location corresponding to the key information falls within the location range; the location range depends on the collection locations corresponding to all nodes at the next level of the current node; if it is found that the collection location corresponding to the key information falls within the location range, then the location range is determined as a candidate location range. Select the smallest range from the candidate locations as the target location range, and determine the node corresponding to the target location range as the parent node of the key information.

7. A mobile robot, characterized in that, The mobile robot includes: an image sensor and a processing module; The image sensor is used to acquire image frames and key information corresponding to the image frames; The processing module is used to obtain key information corresponding to key image frames collected by the mobile robot during its operation. The key image frames refer to image frames collected by the mobile robot during its operation that meet preset conditions. If data management is required based on all the obtained key information, then data management is performed on all the obtained key information based on the obstacle layer established by the mobile robot during its operation to determine replaceable target key information. Each target key information in the obstacle layer corresponds to a collection location. The key information corresponding to the nearest collection location of any target key information meets the similarity requirement with the target key information, and there are no obstacles within the specified area where the collection location of any target key information is located. When the mobile robot collects key information corresponding to a key image frame again during its operation, a target key information is selected from all the determined target key information and replaced with the currently obtained key information.

8. The mobile robot according to claim 7, characterized in that, The step of determining the need for data management based on all obtained key information includes: determining whether the storage space occupied by all obtained key information is greater than or equal to a preset threshold; if so, determining that data management is currently required; and / or, After obtaining the key information corresponding to the key image frames collected by the mobile robot during its operation, the processing module is further configured to: record the key information corresponding to the key image frames in a configured key information data structure; the data structure also records all previously obtained key information; and / or, The acquisition location refers to the acquisition location of the key image frame corresponding to the key information; The method of managing all acquired key information based on the obstacle layer established by the mobile robot during operation to determine replaceable target key information includes: traversing all acquired key information and using the traversed key information as the current key information; if the current key information is not marked as replaceable target key information, then if no obstacle is found within the specified area of ​​the acquisition position corresponding to the current key information in the obstacle layer, querying the key information corresponding to the nearest acquisition position of the acquisition position corresponding to the current key information from the data structure; if the key information corresponding to the nearest acquisition position is found, then if no obstacle is found within the specified area of ​​the nearest acquisition position, marking the key information corresponding to the nearest acquisition position among all acquired key information as replaceable target key information; and / or, The data structure is a tree-based data structure; The data structure is established as follows: when key information corresponding to N key image frames is obtained, the data structure is established based on the key information of the N key image frames; N is greater than 1; after establishing the data structure, for the key information of the newly obtained key image frames, the parent node corresponding to the key information is searched in the data structure, and it is checked whether the parent node meets the set balance condition; wherein, the set balance condition includes: if the node has 1 subtree, the number of nodes in the subtree is less than a first threshold; if the node has at least 2 subtrees, the difference in the number of nodes between any two subtrees is less than a second threshold; if the parent node is found to meet the set balance condition, the key information is inserted as a new node into the subtree of the parent node; if the parent node is found not to meet the set balance condition, the parent node and all nodes at the lower level of the parent node are reconstructed to obtain a new subtree, and the subtrees corresponding to the parent node and all nodes at the lower level of the parent node in the data structure are updated to the new subtree; and / or, The step of finding the parent node corresponding to the key information in the data structure includes: traversing all nodes in the data structure and taking the traversed node as the current node; checking whether the collection location corresponding to the key information falls within the location range corresponding to the current node; the location range is determined by the collection locations corresponding to all nodes at the next level of the current node; if the collection location corresponding to the key information is found to fall within the location range, the location range is determined as a candidate location range; the smallest range is selected from the candidate location ranges as the target location range, and the node corresponding to the target location range is determined as the parent node corresponding to the key information.

9. An electronic device, characterized in that, The electronic device includes: Processor; and A memory storing computer program instructions that, when executed by the processor, cause the processor to perform the steps of the method as described in any one of claims 1 to 6.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions that, when executed by a processor, cause the processor to perform the steps of the method as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Dynamic obstacle tracking method based on sparse laser radar data

    CN111337941A

  • Pose determination method and device for mobile equipment

    CN112179330A