CN113009916A - Path planning method, chip and robot based on global map exploration - Google Patents

Path planning method, chip and robot based on global map exploration Download PDF

Info

Publication number
CN113009916A
CN113009916A CN202110249215.7A CN202110249215A CN113009916A CN 113009916 A CN113009916 A CN 113009916A CN 202110249215 A CN202110249215 A CN 202110249215A CN 113009916 A CN113009916 A CN 113009916A
Authority
CN
China
Prior art keywords
node
robot
child
nodes
quadtree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110249215.7A
Other languages
Chinese (zh)
Other versions
CN113009916B (en
Inventor
陈锦杰
黄惠保
肖刚军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Amicro Semiconductor Co Ltd
Original Assignee
Zhuhai Amicro Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Amicro Semiconductor Co Ltd filed Critical Zhuhai Amicro Semiconductor Co Ltd
Priority to CN202110249215.7A priority Critical patent/CN113009916B/en
Publication of CN113009916A publication Critical patent/CN113009916A/en
Application granted granted Critical
Publication of CN113009916B publication Critical patent/CN113009916B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle

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)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

The invention discloses a path planning method, a chip and a robot based on global map search.A robot searches and selects target points in four quadrant regions based on a construction method of a quadtree in the process of executing the path planning method, and visits nodes distributed in a global map space based on a constructed quadtree framework (optimized quadtree) by adopting a depth priority principle, a node repeated visit principle and a distance nearest principle to determine a path for the robot to traverse a working region, so that redundant repeated paths are reduced, necessary repeated paths planned by visiting nodes are reserved, and the robot can be more efficient and faster in exploring unknown regions.

Description

Path planning method, chip and robot based on global map exploration
Technical Field
The invention relates to the technical field of robot map path planning, in particular to a path planning method, a chip and a robot based on global map exploration.
Background
At present, the basis of what an indoor mobile robot can refer to as intelligence is that the indoor mobile robot can complete some specific functions under the condition of possessing a map. A robot path planning algorithm (e.g., RRT algorithm of a robot) for randomly expanding path nodes is an algorithm that enables a robot to quickly acquire a map, however, in a process of using different data structures to participate in an index, redundancy of target path nodes occurs, and a large number of repeated paths are generated in the map, which results in a decrease in efficiency of robot navigation work.
Disclosure of Invention
The invention improves the traditional construction and index mode of the quadtree, is used for path planning of the global map, provides a path planning method and a chip based on global map exploration, can be used for optimizing and planning the navigation path of an uncovered area and the cleaning path of an uncovered area of a sweeper, solves the problem that the traditional data structure participates in random expansion of path nodes, has more redundant repeated paths, and improves the working efficiency of the robot. The specific technical scheme is as follows:
a path planning method based on global map search comprises the following steps: step 1, creating a target point in a global map constructed by the robot in advance through an algorithm supporting random path expansion so as to cover a working area of the robot corresponding to the global map; further comprising: step 2, controlling the robot to search related target points in the currently divided four quadrant areas from the current target point in an expanding way according to the position characteristics of the target points which are created in the global map in advance, and constructing an optimized quadtree in the global map so as to screen out the target points required by the path for the robot to traverse the working area, wherein the nodes of the optimized quadtree all belong to the target points which are created in advance; the currently divided four quadrant regions are four quadrant regions of a robot plane coordinate system with a currently selected target point as an origin so as to satisfy a quad-tree construction rule that a single node expands four sub-nodes; and 3, based on the distance information and the reachability of the adjacent nodes of the optimized quadtree, the access ending condition of the subtree of the optimized quadtree and the access repeatability of the nodes of the optimized quadtree, accessing all the node positions in the optimized quadtree according to a downward sequence from the current target point so as to plan a path for the robot to traverse the working area.
Compared with the prior art, the construction method based on the quadtree for the robot searches and selects target points in four quadrant areas, and based on a constructed quadtree framework (optimized quadtree), nodes distributed in a global map space are visited by adopting a depth priority principle, a node repeated visit principle and a distance nearest principle to determine a path for the robot to traverse the working area, so that redundant repeated paths are reduced, necessary repeated paths planned by the visited nodes are reserved, and the robot can be more efficient and faster in exploring unknown areas.
Further, in the step 2, the method for controlling the robot to search the related target points in the currently divided four-quadrant region from the current target point in an expanded manner according to the position characteristics of the target points created in advance in the global map, and constructing an optimized quadtree in the global map so as to screen out the target points required by the path for the robot to traverse the working region includes: step 21, determining a detectable target point closest to the initial position of the robot as a root node, controlling the robot to move to the root node, wherein the root node is also a father node and is the only root node of the optimized quadtree, and then entering step 22; step 22, when the current target point to which the robot moves is configured as a parent node, respectively expanding and searching at most one child node in four quadrant areas divided under the parent node, so that the child node expanded and searched in the corresponding quadrant area is a new target point which is closest to and reachable from the parent node, screening and recording the child node expanded and searched in each quadrant area from a global map but does not include the target point expanded and searched, and then entering step 23; step 23, selecting a child node closest to the parent node in the step 22 from child nodes expanded and searched in four quadrant areas divided by the parent node in the step 22, adding the newly selected child node into the optimized quadtree, controlling the robot to move to the newly selected child node, and then entering step 24; step 24, configuring the newly selected child node as a next father node, repeating the steps 22 to 23 to continue to expand and search the corresponding child node until the robot moves to a leaf node, and then entering the step 25; step 25, starting from the leaf node expanded and searched by the robot in the step 24, controlling the robot to move along the reverse direction of the latest expanded search sequence, and judging whether a parent node of a child node which is not completely added into the optimized quadtree exists in the reverse direction, if so, entering step 26, otherwise, determining that the coordinate position recorded by the root node and the coordinate positions recorded by all the child nodes expanded and searched are constructed into a complete optimized quadtree; step 26, step 25, the parent node searched out in the opposite direction is expanded in step 22 in advance, first child nodes which are not configured as parent nodes in step 24 are selected, then second child nodes which are nearest to and reachable from the parent node searched out in the opposite direction in step 25 are continuously selected from the first child nodes, the second child nodes are added into the optimized quadtree, then the robot is controlled to move to the second child nodes, and then the step 24 is returned. Wherein, the father node, the next father node, the child node and the leaf node all belong to the target point created in the step 1 and also belong to the nodes of the optimized quadtree; the leaf node is a terminal node of a data structure tree which cannot be extended to a child node continuously; and the parent node positioned at the original point of the robot coordinate system and the child node which is searched by the parent node in the four quadrant areas in an expansion mode are in adjacent position relation.
Compared with the prior art, the method has the advantages that the robot is controlled to screen at most one child node in four quadrant space areas divided under the current node according to an expansion search sequence by applying a space distance number limiting condition to adjacent father nodes and child nodes, the optimized quad-tree-like node skeleton tree is constructed by using the leaf nodes searched finally and the inherited father nodes through cyclic expansion search in target points created in advance in a global map, time cost for calculation participation of irrelevant idle areas is avoided, and repeated paths generated in the process of subsequently accessing the node skeleton tree are avoided. The efficiency of exploring father and son nodes is improved.
Further, sub-trees divided in four directions by the parent node expanded to the origin are distributed in the four quadrant areas, wherein the divided sub-trees include, but are not limited to, a northwest quadrant sub-tree, a northeast quadrant sub-tree, a southwest quadrant sub-tree, and a southeast quadrant sub-tree. According to the technical scheme, the node division mode of four corresponding quadrant areas under a robot coordinate system is utilized, the efficiency of generating child nodes by splitting subtrees is improved, and the defect of repeated storage of the traditional quadtree object is overcome. The intelligent degree of the robot for identifying the direction of the unknown area is improved.
Further, the reverse direction of the most recent extended search order includes a direction traversed upward in the optimized quadtree with respect to the leaf node. The coverage rate of the search area is improved, and the method has the characteristics of low algorithm complexity and less consumed running time.
Further, in the step 3, the method for planning a path for the robot to traverse the working area by accessing all node positions in the optimized quadtree in a downward order from the current target point based on the distance information and reachability of the neighboring nodes of the optimized quadtree, the subtree access end condition of the optimized quadtree, and the access repeatability of the nodes of the optimized quadtree includes: step 31, starting from the initial position of the robot, accessing a root node of the optimized quadtree, and then entering step 32; step 32, when the parent node which is not accessed is accessed, selecting one node which is closest to the current parent node and can reach and is configured as the parent node which is accessed next from the child nodes which are not accessed and are searched in the four quadrant areas divided under the current accessed parent node in an expanding way, continuing to access the next accessed parent node, then sequentially accessing the child nodes which are not accessed of the optimized quadtree according to the access sequence of the step until the child node which is accessed latest is a leaf node, and then entering step 33; step 33, starting from the leaf node accessed in step 32, searching along the reverse direction of the latest access sequence in step 32, and judging whether parent nodes which are not completely accessed to all child nodes exist in the reverse direction, if so, entering step 34, otherwise, determining that a subtree access end condition of the optimized quadtree is reached, and then sequentially planning coordinate position connections corresponding to the initial position and all accessed nodes as paths for the robot to traverse the working area according to the access sequence from step 32 to step 33, and updating and recording the paths into the global map; step 34, in the child nodes of the parent node searched out in the opposite direction in step 33, selecting the child node which is not visited first, then continuously selecting the child node which is closest to and reachable from the parent node searched out in the opposite direction from the selected child node and configuring the child node as the parent node of the next visit, and then returning to step 32; wherein the root node, the father node of the next visit, the child node, and the leaf node all belong to the target point created in step 1 and also belong to the node of the optimized quadtree; the leaf node is a node which is limited to target points distributed in the working area, and has no adjacent child nodes in the optimized quadtree or the subtree of the optimized quadtree; the parent node at the original point and the child node which is searched by the parent node in the four quadrant areas in an expansion mode are in adjacent position relation.
Compared with the prior art, the technical scheme integrates the nodes which are close in preferential selection distance and have connectivity into a depth-first principle, configuring the node access sequence of the optimized quadtree, providing directions for the navigation movement of the robot in the unknown region, and avoids planning redundant, repeatedly visited nodes by marking nodes and children of the node as visited when they are visited completely, the redundant repeated paths generated by the robot sequentially traversing the nodes of the optimized quadtree are reduced according to the sequence under the access rule, the repeated paths (paths formed by connecting the accessed nodes but not completely accessed nodes) possibly planned and generated in the reverse direction of the latest access sequence are fully utilized to traverse all the nodes of the optimized quadtree, and compared with the traditional quadtree index access algorithm, the planned repeated paths are reduced.
Further, the access sequence is represented by traversal numbers added to corresponding access routes when each node of the optimized quadtree is accessed, and the traversal numbers are arranged in an order from small to large so as to form recursive access to the optimized quadtree in a downward order from the root node until a subtree access end condition of the optimized quadtree is met; in an optimized quadtree or a subtree of an optimized quadtree, two nodes that are adjacent are a pair of parent and child nodes. And providing a specific planning path navigation direction for the robot, thereby avoiding the robot from repeatedly traversing unnecessary node positions.
Further, the access repeatability of the nodes of the optimized quadtree is represented as: in the optimized quadtree, when a node and its child bytes have been accessed, the node is marked as the accessed node, so that there are two access cases for the parent node which is not marked as the accessed node: all children that have never been visited, have been visited, but have not fully visited this parent. The storage of redundant node coordinate data is effectively avoided, and the utilization rate of the robot memory space is improved.
Further, the opposite direction of the accessing order of step 32 comprises an opposite direction from the root to the direction of upward traversal of the leaf nodes in the optimized quadtree, such that the robot does not continue to access the target node in a single accessing direction; and the coordinate position corresponding to the leaf child node is surrounded by the barrier, so that the leaf child node cannot be extended out of the child node continuously. The depth-first search principle is fully utilized to provide a new traversal direction for the robot to traverse the target node, and the robot is prevented from being trapped in a semi-closed area blocked by an obstacle in three directions in the traversal process towards a single direction.
Further, the reachable mode means that no obstacle is covered on a connecting line between two nodes. The speed of the robot for searching and traversing the target nodes is improved.
A chip for storing program code for executing said global map exploration based path planning method, such that the chip supports a robot to efficiently complete path planning for said work area by accessing said optimized quadtree.
A robot is internally provided with the chip, and the chip is used for controlling the robot to plan a path for the robot to traverse the working area according to the path planning method based on the global map exploration. The robot can be more efficient and faster when exploring unknown areas.
Drawings
Fig. 1 is a schematic diagram of a target point calculated by a robot path planning algorithm for randomly expanding path nodes (the robot path planning algorithm includes, but is not limited to, a rapid-expanding Random Tree (RRT) algorithm, a hybrid of a rapid-expanding Random Tree (RRT) algorithm and other conventional path planning algorithms).
Fig. 2 is a schematic diagram of searching other target points (child nodes) in four quadrant areas closest to a target point (root node 1) of the robot according to the embodiment of the present invention, so that the root node 1 and the target points 2, 3, and 5 covered by the current search satisfy a node distribution structure of a tree, where the target points all belong to the target points calculated in fig. 1.
Fig. 3 is a schematic diagram of continuing to search for new child nodes in the four quadrant regions of the child node 2 searched out in fig. 2 and closest to the root node 1, so that the child node 2 and the child nodes 4 and 6 covered by the search satisfy the node distribution structure of a new tree, wherein the new tree is a sub-tree of the tree shown in fig. 2, and the target points belong to the target points deduced from fig. 1.
Fig. 4 is a schematic diagram of searching all the target points deduced from fig. 1 from top to bottom on the basis of fig. 2 and 3 until child nodes cannot be generated by taking the last searched target point as a root, so as to form a node distribution structure of a complete optimized quadtree in a map space.
Fig. 5 is a schematic diagram of planning the search directions between different destination points and the access orders of all destination points on the basis of fig. 4, wherein the reference numbers at the beginning of P indicate the access orders of the corresponding destination points, and the larger the number carried behind P indicates the later the access order of the corresponding destination point.
FIG. 6 is a flowchart of a method for constructing an optimized quadtree in a global map environment according to an embodiment of the present invention.
FIG. 7 is a flowchart of a method for accessing the optimized quadtree constructed in FIG. 6 by a robot according to an embodiment of the present invention.
Detailed Description
The following further describes embodiments of the present invention with reference to the drawings. It should be noted that, when a search algorithm is used to solve a problem, a data structure indicating the relationship between a state feature and different states needs to be constructed, and the data structure is called a node. Different problems need to be described with different data structures. Starting from a node, one or more new nodes may be generated, according to the conditions given by the search problem, a process commonly referred to as expansion. The relationship between nodes can be generally expressed as a tree (with certain skeleton nodes). The search process of the search algorithm is actually a process of constructing an answer tree according to initial conditions and expansion rules and finding nodes which meet the target state.
The embodiment of the invention improves the traditional construction and index mode of the quadtree, is used for path planning of a global map, provides a path planning method and a chip based on global map exploration, can be used for optimizing and planning a navigation path of an uncovered area and a cleaning path of an uncovered area of a sweeper, solves the problem that the traditional data structure participates in random expansion of path nodes, and has more redundant repeated paths, and improves the working efficiency of a robot. A path planning method based on global map search comprises the following steps:
step 1, creating a target point in a global map constructed by the robot in advance through an algorithm supporting path random expansion to cover a working area of the robot corresponding to the global map, and then entering step 2. It should be noted that, when the robot moves on the floor of an unknown room environment to complete related navigation work, before the robot moves, it needs to search for a suitable target point in the unknown room environment to perform planning cleaning and planning navigation along a planned path, and the target point referred to therein is created in advance in a global map area by using a related path planning algorithm, and then this embodiment is described by taking a top view of the illustrated room environment as an example, the room environment of fig. 1 is divided into a plurality of rooms by walls, and obstacles such as household appliances and the like are also placed on the floor, for convenience of distinction, the obstacles such as the household appliances and the like are represented by a closed block diagram, and the room area is represented as an area in which the robot is blocked by the obstacles in three directions of four directions, and can be defined as an area with an excessively large degree of closure in the room environment shown in fig. 1, the robot of the present embodiment is shown as a circle without a symbol in the upper left corner in fig. 1 to 5, and it is easy to understand that objects such as walls and household appliances that can block the movement of the cleaning robot can be all regarded as obstacles. In most embodiments, the width of the passageway formed by opening the door of the room and the width of the passageway formed by the restriction between different furniture components can be defined as the narrow and complex covered areas, and at this time, the robot can be inevitably stuck and frequently collided when passing through the passageway areas, and those skilled in the art call the robot path planning algorithm for randomly expanding path nodes to calculate the target points suitable for the complex areas, so as to solve the path planning problem of the robot, wherein the robot path planning algorithms include, but are not limited to, the rapid-expansion Random Tree (RRT) algorithm, and the hybrid algorithm of other conventional path planning algorithms), and the method is characterized by being capable of Rapidly and effectively searching two-dimensional space, passing through the Random sampling points of the state space, the method is characterized in that search is guided to an unknown area so as to find a planned path from a starting point to a target point, wherein the created target points are sequentially represented as target points 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 and 13 in the figure 1 by using numerical numbers and are distributed in all room areas in the figure 1, and the method is suitable for solving the path planning of the multi-degree-of-freedom robot in a complex environment and a dynamic environment.
And 2, controlling the robot to search related target points in the currently divided four quadrant areas from the current target point in an expanding manner according to the position characteristics of the target points pre-established in the global map, constructing an optimized quadtree in the global map so as to screen out the target points required by the path for the robot to traverse the working area, and then entering the step 3. The nodes of the optimized quadtree all belong to target points which are established in advance; the four quadrant areas which are divided currently are the four quadrant areas of the robot coordinate system with the currently selected target point as the origin, so that the construction rule of the quad-tree of the four sub-nodes expanded by a single node is met. In step 2, the position characteristics of the target point include the relative position relationship between the target point currently navigated by the robot and other target points that can be searched by the detectable distance of the sensor of the robot at the target point, which may be distance relationship or connectivity; then based on the distance relation and connectivity between the set target points, the robot specifically calls the method for constructing the quad-tree to search and record the associated target points in the four quadrant areas of the current division from the current target point in an expanding way, then navigates to the target points which accord with the distance relation and connectivity between the set target points in the associated target points, continues to call the method for constructing the quad-tree to search and record the associated target points in the four quadrant areas of the current division in an expanding way, constructs the target points under the record into an optimized quad-tree in a global map in the repeated cyclic expanding search, and updates the global map, wherein the target points under the record form a node of a skeleton tree similar to the quad-tree, and at least the position information of the node corresponding to the associated target point, the position information of a father node or a child node of the node, the position information of the parent node or the child node, The number information of the child nodes of the node is the node constituting a skeleton tree similar to a quadtree. It should be noted that the optimized quadtree is at most a quadtree from the number of child nodes, and includes, but is not limited to, binary trees and ternary trees.
And 3, based on the distance information and the reachability of the adjacent nodes of the optimized quadtree, the access ending condition of the subtree of the optimized quadtree and the access repeatability of the nodes of the optimized quadtree, accessing all the node positions in the optimized quadtree according to a sequence from the current target point to the bottom, and connecting the node positions according to the corresponding access sequence to plan a path for the robot to traverse the working area in the optimized quadtree. And 3, sequentially visiting the related target points which are searched in the step 2 from the initial position of the robot by the extended search according to a preset visiting rule on the basis of the related target points recorded in the robot navigation search process in the step 2, and determining a path for the robot to traverse the working area by connecting according to a corresponding visiting sequence, wherein the visiting sequence is recorded as a number to become a navigation sequence of the robot, and the node connection mode is not limited to straight line connection, connection around the edge of an obstacle and connection along the boundary of a room. Due to the consideration of the access end condition of the sub-tree of the optimized quadtree, the access repeatability of the nodes of the optimized quadtree, the distance information of the adjacent nodes (between the parent node and the child node) of the optimized quadtree and the reachability of the nodes, repeated paths generated in the process that the robot traverses the nodes in sequence according to the access sequence under the preset rule are reduced, at least redundant repeated paths are reduced, and paths which need to be traversed repeatedly for backtracking the nodes which are not completely accessed (the nodes which are not completely accessed to the associated child nodes) are reserved. It should be noted that the robot does not move during the process of accessing the node.
Compared with the prior art, in the steps, the robot searches and screens target points in four quadrant regions based on a construction method of the quadtree, and based on a constructed quadtree skeleton (optimized quadtree), nodes distributed in a global map space are visited by adopting a depth priority principle, a node repeated visiting principle and a nearest distance principle to determine a path for the robot to traverse the working region, so that redundant repeated paths are reduced, necessary repeated paths planned by visiting nodes are reserved, and the robot can be more efficient and faster when exploring unknown regions.
As an embodiment, in the step 2, the method for controlling the robot to search for the associated target points in the currently divided four-quadrant regions from the current target point in an expanded manner according to the position characteristics of the target points created in advance in the global map, and constructing an optimized quadtree in the global map so as to screen out the target points required by the path for the robot to traverse the working region includes, as shown in fig. 6:
step S21, determining a detectable target point closest to the initial position of the robot as a root node of the optimized quadtree due to sensor distance limitation, wherein the root node is also a father node of the optimized quadtree and is also the only root node of the optimized quadtree, and the constructed optimized quadtree is prevented from forming a loop path; then, the process proceeds to step S22. After the root node is explored in step S21, the robot moves from the initial position to the nearest detectable target point, so that the sensor explores the child nodes of the root node, i.e. the aforementioned associated target points, on the optimized quadtree.
Step S22, when the current target point searched by the robot movement is configured as a parent node, at most one child node is searched in the four quadrant areas divided under the parent node in an expanded manner, so that the child node searched in the corresponding quadrant area in an expanded manner is a new target point which is closest to and reachable from the parent node, and the child node searched in each quadrant area in an expanded manner is screened out from the global map and recorded without including the target point which has been searched in an expanded manner, and then the process proceeds to step S23.
As shown in fig. 2, the robot first finds a target point 1, at which time only the target point 1 is found due to sensor distance limitation, and then, when step S21 is executed, the target point 1 is determined as the root node, and then, the robot can reach the node 1 by navigation, and after reaching the node 1, the detection range of the sensor of the robot covers the target points 2, 3, 4, and 5; the target point 2 and the target point 4 are both distributed in the fourth quadrant area of the robot plane coordinate system with the node 1 as the origin (in the lower right area divided by the coordinate system of fig. 2), where the node 1 is configured as a parent node when the child node needs to be extended in the data structure of the tree. Since the distance between the target point 2 and the node 1 is smaller than the distance between the target point 4 and the node 1, and the target point 2 and the node 1 are reachable, the target point 2 is taken as a child node which is searched in the fourth quadrant area in the step S22 in an expansion mode, and the child node 2 is screened and recorded from the global map; the target points 5 are distributed in the first quadrant region of the robot plane coordinate system with the node 1 as the origin (in the upper right region divided by the coordinate system of fig. 2), and within the detectable range of the sensor, only the target points 5 created in advance are in the room region corresponding to the first quadrant region on the upper right of the coordinate system of fig. 2 and are reachable (no obstacle exists in the connecting line between the node 1 and the target points 5), so that the target points 5 are used as the child nodes searched by expanding in the first quadrant region in the step S22, and the child nodes 5 are screened and recorded from the global map; the target points 3 are distributed in a third quadrant region of the robot plane coordinate system with the node 1 as the origin (in a lower left region divided by the coordinate system of fig. 2), and within a detectable range of the sensor, only the target point 3 created in advance is in a room region corresponding to the third quadrant region at the lower left of the coordinate system of fig. 2 and is reachable (no obstacle exists in a connecting line between the node 1 and the target point 3), so that the target point 3 is taken as a child node searched for in the third quadrant region in an expanding manner in the step S22, and the child node 3 is screened and recorded from the global map; in the second quadrant region of the robot plane coordinate system with the node 1 as the origin (in the upper left region divided by the coordinate system of fig. 2), there is no target point created in advance within the detectable range of the sensor, so the step S22 does not expand the searched child nodes within the second quadrant region, nor contribute child nodes to the quadtree to be constructed. It should be noted that, after the child nodes 2, 3, and 5 are sequentially added to the quadtree, as shown in fig. 2, the parent node 1 and the child nodes 2, 3, and 5 belong to an optimized quadtree, which is not a traditional quadtree, wherein when the robot moves from the initial position to the node 1, the child nodes 2, 3, and 5 belong to subtree nodes at the same depth level, and are all target points that have not been traversed.
Step S23, selecting a child node closest to the parent node in step S22 from the child nodes expanded and searched in the four quadrant areas divided by the parent node in step S22, adding the newly selected child node into the optimized quadtree, and controlling the robot to move to the newly selected child node, and simultaneously, proceeding to step S24. As shown in fig. 3, in the coordinate positions corresponding to the child nodes 2, 3, 5 belonging to the same depth level, the distance between the child node 2 and the parent node 1 is the closest, and the connecting line between the two nodes is that no obstacle exists, the child node 2 is preferentially added into the optimized quadtree to participate in building the optimized quadtree, and then the robot is controlled to move to the child node 2.
And step S24, judging whether the newly selected child node is a leaf node, if so, entering step S26, otherwise, entering step S25. The leaf node is a terminal node of a data structure tree which cannot be extended to a child node, and includes but is not limited to a node of a quadtree; the child node 2 in fig. 2 of this embodiment is not the leaf node.
Step S25, configuring the newly selected child node as the next parent node, then proceeding to step S22, dividing a robot plane coordinate system with the node 2 as the origin into four quadrant regions, respectively, in each quadrant region, at most, extending the searched child node as a new target point that is closest to and reachable from the parent node, and then preferentially screening and recording the new target points from the global map, where the new target points include target points that have not been screened and added to construct the optimized quadtree in the process of executing step S22 last time. When step 23 is entered again, in step 23, a child node closest to the current parent node is selected from the child nodes found by expanding in the four quadrant areas divided in step S22, and the robot is controlled to move to the newly selected child node, and the newly selected child node is added to construct the optimized quadtree. It should be noted that the parent node located at the origin of the robot coordinate system and the child node that is found by expanding in the four quadrant areas are all in an adjacent position relationship.
Step S26, the control robot starts with the leaf node described in step S24, searches in the data structure of the tree in the reverse direction of the latest expanded search order of the child nodes, and then proceeds to step S27. The reverse direction of the latest extended search order is included in the optimized quadtree, along a reverse direction from the root down with respect to a direction of upward traversal of the leaf node, wherein the direction of upward traversal with respect to the leaf node may be a direction of traversal of a child node toward its neighboring parent node. The execution of step S26 improves the coverage of the search area, and has the characteristics of low algorithm complexity and less consumed operation time.
Preferably, the coordinate position corresponding to the leaf child node is surrounded by an obstacle, so that the leaf child node cannot be extended out of the child node.
Step S27, determining whether a parent node of a child node that is not completely added to the optimized quadtree (equivalent to a parent node of a leaf node that is not completely expanded and searched) exists in the reverse direction, if yes, going to step S28, otherwise, all sub-tree nodes on the same skeleton tree are expanded and searched, and finally, the robot searches back to the position of the root node 1, and at the same time, it is determined that the coordinate position of the record corresponding to the root node and the coordinate positions of the records corresponding to all the expanded and searched child nodes form a complete optimized quadtree, and at this time, all target points required by the path for the robot to traverse the working area are screened.
Step S28, selecting first child nodes not configured as parent nodes in step S25 from the child nodes searched in advance in step S22 along the parent node searched in the reverse direction in step S27, then selecting second child nodes closest to and reachable from the parent node searched in the reverse direction in step S27 from the selected first child nodes, adding the second child nodes to the optimized quadtree, controlling the robot to move to the second child nodes, and returning to step S24 to determine whether the second child nodes are leaf nodes, so as to determine whether to stop the step of circularly expanding and searching child nodes.
Compared with the prior art, the method has the advantages that the robot is controlled to screen at most one child node in four quadrant space areas divided under the current node according to an expansion search sequence by applying a space distance number limiting condition to adjacent father nodes and child nodes, the optimized quad-tree-like node skeleton tree is constructed by using the leaf nodes searched finally and the inherited father nodes through cyclic expansion search in target points created in advance in a global map, time cost for calculation participation of irrelevant idle areas is avoided, and repeated paths generated in the process of subsequently accessing the node skeleton tree are avoided. The efficiency of exploring father and son nodes is improved.
As an embodiment, the robot performs the process of building the optimized quadtree according to the foregoing steps, as shown in fig. 3, the robot is controlled to move from the node 1 to the location of the node 2, and then the node 2 is configured as a new parent node, so as to perform step S22, after the robot reaches the node 2, the detection range of the sensor of the robot covers the target points 4 and 6; the target point 4 is distributed in the fourth quadrant region of the robot plane coordinate system with the node 2 as the origin (in the lower right region divided by the coordinate system of fig. 3), wherein the node 2 is configured as a parent node when the child node needs to be extended in the data structure of the tree. In the detectable range of the sensor, only the target point 4 created in advance is in the room area corresponding to the fourth quadrant area at the lower right of the coordinate system in fig. 3 and is reachable (no obstacle exists in the connecting line between the node 2 and the target point 4), and the node 4 is in the room area blocked by the wall in all three directions (the sensor can scan and detect), so the target point 4 is taken as the child node searched by expanding in the fourth quadrant area in step S22.
The target points 6 are distributed in a first quadrant region of a robot plane coordinate system with the node 2 as an origin (in an upper right region marked by the coordinate system of fig. 3), and within a detectable range of the sensor, the target points 6 which are created in advance are within a long corridor region corresponding to the first quadrant region at the upper right of the coordinate system of fig. 3 and are reachable (no obstacle exists in a connecting line between the node 2 and the target points 6); meanwhile, the child node 5 is searched in the room area (in the upper left area marked by the coordinate system in fig. 3) in the same quadrant within the detectable range of the sensor, it should be noted that, because of the separation effect of the room wall, in the process of randomly expanding the aforementioned algorithm supporting path random expansion from the node 1, only one target point 5 is created in the first quadrant area of the robot plane coordinate system with the node 1 as the origin, and this target point 5 has been recorded as being searched for by expanding in the last execution of step S22. Although the distance of the target point 5 from the node 2 is smaller than that of the target point 6 from the node 2, the target point 5 cannot be used as a subtree node of the node 2, and in conclusion, the target point 6 can only be used as a child node which is searched for in the first quadrant area and expanded in the step S22, and is screened out from the global map and recorded. Wherein the sub-node 6 is in an indoor free area, less obstacles are present around the sub-node to block, and there are extended target points in multiple directions at the position of the sub-node 6, which cannot be detected by the sensor at the node 2.
Similarly, in the detectable range of the sensor, the target point 3 searched in the third quadrant region of the robot plane coordinate system with the node 2 as the origin (in the lower left region divided by the coordinate system of fig. 3) has been recorded as the extended search in the last execution of the process of step S22, and the target point 3 has been screened and recorded and cannot be used as the subtree node of the node 2; in the detectable range of the sensor, the node 1 searched in the second quadrant region of the robot plane coordinate system with the node 2 as the origin (in the upper left region divided by the coordinate system of fig. 3) is the last parent node, belongs to the parent node of which the leaf node has been searched in an expanded manner, and is added to the quadtree to be constructed, and cannot be used as the subtree node of the node 2.
As can be seen from fig. 4, by executing step S23, the distance between the child node 4 and the parent node 2 is smaller than the distance between the child node 6 and the parent node 2, so that the child node 4 is preferentially added into the optimized quadtree, and participates in building the optimized quadtree, and configures the child node 4 as the next parent node, and then controls the robot to move to the child node 4; however, the node 4 cannot continue to expand and search out the child node, and therefore is determined as a leaf node, and then step S26 is executed, i.e. the robot is controlled to move along the reverse direction of the latest expansion search sequence of the node 4, corresponding to the upward traversal direction of fig. 3, so that the robot searches out the parent node where the leaf node is not completely expanded and searched out, because the node 2 can continue to expand and search out the child node 6 but a new target point (which can be detected by the sensor, although exceeding the detection range, just proves that the area where the node is located is wider) at the position of the child node 6, and therefore the node does not belong to a leaf node. The child node 6 is a child node which belongs to the child node searched by the parent node 2 in the expansion manner in the step S22, and is next a child node which is closest to and reachable from the parent node 2 among the child nodes which are not configured as the parent node in the step S25 (i.e., the child nodes which have not been traversed by the robot before), so that the child node 6 is added into the optimized quadtree, the selected child node 6 is configured as the next parent node, and the robot is controlled to move from the node 4 to the child node 6; then, the foregoing steps S22 to S24 are repeated to continue the extended search for the corresponding child nodes, including the child node 9 and the child node 7 adjacent to the parent node 6, and accordingly, the child nodes are screened out and recorded from the global map, because at most one child node is extended and searched in the same quadrant region to exclude the farther target point 8 in the detection range, and then the target point 8, the target point 10, the target point 11, and the target point 13 are sequentially searched out along an extension direction, and the positions of the adjacent target points become the adjacent parent-child node relationship and are screened out and recorded from the global map, and are added to the optimized quadtree before moving to the corresponding child node. Thus, an optimized quadtree is constructed by adding the target point 8, the target point 10, the target point 11 and the target point 13 in sequence; after the robot moves to the target point 13, if it is determined that the target point 13 becomes a leaf node within the detectable range of the sensor due to the barrier effect of the area above and below the horizontal axis of the current robot coordinate system, the robot is controlled to move to the original parent node 6 along the reverse direction of the latest extended search sequence by executing step S26, or the robot can be considered to move to the original parent node 6 along the reverse direction from the root to the bottom, and then the child node 7 (i.e., the child node not added with the optimized quadtree when being screened and recorded before) which belongs to the child node 6 which is extended and searched in step S22 is formally added with the optimized quadtree, and then the robot is controlled to move to the child node 7; then repeating the foregoing steps S22 to S24 to search for a target point 12 along another expansion direction, and add the optimized quadtree, and at the same time, to screen out and record from the global map, the robot moves to the target point 12 again, and also determines that the target point 12 is a leaf node, and controlling the robot to return the root node 1 from the target node 12 along the reverse direction of the latest expansion search order or along the reverse direction from the root downwards by executing step S26, and then determining that there is a parent node 1 of a child node that does not completely add the optimized quadtree among the pre-created target points, and for the parent node 1, there are a child node 3 and a child node 5 that do not completely add the optimized quadtree, and since the child node 3 is closest to the parent node 1, the child node 3 is preferentially added to the optimized quadtree, and then controlling the robot to move to the child node 3; then adding the child node 5 into the optimized quadtree, and controlling the robot to move to the child node 5; determining that the coordinate position recorded correspondingly by the root node and the coordinate positions recorded correspondingly by all the extended and searched child nodes are constructed into a complete optimized quadtree, and finishing screening out the target points required by the path for the robot to traverse the working area as shown by a skeleton tree formed by connecting the skeleton tree shown in fig. 4.
It should be noted that the parent node, the next parent node, the child node, and the leaf node all belong to the target point created in step 1, and also belong to a node of the optimized quadtree.
Preferably, within the four quadrant areas are distributed subtrees divided in four directions by parent nodes extended to the origin, respectively, wherein the divided subtrees include, but are not limited to, northwest quadrant subtrees (distributed in a first quadrant of the illustrated robot coordinate system), northeast quadrant subtrees (distributed in a second quadrant of the illustrated robot coordinate system), southwest quadrant subtrees (distributed in a fourth quadrant of the illustrated robot coordinate system), and southeast quadrant subtrees (distributed in a third quadrant of the illustrated robot coordinate system). Since the robot, when placed in an unknown area, will not know which side to explore first, probably like a human, it will need to have several directions (east-west-south-north), and thus it will need to build a quadtree. And only four areas can divide the space well, so that repeated paths can be avoided. Therefore, the present embodiment utilizes the corresponding four quadrant region node division manner in the robot coordinate system to increase the efficiency of generating child nodes by splitting sub-trees, and improve the disadvantage of repeated storage of the conventional quadtree object. The intelligent degree of the robot for identifying the direction of the unknown area is improved.
As another embodiment, the method for planning a path for a robot to traverse the working area by accessing all node positions in the optimized quadtree in a downward order from a current target point based on the distance information and reachability of adjacent nodes of the optimized quadtree, the subtree access end condition of the optimized quadtree, and the access repeatability of the nodes of the optimized quadtree, as shown in fig. 7, specifically includes:
step S31, on the basis of constructing an optimized quadtree and screening and recording associated target points, firstly accessing a first father node 1 of the optimized quadtree from the initial position of the robot, wherein the access sequence corresponds to the direction indicated by the arrow marked by the P0 and is correspondingly recorded as the first traversal planning path direction of the robot in the working area, and then entering the step 32; wherein a first parent node of the optimized quadtree is determined to be a root node of the optimized quadtree.
It should be noted that, in the optimized quadtree constructed in fig. 5, the access order of the robot is represented by traversal numbers added to corresponding access routes each time a node of the optimized quadtree is accessed, the traversal numbers are arranged in an order from small to large to form a sub-tree access ending condition for recursively accessing the optimized quadtree in a descending order from the root node until the sub-tree access ending condition of the optimized quadtree is satisfied, where a reference mark at the beginning of P represents the access order of a corresponding target point, and a larger number carried behind P represents a later access order of the corresponding target point; in an optimized quadtree or a subtree of an optimized quadtree, two nodes that are adjacent are a pair of parent and child nodes. Therefore, a specific planning path navigation direction is provided for the robot, and the robot is prevented from repeatedly traversing unnecessary node positions. Wherein the robot is not moving during the visit.
Step S32, every time when the parent node that is not accessed is accessed, selecting one child node that is closest to the current parent node and is reachable and configured as the parent node of the next access from among the child nodes that are not accessed and are searched in the four quadrant areas divided under the current parent node, accessing the parent node of the next access, and then going to step S33.
As shown in fig. 5, the robot configures the target point 1 as a parent node 1, visits an unvisited child node 2 of the parent node 1, and records the direction indicated by the arrow marked by P1 as the second traversal planning path direction of the robot. Since the child node 2 is the child node closest to and reachable from the current parent node with respect to the child nodes 3 and 5 of the same depth level, the target point 2 closest to and reachable from the current parent node is then selected and configured as the parent node of the next visit.
Step S33, determining whether the child node accessed recently is a leaf node, if yes, executing step S34, otherwise executing step S32 to access the target point 4. It should be noted that the leaf node is a terminal node of a data structure tree that cannot be extended beyond child nodes, including but not limited to a node of a quadtree; the child node 2 in fig. 5 of the present embodiment is not the leaf node, and then the process returns to execute step S32.
Specifically, after the robot accesses the node 2, since the node 2 is configured as a parent node in the subtree of the optimized quadtree, based on the above-constructed subtree node distribution characteristics of the optimized quadtree, the child node 4 is a child node closest to and reachable from the current parent node 2 with respect to the child node 6, so that the child node 4 is configured as a parent node of the next access, and at the same time, an arrow indicating direction marked by P2 is recorded as a third traversal plan path direction of the robot, and the child node 6 is not accessed at this time. It should be noted that, only the target point 4 created in advance is reachable in the room area corresponding to the lower right of the current parent node 2 (no obstacle exists in the connection line between the node 2 and the target point 4), and the child node 4 is located in the room area blocked by the wall in all three directions, however, the node 4 cannot continue to expand and search the child node, so it is determined as a leaf node in step S33, and then step S34 is executed.
Step S34, starting from the leaf node judged in step S33, searches in the reverse direction of the latest access order to comply with the depth-first access rule, and then executes step S35. Specifically, the opposite direction of the access sequence is included in the optimized quadtree, and the robot does not continue to access the target node in a single access direction relative to the upward traversal direction of the leaf node and the downward reverse direction from the root, so that a depth-first search principle is fully utilized to provide a new traversal direction for the robot to traverse the target node, and the robot is prevented from being trapped in a semi-closed area blocked by an obstacle in three directions of the four directions in the traversal process in the single direction. Preferably, the coordinate position corresponding to the leaf child node is surrounded by an obstacle, so that the leaf child node cannot be extended out of the child node.
Step S35, determining whether there is a parent node that is not completely visited to all child nodes (i.e. the adjacent child nodes in the same sub-tree) in the reverse direction, if yes, executing step S36, otherwise, determining that all the sub-tree nodes on the same optimized quadtree have been marked as visited nodes, and finally the robot visits back to the position of the root node 1 and marks the last access order and the corresponding traversal path direction, determining that the sub-tree access end condition of the optimized quadtree is reached, meanwhile, the initial position and the coordinate positions corresponding to all the visited nodes are sequentially connected according to the visiting order (the arrow direction of FIG. 5 and the traversal sequence number marked with P) from step S32 to step S34, and planning a path for the robot to traverse the working area in the optimized quadtree, and updating and recording the path into the global map.
It should be noted that the access repeatability of the nodes of the optimized quadtree is represented as: in the optimized quadtree, when a node and its child bytes have been accessed, the node is marked as the accessed node, so that there are two access cases for the parent node which is not marked as the accessed node: all children that have never been visited, have been visited, but have not fully visited this parent. This distinction between visited nodes helps to skip over repeatedly visited nodes when looking for the next node to visit. The storage of redundant node coordinate data is effectively avoided, and the utilization rate of the robot memory space is improved.
Step S36, in step S34, selecting a child node that has not been visited, then selecting a child node that is closest to and reachable from the parent node searched in the opposite direction from the selected child nodes, and configuring the selected child node as a next visited parent node, then visiting the next visited parent node, and then returning to execute step S33 to determine whether the newly visited child node is a leaf node.
Compared with the prior art, the steps fuse the nodes which are preferentially selected to be close and have connectivity into a depth-first principle, configuring the node access sequence of the optimized quadtree, providing directions for the navigation movement of the robot in the unknown region, and avoids planning redundant, repeatedly visited nodes by marking nodes and children of the node as visited when they are visited completely, the redundant repeated paths generated by the robot sequentially traversing the nodes of the optimized quadtree are reduced according to the sequence under the access rule, the repeated paths (paths formed by connecting the accessed nodes but not completely accessed nodes) possibly planned and generated in the reverse direction of the latest access sequence are fully utilized to traverse all the nodes of the optimized quadtree, and compared with the traditional quadtree index access algorithm, the planned repeated paths are reduced.
Specifically, when the currently visited node 4 is determined to be the leaf node, step S34 is executed, namely, the robot is controlled to perform a reverse search along the latest visiting sequence of the node 4, corresponding to a reverse search along the direction of the arrow marked by P2 in fig. 5, i.e. indicated by the dotted line with an arrow in the corresponding direction, so as to search for the parent node 2 which is not completely visited to all child nodes, and immediately search for the nearest unique parent node which is not completely visited to all child nodes in the reverse direction of the arrow marked by P2. Then, the child node 6 which is not visited and is nearest and reachable to the parent node is selected to be configured as a next visited parent node, the node 4 directly visits the node 6, and the direction indicated by the arrow marked by P3 is recorded as the fourth traversal planning path direction of the robot.
Then, repeating the steps S32 to S36, and sequentially accessing the unvisited child nodes of the optimized quadtree, including the child node 9 adjacent to the parent node 6, in the traversal order of the arrow direction marked in fig. 5 and the access route marked thereby based on the depth-first access principle and the distance-first access principle, and recording the arrow indication direction marked by P4 as the fifth traversal planning path direction of the robot; the child node 8 adjacent to the parent node 9 records the arrow marked by P5 as the sixth traversal planning path direction of the robot; the child node 10 adjacent to the parent node 8 records the arrow marked by P6 as the seventh traversal plan path direction of the robot; the child node 11 adjacent to the parent node 10 records the arrow marked by P7 as the eighth traversal plan path direction of the robot; and the child node 13 adjacent to the parent node 11 records the direction indicated by the arrow marked by the P8 as the ninth traversal planned path direction of the robot.
When it is determined that the currently accessed child node 13 becomes a leaf node, by performing step S34, if a reverse search along the latest access sequence of the node 13 is possible, corresponding to a reverse search along the arrow marked by P8 in fig. 5, the parent node 11 that has been completely accessed to all child nodes is initially searched, then the parent node 10, the parent node 8, and the parent node 9 are sequentially searched upward, and the parent node 6 is searched until the parent node 6 is reached, and the parent node 6 that has not been completely accessed to all child nodes is searched, it is noted that the parent node 10, the parent node 8, the parent node 9, and the parent node 6 are not accessed in this process, but the child node 13 points to the parent node 6 with a dotted line with an arrow to indicate that the accessed parent node 10, the parent node 8, the parent node 9, and the parent node 6 are skipped, wherein the parent node 10, the parent node 8, the parent node 9, and the parent node 6 are skipped, Parent node 9 and child node 13 are both nodes marked as visited. Then the robot is controlled to directly access the child node 7 from the child node 13, and meanwhile, the direction indicated by the arrow marked by P9 is recorded as the tenth traversal planning path direction of the robot; since the child node 7 is the child node in the parent node 6 that has not been visited and is closest to the parent node 6.
Then, repeating the foregoing steps S32 to S36, and sequentially accessing the unvisited child nodes of the optimized quadtree, including the child node 12 adjacent to the parent node 7, in the traversal order of the arrow direction marked in fig. 5 and the access route marked thereby based on the depth-first access rule and the distance-nearest rule, and recording the arrow indication direction marked by P10 as the eleventh traversal planning path direction of the robot; the robot then visits the target point 12, and also determines that the target point 12 is a leaf node, by performing the reverse search along the latest visit sequence of the node 12 in step S34, corresponding to the reverse search along the arrow marked by P10 in fig. 5, it is possible to initially search for the parent node 7 that has been completely visited to all child nodes, and then sequentially search for the parent node 6, the parent node 2, and up to the parent node 1 in the reverse direction from the root down or up traversal, until there is a parent node 1 that has not been completely visited to all child nodes, then select the child node 3 that has not been visited and is closest to the parent node 1 to be the next visited parent node, then switch from the child node 12 to directly visit the child node 3, and record the direction indicated by the arrow marked by P11 as the twelfth traversal plan path direction of the robot. Then, if it is determined that the child node 3 is a leaf node, by performing the step S34 to search along the reverse direction of the latest access sequence, it is found that there is a parent node 1 that is not completely accessed to all child nodes corresponding to the reverse direction along the arrow marked by P11 in fig. 5, and then selecting the child node 5 that is not accessed and is closest to the parent node 1 as the parent node of the next access, the child node 3 directly accesses the child node 5, and records the direction indicated by the arrow marked by P12 as the thirteenth traversal plan path direction of the robot. When it is determined that the child node 5 is also a leaf node, the node access step of the robot is terminated when the parent node which is not completely accessed to all the child nodes is not searched for although the reverse search along the latest access sequence is performed in step S34, which corresponds to the reverse search along the arrow marked by P12 in fig. 5 or the reverse search from the root. Then, determining that there is no parent node of the leaf node searched by incomplete extension in the pre-created target point, determining that the condition of sub-tree access ending of the optimized quadtree is reached, and sequentially connecting the initial position and the coordinate positions corresponding to all accessed nodes (marked as accessed nodes) according to the access sequence from step S32 to step S34 (the arrow direction in fig. 5 and marked P0 to P12), so as to plan a path for the robot to traverse the working area in the optimized quadtree, and update and record the path into the global map, where in sum, the specific path is planned as follows: the initial position of the robot → target point 1 → target point 2 → target point 4 → target point 6 → target point 9 → target point 8 → target point 10 → target point 11 → target point 13 → target point 7 → target point 12 → target point 3 → target point 5, wherein the routes between adjacent target points do not cross obstacles, and the routes planned between the target points associated with the dotted lines shown in fig. 5 are duplicated, which is a necessary duplicated route compared to the conventional route planning algorithm. Repetitive paths can be reduced by such an improvement.
It should be noted that the parent node, the next parent node, the child node, and the leaf node all belong to the target point created in step 1, and also belong to a node of the optimized quadtree.
In the foregoing embodiments, the reachable means that there is no obstacle coverage on the connecting line between the two nodes. The speed of the robot for searching and traversing the target nodes is improved.
A chip for storing program code for executing said global map exploration based path planning method, such that the chip supports a robot to efficiently complete path planning for said work area by accessing said optimized quadtree.
The chip is used for controlling the robot to plan a path for the robot to traverse the working area according to the path planning method based on global map exploration disclosed by the embodiment. The robot can be more efficient and faster when exploring unknown areas.

