WO2023124035A1 - 机器人的建图方法、电子设备及非易失性可读存储介质 - Google Patents
机器人的建图方法、电子设备及非易失性可读存储介质 Download PDFInfo
- Publication number
- WO2023124035A1 WO2023124035A1 PCT/CN2022/107503 CN2022107503W WO2023124035A1 WO 2023124035 A1 WO2023124035 A1 WO 2023124035A1 CN 2022107503 W CN2022107503 W CN 2022107503W WO 2023124035 A1 WO2023124035 A1 WO 2023124035A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- robot
- skeleton
- explored
- grid
- Prior art date
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000004590 computer program Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000007613 environmental effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
Definitions
- the present application relates to the technical field of intelligent mapping, in particular to a robot mapping method, a mapping device, electronic equipment, a non-volatile readable storage medium, and a computer program product.
- Robots work in different unknown environments, involving robot positioning, mapping and planning technology. First, the robot is required to complete the construction of the environmental map, so as to perform subsequent navigation and other operations.
- Robot mapping technology is a robot that realizes the perception of the external environment through sensors and completes its own positioning.
- the traditional mapping method uses manual control or follow-up to control the movement of the robot to complete the mapping. This method requires human control, and the level of intelligence needs to be improved.
- the present application provides a robot mapping method, an electronic equipment mapping device, a non-volatile readable storage medium, and a computer program product, so as to realize the automatic mapping of the robot, improve the intelligence level, and improve the safety.
- the mapping method of the robot includes: determining the nodes in the skeleton based on the skeleton of the grid map, 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; the position determination based on the robot Root node, determine the node tree according to the root node and the nodes in the skeleton; control the robot to explore and build the map according to the positional relationship between the leaf nodes in the node tree and the boundary to be explored.
- the above-mentioned determination of the nodes in the skeleton includes: determining the grids corresponding to the corners, the grids corresponding to the branches and/or the grids corresponding to the ends in the skeleton as nodes.
- the above-mentioned determination of the nodes in the skeleton includes: traversing the grids on the skeleton, and judging whether the grids are nodes according to the positional relationship between the neighboring grids of the grids and the skeleton.
- the above-mentioned judgment of whether the grid is a node based on the relationship between the neighborhood grid and the skeleton of the grid includes: judging that the grid is a leaf node based on only one of the neighborhood grids of the grid being on the skeleton; If only two of the neighboring grids of the grid are on the skeleton, and the two neighboring grids are not on a straight line, the grid is determined to be a turning node; at least three of the grid-based neighboring grids are on the skeleton , the grid is judged to be a branch node.
- the control of the mobile robot to explore and build maps includes: using the parent node of the leaf node at the boundary to be explored as the node to be explored; controlling the robot to move to the node to be explored Explore mapping.
- mapping method further includes: taking the location of the robot as the current node, and judging whether there is a node to be explored in the leaf node of the current node.
- mapping method further includes: if there is, controlling the robot to move to the node to be explored; if not, then controlling the robot to move to the parent node of the current node.
- 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 the threshold, then execute based on The leaf nodes of the boundary to be explored move the robot to perform the step of exploring and building a map.
- the above-mentioned determination of the node tree according to the root node and the nodes in the skeleton includes: starting from the root node, moving along the skeleton to the next-level node of the root node; moving to the next-level node of the next-level node , until the last level node, wherein, the lower level node is the child node of its upper level node, and the upper level node is the parent node of its lower level node; obtain the distance between the child node and the corresponding parent node; A node tree of the skeleton is determined based on parent-child relationships and distances between child nodes.
- determining the node tree according to the root node and the nodes in the skeleton further includes: determining leaf nodes in the node tree; and marking the leaf nodes.
- the above-mentioned mapping method also includes: after controlling the robot to move to the current parent node, sorting the exploration priority of the nodes to be explored; taking the node to be explored with the highest priority as the next exploration point position; controlling the robot to move to the next The location of the exploration point is used to control the robot to explore and map the next exploration point.
- the above-mentioned graph building method further includes: discarding leaf nodes if the length is less than or equal to a threshold.
- the electronic device includes: a memory and a processor coupled to each other, the processor is used to execute the program data stored in the memory, so as to realize the above-mentioned mapping method for the robot.
- the mapping device includes: a skeleton node extraction module, which is used to determine the nodes in the skeleton based on the skeleton of the grid map, wherein the grid map is constructed based on the environment area where the robot is located, and the grid map includes boundaries to be explored;
- the node tree determination module is connected with the skeleton node extraction module, which is used to determine the root node based on the position of the robot, and determines the node tree according to the root node and the nodes in the skeleton;
- the exploration and mapping module is connected with the node tree determination module, and is used to determine the node tree according to the node The positional relationship between the leaf nodes in the tree and the boundary to be explored controls the robot to explore and build the map.
- the present application proposes a non-volatile readable storage medium.
- the non-volatile readable storage medium stores program data, and the program data can be executed to realize the above-mentioned mapping method for the robot.
- the present application proposes a computer program product.
- the computer program product includes computer program instructions, and the computer program instructions enable the computer to implement the above-mentioned robot mapping method.
- the mapping method of the robot in this 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 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, but also improve the construction efficiency.
- the intelligent level of the map; and 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 the safety can be improved.
- Fig. 1 is a schematic flow chart of an embodiment of the mapping method of the robot of the present application
- Fig. 2 is a schematic structural diagram of the grid map constructed by the embodiment of Fig. 1;
- Fig. 3 is a schematic structural diagram of the grid map and its skeleton of the embodiment of Fig. 2;
- Fig. 4 is the structural representation of the partial structure of Fig. 3 embodiment
- Fig. 5 is a schematic structural view of the partial structure of the embodiment of Fig. 3;
- Fig. 6 is a schematic structural view of the partial structure of the embodiment of Fig. 3;
- Fig. 7 is a specific flow diagram of step S15 in the embodiment of Fig. 1;
- Fig. 8 is a specific flow diagram of step S12 in the embodiment of Fig. 1;
- Fig. 9 is a schematic flow chart of an embodiment of the mapping method of the robot of the present application.
- Fig. 10 is a schematic structural diagram of an embodiment of the mapping device of the present application.
- FIG. 11 is a schematic structural diagram of an embodiment of the electronic device of the present application.
- Fig. 12 is a schematic structural diagram of an embodiment of a non-volatile readable storage medium of the present application.
- connection and “connected” should be understood in a broad sense, for example, it can be a fixed connection or a detachable connection, Or integrated connection; it can be mechanical connection or electrical connection; it can be direct connection or indirect connection through an intermediary.
- connection should be understood in a broad sense, for example, it can be a fixed connection or a detachable connection, Or integrated connection; it can be mechanical connection or electrical connection; it can be direct connection or indirect connection through an intermediary.
- the first feature may be in direct contact with the first feature or the first feature and the second feature may pass through the middle of the second feature.
- Media indirect contact Moreover, “above”, “above” and “above” the first feature on the 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.
- “Below”, “beneath” and “beneath” the first feature may mean that the first feature is directly below or obliquely below the second feature, or simply means that the first feature is less horizontally than the second feature.
- the present application first proposes a robot mapping method, as shown in FIG. 1 , which is a schematic flowchart of an embodiment of the robot mapping method of the present application.
- the mapping method of this embodiment specifically includes the following steps:
- 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 boundaries to be explored.
- the robot is provided with a detecting device capable of detecting space obstacles and a moving device for moving.
- the robot is also equipped with a processor, which can send and receive instructions and process data information.
- the robot can construct a grid map of the environment area through Simultaneous Localization And Mapping (SLAM), and the grid map includes boundaries to be explored.
- SLAM Simultaneous Localization And Mapping
- the robot moves to the boundary to be explored based on the information of the grid map, so as to explore and map the boundary to be explored, and expand the constructed grid map.
- the robot When a robot builds a map, the robot needs to know its position in the environment and record the position of the features in the environment. The robot builds an environment map while positioning.
- the grid map is composed of grids, and each grid can represent the state of the surrounding environment at its location.
- This state includes three states: the occupancy state that represents obstacles, and the idle state that represents no obstacles and the robot can pass freely. state and the unknown state that the robot has not yet detected (whether there is an obstacle in the grid or not).
- the robot can plan its forward route according to the grid map, and continuously detect and update the grid map during the robot's forward process.
- the robot can determine the size of the grid according to parameters such as environmental resolution, environmental information storage capacity, and decision-making speed. If the environmental resolution is large, the storage of environmental information is large, and the decision-making speed is slow, a small grid can be selected; if the environmental resolution is small, the storage of environmental information is small, and the decision-making speed is fast, a large grid can be selected, but the decision-making speed is fast. The ability to find paths in dense obstacle environments is weak.
- the robot may also use other technologies to construct a grid map of the environment area.
- the grid map constructed in this embodiment is shown in FIG. 2 .
- the area inside the dotted rectangular frame is the environment area of the robot; the solid line is the obstacle area (the state corresponding to the grid is occupied); the area surrounded by the solid line is the free area (the state corresponding to the grid is free) ;
- the area in the dotted rectangular frame except the obstacle area and the free area is an unknown area (the state of the corresponding grid is unknown); the boundary between the free area and the unknown area is the boundary to be explored (partially covered by the dotted line dashed line inside the rectangle).
- the robot uses the skeleton extraction method to extract the skeleton of the grid map, and can get the center position of the free area in the grid map, which can 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 the obstacles. Location.
- the skeleton in the free 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. Can.
- the robot can first project the initial position of the robot, the obstacle area, and the boundary to be explored into the grid map, determine the passable area of the robot in the grid map, and then use the Zhang-Suen algorithm to make a skeleton of the passable area extract.
- the grids corresponding to the corners, the grids corresponding to the branches and/or the grids corresponding to the ends of the skeleton can be determined as the nodes of the skeleton, because the corners, branches and ends of the skeleton can be It reflects the change of the robot's motion direction.
- the robot can traverse the grids on the skeleton, and judge whether the grids are nodes according to the positional relationship between the neighboring grids of the grids and the skeleton, such as whether the neighboring grids are on the skeleton.
- the robot takes its initial position (starting position) as the root node, traverses each grid on the skeleton, and judges whether each grid point is a node (including leaf nodes, turning nodes and branch nodes).
- the neighborhood grid includes an eight-neighborhood grid.
- this embodiment can implement step S11 in the following way:
- the grid is considered to be the node at the end of the skeleton, and this grid is determined to be the leaf node of the skeleton.
- the grid is in the middle of the skeleton, and it is further judged whether the two neighboring grids and the grid are on a straight line; if so, determine The grid is not a node of the skeleton; if not, it is determined that the grid is a turning node of the skeleton, and the turning node is located at a turning point of the skeleton.
- grid A2 is determined to be the turning node of skeleton B.
- At least three of the grid-based neighborhood grids are on the skeleton, and the grid is determined to be a branch node.
- the grid is considered to be in the middle of the skeleton, and the grid is determined to be a branch node at a branch of the skeleton.
- grid A3 is determined to be the branch node at the branch of skeleton B.
- the nodes in the skeleton of the grid map can be determined by the method described above.
- Step S12 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 position of the robot can be the initial position of the robot, or the current position of the robot (the robot is always in motion).
- the nodes of the skeleton obtained in step S12 are stored in a tree structure to form a node tree.
- the lower-level node and the upper-level node have a parent-child relationship, that is, the lower-level node is the child node of its upper-level node, and the upper-level node is the parent node of its lower-level node.
- the distance between the child node and its parent node can be obtained.
- a node tree is established based on the hierarchical relationships and distances before the above nodes.
- the node tree not only includes the root node, but also includes nodes at all levels between the root node and the leaf nodes, and the node tree can reflect each node parent-child relationship.
- Step S13 Control the robot to explore and construct the map according to the positional relationship between the leaf nodes in the node tree and the boundary to be explored.
- 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 regions.
- the robot traverses each leaf node, and obtains the state of the eight-neighborhood grid for each leaf node’s grid, and makes statistics; if the state of at least three grids in the eight-neighborhood grid of the leaf node’s grid is If it is unknown, that is, at least three of the neighboring grids of the grid where the leaf node is located are grids to be explored, then it is determined that the leaf node is on the boundary to be explored.
- 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 boundary to be explored Skeleton; further, this embodiment establishes the node tree of the nodes in the skeleton, and based on the positional relationship between the leaf nodes in the node tree and the boundary to be searched, controls the mobile robot to explore and build a map; in this way, not only can the robot automatically build a map, Improve the intelligent level of mapping; and this application calculates the exploration points based on the skeleton of the grid map, so that the exploration points can be far away from obstacles, which can improve safety; at the same time, the exploration points are arranged according to a certain order, ensuring that the exploration points to be explored The exploration order of the points.
- step S13 may be implemented through the method shown in FIG. 7 .
- the method of this embodiment includes step S71 and step S72.
- Step S71 Take the parent node of the leaf node at the boundary to be explored as the node to be explored.
- Step S72 Control the robot to move to the node to be explored for exploration and mapping.
- 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, improving the accuracy of mapping and efficiency.
- step S13 may be implemented by the method shown in FIG. 8 .
- the method of this embodiment includes step S81 to step S85.
- Step S81 Take the parent node of the leaf node at the boundary to be explored as the node to be explored.
- Step S82 Taking the position of the robot as the current node, it is judged whether there is a node to be explored in the leaf node of the current node.
- the position of the robot may not be located on the node of the skeleton, and the node closest to the position of the robot can be selected as the current node of the robot.
- Step S83 If it exists, control the robot to move to the node to be explored.
- the robot is controlled to first explore and map the nodes to be explored at the current node, which can shorten the robot's motion path and improve the efficiency of map building.
- Step S84 If it does not exist, control the robot to move to the parent node of the current node.
- the robot will not move along the current node to its leaf node in order to map the unknown area; at this time, it can be traced back to the current node Sort the exploration priority of the nodes to be explored after their parent nodes.
- the node to be explored with the highest priority is obtained as the position of the next exploration point, and the robot is controlled to reach the designated position. That is to say, it can ensure that the robot explores in the current direction first.
- Step S85 Control the robot to explore and map at the designated location.
- the robot is controlled to first explore and build a map of the nodes to be explored at the current node, which can shorten the movement path of the robot and improve the efficiency of map building.
- the present application further proposes another embodiment of a robot mapping method, as shown in FIG. 9 , which is a schematic flowchart of an embodiment of the robot mapping method of the present application.
- the mapping method of this embodiment specifically includes the following steps:
- Step S91 Determine the nodes in the skeleton based on the skeleton of the grid map, wherein the grid map is constructed based on the environment area where the robot is located, and the grid map includes boundaries to be explored.
- Step 91 is similar to the above step S11 and will not be repeated here.
- Step S92 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.
- Step S92 is similar to the above step S12, and will not be repeated here.
- Step S93 According to the positional relationship between the leaf nodes in the node tree and the boundary to be explored.
- Step S93 is similar to the above-mentioned step S13 and will not be repeated here.
- Step S94 Calculate the length of the boundary to be explored.
- a leaf node located at the boundary to be explored starts and moves along the skeleton to determine the length of the boundary to be explored.
- Step S95 If the length is greater than the threshold, control the robot to explore and construct the map.
- Step S95 is similar to the above step S13, and will not be repeated here.
- the length is less than or equal to the threshold, it means that the unexplored area is small, and there is no need to explore, and the leaf node is discarded.
- a graphing device is provided.
- the device may adopt a software module or a hardware module, or a combination of the two becomes part of a computer device.
- the device specifically includes: skeleton node extraction Module 111, node tree determination module 112 and exploration and mapping module 113, node tree determination module 112 is connected with skeleton node extraction module 111 and exploration and mapping module 113 respectively;
- skeleton node extraction module 111 is used for skeleton based on grid map , determine the nodes in the skeleton, the grid map is constructed based on the environment area where the robot is located, and includes the boundary to be explored in the grid map
- the node tree determination module 112 is used to determine the root node based on the position of the robot, according to the root node and the The nodes determine the node tree;
- the exploration and mapping module 113 is used to control the robot to explore and build the map according to the positional relationship between the leaf nodes in the node tree and the boundary to be explored.
- the mapping device of this embodiment is also used to implement the above-mentioned mapping method for a robot.
- mapping device For specific limitations on the mapping device, please refer to the above-mentioned limitations on the mapping method of the robot, which will not be repeated here.
- Each module in the above-mentioned mapping device can be fully or partially realized 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, and can also be stored in the memory of the computer device in the form of software, so that the processor can invoke and execute the corresponding operations of the above-mentioned modules.
- the present application further proposes an electronic device, as shown in FIG. 11 , which is a schematic structural diagram of an embodiment of the electronic device of the present application.
- the electronic device 100 in this embodiment includes a processor 101 , a memory 102 coupled to the processor 101 , an input and output device 103 and a bus 104 .
- the processor 101 , the memory 102 , and the input and output devices 103 are respectively connected to the bus 104 , and the memory 102 stores program data, and the processor 101 is used to execute the program data to realize the above-mentioned robot mapping method.
- the controllers in the above embodiments may be integrated in the processor 101 .
- the processor 101 may also be referred to as a CPU (Central Processing Unit, central processing unit).
- the processor 101 may be an integrated circuit chip with signal processing capability.
- the processor 101 can 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 .
- the general-purpose processor may be a microprocessor or the processor 101 may be any conventional processor or the like.
- the electronic device 100 in this embodiment may be a robot, further provided with a detecting device and a moving device capable of detecting space obstacles.
- the robot mapping method and device provided by this application extract the skeleton from the grid map of the current environment area, and extend the skeleton to the map boundary; at the same time, calculate the points to be explored based on the skeleton, and the obtained points to be explored are far away from obstacles, and the maximum The safety is improved to a certain extent; at the same time, the exploration points are arranged according to a certain order, which ensures the order of the exploration points to be explored.
- the present application further proposes a non-volatile readable storage medium.
- the non-volatile readable storage medium 160 of this embodiment is used to store the program data 161 of the above-mentioned embodiment, and the program data 161 can be executed.
- the program data 161 has been described in detail in the above method embodiments, and will not be repeated here.
- the non-volatile readable storage medium 160 of this embodiment may be, but not limited to, a U disk, 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.
- a computer program product or computer program comprising computer instructions stored in a computer readable storage medium.
- the processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the steps in the foregoing method embodiments.
- this 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 boundary to be explored skeleton; further, the 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, but also improve Intelligent level of mapping; moreover, this application calculates the exploration points based on the skeleton of the grid map, so that the exploration points can be far away from obstacles, which can improve safety; at the same time, the exploration points are arranged in a certain order to ensure that the points to be explored order of exploration.
- the above-mentioned functions are implemented in the form of software functions and sold or used as independent products, they can be stored in a storage medium that can be read by a mobile terminal, that is, the application also provides a storage device that stores program data, so The above program data can be executed to implement the methods of the above embodiments, and the storage device can be, for example, a U disk, an optical disk, a server, and the like. That is to say, the present application may be embodied in the form of a software product, which includes several instructions for enabling an intelligent terminal to execute all or part of the steps of the method described in each embodiment.
- first and second are used for descriptive purposes only, and cannot be interpreted as indicating or implying relative importance or implicitly specifying the quantity of indicated technical features.
- the features defined as “first” and “second” may explicitly or implicitly include at least one of these features.
- “plurality” means at least two, such as two, three, etc., unless otherwise specifically defined.
- a "computer-readable medium” may be any device that can contain, store, communicate, propagate or transmit a program for use in or in conjunction with an instruction execution system, device or device.
- computer-readable media include the following: electrical connection with one or more wires (electronic device), portable computer disk case (magnetic device), random access memory (RAM), Read Only Memory (ROM), Erasable and Editable Read Only Memory (EPROM or Flash Memory), Fiber Optic Devices, and Portable Compact Disc Read Only Memory (CDROM).
- the computer-readable medium may even be paper or other suitable medium on which the program can be printed, as it may be possible, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or other suitable processing if necessary. processing to obtain the program electronically and store it in computer memory.
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
一种机器人的建图方法、建图装置、电子设备及非易失性可读存储介质。该建图方法包括:基于栅格地图的骨架,确定骨架中的节点,其中,栅格地图是基于机器人所在的环境区域构建,且栅格地图中包括待探索边界(S11);基于机器人的位置确定根节点,根据根节点及骨架中的节点确定节点树(S12);根据节点树中的叶子节点与待探索边界的位置关系,控制机器人探索建图(S13)。通过这种方式,能够实现机器人自动建图,提高智能化水平,且提高安全性。
Description
本申请要求于2021年12月28日提交的申请号2021116301761,发明名称为“机器人的建图方法、电子设备及计算机存储介质”的中国专利申请的优先权,其通过引用方式全部并入本申请。
本申请涉及智能建图技术领域,特别是涉及一种机器人的建图方法、建图装置、电子设备及非易失性可读存储介质、计算机程序产品。
机器人在不同的未知环境下进行作业,涉及机器人定位建图与规划技术,首先要求机器人完成对环境地图的构建,从而进行后续导航等作业。
机器人建图技术是机器人通过传感器实现对外界环境的感知,并完成自身定位。传统的建图方式采用手动控制或者跟随的方式控制机器人移动完成建图,该方式需要人为控制,智能化水平有待提高。
【发明内容】
本申请提供一种机器人的建图方法、电子设备建图装置、及非易失性可读存储介质、计算机程序产品,以实现机器人自动建图,提高智能化水平,且提高安全性。
为解决上述技术问题,本申请提出一种机器人的建图方法。该机器人的建图方法包括:基于栅格地图的骨架,确定骨架中的节点,其中,栅格地图是基于机器人所在的环境区域构建,且栅格地图中包括待探索边界;基于机器人的位置确定根节点,根据根节点及骨架中的节点确定节点树;根据节点树中的叶子节点与待探索边界的位置关系,控制机器人探索建图。
其中,上述确定骨架中的节点,包括:将骨架中拐弯处对应的栅格、分支处对应的栅格和/或末端处对应的栅格确定为节点。
其中,上述确定骨架中的节点,包括:遍历骨架上的栅格,根据栅格的邻域栅格与骨架的位置关系,判断栅格是否为节点。
其中,上述根据栅格的邻域栅格与骨架的关系上,判断栅格是否为节点,包括:基于栅格的邻域栅格中仅一个在骨架上,判定栅格为叶子节点;基于栅格的邻域栅格中仅两个在骨架上,且两个邻域栅格和栅格不在一条直线上,判定栅格为拐弯节点;基于栅格的邻域栅格中至少三个在骨架上,判定栅格为分支节点。
其中,上述栅格地图包括待探索栅格;上述确定节点树中叶子节点与待探索边界的位置关系,包括:基于叶子节点所在栅格的邻域栅格中至少三个为待探索栅格,判定叶子节点与待探索边界的位置关系为叶子节点处于待探索边界。
其中,上述根据节点树中叶子节点与待探索边界的位置关系,控制移动机器人探索建图,包括:以处于待探索边界的叶子节点的父节点作为待探索节点;控制机器人移动到待探索节点进行探索建图。
其中,上述建图方法还包括:以机器人所在的位置为当前节点,判断当前节点的叶子节点是否存在待探索节点。
其中,上述建图方法还包括:若存在,则控制机器人移动至待探索节点;若不存在,则控制机器人移动至当前节点的父节点。
其中,上述建图方法还包括:计算待探索边界的长度,包括:由位于待探索边界的叶子节点开始,沿着骨架移动,以确定待探索边界的长度;若长度大于阈值,则执行基于处于待探索边界的叶子节点,移动机器人,以进行探索建图的步骤。
其中,上述根据根节点及所述骨架中的节点确定节点树,包括:从所述根节点出发,沿骨架移动至根节点的下一级节点;移动至下一级节点的再下一级节点,直至最后一级节点,其中,下一级节点是其上一级节点的子节点,上一级节点是其下一级节点的父节点;获取子节点与对应的父节点之间的距离;基于子节点之间的父子关系及距离确定所述骨架的节点树。
其中,上述根据根节点及骨架中的节点确定节点树,还包括:确定节点树中的叶子节点;对叶子节点进行标记。
其中,上述建图方法还包括:控制机器人移动至当前父节点后,进行待探索节点的探索优先级的排序;将优先性最高的待探索节点作为下一探索点位置;控制机器人移动至下一探索点位置,以控制机器人在下一探索点位置进行探索建图。
其中,上述建图方法还包括:若长度小于或者等于阈值,舍弃叶子节点。
为解决上述技术问题,本申请提出一种电子设备。该电子设备包括:包括相互耦接的存储器和处理器,处理器用于执行存储器中存储的程序数据,以实现上述机器人的建图方法。
为解决上述技术问题,本申请提出一种建图装置。该建图装置包括:骨架节点提取模块,用于基于栅格地图的骨架,确定骨架中的节点,其中,栅格地图是基于机器人所在的环境区域构建,且栅格地图中包括待探索边界;节点树确定模块,与骨架节点提取模块连接,用于基于机器人的位置确定根节点,根据根节点及骨架中的节点确定节点树;探索建图模块,与节点树确定模块连接,用于根据节点树中的叶子节点与待探索边界的位置关系,控制机器人探索建图。
为解决上述技术问题,本申请提出一种非易失性可读存储介质。该非易失性可读存储介质上存储有程序数据,程序数据能够被执行以实现上述机器人的建图方法。
为解决上述技术问题,本申请提出一种计算机程序产品。该计算机程序产品包括计算机程序指令,所述计算机程序指令使计算机实现上述的机器人的建图方法。
本申请机器人的建图方法先基于栅格地图的骨架,确定骨架中的节点,且该栅格地图包括待探索边界,因此该骨架延伸至了待探索边界,即骨架包括了待探索边界的骨架;进一步,本申请建立骨架中节点的节点树,并基于节点树中叶子节点与待搜索边界的位置关系,控制移动机器人探索建图;通过这种方式,不仅能够实现机器人自动建图,提高建图的智能化水平;而且本申请基于栅格地图的骨架计算探索点,使得探索点能够远离障碍物,能够提高安全性。
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:
图1是本申请机器人的建图方法一实施例的流程示意图;
图2是图1实施例构建的栅格地图的结构示意图;
图3是图2实施例栅格地图及其骨架的结构示意图;
图4是图3实施例部分结构的结构示意图;
图5是图3实施例部分结构的结构示意图;
图6是图3实施例部分结构的结构示意图;
图7是图1实施例中步骤S15的一具体流程示意图;
图8是图1实施例中步骤S12的一具体流程示意图;
图9是本申请机器人的建图方法一实施例的流程示意图;
图10是本申请建图装置一实施例的结构示意图;
图11是本申请电子设备一实施例的结构示意图;
图12是本申请非易失性可读存储介质一实施例的结构示意图。
下面结合附图和实施例,对本申请作进一步的详细描述。特别指出的是,以下实施例仅用于说明本申请,但不对本申请的范围进行限定。同样的,以下实施例仅为本申请的部分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请实施例中的具体含义。
在本申请实施例中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
下面结合实施例对本申请提供的机器人的建图方法、建图装置、非易失性可读存储介质、计算机程序产品进行详细描述。
本申请首先提出一种机器人的建图方法,如图1所示,图1是本申请机器人的建图方法一实施例的流程示意图。本实施例的建图方法具体包括以下步骤:
步骤S11:基于栅格地图的骨架,确定骨架中的节点,其中,栅格地图是基于机器人所在的环境区域构建,且栅格地图中包括待探索边界。
机器人设置有能够探测空间障碍物的探测装置及用于移动的移动装置。机器人内还设置有处理器,能够收发指令及处理数据信息。
本实施例中,机器人可以通过即时定位与地图(Simultaneous Localization And Mapping,SLAM)构建环境区域的栅格地图,该栅格地图包括待探索边界。机器人基于该栅格地图的信息移动到待探索边界,以对待探索边界进行探索建图,扩展构建的栅格地图。
SLAM构建地图指的是机器人在自身位置不确定的条件下,在完全未知环境中创建地图,同时利用地图进行自主定位和导航。SLAM问题可以描述为:机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和传感器数据进行自身定位,同时建造增量式地图。
在机器人构建地图时,机器人需要知道自己在环境中的位置及记录环境中特征的位置,机器人在定位的同时建立环境地图。
栅格地图由一个个栅格构成,每一栅格能够表征其所在位置周围环境的状态,该状态包括三种状态:表征存在障碍物的占有状态、表征无障碍物且机器人能够自由通过的空闲状态及机器人还未探测到的未知状态(栅格存在障碍物与否未知)。机器人能够根据栅格地图规划前进路线,且在机器人前进的过程中,不断检测并更新该栅格地图。
机器人可以根据环境分辨率、环境信息存储量及决策速度等参数确定栅格的大小。如环境分辨率较大,环境信息存储量大,决策速度慢,可选小的栅格;又如环境分辨率较小,环境信息存储量小,决策速度快,可以选大的栅格,但在密集障碍物环境中发现路径的能力较弱。
当然,在其它实施例中,机器人还可以采用其它技术构建环境区域的栅格地图。
在一应用场景中,本实施例构建的栅格地图如图2所示。其中,虚线矩形框内的区域为机器人的环境区域;实线线条为障碍物区域(对应栅格的状态为占有);实线线条围成的区域为空闲区域(对应栅格的状态为空闲);虚线矩形框内除障碍物区域及空闲区域之外的区域为未知区域(对应栅格的状态为未知);在空闲区域与未知区域之间的交界处为待探索的边界(部分已被虚线矩形框内的虚线记)。
机器人利用骨架提取方法对栅格地图进行骨架提取,可以得到栅格地图中空闲区域的中心位置,可以保证骨架位于两侧障碍物的中间位置,即骨架上的栅格处于远离障碍物的最佳位置。
当然,在其它实施例中,为了缩短栅格地图的骨架的长度,空闲区域内的骨架也可以不位于其中心区域,只要保证机器人在沿着骨架运动时,不触碰到两个障碍物即可。
具体地,机器人可以先将机器人的初始位置、障碍物区域和待探索边界投影到栅格地图中,确定栅格地图中机器人的可通行区域,然后采用Zhang-Suen算法等对可通行区域进行骨架提取。
提取的图2所示的栅格地图的骨架如图3中加粗黑线线条所示。
进一步地,本实施例可以将骨架中拐弯处对应的栅格、分支处对应的栅格和/或末端处对应的栅格确定为骨架的节点,因为骨架中拐弯处、分支处及末端处能够体现机器人运动方向的改变。
可选地,机器人可以遍历骨架上的栅格,根据栅格的邻域栅格与骨架的位置关系,如邻域栅格是否在骨架上,以判断栅格是否为节点。
机器人以其初始位置(启动位置)作为根节点,对骨架上的每一个栅格进行遍历,并判断每一个栅格点是否为节点(包括叶子节点、拐弯节点及分支节点)。
在一些实施例中,邻域栅格包括八邻域栅格。
具体地,本实施例可以下述方法实现步骤S11:
(1)基于栅格的邻域栅格中仅一个在骨架上,判定栅格为叶子节点。
若栅格的邻域栅格中仅一个在骨架上,则认为该栅格为位于骨架的末端的节点,确定该栅格为骨架的叶子节点。
例如,如图4所示,若栅格A1的八邻域栅格中有且仅有一个邻域栅格C1在骨架B上,而其他邻域栅格不在骨架B上,则确定栅格A1为骨架的叶子节点。
(2)基于栅格的邻域栅格中仅两个在骨架上,且两个邻域栅格和栅格不在一条直线上,判定栅格为拐弯节点。
若栅格的邻域栅格中有两个在骨架上,则认为该栅格在骨架的中间位置,进一步判断该两个邻域栅格和该栅格是否在一条直线上;若是,则确定该栅格不是骨架的节点;若否,则确定该栅格为骨架的拐弯节点,该拐弯节点位于骨架的拐弯处。
例如,如图5所示,若栅格A2的八邻域栅格中有且仅有两个邻域栅格C2、C3在骨架B上,且邻域栅格C2、C3与栅格A2不位于一条直线上,则确定栅格A2为骨架B的拐弯节点。
(3)基于栅格的邻域栅格中至少三个在骨架上,判定栅格为分支节点。
若栅格的邻域栅格中至少三个在骨架上,则认为该栅格在骨架的中间位置,且确定该栅格为骨架分支处的分支节点。
例如,如图6所示,若栅格A3的八邻域栅格中有三个邻域栅格C4、C5、C6在骨架B上,则确定栅格A3为骨架B分支处的分支节点。
通过上述方法能够确定栅格地图的骨架中的节点。
步骤S12:基于机器人的位置确定根节点,根据根节点及骨架中的节点确定节点树。
机器人的位置可以是机器人初始位置,也可以是机器人的当前位置(机器人一直在运动)。
以机器人的位置为根节点,通过树结构存储步骤S12获得的骨架的节点,形成节点树。
具体地,从根节点出发,沿位于骨架上的栅格移动至根节点的下一级节点,然后移动至下一级节点的再下一级节点,直至最后一级节点,即叶子节点;其中,下一级节点与上一级节点为父子关系,即下一级节点是其上一级节点的子节点,上一级节点是其下一级节点的父节点。
在上述移动过程可以获取子节点与其父节点之前的距离。基于上述节点之前的层级关系及距离建立节点树。
基于上述节点树,对叶子节点进行标记,可以得到节点树的一系列叶子节点;该节点树除了包括根节点,还包括位于根节点与叶子节点之间的各级节点,节点树可以体现各个节点之间的父子关系。
步骤S13:根据节点树中的叶子节点与待探索边界的位置关系,控制机器人探索建图。
栅格地图进一步包括待探索的栅格,即栅格状态为未知的栅格,包括待探索边界对应的栅格及未知区域对应的栅格。
可选地,本实施例中,若叶子节点所在栅格的邻域栅格中至少三个为待探索栅格,判定叶子节点与待探索边界的位置关系为叶子节点处于待探索边界。
机器人遍历各个叶子节点,针对每个叶子节点所在栅格,获取其八邻域栅格的状态,并进行统计;若叶子节点所在栅格的八邻域栅格中至少三个栅格的状态为未知,即叶子节点所在栅格的邻域栅格中至少三个为待探索栅格,则确定该叶子节点处于待探索边界。
机器人按照上述方法遍历节点树中的各个叶子节点后,获得一系列处于待探索边界的叶子节点。
本实施例机器人的建图方法先基于栅格地图的骨架,确定骨架中的节点,且该栅格地图包括待探索边界,因此该骨架延伸至了待探索边界,即骨架包括了待探索边界的骨架;进一步,本实施例建立骨架中节点的节点树,并基于节点树中叶子节点与待搜索边界的位置关系,控制移动机器人探索建图;通过这种方式,不仅能够实现机器人自动建图,提高建图的智能化水平;而且本申请基于栅格地图的骨架计算探索点,使得探索点能够远离障碍物,能够提高安全性;同时按照一定的顺序性对待探索点进行排列,保证了待探索点的探索有序性。
可选地,本实施例可以通过如图7所示的方法实现步骤S13。本实施例的方法包括步骤S71及步骤S72。
步骤S71:以处于待探索边界的叶子节点的父节点作为待探索节点。
步骤S72:控制机器人移动到待探索节点进行探索建图。
因整个待探索边界可能为较长的直线,其两端才会出现叶子节点,因此机器人获取待探索边界的叶子节点的父节点作为待探索节点,能够探索整个待探索边界,提高建图精度及效率。
在另一实施例中,可以通过如图8所示的方法实现步骤S13。本实施例的方法包括步骤S81至步骤S85。
步骤S81:以处于待探索边界的叶子节点的父节点作为待探索节点。
步骤S82:以机器人所在的位置为当前节点,判断当前节点的叶子节点是否存在待探索节点。
在一些应用场景中,机器人所在位置可能不位于骨架的节点上,可以选择与机器人所在位置最近的节点为机器人的当前节点。
步骤S83:若存在,则控制机器人移动至待探索节点。
若机器人的当前节点的叶子节点存在待探索节点,则控制机器人优先对当前节点的待探索节点进行探索建图,能够缩短机器人的运动路径,提高建图的效率。
步骤S84:若不存在,则控制机器人移动至当前节点的父节点。
若机器人的当前节点的叶子节点不存在处于待探索边界的叶子节点,则认为机器人为了对未知区域进行建图,是不会沿当前节点运动到其叶子节点的;此时,可以回溯到当前节点的父节点后进行待探索节点的探索优先级的排序。
最终得到优先性最高的待探索节点作为下一探索点位置,控制机器人到达指定位置。即可以保证机器人优先朝当前方向进行探索。
步骤S85:控制机器人在指定位置进行探索建图。
本实施例控制机器人优先对当前节点的待探索节点进行探索建图,能够缩短机器人的运动路径,提高建图的效率。
本申请进一步提出另一实施例的机器人的建图方法,如图9所示,图9是本申请机器人的建图方法一实施例的流程示意图。本实施例的建图方法具体包括以下步骤:
步骤S91:基于栅格地图的骨架,确定骨架中的节点,其中,栅格地图是基于机器人所在的环境区域构建,且栅格地图中包括待探索边界。
步骤91与上述步骤S11类似,这里不赘述。
步骤S92:基于机器人的位置确定根节点,根据根节点及骨架中的节点确定节点树。
步骤S92与上述步骤S12类似,这里不赘述。
步骤S93:根据节点树中的叶子节点与待探索边界的位置关系。
步骤S93与上述步骤S13类似,这里不赘述。
步骤S94:计算待探索边界的长度。
可选地,本实施例由位于待探索边界的叶子节点开始,沿着骨架移动,以确定待探索边界的长度。
具体地,从由位于待探索边界的叶子节点出发沿着骨架上的节点寻找处于待探索边界的节点,构成待探索边界;当待探索边界的长度(可以在构建节点树时计算骨架相邻节点之间的距离)大于一定阈值时,说明未探索区域大,需要进行探索,此时将该叶子节点的父节点加入到待探索节点的集合中。
步骤S95:若长度大于阈值,则控制机器人探索建图。
步骤S95与上述步骤S13类似,这里不赘述。
若长度小于或者等于阈值,说明未探索区域较小,不需要进行探索,舍弃该叶子节点。
在一个实施例中,如图10所示,提供了一种建图装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:骨架节点提取模块111、节点树确定模块112及探索建图模块113,节点树确定模块112分别与骨架节点提取模块111及探索建图模块113连接;其中:骨架节点提取模块111用于基于栅格地图的骨架,确定骨架中的节点,栅格地图是基于机器人所在的环境区域构建,且栅格地图中包括待探索边界;节点树确定模块112用于基于机器人的位置确定根节点,根据根节点及骨架中的节点确定节点树;探索建图模块113用于根据节点树中的叶子节点与待探索边界的位置关系,控制机器人探索建图。
本实施例的建图装置还用于实现上述机器人的建图方法。
关于建图装置的具体限定可以参见上文中对于机器人的建图方法的限定,在此不再赘述。上述建图装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请进一步提出一种电子设备,如图11所示,图11是本申请电子设备一实施例的结构示意图。本实施例电子设备100包括处理器101、与处理器101耦接的存储器102、输入输出设备103以及总线104。
该处理器101、存储器102、输入输出设备103分别与总线104相连,该存储器102中存储有程序数据,处理器101用于执行程序数据以实现上述机器人的建图方法。
上述实施例中的控制器可以集成在处理器101内。
在本实施例中,处理器101还可以称为CPU(Central Processing Unit,中央处理单元)。处理器101可能是一种集成电路芯片,具有信号的处理能力。处理器101还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器101也可以是任何常规的处理器等。
本实施例的电子设备100可以是机器人,进一步设置有能够探测空间障碍物的探测装置及移动装置。
本申请提供的机器人的建图方法以及装置,通过对当前环境区域的栅格地图进行骨架提取,并将骨架延伸至地图边界;同时基于骨架计算待探索点,所得待探索点远离障碍物,最大程度地提高了安全性;同时按照一定的顺序性对待探索点进行排列,保证了待探索点的探索有序性。
本申请进一步提出一种非易失性可读存储介质,如图12所示,本实施例非易失性可读存储介质160用于存储上述实施例的程序数据161,程序数据161能够被执行以实现上述机器人的建图方法。程序数据161已在上述方法实施例中进行了详细的叙述,这里不赘述。
本实施例非易失性可读存储介质160可以是但不局限于U盘、SD卡、PD光驱、移动硬盘、大容量软驱、闪存、多媒体记忆卡、服务器等。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
区别于现有技术,本申请先基于栅格地图的骨架,确定骨架中的节点,且该栅格地图包括待探索边界,因此该骨架延伸至了待探索边界,即骨架包括了待探索边界的骨架;进一步,本申请建立骨架中节点的节 点树,并基于节点树中叶子节点与待搜索边界的位置关系,控制移动机器人探索建图;通过这种方式,不仅能够实现机器人自动建图,提高建图的智能化水平;而且本申请基于栅格地图的骨架计算探索点,使得探索点能够远离障碍物,能够提高安全性;同时按照一定的顺序性对待探索点进行排列,保证了待探索点的探索有序性。
另外,上述功能如果以软件功能的形式实现并作为独立产品销售或使用时,可存储在一个移动终端可读取存储介质中,即,本申请还提供一种存储有程序数据的存储装置,所述程序数据能够被执行以实现上述实施例的方法,该存储装置可以为如U盘、光盘、服务器等。也就是说,本申请可以以软件产品的形式体现出来,其包括若干指令用以使得一台智能终端执行各个实施例所述方法的全部或部分步骤。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的机构、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(可以是个人计算机,服务器,网络设备或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (17)
- 一种机器人的建图方法,其中,所述建图方法包括:基于栅格地图的骨架,确定所述骨架中的节点,其中,所述栅格地图是基于机器人所在的环境区域构建,且所述栅格地图中包括待探索边界;基于所述机器人的位置确定根节点,根据所述根节点及所述骨架中的节点确定节点树;根据所述节点树中的叶子节点与待探索边界的位置关系,控制所述机器人探索建图。
- 根据权利要求1所述的建图方法,其中,所述确定所述骨架中的节点,包括:将所述骨架中拐弯处对应的栅格、分支处对应的栅格和/或末端处对应的栅格确定为节点。
- 根据权利要求1或2所述的建图方法,其中,所述确定所述骨架中的节点,包括:遍历所述骨架上的栅格,根据所述栅格的邻域栅格与所述骨架的位置关系,判断所述栅格是否为节点。
- 根据权利要求3所述的建图方法,其中,所述根据所述栅格的邻域栅格与所述骨架的位置关系,判断所述栅格是否为节点,包括:基于所述栅格的邻域栅格中仅一个在所述骨架上,判定所述栅格为叶子节点;基于所述栅格的邻域栅格中仅两个在所述骨架上,且两个邻域栅格和所述栅格不在一条直线上,判定所述栅格为拐弯节点;基于所述栅格的邻域栅格中至少三个在所述骨架上,判定确定所述栅格为分支节点。
- 根据权利要求1至4任一项所述的建图方法,其中,所述栅格地图包括待探索栅格;确定所述节点树中的叶子节点与待探索边界的位置关系,包括:基于所述叶子节点所在栅格的邻域栅格中至少三个为待探索栅格,判定所述叶子节点与待探索边界的位置关系为所述叶子节点处于所述待探索边界。
- 根据权利要求1至5任一项所述的建图方法,其中,所述根据所述节点树中的叶子节点与待探索边界的位置关系,控制所述机器人探索建图,包括:以处于所述待探索边界的叶子节点的父节点作为待探索节点;控制所述机器人移动到所述待探索节点进行探索建图。
- 根据权利要求6所述的建图方法,其中,所述建图方法还包括:以所述机器人所在的位置为当前节点,判断所述当前节点的叶子节点是否存在待探索节点;若存在,则控制所述机器人移动至所述待探索节点。
- 根据权利要求7所述的建图方法,其中,所述建图方法还包括:若不存在,则控制所述机器人移动至所述当前节点的父节点。
- 根据权利要求1至8任一项所述的建图方法,其中,所述建图方法还包括:计算所述待探索边界的长度,包括:由位于所述待探索边界的叶子节点开始,沿着所述骨架移动,以确定所述待探索边界的长度;若所述长度大于阈值,则执行控制所述机器人探索建图的步骤。
- 根据权利要求1至9任一项所述的建图方法,其中,所述根据所述根节点及所述骨架中的节点确定节点树,包括:从所述根节点出发,沿所述骨架移动至所述根节点的下一级节点;移动至所述下一级节点的再下一级节点,直至最后一级节点,其中,所述下一级节点是其上一级节点的子节点,所述上一级节点是其下一级节点的父节点;获取所述子节点与对应的父节点之间的距离;基于所述子节点之间的父子关系及所述距离确定所述骨架的节点树。
- 根据权利要求10所述的建图方法,其中,所述根据所述根节点及所述骨架中的节点确定节点树,还包括:确定所述节点树中的叶子节点;对所述叶子节点进行标记。
- 根据权利要求8所述的建图方法,其中,所述建图方法还包括:控制所述机器人移动至所述当前父节点后,进行待探索节点的探索优先级的排序;将优先性最高的所述待探索节点作为下一探索点位置;控制所述机器人移动至所述下一探索点位置,以控制所述机器人在所述下一探索点位置进行探索建图。
- 根据权利要求9所述的建图方法,其中,所述建图方法还包括:若所述长度小于或者等于阈值,舍弃所述叶子节点。
- 一种电子设备,其中,包括:包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序数据,以实现权利要求1至13任一项所述的机器人的建图方法。
- 一种建图装置,其中,包括:骨架节点提取模块,用于基于栅格地图的骨架,确定所述骨架中的节点,其中,所述栅格地图是基于机器人所在的环境区域构建,且所述栅格地图中包括待探索边界;节点树确定模块,与所述骨架节点提取模块连接,用于基于所述机器人的位置确定根节点,根据所述根节点及所述骨架中的节点确定节点树;探索建图模块,与所述节点树确定模块连接,用于根据所述节点树中的叶子节点与待探索边界的位置关系,控制所述机器人探索建图。
- 一种非易失性可读存储介质,其中,其上存储有程序数据,所述程序数据能够被执行以实现权利要求1至13任一项所述的机器人的建图方法。
- 一种计算机程序产品,其中,包括计算机程序指令,所述计算机程序指令使计算机实现权利要求1至13任一项所述的机器人的建图方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111630176.1A CN114545923A (zh) | 2021-12-28 | 2021-12-28 | 机器人的建图方法、电子设备及计算机存储介质 |
CN202111630176.1 | 2021-12-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023124035A1 true WO2023124035A1 (zh) | 2023-07-06 |
Family
ID=81668955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/107503 WO2023124035A1 (zh) | 2021-12-28 | 2022-07-22 | 机器人的建图方法、电子设备及非易失性可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114545923A (zh) |
WO (1) | WO2023124035A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114545923A (zh) * | 2021-12-28 | 2022-05-27 | 美的集团(上海)有限公司 | 机器人的建图方法、电子设备及计算机存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109993064A (zh) * | 2019-03-06 | 2019-07-09 | 东南大学 | 一种提取图片中道路网络节点间的连接路径的方法 |
CN110850871A (zh) * | 2019-10-21 | 2020-02-28 | 深圳市银星智能科技股份有限公司 | 一种机器路径规划方法及移动机器人 |
CN110956161A (zh) * | 2019-12-17 | 2020-04-03 | 中新智擎科技有限公司 | 一种自主建图方法、装置及智能机器人 |
US20200192388A1 (en) * | 2016-08-29 | 2020-06-18 | Trifo, Inc. | Autonomous Platform Guidance Systems with Task Planning and Obstacle Avoidance |
CN111721280A (zh) * | 2020-05-25 | 2020-09-29 | 科沃斯机器人股份有限公司 | 一种区域识别方法、自移动设备及存储介质 |
CN111966097A (zh) * | 2020-08-12 | 2020-11-20 | 深圳华芯信息技术股份有限公司 | 基于栅格地图区域化探索的建图方法、系统以及终端 |
CN112000754A (zh) * | 2020-08-11 | 2020-11-27 | 珠海格力电器股份有限公司 | 地图构建方法、装置、存储介质及计算机设备 |
CN113050632A (zh) * | 2021-03-11 | 2021-06-29 | 珠海市一微半导体有限公司 | 用于机器人探索未知区域的地图探索方法、芯片及机器人 |
CN113189988A (zh) * | 2021-04-21 | 2021-07-30 | 合肥工业大学 | 一种基于Harris算法与RRT算法复合的自主路径规划方法 |
CN113310491A (zh) * | 2021-05-17 | 2021-08-27 | 北京航空航天大学 | 一种考虑具体结构的无人机航路网自动生成方法 |
CN114545923A (zh) * | 2021-12-28 | 2022-05-27 | 美的集团(上海)有限公司 | 机器人的建图方法、电子设备及计算机存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11449061B2 (en) * | 2016-02-29 | 2022-09-20 | AI Incorporated | Obstacle recognition method for autonomous robots |
CN113009916B (zh) * | 2021-03-08 | 2024-06-18 | 珠海一微半导体股份有限公司 | 一种基于全局地图探索的路径规划方法、芯片及机器人 |
CN113465612B (zh) * | 2021-07-02 | 2024-03-26 | 南京航空航天大学 | 一种基于双层索引的并行路径规划方法及系统 |
-
2021
- 2021-12-28 CN CN202111630176.1A patent/CN114545923A/zh active Pending
-
2022
- 2022-07-22 WO PCT/CN2022/107503 patent/WO2023124035A1/zh unknown
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200192388A1 (en) * | 2016-08-29 | 2020-06-18 | Trifo, Inc. | Autonomous Platform Guidance Systems with Task Planning and Obstacle Avoidance |
CN109993064A (zh) * | 2019-03-06 | 2019-07-09 | 东南大学 | 一种提取图片中道路网络节点间的连接路径的方法 |
CN110850871A (zh) * | 2019-10-21 | 2020-02-28 | 深圳市银星智能科技股份有限公司 | 一种机器路径规划方法及移动机器人 |
CN110956161A (zh) * | 2019-12-17 | 2020-04-03 | 中新智擎科技有限公司 | 一种自主建图方法、装置及智能机器人 |
CN111721280A (zh) * | 2020-05-25 | 2020-09-29 | 科沃斯机器人股份有限公司 | 一种区域识别方法、自移动设备及存储介质 |
CN112000754A (zh) * | 2020-08-11 | 2020-11-27 | 珠海格力电器股份有限公司 | 地图构建方法、装置、存储介质及计算机设备 |
CN111966097A (zh) * | 2020-08-12 | 2020-11-20 | 深圳华芯信息技术股份有限公司 | 基于栅格地图区域化探索的建图方法、系统以及终端 |
CN113050632A (zh) * | 2021-03-11 | 2021-06-29 | 珠海市一微半导体有限公司 | 用于机器人探索未知区域的地图探索方法、芯片及机器人 |
CN113189988A (zh) * | 2021-04-21 | 2021-07-30 | 合肥工业大学 | 一种基于Harris算法与RRT算法复合的自主路径规划方法 |
CN113310491A (zh) * | 2021-05-17 | 2021-08-27 | 北京航空航天大学 | 一种考虑具体结构的无人机航路网自动生成方法 |
CN114545923A (zh) * | 2021-12-28 | 2022-05-27 | 美的集团(上海)有限公司 | 机器人的建图方法、电子设备及计算机存储介质 |
Non-Patent Citations (1)
Title |
---|
HUANYU GAO, DENG GUOQING, ZHANG LONG, LIU YONG, GAO ZHENYU: "Unknown region exploration method based on frontier-based boundary exploration and searching-tree ", JOURNAL OF COMPUTER APPLICATIONS, vol. 37, no. S2, 20 December 2017 (2017-12-20), pages 120 - 126, 149, XP093075002 * |
Also Published As
Publication number | Publication date |
---|---|
CN114545923A (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190314991A1 (en) | Method for controlling robot movement and robot | |
US10885352B2 (en) | Method, apparatus, and device for determining lane line on road | |
JP7462244B2 (ja) | ロボットの縁沿い走行中の清掃区画領域の計画方法、チップ及びロボット | |
CN104898660B (zh) | 一种提高机器人路径规划效率的室内地图构建方法 | |
CN110936383B (zh) | 一种机器人的障碍物避让方法、介质、终端和装置 | |
US9207678B2 (en) | Method and apparatus for constructing map for mobile robot | |
CN111680747B (zh) | 用于占据栅格子图的闭环检测的方法和装置 | |
WO2023124035A1 (zh) | 机器人的建图方法、电子设备及非易失性可读存储介质 | |
KR102629036B1 (ko) | 로봇 및 그의 제어 방법 | |
CN110146098A (zh) | 一种机器人地图扩建方法、装置、控制设备和存储介质 | |
CN113741438A (zh) | 路径规划方法、装置、存储介质、芯片及机器人 | |
CN111158353A (zh) | 用于多个机器人的移动控制方法以及其系统 | |
CN109163722A (zh) | 一种仿人机器人路径规划方法及装置 | |
CN111582566A (zh) | 路径规划方法及规划装置、智能机器人及存储介质 | |
WO2022267283A1 (zh) | 机器人及其导航方法、装置和计算机可读存储介质 | |
WO2021218959A1 (zh) | 一种机器人控制方法、装置、电子设备及存储介质 | |
WO2022133697A1 (zh) | 移动机器人地图构建方法、装置、计算机设备和存储介质 | |
CN112180914A (zh) | 地图处理方法、装置、存储介质和机器人 | |
CN114545922A (zh) | 路径规划方法、电子设备及计算机存储介质 | |
US20200209876A1 (en) | Positioning method and apparatus with the same | |
Laguna et al. | Exploration of an unknown environment with a differential drive disc robot | |
CN114690769A (zh) | 路径规划方法、电子设备及存储介质、计算机程序产品 | |
CN112215123B (zh) | 一种目标检测方法、装置及存储介质 | |
CN113375657A (zh) | 电子地图的更新方法、装置和电子设备 | |
CN108921129B (zh) | 图像处理方法、系统、介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22913324 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |