A boundary and layer-based autonomous exploration method and device

By employing a boundary-based and hierarchical autonomous exploration approach, and utilizing dynamic sliding windows and the RRT sampling algorithm to optimize path planning, the problem of excessive computational load of the RRT algorithm in robot autonomous exploration is solved, achieving more efficient exploration and path planning.

CN120370928BActive Publication Date: 2026-05-08CHONGQING JIAOTONG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHONGQING JIAOTONG UNIV
Filing Date
2025-04-02
Publication Date
2026-05-08

AI Technical Summary

Technical Problem

Existing RRT algorithms generate a large number of random trees during robot autonomous exploration, which increases the computational load and affects exploration efficiency.

Method used

A boundary-based and hierarchical autonomous exploration method is adopted. Through dynamic sliding window and RRT sampling algorithm, target boundary points are selected, path planning is optimized, the number of sampling points is reduced, and guidance is improved.

Benefits of technology

It improves the efficiency of robot autonomous exploration, reduces computational load, decreases the rate of repeated exploration, and enhances the efficiency of path planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120370928B_ABST
    Figure CN120370928B_ABST
Patent Text Reader

Abstract

The application discloses a kind of autonomous exploration method and device based on boundary and stratification, it is related to the field of robot autonomous exploration, this method includes in current two-dimensional grid map, according to the current position of robot setting a dynamic sliding window, it can be according to the uncertainty of environment, the distribution of obstacle and the motion speed of robot adaptive control the size of sliding window.In addition, the application selects a local target boundary point from the dynamic sliding window or selects a global target boundary point from each undetected global boundary point as a guide point, so that the RRT sampling algorithm plans a feasible path in the specified direction, improving the efficiency of autonomous exploration.In addition, the application selects the target boundary point from the local boundary point or from the global boundary point, stratifies the boundary point, reduces the number of sampling points to be evaluated, and improves the efficiency of autonomous exploration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of autonomous robot exploration, and in particular to an autonomous exploration method and apparatus based on boundaries and hierarchies. Background Technology

[0002] The field of autonomous robot exploration is developing rapidly, with researchers studying autonomous exploration robots from various aspects. Among these studies, autonomous exploration strategies are the most widely researched, with a series of exploration strategies based on the RRT algorithm playing a crucial role. The RRT algorithm is currently widely used in various intelligent robots, primarily for local path planning during autonomous movement. This involves quickly generating a large number of random trees from the current position and selecting one path to the target location. However, in practical applications, the large number of random trees generated by the RRT algorithm increases the robot's computational load, requiring significant time for data calculation and thus impacting its exploration efficiency. Summary of the Invention

[0003] The purpose of this application is to provide a boundary- and layer-based autonomous exploration method and apparatus, which can improve the efficiency of robot autonomous exploration.

[0004] To achieve the above objectives, this application provides the following solution:

[0005] Firstly, this application provides a boundary- and hierarchical autonomous exploration method, including:

[0006] Acquire environmental information detected by the robot's detection components and the robot's current position;

[0007] A two-dimensional grid map of the current detection area is constructed based on the current environmental information, and the state of each grid cell in the two-dimensional grid map is determined; the state of the grid cell includes unknown areas, obstacle areas, and free-roaming areas;

[0008] In the current two-dimensional grid map, a dynamic sliding window is set according to the robot's current position; the size of the dynamic sliding window is determined based on the uncertainty of the environment, the distribution of obstacles, and the robot's movement speed.

[0009] When a new boundary point is generated within the current dynamic sliding window, the target boundary point is determined among all the boundary points within the current dynamic sliding window. Non-target boundary points are designated as global boundary points, and all previously detected global boundary points are deleted. A boundary point refers to a grid cell corresponding to a free-roaming area that intersects with an unknown area. A previously detected global boundary point refers to a global boundary point where all grid cells within a preset range are free-roaming areas.

[0010] Using the target boundary point as the guide point, the RRT sampling algorithm is used to determine the feasible path from the robot's current position to the target boundary point. Based on the feasible path, the robot is controlled to move to the target boundary point, and the process returns to the step "Obtain environmental information detected by the robot's detection component and the robot's current position".

[0011] When no new boundary points are generated within the current dynamic sliding window, select the target global boundary point from all currently undetected global boundary points, use the target global boundary point as the target boundary point, and return to the step "Use the target boundary point as the guide point, use the RRT sampling algorithm to determine the feasible path from the robot's current position to the target boundary point, and control the robot to move to the target boundary point according to the feasible path".

[0012] In a second aspect, this application provides a computer device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the above-described boundary-based and hierarchical autonomous exploration method.

[0013] Thirdly, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the above-described boundary-based and hierarchical autonomous exploration method.

[0014] Fourthly, this application provides a computer program product, including a computer program that, when executed by a processor, implements the above-described boundary-based and hierarchical autonomous exploration method.

[0015] According to the specific embodiments provided in this application, the following technical effects are disclosed:

[0016] This application provides a boundary-based and layered autonomous exploration method and apparatus. In the current two-dimensional grid map, a dynamic sliding window is set according to the robot's current position. The size of the sliding window can be adaptively adjusted according to environmental uncertainties, obstacle distribution, and the robot's movement speed, which helps improve the efficiency of autonomous robot exploration. Furthermore, this application selects a local target boundary point from the dynamic sliding window or a global target boundary point from among the unexplored global boundary points as a guide point, providing a sampling reference direction for the RRT sampling algorithm. This improves the guidance of the RRT sampling algorithm, enabling it to plan feasible paths in the specified direction, thus improving the efficiency of RRT sampling and consequently, the efficiency of autonomous exploration. In addition, this application selects target boundary points from local or global boundary points, layering the boundary points to reduce the number of sampling points that need to be evaluated, further improving the efficiency of autonomous exploration. Attached Figure Description

[0017] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0018] Figure 1 This is an application environment diagram of an autonomous exploration method based on boundaries and hierarchies in one embodiment of this application;

[0019] Figure 2 A flowchart illustrating an autonomous exploration method based on boundaries and hierarchies, provided as an embodiment of this application;

[0020] Figure 3 A schematic diagram illustrating the technical concept of a boundary- and layer-based autonomous exploration method provided in an embodiment of this application;

[0021] Figure 4 This is a schematic diagram of the boundary points after downsampling and clustering provided in an embodiment of this application;

[0022] Figure 5 This is a schematic diagram of RRT sampling guided by target boundary points, provided in an embodiment of this application.

[0023] Figure 6 A schematic diagram of local boundary points and global boundary points provided in an embodiment of this application;

[0024] Figure 7 This is a schematic diagram illustrating the selection of global boundary points according to an embodiment of this application;

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

[0026] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0027] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0028] The boundary- and hierarchical autonomous exploration method provided in this application can be applied to, for example... Figure 1The application environment shown is illustrated. The terminal communicates with the server via a network. A data storage system stores the data the server needs to process. This data storage system can be set up independently, integrated into the server, or placed in the cloud or on another server. The terminal can send the environmental information detected by the robot's detection components and the robot's current position to the server. After receiving the video to be processed, the server constructs a two-dimensional grid map of the current detection area based on the current environmental information and determines the state of each grid cell in the two-dimensional grid map. The state of each grid cell includes unknown areas, obstacle areas, and free-roaming areas. A dynamic sliding window is set in the current two-dimensional grid map based on the robot's current position. The size of the dynamic sliding window changes dynamically with the robot's movement. When a new boundary point is generated within the current dynamic sliding window, a target boundary point is determined among the boundary points within the current dynamic sliding window, and non-target boundary points are treated as the whole boundary. The system identifies and deletes all previously detected global boundary points. A boundary point is a grid cell corresponding to a free-roaming area that intersects with an unknown region. Detected global boundary points are those whose surrounding grid cells are all within a preset range of free-roaming areas. Using the target boundary point as a guide point, the RRT sampling algorithm is used to determine a feasible path from the robot's current position to the target boundary point. When no new boundary points are generated within the current dynamic sliding window, a target global boundary point is selected from all currently undetected global boundary points. Using the target global boundary point as the guide point, the RRT sampling algorithm is used to determine a feasible path from the robot's current position to the target boundary point. The server can feed back the obtained feasible path to the terminal to control the robot to move to the target boundary point. In addition, in some embodiments, the boundary-based and layered autonomous exploration method can also be implemented by the server or the terminal alone. For example, the terminal can directly perform autonomous exploration planning based on the environmental information detected by the robot's detection component and the robot's current position, or the server can obtain the environmental information detected by the robot's detection component and the robot's current position from the data storage system and perform autonomous exploration planning.

[0029] The terminal can be, but is not limited to, various desktop computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. The server can be a standalone server or a server cluster composed of multiple servers, or it can be a cloud server.

[0030] In one exemplary embodiment, such as Figure 2 and Figure 3As shown, a boundary- and hierarchical autonomous exploration method is provided. This method is executed by a computer device, specifically a terminal or server, or both. In this embodiment, the method is applied to... Figure 1 The following steps, 101 to 106, are used as an example to illustrate the process of using a server in the example.

[0031] Step 101: Obtain the environmental information detected by the robot detection component and the robot's current position.

[0032] Step 102: Construct a two-dimensional grid map of the current detection area based on the current environmental information, and determine the state of each grid cell in the two-dimensional grid map; the state of the grid cell includes unknown area, obstacle area and free driving area.

[0033] Step 103: In the current two-dimensional grid map, set a dynamic sliding window according to the robot's current position; the size of the dynamic sliding window changes dynamically with the robot's movement.

[0034] Step 104: When a new boundary point is generated within the current dynamic sliding window, the target boundary point is determined among all the boundary points within the current dynamic sliding window. Non-target boundary points are designated as global boundary points, and all detected global boundary points are deleted from the current global boundary points. A boundary point refers to a grid cell corresponding to a free-roaming area that intersects with an unknown area. Detected global boundary points refer to global boundary points where all grid cells within a preset range are free-roaming areas.

[0035] Step 105: Using the target boundary point as the guide point, use the RRT sampling algorithm to determine the feasible path from the robot's current position to the target boundary point, and control the robot to move to the target boundary point according to the feasible path, and return to step 101 "obtain the environmental information detected by the robot detection component and the robot's current position".

[0036] Once the robot reaches the target boundary point, the navigation for this phase ends; the robot then uses its current position to select and navigate to the next guide point.

[0037] Step 106: When no new boundary point is generated within the current dynamic sliding window, select the target global boundary point from all currently undetected global boundary points, use the target global boundary point as the target boundary point, and return to step 105: "Use the target boundary point as the guide point, use the RRT sampling algorithm to determine the feasible path from the robot's current position to the target boundary point, and control the robot to move to the target boundary point according to the feasible path."

[0038] Once the robot has completed its exploration of the target area or its battery level has reached a certain threshold, it will automatically return to its home base.

[0039] By implementing steps 101 to 106 above, this application detects and extracts boundary points within a dynamic sliding window centered on the robot's geometry. Using the target boundary points as guide points, it directs the direction of RRT sampling points, reducing unnecessary sampling. During each local planning iteration, only boundary points within the sliding window are evaluated. This enhances the guidance of RRT sampling and reduces the number of sampling points during local exploration, lowering the robot's repetitive exploration rate and reducing the processor's computational load. The map is continuously updated during exploration, and global boundary points are detected at a certain frequency, removing those that do not meet the requirements, thus reducing global repetitive exploration. This invention aims to provide a novel exploration strategy based on the RRT algorithm. By guiding the generation and hierarchical structure of the RRT random tree, it reduces the number of samples, thereby lowering the robot's computational load, increasing the robot's computational speed, and ultimately improving exploration efficiency.

[0040] In another exemplary embodiment of this application, in step 101, the robot detection components can be a LiDAR and a depth camera mounted on the robot. The robot acquires the position of the external area and perceives and identifies the external environment through the LiDAR and depth camera. During the perception process, the LiDAR is mainly used for perception and identification of a large area, initially completing the construction of the LiDAR map. The main content of its identification includes the ground environment and the situation of a series of obstacles such as trees, rocks, and steep slopes. However, the LiDAR has low sensitivity to dynamic objects. The LiDAR generates a map in the form of a point cloud map and provides feedback. The LiDAR emits laser pulses and receives reflected signals to generate data. Its data mainly includes 3D point cloud coordinates (x, y, z) based on the Cartesian coordinate system, as well as the reflection intensity and target surface reflectivity used to distinguish materials. The robot's acquisition frequency is 20Hz, and its data is used to supplement and improve the unknown map.

[0041] LiDAR will measure all obstacles in the external environment using lasers. Its ranging model is as follows:

[0042]

[0043] Where c is the speed of light, and Δt is the time difference between transmission and reception.

[0044] Polar coordinates transformed into Cartesian coordinates:

[0045] x=rsinΘcosψ

[0046] y=rsinΘcosψ

[0047] z = rcosΘ

[0048] Where r is the distance in the polar coordinate system, Θ is the pitch angle, and ψ is the azimuth angle.

[0049] The LiDAR used is primarily for generating 3D point cloud maps of a large-scale external environment. Its characteristics include sparse point clouds with clear geometric structures, making it suitable for navigation. However, it has low sensitivity to dynamic objects. Therefore, a depth camera is used to assist the LiDAR in environmental perception and map building. The depth camera generates dense point clouds (with RGB texture) over a smaller area, better representing the features of various objects on the map. Simultaneously, the depth camera has high sensitivity to dynamic objects.

[0050] It can capture images of animals in the environment. The raw data measured by a depth camera is a depth map.

[0051] Depth calculation is as follows:

[0052]

[0053] Where f is the focal length, B is the baseline distance, and d disp For parallax.

[0054] Conversion from depth data to point cloud data:

[0055]