Claims (13)

1. A path planning method based on global map search comprises the following steps: step 1, creating a target point in a global map constructed by the robot in advance through an algorithm supporting random path expansion so as to cover a working area of the robot corresponding to the global map; it is characterized by also comprising:
step 2, controlling the robot to search related target points in the currently divided four quadrant areas from the current target point in an expanding way according to the position characteristics of the target points which are created in the global map in advance, and constructing an optimized quadtree in the global map so as to screen out the target points required by the path for the robot to traverse the working area, wherein the nodes of the optimized quadtree all belong to the target points which are created in advance; the currently divided four quadrant areas are four quadrant areas of a robot plane coordinate system with a currently selected target point as an origin; from the number of child nodes, the optimized quadtree includes, but is not limited to, a binary tree, a ternary tree, a quadtree;
and 3, based on the distance information and the reachability of the adjacent nodes of the optimized quadtree, the access ending condition of the subtree of the optimized quadtree and the access repeatability of the nodes of the optimized quadtree, accessing all the node positions in the optimized quadtree according to a downward sequence from the current target point so as to plan a path for the robot to traverse the working area.
2. The path planning method according to claim 1, wherein in the step 2, the method for controlling the robot to expand and search the associated target points in the currently divided four-quadrant region from the current target point according to the position characteristics of the target points created in advance in the global map, and constructing the optimized quadtree in the global map to screen out the target points required by the path for the robot to traverse the working area comprises:
step 21, determining a detectable target point closest to the initial position of the robot as a root node of the tree, controlling the robot to move to the root node, wherein the root node is also a father node and is the only root node of the optimized quadtree, and then entering step 22;
step 22, when the current target point to which the robot moves is configured as a parent node, respectively expanding and searching at most one child node in four quadrant areas divided under the parent node, so that the child node expanded and searched in the corresponding quadrant area is a new target point which is closest to and reachable from the parent node, screening and recording the child node expanded and searched in each quadrant area from a global map but does not include the target point expanded and searched, and then entering step 23;
step 23, selecting a child node closest to the parent node in the step 22 from child nodes expanded and searched in four quadrant areas divided by the parent node in the step 22, adding the newly selected child node into the optimized quadtree, controlling the robot to move to the newly selected child node, and then entering step 24;
step 24, configuring the newly selected child node as a next father node, repeating the steps 22 to 23 to continue to expand and search the corresponding child node until the robot moves to a leaf node, and then entering the step 25;
wherein, the father node, the next father node, the child node and the leaf node all belong to the target point created in the step 1 and also belong to the nodes of the optimized quadtree; the leaf node is a terminal node of a data structure tree which cannot be extended to a child node continuously; and the parent node positioned at the original point of the robot coordinate system and the child node which is searched by the parent node in the four quadrant areas in an expansion mode are in adjacent position relation.
3. The path planning method according to claim 2, further comprising, in the step 2:
step 25, starting from the leaf node expanded and searched by the robot in the step 24, controlling the robot to move along the reverse direction of the latest expanded search sequence, and judging whether a parent node of a child node which is not completely added into the optimized quadtree exists in the reverse direction, if so, entering step 26, otherwise, determining that the coordinate position recorded by the root node and the coordinate positions recorded by all the child nodes expanded and searched are constructed into a complete optimized quadtree;
step 26, step 25, the parent node searched out in the opposite direction is expanded in step 22 in advance, first child nodes which are not configured as parent nodes in step 24 are selected, then second child nodes which are nearest to and reachable from the parent node searched out in the opposite direction in step 25 are continuously selected from the first child nodes, the second child nodes are added into the optimized quadtree, then the robot is controlled to move to the second child nodes, and then the step 24 is returned.
4. The path planning method according to claim 3, wherein sub-trees divided in four directions by the parent node expanded to the origin are distributed in the four quadrant areas, wherein the divided sub-trees include, but are not limited to, a northwest quadrant sub-tree, a northeast quadrant sub-tree, a southwest quadrant sub-tree, and a southeast quadrant sub-tree.
5. The path planning method according to claim 4, wherein the reverse direction of the latest extended search order comprises a reverse direction from the root to the root with respect to the direction of upward traversal of the leaf nodes in the optimized quadtree;
and the coordinate position corresponding to the leaf child node is surrounded by the barrier, so that the leaf child node cannot be extended out of the child node continuously.
6. The path planning method according to claim 2, wherein in the step 3, the method for planning the path for the robot to traverse the working area by visiting all the node positions in the optimized quadtree in a downward order from the current target point based on the distance information of the adjacent nodes of the optimized quadtree and the reachability thereof, the subtree visit end condition of the optimized quadtree, and the visit repeatability of the nodes of the optimized quadtree, comprises:
step 31, starting from the initial position of the robot, accessing a root node of the optimized quadtree, and then entering step 32; wherein a first parent node of the optimized quadtree is determined to be a root node of the optimized quadtree;
step 32, when the parent node which is not accessed is accessed, selecting one node which is closest to the current parent node and can reach and is configured as the parent node which is accessed next from the child nodes which are not accessed and are searched in the four quadrant areas divided under the current accessed parent node in an expanding way, continuously accessing the next accessed parent node, and then sequentially accessing the child nodes which are not accessed of the optimized quadtree according to the accessing sequence of the step until the child node which is accessed latest is a leaf node;
wherein the root node, the father node of the next visit, the child node, and the leaf node all belong to the target point created in step 1 and also belong to the node of the optimized quadtree; the leaf node is a node which is limited to target points distributed in the working area, and has no adjacent child nodes in the optimized quadtree or the subtree of the optimized quadtree; the parent node at the original point and the child node which is searched by the parent node in the four quadrant areas in an expansion mode are in adjacent position relation.
7. The path planning method according to claim 6, further comprising, in the step 3:
step 33, starting from the leaf node which is accessed latest, searching along the reverse direction of the latest access sequence of step 32, judging whether parent nodes which are not completely accessed to all child nodes exist in the reverse direction, if so, entering step 34, otherwise, determining that a sub-tree access end condition of the optimized quadtree is reached, then sequentially connecting and planning the initial position and coordinate positions corresponding to all accessed nodes as a path for the robot to traverse the working area according to the access sequence of steps 32 to 33, and updating and recording the path into the global map;
step 34, in the child nodes of the parent node searched out in the opposite direction in step 33, selecting the child node which is not visited first, then continuously selecting the child node which is closest to and reachable from the parent node searched out in the opposite direction from the selected child node and configuring the child node as the parent node of the next visit, and then returning to step 32.
8. The path planning method according to claim 7, wherein the visit order is represented by a traversal number added to the corresponding visit route every time one node of the optimized quadtree is visited, and the traversal numbers are arranged in order from small to large to form a step of recursively visiting the optimized quadtree in a descending order from the root node until a subtree visit end condition of the optimized quadtree is satisfied; in an optimized quadtree or a subtree of an optimized quadtree, two nodes that are adjacent are a pair of parent and child nodes.
9. The path planning method according to claim 7, wherein the access repeatability of the nodes of the optimized quadtree is represented as: in the optimized quadtree, when a node and its child bytes have been accessed, the node is marked as the accessed node, so that there are two access cases for the parent node which is not marked as the accessed node: all children that have never been visited, have been visited, but have not fully visited this parent.
10. The path planning method according to claim 7, wherein the opposite direction of the accessing order of step 32 comprises an opposite direction from the root to the direction traversed upward by the leaf node in the optimized quadtree, such that the robot does not continue to access the target node in a single accessing direction;
and the coordinate position corresponding to the leaf child node is surrounded by the barrier, so that the leaf child node cannot be extended out of the child node continuously.
11. The path planning method according to any one of claims 1 to 10, wherein the reachable means that there is no obstacle coverage on the connecting line between two nodes.
12. A chip for storing program code, wherein the program code is configured to execute a global map exploration-based path planning method according to any one of claims 1 to 11, so that the chip completes path planning for the working area by accessing the optimized quadtree.
13. A robot, characterized in that the robot is provided with a chip as claimed in claim 12, and the chip is used for controlling the robot to plan a path for the robot to traverse the working area according to the global map exploration-based path planning method as claimed in any one of claims 1 to 11.
CN202110249215.7A 2021-03-08 2021-03-08 Path planning method, chip and robot based on global map exploration Active CN113009916B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110249215.7A CN113009916B (en) 2021-03-08 2021-03-08 Path planning method, chip and robot based on global map exploration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110249215.7A CN113009916B (en) 2021-03-08 2021-03-08 Path planning method, chip and robot based on global map exploration

