Robot mapping method, electronic device and computer storage medium

By using the skeleton and node trees of the grid map in robot mapping, robot automatic mapping and security exploration are realized, solving the problems of low intelligence level and poor security in traditional mapping methods.

CN114545923BActive Publication Date: 2025-03-11MIDEA GRP (SHANGHAI) CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111630176.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-28
Publication Date
2025-03-11
Estimated Expiration
2041-12-28

AI Technical Summary

Technical Problem

Traditional robot mapping methods require artificial control, low intelligence level, and it is difficult to explore automation and security in unknown environments.

Method used

The node is determined through a skeleton based on the raster map, a node tree is established, and the robot is automatically constructed based on the positional relationship between the leaf nodes and the boundary to be explored.

Benefits of technology

The robot automatically builds the map, improves the intelligence level of the map, and calculates the exploration points to keep the exploration points away from obstacles, improving safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114545923B_ABST
    Figure CN114545923B_ABST
Patent Text Reader

Abstract

The present application discloses a robot mapping method, electronic device and computer storage medium. The mapping method includes: determining nodes in the skeleton based on a grid map, wherein the grid map is constructed based on the environment area where the robot is located, and the grid map includes a boundary to be explored; determining a root node based on the position of the robot, and determining a node tree based on the root node and the nodes in the skeleton; and controlling the robot to explore and map based on the positional relationship between the leaf nodes in the node tree and the boundary to be explored. In this way, the robot can automatically build a map, improve the level of intelligence, and improve safety.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of intelligent mapping technology, and in particular to a robot mapping method, electronic equipment and computer storage medium. Background Art

[0002] Robots operate in different unknown environments, which involves robot positioning, mapping and planning technology. First, the robot is required to complete the construction of the environmental map so as to carry out subsequent navigation and other operations.

[0003] Robotic mapping technology is a technology that uses sensors to sense the external environment and complete its own positioning. Traditional mapping methods use manual control or following methods to control the movement of robots to complete mapping. This method requires human control and the level of intelligence needs to be improved. Summary of the invention

[0004] The present application provides a robot mapping method, electronic equipment and computer storage medium to realize automatic mapping of the robot, improve the intelligence level and improve safety.

[0005] In order to solve the above technical problems, the present application proposes a robot mapping method. The robot mapping method includes: determining nodes in the skeleton based on a grid map, wherein the grid map is constructed based on the environment area where the robot is located, and the grid map includes a boundary to be explored; determining a root node based on the position of the robot, and determining a node tree based on the root node and the nodes in the skeleton; and controlling the robot to explore and build a map based on the positional relationship between the leaf nodes in the node tree and the boundary to be explored.

[0006] The above-mentioned determining of nodes in the skeleton includes: determining grids corresponding to bends, grids corresponding to branches and / or grids corresponding to ends in the skeleton as nodes.

[0007] The above-mentioned determining the node in the skeleton includes: traversing the grid on the skeleton, and judging whether the grid is a node according to the positional relationship between the grid's neighborhood grid and the skeleton.

[0008] Among them, the above-mentioned judging whether the grid is a node based on the relationship between the grid's neighborhood grids and the skeleton includes: judging that the grid is a leaf node based on that only one of the grid's neighborhood grids is on the skeleton; judging that the grid is a turning node based on that only two of the grid's neighborhood grids are on the skeleton, and the two neighborhood grids and the grid are not on a straight line; judging that the grid is a branch node based on that at least three of the grid's neighborhood grids are on the skeleton.

[0009] Among them, the above-mentioned grid map includes grids to be explored; the above-mentioned determination of the positional relationship between the leaf node and the boundary to be explored in the node tree includes: based on the fact that at least three of the neighborhood grids of the grid where the leaf node is located are grids to be explored, determining that the positional relationship between the leaf node and the boundary to be explored is that the leaf node is in the boundary to be explored.

[0010] Among them, the above-mentioned controlling the mobile robot to explore and build a map based on the positional relationship between the leaf nodes in the node tree and the boundary to be explored includes: taking the parent node of the leaf node at the boundary to be explored as the node to be explored; and controlling the robot to move to the node to be explored to explore and build a map.

