An RRT exploration method, chip and robot integrating laser data

By integrating the RRT exploration method with laser data, using the laser module to generate point cloud data and optimize quadtree construction, the problems of slow update and repeated exploration of the RRT algorithm when the environment changes are solved, and efficient unknown environment map update and path planning are achieved.

CN115617026BActive Publication Date: 2025-09-09AMICRO SEMICONDUCTOR CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing RRT-based rapid exploration and mapping methods are slow to update maps when facing environmental changes, are prone to missing areas or causing repeated movements back and forth, and are computationally intensive.

Method used

The RRT exploration method integrating laser data is adopted. The laser module obtains environmental data to generate point cloud data, determines the target point according to the distance and collision information, constructs an optimized quadtree, and plans the path to avoid repeated areas and improve the update speed.

Benefits of technology

It improves the map update speed, reduces repeated area exploration, reduces the amount of calculation, and improves the robot's exploration efficiency in unknown environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115617026B_ABST
    Figure CN115617026B_ABST
Patent Text Reader

Abstract

The present invention discloses an RRT exploration method, chip, and robot that integrates laser data. This exploration method uses laser data to search for and determine target points during target point exploration. The method of this application adds a laser module to RRT exploration to acquire laser data and construct target points based on the laser data. This method allows for faster map updates, avoiding the insensitivity and randomness of the original RRT exploration method, which can cause missed areas or backfilling. Furthermore, the method requires less computation than traversing a grid map.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robot map detection, and in particular to an RRT exploration method, chip and robot integrating laser data. Background Art

[0002] Intelligent mobile robots are a hot topic in research and market research both domestically and internationally, and many mobile robot-related technologies revolve around mapping. Maps can be acquired in a variety of ways, with rapid exploration and mapping methods based on RRT providing excellent coverage of unknown areas. However, existing RRT-based rapid exploration and mapping methods are slow to update maps during exploration. This can cause the robot to miss areas due to situations like door openings and closings. If these missed areas are detected again by the robot, it will repeatedly move back and forth in the missed areas. Summary of the Invention

[0003] To address the above technical deficiencies, the present invention discloses a map exploration method for robots exploring unknown areas based on an improved RRT algorithm. The target points in the RRT exploration method are constructed using laser data, allowing the robot to quickly update the map and avoid the situations where the original RRT exploration method is insensitive to environmental changes and randomness, resulting in missed areas or backfilling areas. The specific technical solution is as follows:

[0004] A RRT exploration method integrating laser data comprises the following steps: S1: creating a target point in advance in a global map constructed by a robot by an algorithm supporting random path extension; S2: enabling the robot to expand its search for associated target points from the current target point according to the positional characteristics of the target point, so as to construct an optimized quadtree in the global map; S3: based on the distance information and reachability of adjacent nodes of the optimized quadtree, the end condition of subtree access of the optimized quadtree and the access repeatability of nodes of the optimized quadtree, accessing all node positions in the optimized quadtree in descending order from the current target point, so as to plan a path for the robot to traverse the working area; and further comprising: in step S1, when the robot creates the target point in advance in the global map constructed by the robot by an algorithm supporting random path extension, laser data is used to create the target point. Compared with the existing technology, the method of the present application adds a laser module to the RRT exploration to obtain laser data, and constructs target points based on the laser data. The map is updated faster, avoiding the omission of areas or backfilling of areas caused by the original RRT exploration method's insensitivity to environmental changes and randomness, and the amount of calculation is smaller than that required to traverse a raster map.

[0005] Furthermore, the robot uses laser data to create a target point, including the following steps: S11: The robot uses a laser module to acquire laser data of the surrounding environment and generates corresponding point cloud data in a global map based on the laser data; S12: The robot obtains the distance between two adjacent point cloud data and determines the target point based on the relationship between the distance between the two adjacent point cloud data and the set distance. The distance between the two point cloud data is used to determine whether there is a passable passage between the two point cloud data and set the target point, preventing the robot from missing part of the cleaning area.

[0006] Furthermore, in step S11, the robot acquires 360-degree laser data from its surroundings and generates 360 point cloud data on the global map. The robot only needs to acquire 360 ​​laser data, which reduces the computational effort.

[0007] Furthermore, in step S12, if the distance between two adjacent point cloud data is greater than or equal to the set distance, the midpoint between the two adjacent point cloud data is set as the target point. The midpoint between the two point cloud data is set as the target point, which facilitates the robot to explore the area on both sides of the target point.

[0008] Furthermore, when the robot sets the midpoint between two adjacent point clouds as the target point, it determines whether there is any collision information between the two adjacent point clouds. If there is a collision information between the two adjacent point clouds, the target point is filtered out. This collision information is used to eliminate the impact of low obstacles on the robot's detection.

[0009] Furthermore, the set distance is N times the body radius of the robot; wherein N is a natural number greater than or equal to 3.

[0010] A chip has a built-in control program, which is configured to execute the above-mentioned RRT exploration method for fusing laser data.

[0011] A robot equipped with a main control chip includes a control module, a laser boundary detection module, a global boundary detection module, a filtering module, and a collision sensor. The control module includes the aforementioned chip. The laser boundary detection module is used to acquire laser data of the robot's surrounding environment. The global boundary detection module is used to detect environmental data to construct target points on a global map. The filtering module is used to filter target points. The collision sensor is used to obtain collision information. The robot can obtain environmental data from multiple sensors to construct target points, with high accuracy.

[0012] Furthermore, the laser boundary detection module includes a laser radar that acquires 360-degree laser data of the surrounding environment every 200ms. The laser radar updates the laser data every 200ms, which can avoid the problem caused by slow grid map updates.

[0013] Furthermore, the robot also includes a local boundary detection module, which is used to detect environmental data to construct target points on the global map. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] Figure 1 A schematic diagram of a target point inferred by a robot path planning algorithm for randomly expanding path nodes (the robot path planning algorithm includes but is not limited to a rapidly expanding random tree (RRT) algorithm, a hybrid algorithm of a rapidly expanding random tree (RRT) algorithm and other traditional path planning algorithms).

[0015] Figure 2 This is a schematic diagram of searching for other target points (child nodes) in the four quadrants of a target point (root node 1) closest to the robot according to an 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 tree node distribution structure, wherein these target points all belong to Figure 1 The calculated target point.

[0016] Figure 3 is Figure 2 Schematic diagram of continuing to search for new child nodes in the four quadrants of the child node 2 closest to the root node 1, so that the child node 2 and the child nodes 4 and 6 covered by the search meet the node distribution structure of a new tree, where this new tree is Figure 2 A subtree of the tree, these target points all belong to Figure 1 The calculated target point.

[0017] Figure 4 is Figure 2 and Figure 3 Search from top to bottom based on Figure 1 The schematic diagram of all target points is calculated until the last searched target point is used as the root and no child nodes can be generated, so as to form a complete node distribution structure of the optimized quadtree in the map space.

[0018] Figure 5 is Figure 4 A schematic diagram of planning the search directions between different target points and the access order of all target points based on the above, wherein the reference numerals starting with P represent the access order of the corresponding target points, and the larger the number after P, the later the access order of the corresponding target points.

[0019] Figure 6 This is a diagram of a robot exploration structure disclosed in one embodiment of the present invention.

[0020] Figure 7 yes Figure 6 Point cloud data diagram. DETAILED DESCRIPTION

[0021] The following is a further description of the specific embodiments of the present invention with reference to the accompanying drawings. It should be noted that the following detailed description is illustrative and is intended to further illustrate the present application. Unless otherwise specified, all technical and scientific terms used herein have the same meanings as commonly understood by those of ordinary skill in the art to which this application belongs.

[0022] It's important to note that when using a search algorithm to solve a problem, a data structure representing state characteristics and the relationships between different states must be constructed. This data structure is called a node. Different problems require different data structures. Starting from a node, one or more new nodes can be generated based on the conditions of the search problem. This process is often called expansion. The relationships between nodes can generally be represented as a tree (with a certain skeleton node). The search process of a search algorithm is essentially the process of constructing a solution tree based on the initial conditions and expansion rules, and then finding the node that corresponds to the target state.

[0023] The embodiments of the present invention improve upon the traditional quadtree construction and indexing methods and apply them to global map path planning, providing a path planning method and chip based on global map exploration. These methods can be used to optimize navigation paths in uncovered areas and cleaning paths in areas not cleaned by a robot vacuum. This solves the problem of redundant, repeated paths when traditional data structures involve randomly expanding path nodes, thereby improving the robot's operating efficiency. A RRT exploration method that integrates laser data includes:

[0024] Step 1: Create target points in the global map constructed by the robot in advance using an algorithm that supports random path expansion to cover the robot's working area corresponding to the global map, and then proceed to step 2. It should be noted that when the robot moves on the ground of an unknown room environment to complete related navigation tasks, it must first search for suitable target points in this unknown room environment before moving, so as to perform planned cleaning and planned navigation along the planned path. The target points involved are pre-created in the global map area by calling the relevant path planning algorithm. Then, this embodiment uses the top view of the indoor environment as an example to illustrate. Figure 1 The indoor environment is divided into multiple rooms by walls, and there are obstacles such as furniture and appliances on the ground. For the sake of distinction, obstacles such as furniture and appliances are represented by closed boxes, and the room area is represented as the area where the robot is blocked by obstacles in three of the four directions, which can be defined as Figure 1 The indoor environment shown is an area with a large degree of enclosure, wherein the robot of this embodiment is represented as Figures 1 to 5 The circle without a mark in the upper left corner is easy to understand. Objects such as walls, furniture and appliances that can block the movement of the cleaning robot can be regarded as obstacles. In most embodiments, the width of the passage where the door of the room is opened and the width of the passage formed by the restrictions between different furniture components can be defined as small and complex areas covered. At this time, the robot will inevitably get stuck and collide frequently when passing through these passage areas. In the prior art, those skilled in the art call on the robot path planning algorithm for randomly expanding path nodes to infer the target points suitable for these complex areas to solve the robot path planning problem. Among them, these robot path planning algorithms include but are not limited to the Rapidly-Exploring Random Tree (RRT) algorithm, the Rapidly-Exploring Random Tree (RRT) algorithm and other traditional path planning algorithms. The characteristic of this method is that it can quickly and efficiently search the two-dimensional space, and through random sampling points in the state space, direct the search to the unknown area, so as to find a planned path from the starting point to the target point, where the created target points are represented by numbers in sequence. Figure 1 The target points 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 are already distributed in Figure 1 It is suitable for solving path planning of multi-degree-of-freedom robots in complex and dynamic environments. However, since the RRT algorithm expands the target points in random directions during the path planning from the initial point to the target point, target point redundancy will occur, resulting in a large number of repeated paths in the map, consuming memory space. The robot has a high runtime overhead when navigating along the planned redundant paths, resulting in reduced work efficiency.

[0025] When constructing the target point, the robot creates the target point in the global map constructed by the robot in advance through an algorithm that supports random path expansion, including using laser data to create the target point. When the existing robot uses the RRT algorithm for exploration, the robot explores the closed room for a while and then opens the door. Due to the use of Bayesian filtering, the update of the grid map is not instantaneous. It may take several seconds to tens of seconds to reflect the state of the door opening in the grid map. Before this, the position of the door on the grid map has always been an obstacle state. Using this raster map, the boundary between the known area and the unknown area will not be searched at the door, which will cause the area behind the door to be missed. Figure 6As shown in the figure, if the robot enters through the doorway in the lower left corner, the doorway leading to the right corridor in the upper right corner may not be detected due to the randomness of the RRT, resulting in the corridor area behind the door being missed. If this missed area is not subsequently searched by the robot, the robot will not clean it. If the missed area is found in a subsequent search, the robot will need to repeat the cleaning process. The robot uses a laser module to acquire laser data of the surrounding environment and generates corresponding point cloud data in the global map based on this laser data. The robot obtains the distance between two adjacent point cloud data points and determines the target point based on the relationship between the distance between the two adjacent point cloud data points and the set distance. If the distance between two adjacent point cloud data points is greater than or equal to the set distance, the midpoint between the two adjacent point cloud data points is set as the target point. The midpoint of the line connecting the two point cloud data points is set as the target point, or the midpoint coordinate of the two point cloud coordinates, allowing the robot to explore the area on both sides of the target point. When the robot sets the midpoint between two adjacent point cloud data as the target point, it will determine whether there is collision information between the two adjacent point cloud data. If there is collision information between the two adjacent point cloud data, the target point will be cancelled. The impact of low obstacles on the robot's detection is eliminated through collision information. The set distance is N times the robot's body radius; where N is a natural number greater than or equal to 3. Figure 7 As shown in the figure, the robot acquires 360-degree laser data from its surroundings and generates 360 point cloud data on a global map. The robot only needs to acquire 360 ​​laser data points, which reduces the computational complexity. The robot then calculates the distance between two connected point cloud data points. If the distance d is greater than three times the body radius, then the distance d is the boundary between the known area and the unknown area. The robot then determines whether there is any collision information near this boundary. The collision information is the map grid point marked as an obstacle. If there is collision information, the boundary is filtered out; otherwise, the midpoint of the boundary is used as the target point. The target point does not necessarily have to be the midpoint of the boundary; a point can be randomly selected near the boundary, as long as the robot can use this point to explore the unknown area.

[0026] Step 2: Based on the positional characteristics of the target points pre-created in the global map, control the robot to expand from the current target point to search for related target points within the four currently divided quadrants, construct an optimized quadtree within the global map, and filter out the target points required for the robot to traverse the working area, and then proceed to Step 3. The nodes of the optimized quadtree all belong to the pre-created target points; the four currently divided quadrants are the four quadrants of the robot coordinate system with the currently selected target point as the origin, so as to meet the quadtree construction rule of expanding four child nodes from a single node. In step 2, the position feature of the target point includes the relative position relationship between the target point currently navigated to by the robot and other target points that can be searched at the target point within the detectable distance of the robot's sensor, which can be a distance relationship or connectivity. Then, based on the set distance relationship and connectivity between the target points, the robot specifically calls a quadtree construction method to expand the search from the current target point to the associated target points in the four quadrants currently divided and records them. Then, the robot navigates to the target points among these associated target points that meet the set distance relationship and connectivity between the target points, and continues to call a quadtree construction method to expand the search to the associated target points in the four quadrants currently divided and records them. In the repeated cycle of the expanded search, the aforementioned recorded target points are constructed into an optimized quadtree in the global map, and the global map is updated. The aforementioned recorded target points form nodes of a skeleton tree similar to a quadtree, and at least from the node position information corresponding to the associated target point, the position information of the parent node or child node of the node, and the number of child nodes of the node, they constitute nodes of a skeleton tree similar to a quadtree. It should be noted that the optimized quadtree is at most a quadtree in terms of the number of child nodes, and includes but is not limited to a binary tree and a ternary tree.

[0027] Step 3: Based on the distance information and reachability of adjacent nodes in the optimized quadtree, the conditions for terminating subtree accesses in the optimized quadtree, and the repeatability of node accesses in the optimized quadtree, all node positions in the optimized quadtree are accessed sequentially from the current target point downward, and these node positions are connected according to the corresponding access order to plan a path for the robot to traverse the work area in the optimized quadtree. Step 3 is based on the associated target points recorded during the robot navigation search in step 2. By following preset access rules, the associated target points searched in step 2 are sequentially accessed, starting from the robot's initial position, and connected according to the corresponding access order to determine a path for the robot to traverse the work area. The access order is subsequently recorded as a number to become the robot's navigation order. The node connection method is not limited to straight line connection, connection around obstacle edges, and connection along room boundaries. Taking into account the conditions for terminating subtree visits within the optimized quadtree, the repetitive nature of node access within the optimized quadtree, and the distance information and reachability of adjacent nodes within the optimized quadtree (between parent and child nodes), the robot generates fewer repeated paths as it traverses these nodes in a predetermined order, at least reducing the number of redundant repeated paths. This reduces the number of paths that require repeated traversal to trace back to nodes that have not been fully visited (the associated child nodes have not yet been fully visited). It should be noted that the robot does not move while visiting nodes.

[0028] In the aforementioned steps, the robot searches and selects target points in the four quadrants based on the quadtree construction method, and then, based on the constructed quadtree skeleton (optimized quadtree), uses the depth-first principle, the node repeated visit principle, and the nearest distance principle to visit the nodes distributed in the global map space to determine the path for the robot to traverse the working area, thereby reducing redundant repeated paths and retaining the necessary repeated paths planned by the access nodes, which can make the robot more efficient and faster when exploring unknown areas. Compared with existing technologies, the method of the present application adds a laser module to the existing RRT exploration to obtain laser data, and constructs target points based on the laser data. The map is updated faster, avoiding the omission of areas or backfilling of areas caused by the original RRT exploration method's insensitivity to environmental changes and randomness, and the amount of calculation required to traverse a raster map is smaller.

[0029] As an embodiment, in step 2, the method of controlling the robot to expand the search from the current target point to the associated target points within the four currently divided quadrants based on the positional features of the target points pre-created in the global map, and constructing an optimized quadtree within the global map to screen the target points required for the robot to traverse the path of the working area specifically includes:

[0030] In step S21, due to sensor distance limitations, the nearest detectable target point to the robot's initial position is determined as the root node of the optimized quadtree. The root node is also a parent node of the optimized quadtree, but it is also the only root node of the optimized quadtree to prevent the constructed optimized quadtree from forming a loop. The process then proceeds to step S22. After discovering the root node in step S21, the robot moves from its initial position to the nearest detectable target point, so that the sensor discovers the root node's child node, i.e., the aforementioned associated target point, on the optimized quadtree.

[0031] Step S22: Whenever the current target point searched by the robot is configured as a parent node, the search is expanded to at most one child node in each of the four quadrants divided under the parent node, so that the child node expanded and searched in the corresponding quadrant is the new target point closest to the parent node and can be reached, and the child nodes expanded and searched in each quadrant are filtered out and recorded from the global map, but do not include the target points that have been expanded and searched, and then enter step S23.

[0032] like Figure 2 As shown, the robot first finds target point 1. At this time, due to the sensor distance limitation, only target point 1 is found. Therefore, when executing step S21, target point 1 is determined as the root node. Then, the robot can reach node 1 through navigation. After reaching node 1, the detection range of the robot's sensor will cover target points 2, 3, 4, and 5; target points 2 and 4 are both distributed in the fourth quadrant area of ​​the robot's plane coordinate system with node 1 as the origin ( Figure 2 ), where in the tree data structure, when a child node needs to be expanded, node 1 is configured as the parent node. Since the distance between target point 2 and node 1 is less than the distance between target point 4 and node 1, and target point 2 and node 1 are reachable, target point 2 is used as the child node searched for in step S22 in the fourth quadrant, and child node 2 is selected and recorded from the global map; target point 5 is distributed in the first quadrant of the robot plane coordinate system with node 1 as the origin ( Figure 2 The upper right area divided by the coordinate system of the sensor is within the detectable range of the sensor. Figure 2 The room area corresponding to the first quadrant area in the upper right corner of the coordinate system has only the pre-created target point 5, which is reachable (there is no obstacle on the line between node 1 and target point 5). Therefore, target point 5 is used as the child node searched in the first quadrant area in step S22, and the child node 5 is filtered and recorded from the global map; target point 3 is distributed in the third quadrant area of ​​the robot plane coordinate system with node 1 as the origin ( Figure 2The lower left area is divided by the coordinate system of the sensor, and within the detectable range of the sensor, Figure 2 The room area corresponding to the third quadrant area in the lower left corner of the coordinate system has only the pre-created target point 3, which is reachable (there is no obstacle on the line between node 1 and target point 3). Therefore, target point 3 is used as the child node searched in the third quadrant area in step S22, and child node 3 is filtered and recorded from the global map. In the second quadrant area of ​​the robot plane coordinate system with node 1 as the origin ( Figure 2 There is no pre-created target point in the sensor's detectable range, so step S22 does not expand the searched child nodes in the second quadrant area, nor does it contribute child nodes to the quadtree to be constructed. It should be noted that if child nodes 2, 3, and 5 are added to the quadtree in sequence, as shown in Figure 2 As shown in the figure, the parent node 1 and its child nodes 2, 3, and 5 belong to an optimized quadtree, not a traditional quadtree. When the robot moves from the initial position to node 1, the child nodes 2, 3, and 5 belong to the subtree nodes at the same depth level and are all target points that have not been traversed.

[0033] Step S23: Select a child node closest to the parent node in step S22 from the child nodes expanded and searched in the four quadrants divided by the parent node in step S22, and add this newly selected child node to the optimized quadtree, then control the robot to move to this newly selected child node, and then enter step S24. Figure 3 As shown in the figure, among the coordinate positions corresponding to child nodes 2, 3, and 5 belonging to the same depth level, the distance between child node 2 and parent node 1 is the shortest, and there is no obstacle on the line connecting the two nodes. In this case, child node 2 is added to the optimized quadtree first to participate in the construction of the optimized quadtree, and then the robot is controlled to move to child node 2.

[0034] Step S24, determine whether the newly selected child node is a leaf node, if yes, proceed to step S26, otherwise proceed to step S25. The leaf node is a terminal node of a data structure tree that cannot further expand child nodes, including but not limited to nodes of a quadtree; in this embodiment, Figure 2 Child node 2 in is not the leaf node.

[0035] Step S25, configure the most recently selected child node as the next parent node, then enter step S22, divide the robot plane coordinate system with node 2 as the origin into four quadrant areas, and in each quadrant area, at most expand the searched child node to be a new target point that is closest to the parent node and can be reached, and then preferentially filter and record these new target points from the global map, where the new target points include the target points that were not filtered and added to the construction of the optimized quadtree during the last execution of step S22. When entering step 23 again, in step 23, select a child node closest to the current parent node from the child nodes expanded and searched in the four quadrant areas divided by step S22, and control the robot to move to this most recently selected child node, and at the same time add this most recently selected child node to the construction of the optimized quadtree. It should be noted that the parent node at the origin of the robot coordinate system and its child nodes expanded and searched in the four quadrant areas are in an adjacent positional relationship.

[0036] Step S26: Control the robot to search the tree data structure starting from the leaf node described in step S24 in the reverse direction of the most recently expanded search order of the child nodes, and then proceed to step S27. The reverse direction of the most recently expanded search order includes, in the optimized quadtree, the direction of traversal upwards relative to the leaf node and the reverse direction of traversal downwards from the root. The direction of traversal upwards relative to the leaf node can be the direction of traversal from the child node to its adjacent parent node. Execution of step S26 improves the coverage of the search area and also has the characteristics of low algorithm complexity and short runtime.

[0037] Preferably, the coordinate position corresponding to the leaf node is surrounded by obstacles, making it impossible to further expand into a child node.

[0038] Step S27, determine whether the parent node of the child node that has not been fully added to the optimized quadtree is searched in the reverse direction (equivalent to the parent node of the leaf node that has not been fully expanded and searched). If so, go to step S28, otherwise all the nodes of the subtrees on the same skeleton tree have been expanded and searched out, and finally the robot searches back to the position of the root node 1, and at the same time determines that the coordinate position of the corresponding record of the root node and the coordinate position of the corresponding record of all the child nodes searched out by the expansion have been constructed into a complete optimized quadtree. At this time, all the target points required for the robot to traverse the path of the working area have been screened out.

[0039] Step S28: Among the child nodes that were previously expanded and searched in step S22 along the parent node searched in the reverse direction of step S27, first select the first child node that has not been configured as a parent node in step S25, and then continue to select the second child node that is closest to and reachable from the parent node searched in the reverse direction of step S27 from these selected first child nodes, and add the second child node to the optimized quadtree, then control the robot to move to the second child node, and then return to step S24 to continue to determine whether the second child node is a leaf node, so as to decide whether to stop the step of cyclically expanding the search for child nodes.

[0040] Compared with the existing technology, the above steps improve the existing quadtree construction method by imposing a spatial distance limit on adjacent parent nodes and child nodes. The robot is controlled to select at most one child node in the four quadrants of the spatial area divided under the current node according to the extended search order. The search is then cyclically extended in the target points pre-created in the global map. The optimized quadtree is constructed with the last searched leaf node and its inherited parent node. This avoids the time overhead of irrelevant idle areas participating in the calculation, which helps to avoid repeated paths generated during subsequent access to this node skeleton tree. The efficiency of exploring parent and child nodes is improved.

[0041] As an embodiment, the robot executes the process of constructing the optimized quadtree according to the above steps, such as Figure 3 As shown, the robot is controlled to move from node 1 to the location of node 2, and then node 2 is configured as the new parent node to execute step S22. After the robot reaches node 2, the detection range of the robot's sensor will cover target points 4 and 6; target point 4 is distributed in the fourth quadrant of the robot's plane coordinate system with node 2 as the origin ( Figure 3 In the lower right area divided by the coordinate system of the tree, in the tree data structure, when the child node needs to be expanded, node 2 is configured as the parent node. Within the sensor's detectable range, Figure 3 The room area corresponding to the fourth quadrant area in the lower right corner of the coordinate system only has the pre-created target point 4, which is reachable (there is no obstacle on the line between node 2 and target point 4), and node 4 is in the room area blocked by walls in three directions (can be scanned and detected by the sensor), so target point 4 is used as the child node expanded and searched in the fourth quadrant area in step S22.

[0042] Target point 6 is distributed in the first quadrant of the robot plane coordinate system with node 2 as the origin ( Figure 3 The upper right area divided by the coordinate system of the sensor is within the detectable range of the sensor. Figure 3The corridor area corresponding to the first quadrant in the upper right corner of the coordinate system has a pre-created target point 6, which is reachable (there is no obstacle on the line between node 2 and target point 6); at the same time, within the sensor's detectable range, the room area in the same quadrant ( Figure 3 The robot searches for child node 5 in the upper left area divided by the coordinate system of the robot. It should be noted that due to the partition effect of the room wall, during the random expansion process starting from node 1, the algorithm supporting random path expansion only creates one target point 5 in the first quadrant of the robot plane coordinate system with node 1 as the origin. This target point 5 has been recorded as an extended search in the last execution of step S22. Although the distance of target point 5 relative to node 2 is less than the distance of target point 6 relative to node 2, target point 5 cannot be a subtree node of node 2. In summary, target point 6 can only be used as the child node searched for in the first quadrant in step S22, and the extended child node 6 is screened out and recorded from the global map. Among them, child node 6 is in an idle area indoors, with fewer obstacles around it. There are extended target points in multiple directions at the position of child node 6, which cannot be detected by the sensor at node 2.

[0043] Similarly, within the sensor's detectable range, in the third quadrant of the robot's plane coordinate system with node 2 as the origin ( Figure 3 The target point 3 searched in the lower left area of ​​the coordinate system of the sensor has been recorded as an extended search in the last step S22, and the target point 3 has been screened out and recorded, and can no longer be used as a subtree node of node 2; within the detectable range of the sensor, in the second quadrant of the robot plane coordinate system with node 2 as the origin ( Figure 3 The node 1 searched in the upper left area divided by the coordinate system is the previous parent node, which belongs to the parent node of the leaf node that has been expanded and searched, and has been added to the quadtree to be constructed. It can no longer be a subtree node of node 2.

[0044] Combine Figure 4 It can be seen that by executing step S23, the distance between child node 4 and parent node 2 is less than the distance between child node 6 and parent node 2, so child node 4 is added to the optimized quadtree first to participate in the construction of the optimized quadtree, and child node 4 is configured as the next parent node, and then the robot is controlled to move to child node 4; however, node 4 cannot continue to expand and search for child nodes, so it is judged to be a leaf node, and then step S26 is executed, that is, the robot is controlled to move in the opposite direction of the latest expanded search order of node 4, corresponding to Figure 3The upward traversal direction causes the robot to search for a parent node that has not been fully expanded to search for a leaf node. Although node 2 has expanded to search for child node 6, it can still continue to expand and search for a new target point at the position of child node 6 (the sensor can detect it, although it is beyond the detection range, but it just proves that the area it is located in is relatively wide), so it is not a leaf node. Child node 6 is a child node that belongs to parent node 2 and is searched out in step S22. It is also the child node that is closest to parent node 2 and can be reached among the child nodes that are not configured as parent nodes in step S25 (i.e., the child nodes that the robot has not traversed before). Therefore, child node 6 is added to the optimized quadtree, and the selected child node 6 is configured as the next parent node. The robot is then controlled to move from node 4 to child node 6. Then, steps S22 to S24 are repeated to continue to expand the search for the corresponding child nodes, including child nodes 9 and 7 adjacent to parent node 6, which are correspondingly screened out and recorded from the global map, because at most one child node is expanded in the same quadrant to exclude the target point 8 that is farther away within the detection range. Then, target points 8, 10, 11, and 13 are searched out in sequence along an expansion direction. These adjacent target point positions become adjacent parent-child node relationships and are screened out and recorded from the global map, and are added to the optimized quadtree before moving to the corresponding child nodes.Thus, the optimized quadtree is constructed by sequentially adding target point 8, target point 10, target point 11, and target point 13; after the robot moves to target point 13, it is limited by the blocking effect of obstacles in the upper and lower areas of the horizontal axis of the current robot coordinate system. It is judged that target point 13 becomes a leaf node within the detectable range of the sensor, and step S26 is executed to control the robot to move to the original parent node 6 in the opposite direction of the latest extended search order, or it can be regarded as moving to the original parent node 6 in the reverse direction from the root to the bottom, and then the child node 7 belonging to the parent node 6 that is searched out in the extended step S22 (that is, the child node that was not added to the optimized quadtree when the record was previously filtered) is formally added to the optimized quadtree, and then the robot is controlled to move to the child node 7; then the aforementioned steps S22 to S24 are repeated to search for the target point 12 along another extended direction, and add it to the optimized quadtree, and at the same time Filtered out and recorded in the global map, the robot then moves to the target point 12, and also determines that the target point 12 is a leaf node. By executing step S26, the robot is controlled to return to the root node 1 from the target node 12 along the opposite direction of the latest extended search order or along the reverse direction from the root to the bottom, and then it is determined that there is a parent node 1 of a child node that has not been fully added to the optimized quadtree in the pre-created target point. For the parent node 1, there are child nodes 3 and child nodes 5 that have not been fully added to the optimized quadtree. Since the child node 3 is closest to the parent node 1, the child node 3 is added to the optimized quadtree first, and then the robot is controlled to move to the child node 3; then the child node 5 is added to the optimized quadtree, and then the robot is controlled to move to the child node 5; it is determined that the coordinate position of the corresponding record of the root node and the coordinate position of the corresponding record of all the child nodes searched out by the expansion have been constructed into a complete optimized quadtree, such as. Figure 4 As shown in the skeleton tree formed by the connection, the target points required for the robot to traverse the working area are screened out.

[0045] 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 are also nodes of the optimized quadtree.

[0046] Preferably, the four quadrants are each distributed with subtrees divided along four directions from a parent node extending from the origin. These subtrees include, but are not limited to, a northwest quadrant subtree (located in the first quadrant of the robot coordinate system shown in the figure), a northeast quadrant subtree (located in the second quadrant of the robot coordinate system shown in the figure), a southwest quadrant subtree (located in the fourth quadrant of the robot coordinate system shown in the figure), and a southeast quadrant subtree (located in the third quadrant of the robot coordinate system shown in the figure). Because a robot, when placed in an unknown area, may not know which direction to explore first, it likely needs guidance in several directions (east, west, south, and north), much like a human. Therefore, a quadtree is necessary. Furthermore, only these four regions can effectively divide the space and avoid duplicate paths. Therefore, this embodiment utilizes the four quadrants corresponding to the robot coordinate system to divide nodes, improving the efficiency of subtree splitting to generate child nodes and addressing the shortcomings of traditional quadtree object duplication. This improves the robot's intelligence in identifying directions in unknown areas.

[0047] As another embodiment, the method of planning a path for the robot to traverse the work area by accessing all node positions in the optimized quadtree in descending order from a current target point based on distance information and reachability of adjacent nodes of the optimized quadtree, a subtree access termination condition of the optimized quadtree, and access repeatability of nodes of the optimized quadtree, specifically includes:

[0048] Step S31: After constructing the optimized quadtree and screening and recording the associated target points, starting from the initial position of the robot, first access the first parent node 1 of the optimized quadtree. The access order corresponds to the direction indicated by the arrow marked P0, which is recorded as the first traversal planning path direction of the robot in the working area, and then enter step 32; wherein, the first parent node of the optimized quadtree is determined as the root node of the optimized quadtree.

[0049] It should be noted that in Figure 5In the constructed optimized quadtree, the robot's access order is represented by the traversal number added to the corresponding access route each time a node of the optimized quadtree is accessed. The traversal numbers are arranged in ascending order to form a recursive access to the optimized quadtree from the root node downward until the subtree access end condition of the optimized quadtree is met. The reference numerals starting with P represent the access order of the corresponding target points. The larger the number after P, the later the access order of the corresponding target points. In an optimized quadtree or a subtree of an optimized quadtree, two adjacent nodes are a pair of parent nodes and child nodes. This provides the robot with a specific planning path navigation direction, thereby avoiding the robot from repeatedly traversing unnecessary node positions. During the access process, the robot does not move.

[0050] Step S32: Whenever an unvisited parent node is visited, an unvisited child node that is searched out from the four quadrants divided under the currently visited parent node is selected, and the one that is closest to the current parent node and can be reached is selected as the next parent node to be visited, and the next parent node to be visited is visited, and then step S33 is entered.

[0051] like Figure 5 As shown in the figure, the robot configures target point 1 as parent node 1, then visits parent node 1's unvisited child node 2, recording the direction indicated by the arrow marked with P1 as the robot's second traversal planning path direction. Because child node 2 is the closest and most accessible child node to the current parent node relative to child nodes 3 and 5 at the same depth level, target point 2, which is closest and most accessible to the current parent node, is selected as the next parent node to be visited.

[0052] Step S33, determine whether the most recently visited child node is a leaf node, if yes, execute step S34, otherwise execute 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 further expand child nodes, including but not limited to the node of the quadtree; in this embodiment, Figure 5 The child node 2 in is not the leaf node, and then the process returns to step S32.

[0053] Specifically, after the robot visits node 2, since node 2 is configured as a parent node in the subtree of the optimized quadtree, based on the subtree node distribution characteristics of the optimized quadtree constructed above, child node 4 is the closest and reachable child node to the current parent node 2 relative to child node 6, so child node 4 is configured as the next parent node to be visited, and the direction indicated by the arrow marked with P2 is recorded as the third traversal planning path direction of the robot, and child node 6 is not visited at this time. It should be noted that the room area corresponding to the lower right corner of the current parent node 2 only has the pre-created target point 4, which is reachable (there are no obstacles on the line between node 2 and target point 4), and child node 4 is in a room area blocked by walls in three directions. However, node 4 cannot continue to expand and search for child nodes, so it is judged to be a leaf node in step S33, and then step S34 is executed.

[0054] Step S34, starting from the leaf node determined in step S33, search in the reverse direction of the most recent access order to comply with the depth-first access principle, and then execute step S35. Specifically, the reverse direction of the access order is included in the optimized quadtree, relative to the direction of traversing upwards from the leaf node and the reverse direction from the root downwards, so that the robot does not continue to access the target node in a single access direction, and fully utilizes the depth-first search principle to provide a new traversal direction for the robot to traverse the target node, avoiding the robot being trapped in a semi-enclosed area blocked by obstacles in three of the four directions during traversal in a single direction. Preferably, the coordinate position corresponding to the leaf node is surrounded by obstacles, making it impossible to continue to expand out child nodes.

[0055] Step S35: determine whether a parent node whose child nodes have not been fully visited (i.e., adjacent child nodes in the same subtree) is found in the reverse direction. If so, execute step S36. Otherwise, determine that all subtree nodes on the same optimized quadtree have been marked as visited nodes. Finally, the robot visits the position of the root node 1 and marks the last access sequence and its corresponding traversal path, and determines that the subtree access end condition of the optimized quadtree is reached. At the same time, according to the access sequence of steps S32 to S34 ( Figure 5 The initial position and the coordinate positions corresponding to all visited nodes are sequentially connected (in the direction of the arrow and the traversal number marked by P) to plan a path for the robot to traverse the working area in the optimized quadtree, and update the record to the global map.

[0056] It should be noted that the node access repetitiveness of the optimized quadtree is manifested as follows: in the optimized quadtree, when a node and its subnodes have been visited, this node is marked as visited. This leaves the parent node of nodes not marked as visited in two different access scenarios: never visited, and visited but not all of its subnodes have been fully visited. This distinction between visited nodes helps skip repeatedly visited nodes when searching for the next node to visit. This effectively avoids the storage of redundant node coordinate data and improves the utilization of the robot's memory space.

[0057] Step S36: among the child nodes of the parent node searched in the reverse direction in step S34, first select the child nodes that have not been visited, then continue to select the child node that is closest to and reachable from the selected child nodes and configure it as the next parent node to be visited, then visit the next parent node to be visited, and then return to execute step S33 to continue to determine whether the most recently visited child node is a leaf node.

[0058] Compared with the prior art, the above steps integrate the priority selection of nodes that are close and connected into the depth-first principle, configure the node access order of the optimized quadtree, provide direction for the robot's navigation movement in an unknown area, and avoid planning redundant repeated visits by marking the node and its child nodes as visited after they have all been visited. This reduces the redundant repeated paths generated by the robot traversing the nodes of the optimized quadtree in the order under the above access rules, and makes full use of the possible planning of repeated paths (paths connected by nodes that have been visited but not fully visited) in the opposite direction of the latest access order to traverse all nodes of the optimized quadtree. Compared with the traditional quadtree index access algorithm, the planning of repeated paths is reduced.

[0059] Specifically, when it is determined that the currently visited node 4 is the leaf node, step S34 is executed, that is, the robot is controlled to search in the reverse direction of the latest access sequence of node 4, corresponding to searching along the leaf node. Figure 5 The robot searches in the opposite direction of the arrow marked by P2, as indicated by the dotted line with an arrow in the corresponding direction, to find the parent node 2 that has not fully visited all its child nodes. This is also the immediate search in the opposite direction of the arrow marked by P2 to find the closest and only parent node that has not fully visited all its child nodes. Then, the robot selects child node 6, the unvisited child node closest to the parent node and reachable, and configures it as the next parent node to be visited. Node 6 is then directly visited instead of node 4, and the direction indicated by the arrow marked by P3 is recorded as the fourth traversal planning path direction of the robot.

[0060] Then repeat the above steps S32 to S36, and based on the depth-first access principle and the distance-first principle, Figure 5 The traversal order of the marked arrow directions and the access routes marked by them sequentially visits the unvisited child nodes of the optimized quadtree, including the child node 9 adjacent to the parent node 6, and records the arrow direction indicated by the P4 mark as the fifth traversal planning path direction of the robot; the child node 8 adjacent to the parent node 9, and records the arrow direction indicated by the P5 mark as the sixth traversal planning path direction of the robot; the child node 10 adjacent to the parent node 8, and records the arrow direction indicated by the P6 mark as the seventh traversal planning path direction of the robot; the child node 11 adjacent to the parent node 10, and records the arrow direction indicated by the P7 mark as the eighth traversal planning path direction of the robot; the child node 13 adjacent to the parent node 11, and records the arrow direction indicated by the P8 mark as the ninth traversal planning path direction of the robot.

[0061] When it is determined that the currently visited child node 13 becomes a leaf node, step S34 is executed to search in the reverse direction of the latest access sequence of node 13, corresponding to searching in the reverse direction of the latest access sequence of node 13. Figure 5 The robot searches in the opposite direction of the arrow marked by P8. It may first search for parent node 11, which has already fully visited all its child nodes. Then it continues to traverse upwards and searches for parent nodes 10, 8, 9, and finally parent node 6. Only then can it find parent node 6, which has not yet fully visited all its child nodes. Note that in this process, parent nodes 10, 8, 9, and 6 are not visited. Instead, a dotted line with an arrow is drawn from child node 13 to parent node 6 to indicate that the visited parent nodes 10, 8, 9, and 6 are skipped. Parent nodes 10, 8, 9, and child node 13 are all marked as visited nodes. The robot is then controlled to directly visit child node 7 from child node 13, and the direction indicated by the arrow marked by P9 is recorded as the direction of the robot's tenth traversal planning path; this is because child node 7 is the child node of parent node 6 that has not been visited and is closest to parent node 6.

[0062] Then repeat the above steps S32 to S36, and based on the depth-first access principle and the distance-first principle, Figure 5The traversal order of the marked arrow direction and the marked access route is used to visit the unvisited child nodes of the optimized quadtree in turn, including the child node 12 adjacent to the parent node 7, and the direction indicated by the arrow marked by P10 is recorded as the eleventh traversal planning path direction of the robot; the robot visits the target point 12 and also determines that the target point 12 is a leaf node. By executing step S34, the search is performed in the reverse direction of the latest access order of the node 12, corresponding to the search along the Figure 5 The reverse search direction of the arrow marked by P10 may initially search for the parent node 7 that has been fully visited to all its child nodes. Then, the parent node 6, parent node 2, and parent node 1 are searched in the reverse direction from the root downward or upward traversal to search for the parent node 1 that has not been fully visited to all its child nodes. Then, the child node 3 that has not been visited and is closest to the parent node 1 is selected as the next parent node to be visited. The child node 12 then directly visits the child node 3, and the direction indicated by the arrow marked by P11 is recorded as the twelfth traversal planning path direction of the robot. Then, if it is determined that the child node 3 is a leaf node, the search is performed in the reverse direction of the latest access sequence by executing step S34, corresponding to searching along Figure 5 The robot searches for a parent node 1 that has not been fully visited to all its child nodes in the opposite direction of the arrow marked by P11. Then, the child node 5 that has not been visited and is closest to the parent node 1 is selected as the next parent node to be visited. The child node 5 is directly visited instead of the child node 3, and the direction indicated by the arrow marked by P12 is recorded as the thirteenth traversal planning path direction of the robot. Then, it is determined that the child node 5 is also a leaf node. Then, the robot searches for the child node 1 in the opposite direction of the most recently visited order by executing step S34, which corresponds to the search along the Figure 5 If the robot searches in the opposite direction of the arrow marked by P12 or in the reverse direction from the root downwards, but no parent node that has not been fully visited to all its child nodes is found, the node access step of the robot ends. Then, if it is determined that there is no parent node that has not been fully expanded and searched to find the leaf node in the pre-created target point, it is determined that the subtree access end condition of the optimized quadtree is met, and then the access sequence of steps S32 to S34 is followed ( Figure 5 The coordinate positions corresponding to the initial position and all visited nodes (marked as visited nodes) are connected in sequence in the optimized quadtree to plan a path for the robot to traverse the working area, and the path is updated and recorded in the global map. In summary, the specific path planning is: 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, where the route between adjacent target points does not pass through obstacles, and Figure 5The paths planned between the target points connected by the dotted lines shown in the figure will be repeated. Compared with traditional path planning algorithms, this is a necessary repeated path. This improvement can reduce repeated paths.

[0063] 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 are also nodes of the optimized quadtree.

[0064] In the aforementioned embodiment, the term "reachable" means that there are no obstacles covering the line between the two nodes. This improves the speed at which the robot searches for and traverses the target node.

[0065] A chip has a built-in control program, which is configured to execute the above-mentioned RRT exploration method for fusing laser data.

[0066] A robot equipped with a main control chip includes a control module, a laser boundary detection module, a global boundary detection module, a filtering module, and a collision sensor. The control module includes the aforementioned chip. The laser boundary detection module is used to acquire laser data of the robot's surrounding environment. The global boundary detection module is used to detect environmental data and construct target points on a global map. The filtering module is used to filter target points. The collision sensor is used to acquire collision information. The robot can acquire environmental data using multiple sensors to construct target points, achieving high accuracy. The laser boundary detection module includes a laser radar, which acquires 360-degree laser data of the surrounding environment every 200 milliseconds. The laser radar updates the laser data every 200 milliseconds, avoiding issues caused by slow grid map updates. The robot also includes a local boundary detection module, which detects environmental data and constructs target points on a global map. The global and local boundary detection modules are commonly used detection sensor modules or computing modules for robots to implement the RRT exploration method. The robot only needs to be equipped with the global boundary detection module and the laser radar. The filtering module is essentially a storage medium, which can be, but is not limited to, a read-only memory (ROM), a random access memory (RAM), or any other storage medium capable of storing program code. The expression cache units, parsing units, distribution units, and access control units in the control module, as well as the calculation units in the calculation module, can be, but are not limited to, digital circuit modules compiled by a designer using the hardware description language Verilog HDL, or digital circuit modules drawn or compiled by a designer using software with circuit drawing or compilation capabilities. Furthermore, the functional units in various embodiments of the present invention can be integrated into a single processing module, each unit can exist physically separately, or two or more units can be integrated into a single module.

[0067] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention in any other manner. Any person skilled in the art may utilize the above-disclosed technical content to modify or modify the present invention into equivalent embodiments. However, any simple modifications, equivalent variations, and modifications to the above embodiments that do not depart from the technical content of the present invention and are based on the technical essence of the present invention remain within the scope of protection of the present invention.

Claims

1. A RRT exploration method for integrating laser data, the method comprising the following steps: S1: Create the target point in the global map constructed by the robot in advance through an algorithm that supports random path expansion; S2: Based on the location characteristics of the target point, the robot expands the search for related target points from the current target point to construct an optimized quadtree in the global map; S3: Based on the distance information and reachability of adjacent nodes of the optimized quadtree, the subtree access termination condition of the optimized quadtree, and the access repeatability of the nodes of the optimized quadtree, all node positions in the optimized quadtree are visited in descending order from the current target point to plan a path for the robot to traverse the working area; The method is characterized in that: in step S1, when the robot creates a target point in the global map constructed by the robot in advance by using an algorithm that supports random path expansion, the target point is created by using laser data; The robot uses laser data to create a target point, including the following steps: S11: The robot obtains laser data of the surrounding environment through the laser module and generates corresponding point cloud data in the global map based on the laser data; S12: The robot obtains the distance between two adjacent point cloud data and determines the target point according to the relationship between the distance between the two adjacent point cloud data and the set distance; In step S11, the robot obtains 360-degree laser data from the surrounding environment and generates 360 point cloud data on the global map.

2. The RRT exploration method for fusion laser data according to claim 1, characterized in that: In step S12 , if the distance between two adjacent point cloud data is greater than or equal to a set distance, the midpoint between the two adjacent point cloud data is set as a target point.

3. The RRT exploration method for fusion laser data according to claim 2, characterized in that: When the robot sets the midpoint between two adjacent point cloud data as the target point, it will determine whether there is collision information between the two adjacent point cloud data. If there is collision information between the two adjacent point cloud data, the target point will be filtered out.

4. The RRT exploration method for fusion laser data according to claim 1 or 2, characterized in that: The set distance is N times the body radius of the robot; Where N is a natural number greater than or equal to 3.

5. A chip with a built-in control program, characterized in that: The program is configured to execute the RRT exploration method for fusing laser data according to any one of claims 1 to 4.

6. A robot equipped with a main control chip, characterized in that: The robot includes a control module, a laser boundary detection module, a global boundary detection module, a filtering module and a collision sensor. The control module includes the chip described in claim 5. The laser boundary detection module is used to obtain laser data of the robot's surrounding environment. The global boundary detection module is used to detect environmental data to construct target points on a global map. The filtering module is used to filter target points. The collision sensor is used to obtain collision information.

7. The robot according to claim 6, characterized in that The laser boundary detection module includes a laser radar, which acquires 360-degree laser data of the surrounding environment every 200 ms.

8. The robot according to claim 6, characterized in that The robot further includes a local boundary detection module, which is used to detect environmental data to construct a target point on the global map.

Citation Information

Patent Citations

  • Rescue robot for estimating three-dimensional pose by adopting IMU data fusion

    CN111982114A

  • Map construction method and device, storage medium and computer equipment

    CN112000754A