Publications (2)

Publication Number Publication Date
CN113009916A true CN113009916A (en) 2021-06-22
CN113009916B CN113009916B (en) 2024-06-18

Family

ID=76407808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110249215.7A Active CN113009916B (en) 2021-03-08 2021-03-08 Path planning method, chip and robot based on global map exploration

Country Status (1)

Country Link
CN (1) CN113009916B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113589823A (en) * 2021-08-13 2021-11-02 江苏科技大学 Multi-mobile-robot cooperative target searching method
CN113892865A (en) * 2021-10-29 2022-01-07 珠海格力电器股份有限公司 Cleaning strategy generation method and device for cleaning robot
CN114153210A (en) * 2021-12-01 2022-03-08 苏州盈科电子有限公司 Movement control method and system for robot

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110035087A1 (en) * 2009-08-10 2011-02-10 Samsung Electronics Co., Ltd. Method and apparatus to plan motion path of robot
CN108983781A (en) * 2018-07-25 2018-12-11 北京理工大学 A kind of environment detection method in unmanned vehicle target acquisition system
CN109341707A (en) * 2018-12-03 2019-02-15 南开大学 Mobile robot three-dimensional map construction method under circumstances not known
CN109753072A (en) * 2019-01-23 2019-05-14 西安工业大学 A kind of mobile robot mixed path planing method
CN109839110A (en) * 2019-01-09 2019-06-04 浙江大学 A kind of multiple target point path planning method based on quick random search tree
CN111723096A (en) * 2020-06-23 2020-09-29 重庆市计量质量检测研究院 Spatial data indexing method integrating GeoHash and Quadtree
CN111811514A (en) * 2020-07-03 2020-10-23 大连海事大学 Path planning method based on regular hexagon grid jumping point search algorithm
CN112000754A (en) * 2020-08-11 2020-11-27 珠海格力电器股份有限公司 Map construction method and device, storage medium and computer equipment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110035087A1 (en) * 2009-08-10 2011-02-10 Samsung Electronics Co., Ltd. Method and apparatus to plan motion path of robot
CN108983781A (en) * 2018-07-25 2018-12-11 北京理工大学 A kind of environment detection method in unmanned vehicle target acquisition system
CN109341707A (en) * 2018-12-03 2019-02-15 南开大学 Mobile robot three-dimensional map construction method under circumstances not known
CN109839110A (en) * 2019-01-09 2019-06-04 浙江大学 A kind of multiple target point path planning method based on quick random search tree
CN109753072A (en) * 2019-01-23 2019-05-14 西安工业大学 A kind of mobile robot mixed path planing method
CN111723096A (en) * 2020-06-23 2020-09-29 重庆市计量质量检测研究院 Spatial data indexing method integrating GeoHash and Quadtree
CN111811514A (en) * 2020-07-03 2020-10-23 大连海事大学 Path planning method based on regular hexagon grid jumping point search algorithm
CN112000754A (en) * 2020-08-11 2020-11-27 珠海格力电器股份有限公司 Map construction method and device, storage medium and computer equipment

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113589823A (en) * 2021-08-13 2021-11-02 江苏科技大学 Multi-mobile-robot cooperative target searching method
CN113892865A (en) * 2021-10-29 2022-01-07 珠海格力电器股份有限公司 Cleaning strategy generation method and device for cleaning robot
CN114153210A (en) * 2021-12-01 2022-03-08 苏州盈科电子有限公司 Movement control method and system for robot
CN114153210B (en) * 2021-12-01 2024-03-19 苏州盈科电子有限公司 Movement control method and system of robot