[0011] Among them, the above-mentioned mapping method also includes: taking the position of the robot as the current node, determining whether there is a leaf node to be explored of the current node; if so, controlling the robot to move to the node to be explored; if not, controlling the robot to move to the parent node of the current node.

[0012] Among them, the above-mentioned mapping method also includes: calculating the length of the boundary to be explored, including: starting from the leaf node located at the boundary to be explored, moving along the skeleton to determine the length of the boundary to be explored; if the length is greater than a threshold, executing the step of moving the robot based on the leaf node located at the boundary to be explored to perform exploration and mapping.

[0013] To solve the above technical problems, the present application proposes an electronic device. The electronic device includes: a memory and a processor coupled to each other, the processor is used to execute program data stored in the memory to implement the above robot mapping method.

[0014] In order to solve the above technical problems, the present application proposes a computer storage medium on which program data is stored, and the program data can be executed to implement the above robot mapping method.

[0015] The mapping method of the robot of the present application first determines the nodes in the skeleton based on the skeleton of the grid map, and the grid map includes the boundary to be explored, so the skeleton extends to the boundary to be explored, that is, the skeleton includes the skeleton of the boundary to be explored; further, the present application establishes a node tree of the nodes in the skeleton, and controls the mobile robot to explore and build a map based on the positional relationship between the leaf nodes in the node tree and the boundary to be searched; in this way, not only can the robot automatically build a map and improve the intelligence level of the map; but also the present application calculates the exploration points based on the skeleton of the grid map, so that the exploration points can be away from obstacles, which can improve safety. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative work, among which:

[0017] Figure 1 It is a flow chart of an embodiment of a mapping method of a robot of the present application;

[0018] Figure 2 yes Figure 1 A schematic diagram of the structure of a grid map constructed in an embodiment;

[0019] Figure 3 yes Figure 2 Schematic diagram of the structure of the grid map and its skeleton of the embodiment;

[0020] Figure 4 yes Figure 3 A schematic diagram of the structure of some structures of the embodiment;

[0021] Figure 5 yes Figure 3 A schematic diagram of the structure of some structures of the embodiment;

[0022] Figure 6 yes Figure 3 A schematic diagram of the structure of some structures of the embodiment;

[0023] Figure 7 yes Figure 1 A specific flow chart of step S15 in the embodiment;

[0024] Figure 8 yes Figure 1 A specific flow chart of step S12 in the embodiment;

[0025] Fig. 9 It is a flow chart of an embodiment of a mapping method of a robot of the present application;

[0026] Fig.10 It is a structural schematic diagram of an embodiment of the mapping device of the present application;

[0027] Fig.11 It is a structural schematic diagram of an embodiment of the electronic device of the present application;

[0028] Fig.12 It is a structural diagram of an embodiment of the computer storage medium of the present application. DETAILED DESCRIPTION

[0029] The present application is further described in detail below in conjunction with the accompanying drawings and examples. It is particularly noted that the following examples are only used to illustrate the present application, but are not intended to limit the scope of the present application. Similarly, the following examples are only some embodiments of the present application rather than all embodiments, and all other embodiments obtained by those of ordinary skill in the art without making creative work are within the scope of protection of the present application.

[0030] In the description of the embodiments of the present application, it should be noted that, unless otherwise clearly specified and limited, the terms "connected" and "connection" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be directly connected or indirectly connected through an intermediate medium. For ordinary technicians in this field, the specific meanings of the above terms in the embodiments of the present application can be understood according to specific circumstances.

[0031] In the embodiments of the present application, unless otherwise clearly specified and limited, a first feature being "above" or "below" a second feature may mean that the first and second features are in direct contact, or the first and second features are in indirect contact through an intermediate medium. Moreover, a first feature being "above", "above" or "above" a second feature may mean that the first feature is directly above or obliquely above the second feature, or simply means that the first feature is higher in level than the second feature. A first feature being "below", "below" or "below" a second feature may mean that the first feature is directly below or obliquely below the second feature, or simply means that the first feature is lower in level than the second feature.

[0032] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the embodiments of the present application. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, without contradiction.

[0033] The robot, mapping method and computer storage medium provided by the present application are described in detail below in conjunction with the embodiments.