[0056] Among them, (c x, c y f is the optical center. x f y is the focal length parameter; u and v represent the coordinates in the pixel coordinate system, indicating the position of a pixel in the depth image or RGB image. Here, u is the column index of the pixel in the image (horizontal direction, from left to right), and v is the row index of the pixel in the image (vertical direction, from top to bottom).

[0057] Synchronize and align the coordinates of LiDAR and depth camera data over time.

[0058] Time synchronization: Align the timestamps of the sensors using FPGA or PTP protocol.

[0059] Coordinate transformation: Unifying the data from the LiDAR system and the depth camera system to the robot's base coordinate system:

[0060]

[0061] Among them, P base P represents the coordinates of a point in the robot's base coordinate system after transformation. LiDAR These are the original coordinates in the lidar system. Let R be the transformation matrix, R be the rotation matrix, and t be the translation vector. The depth camera coordinate transformation is similar.

[0062] The point cloud data from LiDAR and depth cameras are fused using the Iterative Closest Point (ICP) algorithm to minimize the distance between point clouds.

[0063]

[0064] Where R1 represents the rotation transformation from the current frame point cloud to the reference frame point cloud; t1 represents the translation offset from the current frame to the reference frame; P i q represents the coordinates of the i-th point acquired by the current lidar or depth camera; i For the reference frame (such as a map or the previous frame) and P i The coordinates of the nearest neighbor are obtained; finally, the solution is obtained through singular value decomposition (SVD).

[0065] After minimizing the spacing between point cloud data, Bayesian probabilistic fusion is used to fuse the point cloud data from the LiDAR and depth camera.

[0066] The Bayesian probability fusion formula is:

[0067]

[0068] Where, p fused P represents the occupancy probability after fusion, and P represents the confidence that a certain position is occupied by an obstacle. LiDAR P represents the occupancy probability calculated by the lidar, based on the calculation results of point cloud density or reflection intensity. RGBD This represents the occupancy probability calculated by the depth camera, based on the semantic segmentation results of the depth map or RGB image; w LiDAR The confidence weight of the lidar is represented by w. RGBD This represents the confidence weight of the depth camera.

[0069] The point cloud data from the depth camera and LiDAR are geometrically processed using the methods described above; then, the point cloud map needs to be denoised to remove outliers from the point cloud.

[0070]

[0071] Among them, P i μ is the coordinate of the current point. neighbor σ is the mean of the coordinates of all points in the neighborhood of this point, and σ is the standard deviation of the coordinates of the neighborhood points.

[0072] After noise reduction, voxel filtering downsampling is performed on the point cloud to divide the point cloud into small cubes (voxels). The mean value of the points in each voxel is taken to reduce the amount of data.

[0073]

[0074] Where, p voxel For the downsampled point cloud, p k Let N be the coordinates of the k-th point within the voxel, and N be the total number of points within the voxel.

[0075] Finally, during SLAM mapping, Extended Kalman Filter (EKF) is used for processing, namely state prediction and update, to optimize the point cloud data. The raster map is then constructed based on the optimized point cloud data.

[0076] In another exemplary embodiment of this application, step 102, constructing a two-dimensional raster map of the current detection area based on the current environmental information, specifically involves converting the three-dimensional point cloud map into a two-dimensional raster map. First, a 2D raster index is calculated, mapping the (x, y) coordinates of the 3D point cloud to the index of the 2D raster map.

[0077]

[0078] Where, x min y min Let r be the minimum boundary coordinates of the map. grid This refers to the raster resolution.

[0079] In another exemplary embodiment of this application, in step 102, after mapping the point cloud map to a raster map, the state of the raster cells is distinguished by the occupancy probability, that is, the raster map is divided into V according to the occupancy probability. free V unknown and V occupied The region. Log odds calculation is performed using Bayesian update and log-odds format:

[0080]

[0081] This method can be used to obtain real-time observation data from the sensor. t Gradually integrated into the occupancy probability of the grid; where z t This refers to the sensor observation data acquired by sensors such as LiDAR and depth cameras at time t, used to update the occupancy probability of the raster map. The data type for LiDAR is point cloud, and the data type for depth cameras is depth value. l(m) i,j ∣z 1:t () represents the raster m at time t. i,j Logarithmic odds; initial time t0, l(m i,j ∣z 1:t0 ) is the preset value; l(m) i,j ∣z 1:t-1 p(z) is the logarithmic probability at time t-1 (i.e., the cumulative result of historical observations); t|m i,j =1) indicates that the sensor observes z when the grid is occupied. t The likelihood probability, p(z) t |m i,j =0) indicates that the sensor observes z when the grid is idle. t The likelihood probability.

[0082] As an incremental term, its specific calculation method is as follows: if the sensor detects this area as an obstacle area, then use... Calculations are performed (this value is a positive increment, used to increase the occupancy probability); if the sensor detects this area as a free region, then... Perform (this value is a negative increment used to reduce its occupancy probability), where P hit and Pf ree P is the calibration data after testing in the experiment. hit P represents the probability that the sensor correctly detects an obstacle when the grid is actually occupied; free This represents the probability that the sensor correctly identifies a region as free when the grid is actually free space. Assume the grid is occupied (m...). i,j =1): The observation probability is p(z) t |m i,j =1)=p hit Assuming grid freedom (m) i,j =0), the observation probability is p(z) t |m i,j =0)=p free The specific calibration methods are as follows: LiDAR: Statistically calculate the hit rate at known obstacle locations, or Statistically calculate the false detection rate in free areas; Depth camera: Analyze existing depth noise models.

[0083] Each grid cell needs to undergo 2-3 calculations to ensure the accuracy of its state.

[0084] Then, through probability transformation, the logarithmic odds are converted into the probability of occurrence: Where p(m) i,j V ∈ [0,1]. The threshold determination method is used to determine V. free V unknown and V occupied The regions are categorized.

[0085] In another exemplary embodiment of this application, the state of each grid cell is divided according to the occupancy probability of each grid cell, specifically including:

[0086] (1) If the occupancy probability of a grid cell is less than or equal to a first preset value (e.g., 0.35), then the corresponding grid cell is considered as a free-roaming area V. freeThe robot can move freely in the grid cells without obstacles.

[0087] (2) If the occupancy probability of a grid cell is greater than or equal to a second preset value (e.g., 0.65), then the corresponding grid cell is considered as an obstacle region V. occupied , the grid cell where obstacles exist.

[0088] (3) If the occupancy probability of a grid cell is greater than the first preset value and less than the second preset value, then the corresponding grid cell is regarded as an unknown region V. unknown For grid cells that the robot does not observe, it is impossible to determine which state the cell belongs to.

[0089] In another exemplary embodiment of this application, in step 103, during the initial period of exploration, the unknown area is large, and the map area is gradually increasing, resulting in a huge number of boundary points. If all boundary points were detected, because map updates are based on probability, their states are constantly changing until the probability reaches a certain threshold, requiring a complete global map traversal each time, which is very time-consuming. This makes real-time computation impossible for large spaces, consumes computing resources, preempts the computing resources of other processes, and increases hardware costs. Therefore, a sliding window is set around the robot, and only the grid cells within the sliding window are detected each time.

[0090] A dynamic rectangular sliding window is set with the robot as the geometric center. This window will slide along with the robot's movement (the length of the window is defined as along the robot's movement direction, and the width as perpendicular to the robot's movement direction). The size of this sliding window will be determined based on the map environment using a multi-factor model. Specifically, the dynamic sliding window is set according to the robot's current position, including:

[0091] (1) Determine the environmental dynamics factor of the current detection area based on the occupancy probability of each grid cell in the two-dimensional grid map corresponding to the current detection area of ​​the robot.

[0092] Dynamic factor f dynamic In (ε), the variable ε represents information entropy. The larger the entropy value, the higher the uncertainty, i.e., the dynamic nature of the environment. The information entropy value is calculated based on the grid occupancy probability:

[0093]

[0094] Where p(m) i,j The occupancy probability of grid cell (i, j) is represented by . The dynamic factor f dynamic The expression for (ε) is:

[0095]

[0096] Where, k e This is the dynamic attenuation coefficient; the higher the dynamic level, the smaller the window.

[0097] (2) Determine the obstacle density in the two-dimensional grid map corresponding to the current detection area of ​​the robot, and determine the complexity factor of the current detection area based on the obstacle density.

[0098] Complexity factor f complex (D) reflects the distribution density of obstacles, where D represents the static obstacle density, i.e. the number of static obstacle grids per unit area.

[0099]

[0100] The formula for calculating the complexity factor is:

[0101]

[0102] Where, k d This is the complexity decay coefficient; the higher the complexity, the smaller the window.

[0103] (3) Determine the velocity factor of the current detection area based on the robot's current movement speed.

[0104] velocity factor f speed (v) Reflects the speed of the robot by mapping the speed to the [0,1] interval using a normalization method.

[0105]

[0106] Where v is the robot's current speed; v max v is the robot's maximum speed. norm The normalized velocity; k v This is the velocity decay coefficient; the faster the velocity, the smaller the window.

[0107] (4) Determine the size of the dynamic sliding window based on the environmental dynamics factor, complexity factor and speed factor.

[0108] Specifically, the expression for calculating the size of the dynamic sliding window is:

[0109] N = N base ·f dynamic (ε)·f complex (D)·f speed (v);

[0110] Where N represents the size of the dynamic sliding window; N base This indicates the default base window size, which is set based on experience; f dynamic(ε) represents the environmental dynamics factor; ε represents the information entropy value (environmental dynamics index), which is determined based on the occupancy probability; f complex (D) represents the complexity factor; D represents obstacle density, an environmental complexity index; f speed (v) represents the velocity factor; v represents the robot's movement speed.

[0111] (5) Set the dynamic sliding window according to the size of the dynamic sliding window and the preset window length-width ratio.

[0112] The sliding window size is quantized using the method described above: N = XL × XW;

[0113] Where XL is the length of the rectangular window and XW is the width of the rectangular window.

[0114] The external environment can be broadly divided into two categories: long and narrow environments and wide environments. The preset aspect ratio of the window within a long and narrow environment is:

[0115]

[0116] The preset aspect ratio of the window within the wide area is:

[0117]

[0118] Within a narrow region, guide points (target boundary points) on the width boundary have higher priority than guide points in the length direction; within a wide region, they have equal priority.

[0119] In another exemplary embodiment of this application, step 104, determining the target boundary point among the boundary points within the current dynamic sliding window, specifically includes:

[0120] (1) Determine the boundary points within the current dynamic sliding window.

[0121] Boundary points are extracted using this dynamic rectangular sliding window, and the boundary between the free region and the unknown region is identified as the boundary point, i.e., V. free and V unknown Boundary point of the region: V adjacent to the unknown region free Area. During each navigation, the robot uses only grid cells in the grid map within the sliding window as guide points.

[0122] (2) Downsample each boundary point in the current dynamic sliding window to obtain the downsampled boundary points.

[0123] While sliding windows can reduce computational load, the number of boundary points remains large. Therefore, downsampling and clustering methods will be used to cluster similar boundary points into a single cluster. For example... Figure 4As shown, boundary points within a preset range are considered as the same boundary point.

[0124] (3) Cluster the downsampled boundary points and treat boundary points in the same cluster as the same boundary point to obtain the clustered boundary points. For example... Figure 4 As shown.

[0125] The specific steps of the mean-sgift clustering algorithm are as follows:

[0126] 1) Randomly select a boundary point g from the set of boundary points after downsampling.

[0127] 2) Find all boundary points (g1, g2, ..., g3) within a preset radius centered on boundary point g. n Mark these boundary points, and increment the probability of each boundary point belonging to the cluster by 1. Calculate the drift vector G centered on the boundary point g:

[0128]

[0129] 3) Recalculate the center boundary point g = g + G.

[0130] 4) Repeat steps 2) and 3) until the drift vector is less than a certain threshold. All boundary points marked during the iteration process are classified into one cluster.

[0131] 5) If the center distance between two clusters is less than a certain threshold, they are classified into the same category.

[0132] 6) Repeat steps (1), (2), (3), (4), and (5) until all boundary points are marked.

[0133] 7) Based on the classification probabilities in 2), assign the points to the cluster with the highest probability.

[0134] In step 2), several cluster points will be generated, and the probability of each cluster will be different. The cluster point with the highest probability will be selected as the final boundary point.

[0135] (4) Divide the robot’s surrounding environment into multiple sub-regions with the robot’s current position as the center. For each sub-region, select the cluster boundary point with the maximum gain as the candidate boundary point.

[0136] The RRT sampling algorithm has a significant degree of randomness. To ensure that the RRT sampling algorithm expands towards unknown areas while maintaining uniform coverage, a reference direction is provided so that the RRT sampling algorithm samples in a specified direction with a certain probability. The boundary points of the environment are divided into four equal parts centered on the robot, and the boundary point with the maximum gain in each sub-region is selected as a candidate boundary point. If a sub-region has no boundary points, multiple candidate boundary points are selected from the sub-regions with more boundary points, such as... Figure 5 As shown, F L Fs represents local boundary points, while Fs represents selected candidate boundary points. Figure 5 In the middle, one candidate boundary point was selected on the left and one on the right. Since there were no boundary points behind, two candidate boundary points were selected in front.

[0137] The formula for the gain function is as follows:

[0138]

[0139] Where, p c G(p) represents the boundary point. c ) represents the information gain value at the boundary point, and will output the maximum value of p. c As the final target boundary point, λ represents the adjustment coefficient, f(p) c U(p) represents the shortest distance from the current position to the boundary point, which is obtained using the A* algorithm. c ) represents p c The unknown grid cell ratio in the plane centered at P simplifies the plane to a square with an edge length equal to the range of the lidar, i.e., P c Centered on a side of length L LIDAR Within the square, the proportion of unknown grid cells is:

[0140]

[0141] Where δ is the raster cell resolution. s represents an unknown raster cell; S un Refers to all unknown raster cells.

[0142] The weights of the boundary points are calculated using this gain function, and the boundary points with the largest information gain are selected.

[0143] For the selection of local target boundary points, a combination of gain function and cost function (referencing the calculation of cost function in existing technologies) is used. The gain function selects as many boundary points as possible for exploring the unknown environment. The cost function (an existing cost function in the RRT sampling algorithm) is then used to evaluate and determine the most collision-free and smoothest route. In the cost function, the closer the region is to an obstacle, the higher the cost; that is, the robot tends to select the boundary points and routes with the lowest cost.

[0144] (5) Select the candidate boundary point with the maximum gain from each sub-region as the target boundary point.

[0145] After the candidate boundary points are extracted, target boundary points are selected as navigation targets using a gain function. Boundary points that were not selected in this round of observation are pushed into a queue called historical boundary points, serving as global boundary points for subsequent exploration. Therefore, boundary points are divided into two types based on time and space: one type is boundary points within the robot's search range at the current time, called local boundary points; the other type is previously detected local boundary points, outside the current search range, and unexplored boundary points, called historical boundary points. Figure 6 As shown, F L F is a local boundary point within the sliding window. G It is a global boundary point.

[0146] In each iteration, the validity of all global boundary points is first checked, i.e., whether they have been detected. Then, the detected global boundary points are removed. The validity judgment condition is:

[0147]

[0148] In Legal(p), p is the global boundary point, N(p) is the ded neighborhood, m(q) represents the three states of the raster cell, and Ⅱ() represents the logical decision function. m(q) and m(r) are both denotation symbols, where m(q) represents the state of the raster voxels around p that are in unknown regions, and the number of these unknown raster voxels is summed. This indicates that the number of grid voxels around p that are in an unknown state must be greater than 1; m(r) represents the grid voxels around p that are passable free-roaming regions, and sums up the number of grid voxels in these passable regions. This indicates that the number of raster voxels around p that are passable must be greater than 1; ∧ represents a logical condition, meaning that both the left and right conditions must be satisfied simultaneously. This demonstrates the value of exploration;

[0149] This indicates that accessibility is guaranteed.

[0150] In another exemplary embodiment of this application, in step 106, regarding the selection strategy for global target boundary points, considering the large number of global boundary points and their increasingly wider distribution range and larger probability path map size as exploration progresses, path search is time-consuming. If the method of selecting local target boundary points is still used to select global target boundary points (also known as global target boundary points), the path search will cause excessive computational load, significantly reducing the robot's exploration efficiency. Existing literature uses a greedy strategy to select the nearest boundary point or calculates the boundary point with the maximum gain based on a certain function, but this method ignores the observation of subsequent boundary points, such as... Figure 7(a) Meanwhile, considering that as exploration progresses and the known area increases, it's likely that no new boundary points will be generated after reaching the global boundary point, meaning no new unknown areas have been observed. In this case, the robot's path length and time consumption should be considered even more. Therefore, the principle for considering the order of visiting global boundary points is to complete the visit of all global boundary points in the shortest time. Thus, the Traveling Salesman Problem (TSP) algorithm is used to determine the order of selecting global boundary points, i.e., the shortest path sum without repeatedly visiting each boundary point, such as... Figure 7 In step (b), the exploration ends when the global boundary point on the map reaches 0. The TSP algorithm is executed during the global boundary point exploration process. However, new local boundary points may appear during this process. At this point, the exploration mode needs to be switched to a local exploration strategy. Once no new local boundary points are generated, the global strategy is switched back, and the robot selects the nearest global boundary point from its current position to explore. The TSP algorithm sequentially moves to the nearest global boundary point to the robot's current position. If no new local boundary points are generated along the way, the algorithm continues. If a local boundary point is generated, the global exploration strategy is switched to a local exploration strategy to continue exploration.

[0151] Therefore, in step 106, selecting the target global boundary point from all currently undetected global boundary points specifically includes:

[0152] (1) With the goal of completing the access to all currently undetected global boundary points in the shortest time, the TSP algorithm is used to determine the access order of all currently undetected global boundary points.

[0153] (2) The unexplored global boundary point corresponding to the first access target in the access order is taken as the target global boundary point.

[0154] In this application, after each map update, the planned area centered on the robot on the map (sliding window) is traversed, and all elements related to V are... uknown adjacent V units freeUnits are marked as boundary points and downsampled before being pushed into the local boundary point queue. The boundary point gain is calculated using a defined gain function; when pushing points into the queue, those with lower gains are pushed first, meaning the boundary point at the tail of the queue has the most recent retention time and the highest gain. Simultaneously, the global boundary point queue is checked, and invalid global boundary points are removed. Since boundary points are divided into local and global boundary points, selection is also divided into local and global boundary point selection. The number of local boundary points is limited, so the size of the observable unknown area is considered. For global boundary points, considering the large number and total exploration time requirements, distance cost is prioritized. Therefore, the autonomous exploration strategy prioritizes depth, continuously extracting boundary points around the robot during autonomous exploration until no new boundary points are extracted, meaning there are no observable boundary points around the robot. Then, the optimal global boundary point in the global boundary point queue is selected as the next target boundary point, and exploration continues. In reality, as the robot moves, boundary points are continuously updated at a certain frequency, and selected boundary points may disappear. Therefore, the selection of boundary points is adjusted and updated in real time during robot movement.

[0155] This application also provides an application scenario in which the above-described boundary-based and layered autonomous exploration method is applied. Specifically, the boundary-based and layered autonomous exploration method provided in this embodiment can be applied to a robot autonomous exploration scenario. This scenario includes a data acquisition stage (used to collect environmental information detected by the robot's detection components and the robot's current position) and an autonomous exploration stage (used to perform a boundary-based and layered autonomous exploration process based on the collected data). The boundary-based and layered autonomous exploration method provided in this embodiment belongs to the autonomous exploration stage.

[0156] In one exemplary embodiment, a computer device is provided, which may be a server or a terminal, and its internal structure diagram may be as follows. Figure 8As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operating system and computer programs stored in the non-volatile storage media. The database stores data such as local boundary points, global boundary points, and feasible paths. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communication with external terminals via a network connection. When executed by the processor, the computer program implements a boundary-based and hierarchical autonomous exploration method.

[0157] Those skilled in the art will understand that Figure 8 The structures shown are merely block diagrams of some structures related to the present application and do not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than shown in the figures, or combine certain components, or have different component arrangements. In an exemplary embodiment, a computer device is provided, including a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.

[0158] In one exemplary embodiment, a computer-readable storage medium is provided storing a computer program that, when executed by a processor, implements the steps in the above-described method embodiments.

[0159] In one exemplary embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above-described method embodiments.

[0160] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.

[0161] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM).

[0162] The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0163] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0164] This document uses specific examples to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A boundary- and hierarchical autonomous exploration method, characterized in that, include: Acquire environmental information detected by the robot's detection components and the robot's current position; A two-dimensional grid map of the current detection area is constructed based on the current environmental information, and the state of each grid cell in the two-dimensional grid map is determined; the state of the grid cell includes unknown areas, obstacle areas, and free-roaming areas; In the current two-dimensional grid map, a dynamic sliding window is set according to the robot's current position; the size of the dynamic sliding window is determined based on the uncertainty of the environment, the distribution of obstacles, and the robot's movement speed. When a new boundary point is generated within the current dynamic sliding window, the target boundary point is determined among all the boundary points within the current dynamic sliding window. Non-target boundary points are designated as global boundary points, and all previously detected global boundary points are deleted. A boundary point refers to a grid cell corresponding to a free-roaming area that intersects with an unknown area. A previously detected global boundary point refers to a global boundary point where all grid cells within a preset range are free-roaming areas. Using the target boundary point as the guide point, the RRT sampling algorithm is used to determine the feasible path from the robot's current position to the target boundary point. Based on the feasible path, the robot is controlled to move to the target boundary point, and the process returns to the step "obtain the environmental information detected by the robot's detection component and the robot's current position". When no new boundary points are generated within the current dynamic sliding window, select the target global boundary point from all currently undetected global boundary points, use the target global boundary point as the target boundary point, and return to the step "Use the target boundary point as the guide point, use the RRT sampling algorithm to determine the feasible path from the robot's current position to the target boundary point, and control the robot to move to the target boundary point according to the feasible path".

2. The autonomous exploration method based on boundaries and hierarchies according to claim 1, characterized in that, Determining the state of each grid cell in the two-dimensional grid map specifically includes: Calculate the logarithmic probability of each grid cell in the two-dimensional raster map; the formula for calculating the logarithmic probability is: ;in, z t The sensor observation data acquired by the lidar and depth camera sensors at time t; l ( m i,j | z 1:t () represents the raster m at time t. i,j The logarithmic odds; l ( m i,j | z 1:t-1 () represents the logarithmic probability at time t-1; p ( z t | m i,j =1) indicates that the sensor observed when the grid was occupied. z t The likelihood probability; p ( z t | m i,j =0) indicates that the sensor observed the grid when it was idle. z t The likelihood probability; The occupancy probability of each grid cell is calculated based on logarithmic odds; the expression for the occupancy probability is: ;in, p ( m i,j ) represents the occupancy probability of a grid cell; The state of each grid cell is determined based on its occupancy probability.

3. The autonomous exploration method based on boundaries and hierarchies according to claim 2, characterized in that, The state of each grid cell is determined based on its occupancy probability, specifically including: If the occupancy probability of a grid cell is less than or equal to the first preset value, the corresponding grid cell is considered as a free-roaming area. If the occupancy probability of a grid cell is greater than or equal to the second preset value, the corresponding grid cell is considered as an obstacle area. If the occupancy probability of a grid cell is greater than a first preset value and less than a second preset value, then the corresponding grid cell is considered an unknown area.

4. The autonomous exploration method based on boundaries and hierarchies according to claim 2, characterized in that, A dynamic sliding window is set based on the robot's current position, specifically including: The environmental dynamics factor of the current detection area is determined based on the occupancy probability of each grid cell in the two-dimensional grid map corresponding to the detection area of ​​the robot's current position. Determine the obstacle density in the 2D grid map corresponding to the detection area of ​​the robot's current position, and determine the complexity factor of the current detection area based on the obstacle density; Determine the velocity factor of the current detection area based on the robot's current movement speed; The size of the dynamic sliding window is determined based on the environmental dynamics factor, complexity factor, and speed factor. The dynamic sliding window is set according to its size and the preset window aspect ratio.

5. The autonomous exploration method based on boundaries and hierarchies according to claim 4, characterized in that, The expression for calculating the size of a dynamic sliding window is: ; Where N represents the size of the dynamic sliding window; Indicates the default base window size; Indicates environmental dynamics factors; This represents the information entropy value, which is determined based on the occupancy probability. Represents the complexity factor; Indicates obstacle density; Represents the velocity factor; This indicates the robot's movement speed.

6. The autonomous exploration method based on boundaries and hierarchies according to claim 1, characterized in that, Determine the target boundary point among the boundary points within the current dynamic sliding window, specifically including: Determine the boundary points within the current dynamic sliding window; Downsample each boundary point within the current dynamic sliding window to obtain the downsampled boundary points; Cluster the downsampled boundary points and treat the boundary points in the same cluster as the same boundary point to obtain the clustered boundary points; The robot's surrounding environment is divided into multiple sub-regions, with the robot's current position as the center. For each sub-region, the cluster boundary point with the maximum gain is selected as the candidate boundary point; Select the candidate boundary point with the maximum gain from each sub-region as the target boundary point.

7. The autonomous exploration method based on boundaries and hierarchies according to claim 1, characterized in that, Select the target global boundary point from all currently unexplored global boundary points, specifically including: With the goal of completing the visit of all currently unexplored global boundary points in the shortest time, the TSP algorithm is used to determine the visit order of all currently unexplored global boundary points; The unexplored global boundary point corresponding to the first access target in the access sequence is taken as the target global boundary point.

8. A computer device, comprising: A memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that the processor executes the computer program to implement the boundary-based and hierarchical autonomous exploration method according to any one of claims 1-7.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the boundary-based and hierarchical autonomous exploration method as described in any one of claims 1-7.

10. A computer program product, comprising a computer program, characterized in that, When executed by a processor, the computer program implements the boundary-based and hierarchical autonomous exploration method as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Indoor robot autonomous exploration method and system based on boundary driving

    CN113805590A

  • Ground medium detection method and apparatus and cleaning device

    WO2024067852A1