Also Published As

Publication number Publication date
CN113009916B (en) 2024-06-18

Similar Documents

Publication Publication Date Title
CN113009916B (en) Path planning method, chip and robot based on global map exploration
US20230393584A1 (en) Cleaning Path Planning Method Based on Pathfinding cost, Chip, and Cleaning Robot
CN107773164B (en) Cleaning method and device for cleaning robot and robot
CN113156970B (en) Path fusion planning method for traffic area, robot and chip
CN107913039B (en) Block selection method and device for cleaning robot and robot
CN111811514B (en) Path planning method based on regular hexagon grid jump point search algorithm
WO2023155371A1 (en) Stable movement global path planning method for indoor mobile robot
CN108444490B (en) Robot path planning method based on depth fusion of visible view and A-x algorithm
CN110006429A (en) A kind of unmanned boat path planning method based on depth optimization
Zhu et al. DSVP: Dual-stage viewpoint planner for rapid exploration by dynamic expansion
CN113219975B (en) Route optimization method, route planning method, chip and robot
CN104615138A (en) Dynamic indoor region coverage division method and device for mobile robot
CN113156956B (en) Navigation method and chip of robot and robot
CN110361017A (en) A kind of full traverse path planing method of sweeping robot based on Grid Method
CN108665117B (en) Calculation method and device for shortest indoor space path, terminal equipment and storage medium
CN110477813B (en) Laser type cleaning robot and control method thereof
CN113485369A (en) Indoor mobile robot path planning and path optimization method for improving A-x algorithm
CN113189988A (en) Autonomous path planning method based on Harris algorithm and RRT algorithm composition
CN113359743A (en) Robot task execution method and device, robot and storage medium
CN113110499A (en) Judging method of passing area, route searching method, robot and chip
Gong et al. Multi-agent deterministic graph mapping via robot rendezvous
CN110975291B (en) Path extraction method and system
CN116560360A (en) Method and system for planning real-time dynamic path of medical care robot facing complex dynamic scene
CN115617026A (en) RRT exploration method, chip and robot fusing laser data
CN114564023B (en) Jumping point search path planning method under dynamic scene

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 519000 2706, No. 3000, Huandao East Road, Hengqin new area, Zhuhai, Guangdong

Applicant after: Zhuhai Yiwei Semiconductor Co.,Ltd.

Address before: 519000 room 105-514, No. 6, Baohua Road, Hengqin new area, Zhuhai City, Guangdong Province (centralized office area)

Applicant before: AMICRO SEMICONDUCTOR Co.,Ltd.

GR01 Patent grant