[0034] This application first proposes a robot mapping method, such as Figure 1 As shown, Figure 1 1 is a flow chart of an embodiment of a mapping method of a robot of the present application. The mapping method of this embodiment specifically includes the following steps:

[0035] Step S11: Based on the skeleton of the grid map, determine the nodes in the skeleton, wherein the grid map is constructed based on the environment area where the robot is located, and the grid map includes the boundary to be explored.

[0036] The robot is provided with a detection device capable of detecting space obstacles and a moving device for moving. The robot is also provided with a processor capable of sending and receiving instructions and processing data information.

[0037] In this embodiment, the robot can construct a grid map of the environment area through Simultaneous Localization And Mapping (SLAM), and the grid map includes the boundary to be explored. The robot moves to the boundary to be explored based on the information of the grid map to explore and map the boundary to be explored, and expand the constructed grid map.

[0038] SLAM map building refers to the robot creating a map in a completely unknown environment under the condition that its own position is uncertain, and using the map for autonomous positioning and navigation. The SLAM problem can be described as: the robot starts moving from an unknown position in an unknown environment, and during the movement, it locates itself based on position estimation and sensor data, while building an incremental map.

[0039] When the robot builds a map, it needs to know its position in the environment and record the location of features in the environment. The robot builds an environmental map while positioning itself.

[0040] The grid map is composed of grids, each of which can represent the state of the surrounding environment at its location. The state includes three states: the occupied state where obstacles exist, the idle state where there are no obstacles and the robot can pass freely, and the unknown state where the robot has not yet detected (it is unknown whether there are obstacles in the grid). The robot can plan its route based on the grid map, and continuously detect and update the grid map during the robot's progress.

[0041] The robot can determine the size of the grid based on parameters such as environmental resolution, environmental information storage capacity, and decision-making speed. If the environmental resolution is large, the environmental information storage capacity is large, and the decision-making speed is slow, a small grid can be selected; if the environmental resolution is small, the environmental information storage capacity is small, and the decision-making speed is fast, a large grid can be selected, but the ability to find a path in a dense obstacle environment is weak.

[0042] Of course, in other embodiments, the robot may also use other technologies to construct a grid map of the environmental area.

[0043] In an application scenario, the grid map constructed in this embodiment is as follows: Figure 2As shown. The area in the dotted rectangular box is the robot's environment area; the solid lines are the obstacle area (the corresponding grid state is occupied); the area surrounded by solid lines is the free area (the corresponding grid state is free); the area in the dotted rectangular box except the obstacle area and the free area is the unknown area (the corresponding grid state is unknown); the boundary between the free area and the unknown area is the boundary to be explored (part of it has been marked by the dotted line in the dotted rectangular box).

[0044] The robot uses the skeleton extraction method to extract the skeleton of the grid map, which can obtain the center position of the free area in the grid map and ensure that the skeleton is located in the middle of the obstacles on both sides, that is, the grid on the skeleton is in the best position away from obstacles.

[0045] Of course, in other embodiments, in order to shorten the length of the skeleton of the grid map, the skeleton in the idle area may not be located in its central area, as long as it is ensured that the robot does not touch two obstacles when moving along the skeleton.

[0046] Specifically, the robot can first project the robot's initial position, obstacle area and boundary to be explored into the grid map, determine the robot's traversable area in the grid map, and then use the Zhang-Suen algorithm or the like to extract the skeleton of the traversable area.

[0047] Extracted Figure 2 The skeleton of the grid map shown is as follows Figure 3 Indicated by the bold black line.

[0048] Furthermore, this embodiment can determine the grids corresponding to the turns, branches and / or ends of the skeleton as nodes of the skeleton, because the turns, branches and ends of the skeleton can reflect the change in the robot's movement direction.

[0049] Optionally, the robot may traverse the grids on the skeleton, and determine whether the grid is a node according to the positional relationship between the neighborhood grids of the grid and the skeleton, such as whether the neighborhood grid is on the skeleton.

[0050] The robot takes its initial position (starting position) as the root node, traverses each grid on the skeleton, and determines whether each grid point is a node (including leaf nodes, turning nodes and branch nodes).

[0051] In some embodiments, the neighborhood grid comprises an eight-neighborhood grid.

[0052] Specifically, in this embodiment, step S11 can be implemented in the following way:

[0053] (1) Based on the fact that only one of the grids in its neighborhood is on the skeleton, the grid is determined to be a leaf node.

[0054] If only one of the neighboring grids of the grid is on the skeleton, the grid is considered to be a node located at the end of the skeleton, and the grid is determined to be a leaf node of the skeleton.

[0055] For example, Figure 4 As shown, if there is only one neighboring grid C1 among the eight neighboring grids of grid A1 on the skeleton B, and the other neighboring grids are not on the skeleton B, then grid A1 is determined to be a leaf node of the skeleton.

[0056] (2) When only two of the grid's neighborhood grids are on the skeleton and the two neighborhood grids and the grid are not on a straight line, the grid is determined to be a turning node.

[0057] If two of the grid's neighboring grids are on the skeleton, the grid is considered to be in the middle of the skeleton, and it is further determined whether the two neighboring grids and the grid are on a straight line; if so, it is determined that the grid is not a node of the skeleton; if not, the grid is determined to be a turning node of the skeleton, and the turning node is located at the turning point of the skeleton.

[0058] For example, Figure 5 As shown, if only two neighboring grids C2 and C3 of the eight neighboring grids of grid A2 are on the skeleton B, and the neighboring grids C2 and C3 are not located on a straight line with grid A2, then grid A2 is determined to be a turning node of skeleton B.

[0059] (3) The grid is determined to be a branch node based on the fact that at least three of the grid's neighborhood grids are on the skeleton.

[0060] If at least three of the grid's neighboring grids are on the skeleton, the grid is considered to be in the middle of the skeleton, and the grid is determined to be a branch node at the skeleton branch.

[0061] For example, Figure 6 As shown, if three neighboring grids C4, C5, and C6 of the eight neighboring grids of grid A3 are on skeleton B, then grid A3 is determined to be a branch node at the branch of skeleton B.

[0062] The nodes in the skeleton of the grid map can be determined by the above method.

[0063] Step S12: Determine the root node based on the position of the robot, and determine the node tree based on the root node and the nodes in the skeleton.

[0064] The position of the robot can be the initial position of the robot or the current position of the robot (the robot is always moving).

[0065] Taking the position of the robot as the root node, the nodes of the skeleton obtained in step S12 are stored in a tree structure to form a node tree.

[0066] Specifically, starting from the root node, move along the grid located on the skeleton to the next-level node of the root node, and then move to the next-level node of the next-level node, until the last-level node, that is, the leaf node; wherein the next-level node and the previous-level node are in a parent-child relationship, that is, the next-level node is the child node of its previous-level node, and the previous-level node is the parent node of its next-level node.

[0067] In the above moving process, the distance between the child node and its parent node can be obtained. A node tree is established based on the hierarchical relationship and distance between the above nodes.

[0068] Based on the above node tree, leaf nodes are marked to obtain a series of leaf nodes of the node tree; the node tree includes not only the root node but also nodes of various levels between the root node and the leaf nodes, and the node tree can reflect the parent-child relationship between the nodes.

[0069] Step S13: Control the robot to explore and build a map based on the positional relationship between the leaf nodes in the node tree and the boundary to be explored.

[0070] The grid map further includes grids to be explored, that is, grids whose grid status is unknown, including grids corresponding to boundaries to be explored and grids corresponding to unknown areas.

[0071] Optionally, in this embodiment, if at least three of the neighboring grids of the grid where the leaf node is located are grids to be explored, the positional relationship between the leaf node and the boundary to be explored is determined to be that the leaf node is located at the boundary to be explored.

[0072] The robot traverses each leaf node, obtains the status of the eight neighborhood grids of each leaf node, and performs statistics; if the status of at least three of the eight neighborhood grids of the grid where the leaf node is located is unknown, that is, at least three of the neighborhood grids of the grid where the leaf node is located are grids to be explored, then the leaf node is determined to be at the boundary to be explored.

[0073] After the robot traverses each leaf node in the node tree according to the above method, it obtains a series of leaf nodes that are at the boundary to be explored.

[0074] The mapping method of the robot in this embodiment first determines the nodes in the skeleton based on the skeleton of the grid map, and the grid map includes the boundary to be explored, so the skeleton extends to the boundary to be explored, that is, the skeleton includes the skeleton of the boundary to be explored; further, this embodiment establishes a node tree of the nodes in the skeleton, and controls the mobile robot to explore and build the map based on the positional relationship between the leaf nodes in the node tree and the boundary to be searched; in this way, not only can the robot automatically build the map and improve the intelligence level of the map; but also the application calculates the exploration points based on the skeleton of the grid map, so that the exploration points can be far away from obstacles and improve safety; at the same time, the exploration points are arranged in a certain order to ensure the orderly exploration of the points to be explored.

[0075] Optionally, this embodiment can be implemented by Figure 7 The method shown implements step S13. The method of this embodiment includes step S71 and step S72.

[0076] Step S71: taking the parent node of the leaf node at the boundary to be explored as the node to be explored.

[0077] Step S72: Control the robot to move to the node to be explored to explore and build a map.

[0078] Since the entire boundary to be explored may be a long straight line with leaf nodes at both ends, the robot obtains the parent node of the leaf node of the boundary to be explored as the node to be explored, which can explore the entire boundary to be explored and improve the accuracy and efficiency of mapping.

[0079] In another embodiment, the Figure 8 The method shown implements step S13. The method of this embodiment includes steps S81 to S85.

[0080] Step S81: taking the parent node of the leaf node at the boundary to be explored as the node to be explored.

[0081] Step S82: Taking the robot's location as the current node, determine whether there is a leaf node to be explored in the current node.

[0082] In some application scenarios, the robot may not be located on a node of the skeleton, and the node closest to the robot may be selected as the current node of the robot.

[0083] Step S83: If it exists, control the robot to move to the node to be explored.

[0084] If there are unexplored nodes in the leaf nodes of the robot's current node, the robot is controlled to prioritize exploring and mapping the unexplored nodes of the current node, which can shorten the robot's motion path and improve the efficiency of mapping.

[0085] Step S84: If it does not exist, control the robot to move to the parent node of the current node.

[0086] If the leaf node of the robot's current node does not have a leaf node on the boundary to be explored, it is considered that the robot will not move along the current node to its leaf node in order to build a map of the unknown area; at this time, it can trace back to the parent node of the current node and sort the exploration priority of the nodes to be explored.

[0087] Finally, the node with the highest priority to be explored is taken as the next exploration point, and the robot is controlled to reach the specified position. That is, the robot can be guaranteed to explore in the current direction first.

[0088] Step S85: Control the robot to explore and build a map at the specified location.

[0089] This embodiment controls the robot to preferentially explore and map the nodes to be explored of the current node, which can shorten the movement path of the robot and improve the efficiency of map building.

[0090] This application further proposes another embodiment of a robot mapping method, such as Fig. 9 As shown, Fig. 9 1 is a flow chart of an embodiment of a mapping method of a robot of the present application. The mapping method of this embodiment specifically includes the following steps:

[0091] Step S91: Based on the skeleton of the grid map, determine the nodes in the skeleton, wherein the grid map is constructed based on the environment area where the robot is located, and the grid map includes the boundary to be explored.

[0092] Step 91 is similar to the above-mentioned step S11 and will not be described in detail here.

[0093] Step S92: Determine the root node based on the position of the robot, and determine the node tree based on the root node and the nodes in the skeleton.

[0094] Step S92 is similar to the above-mentioned step S12 and will not be described in detail here.

[0095] Step S93: Based on the positional relationship between the leaf nodes in the node tree and the boundary to be explored.

[0096] Step S93 is similar to the above-mentioned step S13 and will not be described in detail here.

[0097] Step S94: Calculate the length of the boundary to be explored.

[0098] Optionally, this embodiment starts from a leaf node located at the boundary to be explored and moves along the skeleton to determine the length of the boundary to be explored.

[0099] Specifically, starting from the leaf node located at the boundary to be explored, the nodes on the boundary to be explored are searched along the nodes on the skeleton to form the boundary to be explored; when the length of the boundary to be explored (the distance between adjacent nodes of the skeleton can be calculated when constructing the node tree) is greater than a certain threshold, it means that the unexplored area is large and needs to be explored. At this time, the parent node of the leaf node is added to the set of nodes to be explored.

[0100] Step S95: If the length is greater than the threshold, the robot is controlled to explore and build a map.

[0101] Step S95 is similar to the above step S13 and will not be described in detail here.

[0102] If the length is less than or equal to the threshold, it means that the unexplored area is small and does not need to be explored, so the leaf node is discarded.

[0103] In one embodiment, Fig.10 As shown, a mapping device is provided, which can adopt software modules or hardware modules, or a combination of the two to become a part of a computer device. The device specifically includes: a skeleton node extraction module 111, a node tree determination module 112 and an exploration mapping module 113, and the node tree determination module 112 is connected to the skeleton node extraction module 111 and the exploration mapping module 113 respectively; wherein: the skeleton node extraction module 111 is used to determine the nodes in the skeleton based on the skeleton of the grid map, the grid map is constructed based on the environmental area where the robot is located, and the grid map includes a boundary to be explored; the node tree determination module 112 is used to determine the root node based on the position of the robot, and determine the node tree according to the root node and the nodes in the skeleton; the exploration mapping module 113 is used to control the robot to explore and build a map according to the positional relationship between the leaf nodes in the node tree and the boundary to be explored.

[0104] The mapping device of this embodiment is also used to implement the above-mentioned robot mapping method.

[0105] For the specific definition of the mapping device, please refer to the definition of the robot's mapping method above, which will not be repeated here. Each module in the above-mentioned mapping device can be implemented in whole or in part by software, hardware and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.

[0106] The present application further proposes an electronic device, such as Fig.11 As shown, Fig.11 The electronic device 100 of the present embodiment includes a processor 101 , a memory 102 coupled to the processor 101 , an input / output device 103 , and a bus 104 .

[0107] The processor 101, the memory 102, and the input / output device 103 are respectively connected to the bus 104. The memory 102 stores program data, and the processor 101 is used to execute the program data to implement the above-mentioned robot mapping method.

[0108] The controller in the above embodiment may be integrated into the processor 101 .

[0109] In this embodiment, the processor 101 may also be referred to as a CPU (Central Processing Unit). The processor 101 may be an integrated circuit chip having signal processing capabilities. The processor 101 may also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. A general-purpose processor may be a microprocessor or the processor 101 may also be any conventional processor, etc.

[0110] The electronic device 100 of this embodiment may be a robot, and is further provided with a detection device and a moving device capable of detecting space obstacles.

[0111] The robot mapping method and device provided in the present application extract the skeleton of the grid map of the current environment area and extend the skeleton to the map boundary; at the same time, the points to be explored are calculated based on the skeleton, and the obtained points to be explored are far away from obstacles, thereby maximizing safety; at the same time, the points to be explored are arranged in a certain order, thereby ensuring the orderly exploration of the points to be explored.

[0112] The present application further proposes a computer-readable storage medium, such as Fig.12 As shown, the computer-readable storage medium 160 of this embodiment is used to store the program data 161 of the above embodiment, and the program data 161 can be executed to implement the above robot mapping method. The program data 161 has been described in detail in the above method embodiment and will not be repeated here.

[0113] The computer-readable storage medium 160 of this embodiment may be, but is not limited to, a USB flash drive, an SD card, a PD optical drive, a mobile hard disk, a large-capacity floppy drive, a flash memory, a multimedia memory card, a server, and the like.

[0114] In one embodiment, a computer program product or computer program is provided, the computer program product or computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps in the above-mentioned method embodiments.

[0115] Different from the prior art, the present application first determines the nodes in the skeleton based on the skeleton of the grid map, and the grid map includes the boundary to be explored, so the skeleton extends to the boundary to be explored, that is, the skeleton includes the skeleton of the boundary to be explored; further, the present application establishes a node tree of the nodes in the skeleton, and controls the mobile robot to explore and build a map based on the positional relationship between the leaf nodes in the node tree and the boundary to be searched; in this way, not only can the robot automatically build a map and improve the intelligence level of the map; but also the present application calculates the exploration points based on the skeleton of the grid map, so that the exploration points can be away from obstacles and improve safety; at the same time, the exploration points are arranged in a certain order to ensure the orderly exploration of the points to be explored.

[0116] In addition, if the above functions are implemented in the form of software functions and sold or used as independent products, they can be stored in a storage medium readable by a mobile terminal, that is, the present application also provides a storage device storing program data, the program data can be executed to implement the method of the above embodiment, and the storage device can be, for example, a USB flash drive, an optical disk, a server, etc. In other words, the present application can be embodied in the form of a software product, which includes a number of instructions for enabling a smart terminal to execute all or part of the steps of the method described in each embodiment.

[0117] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.

[0118] Any process or method description in a flowchart or otherwise described herein may be understood to represent a mechanism, segment or portion of a code that includes one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present application belong.

[0119] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing the logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (which can be a personal computer, server, network device or other system that can fetch instructions from the instruction execution system, device or apparatus and execute the instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purpose of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus or in combination with these instruction execution systems, devices or apparatuses. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (electronic device), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), a fiber optic device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or processing in other suitable ways if necessary, and then stored in a computer memory.

[0120] The above description is only an implementation method of the present application, and does not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly used in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A robot mapping method, characterized in that: The mapping method comprises: Determining nodes in the skeleton based on a grid map, wherein the grid map is constructed based on an environment area where the robot is located and the grid map includes a boundary to be explored; Determine a root node based on the position of the robot, and determine a node tree based on the root node and nodes in the skeleton; Controlling the robot to explore and build a map according to the positional relationship between the leaf nodes in the node tree and the boundary to be explored; Wherein, controlling the robot to explore and build a map according to the positional relationship between the leaf nodes in the node tree and the boundary to be explored includes: Taking the location of the robot as the current node, determining whether there is a node to be explored in the leaf node of the current node; If it exists, control the robot to move to the node to be explored to explore and build a map; If it does not exist, the parent node of the leaf node at the boundary to be explored is used as the node to be explored, and the robot is controlled to move to the parent node of the current node to explore and build a map.

2. The mapping method according to claim 1, characterized in that: The determining of the nodes in the skeleton comprises: The grids corresponding to the turning points, the grids corresponding to the branches and / or the grids corresponding to the ends in the skeleton are determined as nodes.

3. The mapping method according to claim 1, characterized in that: The determining of the nodes in the skeleton comprises: The grids on the skeleton are traversed, and whether the grid is a node is determined according to the positional relationship between the neighborhood grids of the grid and the skeleton.

4. The mapping method according to claim 3, characterized in that: The step of judging whether the grid is a node according to the positional relationship between the grid's neighborhood grid and the skeleton includes: Determining that the grid is a leaf node based on that only one of the grid's neighborhood grids is on the skeleton; Based on the fact that only two of the neighboring grids of the grid are on the skeleton, and the two neighboring grids and the grid are not on a straight line, determining that the grid is a turning node; Based on at least three of the neighborhood grids of the grid being on the skeleton, it is determined that the grid is a branch node.

5. The mapping method according to claim 1, characterized in that: The grid map includes grids to be explored; Determining the positional relationship between the leaf nodes in the node tree and the boundary to be explored includes: Based on the fact that at least three of the neighboring grids of the grid where the leaf node is located are grids to be explored, it is determined that the positional relationship between the leaf node and the boundary to be explored is that the leaf node is located at the boundary to be explored.

6. The mapping method according to claim 1, characterized in that: The mapping method further comprises: Calculating the length of the boundary to be explored includes: starting from a leaf node located at the boundary to be explored, moving along the skeleton to determine the length of the boundary to be explored; If the length is greater than a threshold, the step of controlling the robot to explore and build a map is executed.

7. An electronic device, characterized in that: include: It comprises a memory and a processor coupled to each other, wherein the processor is used to execute program data stored in the memory to implement the robot mapping method according to any one of claims 1 to 6.

8. A computer storage medium, characterized in that: Program data is stored thereon, and the program data can be executed to implement the robot mapping method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Autonomous mapping method and device and intelligent robot

    CN110956161A

  • Path planning method based on global map search, chip and robot

    CN113009916A