Autonomous exploration method and device based on boundary and layering
By setting a dynamic sliding window and selecting target boundary points in the two-dimensional raster map, and using the RRT sampling algorithm to plan the path, the computational load problem caused by the RRT algorithm to generate random trees is solved, and the efficiency and orientation of robots' autonomous exploration is improved.
Patent Information
- Application Number
- CN202510423867.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-02
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2045-04-02
AI Technical Summary
The existing RRT algorithm generates a large number of random trees during the robot's autonomous exploration process, resulting in an increase in the computing load and affecting the exploration efficiency.
Adopting an autonomous exploration method based on boundaries and hierarchies, by setting a dynamic sliding window in a two-dimensional raster map, selecting the target boundary point, and using the RRT sampling algorithm to plan the path, reducing the number of sample points and improving guidance.
It improves the efficiency of robot independent exploration, reduces the computing load, and reduces the repeated exploration rate and processor computing load.
Smart Images

Figure CN120370928A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of autonomous exploration of robots, and particularly to an autonomous exploration method and device based on boundaries and stratification. Background Art
[0002] At present, the field of autonomous exploration of robots has developed rapidly. People have conducted research on autonomous exploration robots from various aspects of robots. Among them, the most widely studied is the autonomous exploration strategy of robots. A series of exploration strategies based on the RRT algorithm occupy an important position. The RRT algorithm is currently widely used in various intelligent robots. Its main function is to be used for local path planning of the autonomous movement of intelligent robots, that is, to quickly generate a large number of random trees from the current position and select one of the paths to the target position. However, in the actual application process, generating a large number of random trees by the RRT algorithm will increase the computing load of the robot, resulting in the robot needing a large amount of time for data calculation, thereby affecting the exploration efficiency of the robot. Summary of the Invention
[0003] The purpose of the present application is to provide an autonomous exploration method and device based on boundaries and stratification, which can improve the efficiency of autonomous exploration of robots.
[0004] To achieve the above purpose, the present application provides the following solutions:
[0005] In a first aspect, the present application provides an autonomous exploration method based on boundaries and stratification, including:
[0006] Obtain the environmental information detected by the robot detection component and the current position of the robot;
[0007] Construct a two-dimensional grid map of the current detection area according to 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 an unknown area, an obstacle area, and a free driving area;
[0008] Set a dynamic sliding window in the current two-dimensional grid map according to the current position of the robot; the size of the dynamic sliding window is determined according to the uncertainty of the environment, the distribution of obstacles, and the movement speed of the robot;
[0009] When a new boundary point is generated in the current dynamic sliding window, determine the target boundary point among the boundary points in the current dynamic sliding window, use the non-target boundary points as global boundary points, and delete the detected global boundary points among all the current global boundary points; a boundary point refers to a grid cell corresponding to a free driving area that intersects with an unknown area; a detected global boundary point refers to a global boundary point whose surrounding preset range of grid cells are all free driving areas;
[0010] Using the target boundary point as a guiding point, the RRT sampling algorithm is used to determine a feasible path from the current position of the robot to the target boundary point, and the robot is controlled to move to the target boundary point according to the feasible path, and the step of "obtaining the environmental information detected by the robot detection component and the current position of the robot" is returned;
[0011] When no new boundary points are generated in the current dynamic sliding window, a target global boundary point is selected from all the currently undetected global boundary points. Using the target global boundary point as the target boundary point, the step of "using the target boundary point as a guiding point, and using the RRT sampling algorithm to determine a feasible path from the current position of the robot to the target boundary point, and controlling the robot to move to the target boundary point according to the feasible path" is returned.
[0012] In a second aspect, the present application provides a computer device, including: a memory, a processor, and a computer program stored on the memory and executable on the processor. The processor executes the computer program to implement the above-mentioned boundary and hierarchical based autonomous exploration method.
[0013] In a third aspect, the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the above-mentioned boundary and hierarchical based autonomous exploration method is implemented.
[0014] In a fourth aspect, the present application provides a computer program product, including a computer program. When the computer program is executed by a processor, the above-mentioned boundary and hierarchical based autonomous exploration method is implemented.
[0015] According to the specific embodiments provided by the present application, the following technical effects are disclosed in the present application:
[0016] The present application provides a boundary and hierarchical based autonomous exploration method and device. In the current two-dimensional grid map, a dynamic sliding window is set according to the current position of the robot, and the size of the sliding window can be adaptively adjusted according to the environmental uncertainty, the distribution of obstacles, and the movement speed of the robot, which is beneficial to improving the efficiency of autonomous detection of the robot. In addition, a local target boundary point is selected from the dynamic sliding window or a global target boundary point is selected from each undetected global boundary point as a guiding point, providing a sampling reference direction for the RRT sampling algorithm, improving the directivity of the RRT sampling algorithm, enabling the RRT sampling algorithm to plan a feasible path in the specified direction, improving the efficiency of RRT sampling, and further improving the efficiency of autonomous exploration. In addition, for the selection of the target boundary point, it is selected from local boundary points or from global boundary points, and the boundary points are hierarchically divided, reducing the number of sampling points that need to be evaluated and improving the efficiency of autonomous exploration. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] To more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the accompanying drawings required in the embodiments. Obviously, the accompanying drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other accompanying drawings can be obtained based on these drawings.
[0018] Figure 1 It is an application environment diagram of an autonomous exploration method based on boundaries and stratification in an embodiment of the present application;
[0019] Figure 2 It is a flowchart of an autonomous exploration method based on boundaries and stratification provided in an embodiment of the present application;
[0020] Figure 3 It is a schematic diagram of the technical concept of an autonomous exploration method based on boundaries and stratification provided in an embodiment of the present application;
[0021] Figure 4 It is a schematic diagram of boundary points after downsampling and clustering provided in an embodiment of the present application;
[0022] Figure 5 It is a schematic diagram of RRT sampling guided by target boundary points provided in an embodiment of the present application;
[0023] Figure 6 It is a schematic diagram of local boundary points and global boundary points provided in an embodiment of the present application;
[0024] Figure 7 It is a schematic diagram of the selection of global boundary points provided in an embodiment of the present application;
[0025] Figure 8 It is a schematic diagram of the structure of a computer device provided in an embodiment of the present application. Detailed implementation manners
[0026] The following will clearly and completely describe the technical solutions in the embodiments of the present application in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, rather than all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of the present application.
[0027] To make the above objects, features, and advantages of the present application more obvious and understandable, the present application will be further described in detail below in conjunction with the accompanying drawings and specific implementation manners.
[0028] The autonomous exploration method based on boundaries and stratification provided in the embodiments of the present application can be applied to, for example Figure 1In the application environment shown. Among them, the terminal communicates with the server through the network. The data storage system can store the data that the server needs to process. The data storage system can be set separately, integrated on the server, or placed on the cloud or other servers. The terminal can send the environmental information detected by the robot detection component and the current position of the robot to the server. After receiving the video to be processed, for the video to be processed, the server constructs a two-dimensional grid map of the current detection area according to the current environmental information, and determines the state of each grid cell in the two-dimensional grid map; the state of the grid cell includes an unknown area, an obstacle area, and a free driving area; in the current two-dimensional grid map, a dynamic sliding window is set according to the current position of the robot; the size of the dynamic sliding window changes dynamically with the movement of the robot; 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, the non-target boundary points are used as global boundary points, and the detected global boundary points among all the current global boundary points are deleted; the boundary point refers to the grid cell corresponding to the free driving area where it intersects with the unknown area; the detected global boundary point refers to the global boundary point where the grid cells within a preset range around it are all free driving areas; using the target boundary point as the guiding point, the RRT sampling algorithm is used to determine the feasible path from the current position of the robot to the target boundary point; when no new boundary point is generated within the current dynamic sliding window, a target global boundary point is selected among all the current undetected global boundary points, using the target global boundary point as the target boundary point, and using the target boundary point as the guiding point, the RRT sampling algorithm is used to determine the feasible path from the current position of the robot to the target boundary point. The server can feedback the obtained feasible path to the terminal to control the robot to move to the target boundary point. In addition, in some embodiments, the autonomous exploration method based on boundaries and hierarchies can also be implemented separately by the server or the terminal. For example, the terminal can directly perform autonomous exploration planning for the environmental information detected by the robot detection component and the current position of the robot, or the server can obtain the environmental information detected by the robot detection component and the current position of the robot from the data storage system and perform autonomous exploration planning.
[0029] Among them, the terminal can be, but is not limited to, various desktop computers, laptop computers, smartphones, tablets, Internet of Things devices, and portable wearable devices. The server can be implemented by an independent server or a server cluster composed of multiple servers, and can also be a cloud server.
[0030] In an exemplary embodiment, such as Figure 2 and Figure 3As shown, a boundary- and layer-based autonomous exploration method is provided. This method is executed by a computer device, which can be specifically executed by a computer device such as a terminal or a server alone, or jointly executed by a terminal and a server. In the embodiments of the present application, taking the case where this method is applied to the Figure 1 server in it as an example for illustration, it includes the following steps 101 to step 106.
[0031] Step 101, obtain the environmental information detected by the robot detection component and the current position of the robot.
[0032] Step 102, construct a two-dimensional grid map of the current detection area according to 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 an unknown area, an obstacle area, and a free driving area.
[0033] Step 103, in the current two-dimensional grid map, set a dynamic sliding window according to the current position of the robot; the size of the dynamic sliding window changes dynamically with the movement of the robot.
[0034] Step 104, when a new boundary point is generated within the current dynamic sliding window, determine the target boundary point among the boundary points within the current dynamic sliding window, regard the non-target boundary points as global boundary points, and delete the detected global boundary points among all the current global boundary points; the boundary point refers to the grid cell corresponding to the free driving area that intersects with the unknown area; the detected global boundary point refers to the global boundary point whose surrounding preset range of grid cells are all free driving areas.
[0035] Step 105, taking the target boundary point as the guiding point, use the RRT sampling algorithm to determine the feasible path from the current position of the robot to the target boundary point, 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 current position of the robot".
[0036] When the robot moves to the target boundary point, this navigation ends; the robot then selects and navigates to the next guiding point with the current position.
[0037] Step 106, when no new boundary point is generated within the current dynamic sliding window, select a target global boundary point among all the current undetected global boundary points, take the target global boundary point as the target boundary point, and return to step 105 "taking the target boundary point as the guiding point, use the RRT sampling algorithm to determine the feasible path from the current position of the robot to the target boundary point, and control the robot to move to the target boundary point according to the feasible path".
[0038] When the robot has completed the exploration of the target area or the battery power of the robot reaches the threshold, the robot will return by itself.
[0039] By implementing the above-mentioned steps 101 to 106, this application detects and extracts boundary points of a dynamic sliding window centered on the robot, uses the target boundary points as guiding points to guide the direction of RRT sampling points, reduces sampling in unnecessary directions, and only evaluates the boundary points within the sliding window range each time local planning is performed, achieving enhanced directivity of RRT sampling and a reduction in the number of sampling points during the local exploration process, reducing the repeated exploration rate of the robot during the exploration process and the computing load of the processor. During the exploration process, the map is continuously updated, global boundary points are detected at a certain frequency, and non-compliant global boundary points are removed, reducing the global repeated exploration of the robot. The present invention aims to provide a new exploration strategy based on the RRT algorithm, which reduces the sampling quantity to reduce the computing load of the robot by guiding the generation of the RRT random tree and the hierarchical strategy, thereby improving the computing speed of the robot and ultimately achieving the purpose of improving the exploration efficiency.
[0040] In another exemplary embodiment of this application, in step 101, the robot detection component can be a lidar and a depth camera installed on the robot. The robot obtains the positions of the external area through the lidar and the depth camera and senses and identifies the external environment. During the sensing process, the lidar is mainly used for large-area sensing and identification, and initially completes the construction of the lidar map. The main contents of its identification include the ground environment conditions and a series of obstacles such as trees, rocks, and steep slopes. However, the lidar has low sensitivity to dynamic objects. Among them, the lidar generates the map in the form of a point cloud map. The lidar emits laser pulses and receives reflected signals and generates data, which mainly includes 3D point cloud coordinates (x, y, z) based on the Cartesian coordinate system, as well as the reflection intensity for distinguishing materials and the reflectivity of the target surface. Among them, the acquisition frequency of the robot is 20Hz, and its data is used to supplement and improve the unknown map.
[0041] The lidar will measure all obstacles in the external environment through laser, and its ranging model is:
[0042]
[0043] Among them, c is the speed of light, and Δt is the time difference between transmission and reception.
[0044] Conversion of polar coordinates to Cartesian coordinates:
[0045] x = rsinΘcosψ
[0046] y = rsinΘcosψ
[0047] z = rcosΘ
[0048] Among them, r is the distance in the polar coordinate system, Θ is the pitch angle, and ψ is the azimuth angle.
[0049] The lidar used is mainly for generating a three-dimensional point cloud map of the external environment in a relatively large range. Its characteristics are that the point cloud is relatively sparse and the geometric structure is clear, which is suitable for navigation. However, its sensitivity to dynamic objects is relatively low. Therefore, a depth camera is used to assist the lidar in environmental perception and map construction. The depth camera will generate a dense (with RGB texture) point cloud in a relatively small range, which can better complete the feature expression of various objects on the map. At the same time, the depth camera has a high sensitivity to dynamic objects.
[0050] It can capture animals in the environment, etc. The original data measured by the depth camera is a depth map.
[0051] The depth calculation is as follows:
[0052]
[0053] Among them, f is the focal length, B is the baseline distance, and d disp is the parallax.
[0054] The conversion from depth data to point cloud data is as follows:
[0055]
[0056] Among them, (c x, c y ) is the optical center, f x , f y is the focal length parameter; u and v represent the coordinate values in the pixel coordinate system, indicating a certain pixel position in the depth image or RGB image. Among them, u is the column index of the pixel in the image (horizontal direction, from left to right). v is the row index of the pixel in the image (vertical direction, from top to bottom).
[0057] Synchronize the time and align the coordinates of the lidar and depth camera data;
[0058] Time synchronization: Align the timestamps of the sensors by using the FPGA or PTP protocol.
[0059] Coordinate transformation: Unify the lidar (LiDAR system) and depth camera (camera system) data to the robot base coordinate system:
[0060]
[0061] Among them, P base is the point coordinate located in the robot base coordinate system after conversion, P LiDAR is the original coordinate in the lidar system. is the transformation matrix, R is the rotation matrix, and t is the translation vector. The same applies to the coordinate transformation of the depth camera.
[0062] The point cloud data of the lidar and the depth camera are fused using the Iterative Closest Point (ICP) algorithm to minimize the distance between point clouds.
[0063]
[0064] Among them, R1 represents the rotational transformation from the point cloud of the current frame to the point cloud of the reference frame; t1 represents the translational offset from the current frame to the reference frame; P i is the coordinate of the i-th point collected by the current lidar or depth camera; q i is the coordinate of the nearest neighbor point corresponding to P i in the reference frame (such as a map or the previous frame); finally, it is solved by Singular Value Decomposition (SVD).
[0065] After minimizing the distance between point cloud data, Bayesian probability fusion is used to fuse the point cloud data of the lidar and the depth camera.
[0066] The Bayesian probability fusion formula is:
[0067]
[0068] Among them, p fused represents the occupancy probability after fusion, which is the confidence that a certain position is occupied by an obstacle; P LiDAR represents the occupancy probability calculated by the lidar, which is the calculation result based on the point cloud density or reflection intensity; P RGBD represents the occupancy probability calculated by the depth camera, which is the calculation result after semantic segmentation of the depth map or RGB image; w LiDAR represents the confidence weight of the lidar; w RGBD represents the confidence weight of the depth camera.
[0069] The point cloud data of the depth camera and the lidar are geometrically processed by the above method; then, the point cloud map needs to be denoised to remove the outliers in the point cloud.
[0070]
[0071] Among them, P i is the coordinate of the current point, μ neighbor is the mean coordinate of all points in the neighborhood of this point, and σ is the standard deviation of the neighborhood point coordinates.
[0072] After denoising the point cloud, voxel filtering is performed for downsampling. The point cloud is divided into small cubes (voxels), and the mean value of the points in each voxel is taken to reduce the data volume.
[0073]
[0074] Among them, p voxel is the downsampled point cloud, and p k is the coordinate of the k-th point in the voxel, and N is the total number of points in the voxel.
[0075] Finally, during SLAM mapping, the extended Kalman filter (EKF) is used for processing, that is, state prediction and update, to optimize the point cloud data, and then a grid map is constructed based on the optimized point cloud data.
[0076] In another exemplary embodiment of the present application, in step 102, a two-dimensional grid map of the current detection area is constructed according to the current environmental information, specifically: converting the three-dimensional point cloud map into a two-dimensional grid map. First, 2D grid index calculation is performed to map the (x, y) coordinates of the 3D point cloud to the index of the 2D grid map.
[0077]
[0078] Among them, x min , y min is the minimum boundary coordinate of the map, and r grid is the grid resolution.
[0079] In another exemplary embodiment of the present application, in step 102, after mapping the point cloud map to a grid map, the state of the grid cell is distinguished by the occupancy probability, that is, the grid map is divided into regions of V free , V unknown and V occupied . Log-odds calculation is performed through Bayesian update and log-odds format:
[0080]
[0081] Through this method, the real-time observation data z t of the sensor can be gradually incorporated into the occupancy probability of the grid; among them, z t refers to the sensor observation data obtained by sensors such as lidar and depth camera at time t, and its function is to update the occupancy probability of the grid map. Among them, the data type of the lidar is point cloud, and the data type of the depth camera is depth value. l(m i,j ∣z 1:t ) is the log-odds of grid m i,j at time t; at the initial time t0, l(m i,j ∣z 1:t0 ) is a preset value; l(m i,j ∣z 1:t-1 ) is the log-odds at time t - 1 (i.e., the cumulative result of historical observations); p(z t|m i,j = 1) represents the likelihood probability that the sensor observes z when the grid is occupied t ; p(z t |m i,j = 0) represents the likelihood probability that the sensor observes z when the grid is free t .
[0082] is the incremental term, and its specific calculation method is as follows: If the sensor detects that this area is an obstacle area, then use for calculation (this value is a positive increment used to increase the occupancy probability), and if the sensor detects that this area is a free area, then use for calculation (this value is a negative increment used to reduce its occupancy probability), where P hit and Pf ree are calibration data after being tested through experiments, P hit represents the probability that the sensor correctly detects an obstacle when the grid is actually occupied; P free represents the probability that the sensor correctly determines a free area when the grid is actually a free space. Assume that the grid is occupied (m i,j = 1): The observation probability is p(z t |m i,j = 1) = p hit , assume that the grid is free (m i,j = 0), the observation probability is p(z t |m i,j = 0) = p free . Its specific calibration method is as follows: LiDAR: Statistically calculate the hit rate at the known obstacle positions, or statistically calculate the false detection rate in the free area; Depth camera: Analyze the existing depth noise model
[0083] Each grid cell needs to be calculated 2 - 3 times to ensure the accuracy of the state of the grid cell
[0084] Then, through probability transformation, the log-odds is transformed into an occupancy probability where p(m i,j ) ∈ [0, 1]. Through the threshold decision method, the V free , V unknown and V occupied regions are classified
[0085] In another exemplary embodiment of the present application, according to the occupancy probability of each grid cell, the state of each grid cell is divided, specifically including
[0086] (1) If the occupancy probability of the grid cell is less than or equal to the first preset value (for example, 0.35), then the corresponding grid cell is regarded as a free driving area V free, the robot can move freely in 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), the corresponding grid cell is regarded as an obstacle area V occupied , the grid cell where an obstacle exists.
[0088] (3) If the occupancy probability of a grid cell is greater than a first preset value and less than a second preset value, the corresponding grid cell is regarded as an unknown area V unknown , the grid cell not observed by the robot, and the state of the cell cannot be clearly determined to belong to any one type.
[0089] In another exemplary embodiment of the present application, in step 103, in the initial period of exploration, the unknown area is large, and the area of the map is also gradually increasing, so the number of boundary points is huge. If all boundary points are detected, since the update of the map is based on probability update and its state is constantly changing until the probability tends to a certain threshold and then no longer changes its state, it is necessary to traverse and query the complete global map each time, which is very time-consuming and cannot complete real-time operation for large spaces. At the same time, it consumes computing resources and preempts the computing resources of other processes, increasing the hardware cost. 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. The rectangular sliding window will slide following the movement of the robot. (Define the long direction of the sliding window as the direction along the movement of the robot, and the wide direction as the direction perpendicular to the movement of the robot). The size of the sliding window is determined according to a multi-factor model based on the map environment. Specifically, a dynamic sliding window is set according to the current position of the robot, including:
[0091] (1) According to the occupancy probability of each grid cell in the two-dimensional grid map corresponding to the detection area of the current position of the robot, determine the environmental dynamic factor of the current detection area.
[0092] Dynamic factor f dynamic (ε), where the variable ε represents the information entropy. The larger the entropy value, the higher the uncertainty (i.e., dynamicity) of the environment. The information entropy value is calculated according to the grid occupancy probability:
[0093]
[0094] Among them, p(m i,j ) represents the occupancy probability of the grid (i, j). The expression of the dynamic factor f dynamic (ε) is:
[0095]
[0096] Among them, k e is the dynamic attenuation coefficient. The higher the dynamicity, the smaller the window.
[0097] (2) Determine the obstacle density in the two-dimensional grid map corresponding to the detection area of the robot's current position, and determine the complexity factor of the current detection area according to the obstacle density.
[0098] Complexity factor f complex (D) reflects the distribution density of obstacles, where D represents the static obstacle density, that is, the number of static obstacle grids per unit area.
[0099]
[0100] The calculation formula for the complexity factor is:
[0101]
[0102] Among them, k d is the complexity attenuation coefficient. The higher the complexity, the smaller the window.
[0103] (3) Determine the speed factor of the current detection area according to the current movement speed of the robot.
[0104] Speed factor f speed (v) reflects the speed of the robot, and maps the speed to the interval [0, 1] through a normalization method.
[0105]
[0106] Among them, v is the current movement speed of the robot; v max is the maximum speed of the robot; v norm is the normalized speed; k v is the speed attenuation coefficient. The faster the speed, the smaller the window.
[0107] (4) Determine the size of the dynamic sliding window according to the environmental dynamic factor, complexity factor and speed factor.
[0108] Specifically, the calculation expression for the size of the dynamic sliding window is:
[0109] N = N base ·f dynamic (ε)·f complex (D)·f speed (v);
[0110] Among them, N represents the size of the dynamic sliding window; N base represents the preset basic window size, which is set according to experience; f dynamic(ε) represents the environmental dynamics factor; ε represents the information entropy value (environmental dynamics index), and the information entropy value is determined according to the occupancy probability; f complex (D) represents the complexity factor; D represents the obstacle density, an environmental complexity index; f speed (v) represents the speed factor; v represents the robot's moving 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] Quantify the size of the sliding window through the above method: N = XL × XW;
[0113] Among them, XL is the length of the rectangular window, and XW is the width of the rectangular window.
[0114] The external environment is roughly divided into two categories, namely narrow environments and wide environments. Among them, the preset window length-width ratio in narrow environments is:
[0115]
[0116] The preset window length-width ratio in wide areas is:
[0117]
[0118] The guiding points (target boundary points) on the width boundary in narrow areas have a higher priority than the guiding points in the length direction; in wide areas, the priorities are equal.
[0119] In another exemplary embodiment of the present application, in step 104, to determine the target boundary points among the boundary points in the current dynamic sliding window, it specifically includes:
[0120] (1) Determine the boundary points in the current dynamic sliding window.
[0121] Extract boundary points through the dynamic rectangular sliding window, and identify the intersection area between the free area and the unknown area as the boundary point, that is, the intersection point of the V free and V unknown regions: the V free region adjacent to the unknown area. When the robot navigates each time, only the grid cells in the grid map within the sliding window are used as guiding points.
[0122] (2) Downsample the boundary points in the current dynamic sliding window to obtain the downsampled boundary points.
[0123] The sliding window can reduce the computational load of the computer, but the number of boundary points is still large. Therefore, similar boundary points will be clustered into a cluster through downsampling and clustering methods. For example Figure 4As shown, boundary points within a preset range are regarded as the same boundary point.
[0124] (3) Cluster the downsampled boundary points, and regard the boundary points in the same cluster as the same boundary point to obtain the clustered boundary points. As Figure 4 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 downsampled boundary points.
[0127] 2) Find all boundary points (g1, g2,..., g n ) within the preset radius range centered on the boundary point g, mark these boundary points, and at the same time increase the probability that these boundary points belong to this cluster by 1. Centered on the boundary point g, calculate the drift vector G:
[0128]
[0129] 3) Recalculate the central boundary point g = g + G.
[0130] 4) Repeat steps 2) and 3) until the drift vector is less than a certain threshold, and all the boundary points marked during the iteration process are classified into one cluster.
[0131] 5) If the distance between the centers of two clusters is less than a certain threshold, then they are grouped into one category.
[0132] 6) Repeat steps (1), (2), (3), (4), and (5) until all boundary points are marked.
[0133] 7) According to the classification probability in 2), classify the points into the cluster with the highest probability.
[0134] In 2), several clustered points will be generated, and the probabilities of each cluster will be different. Select the clustered point with the highest probability as the final boundary point.
[0135] (4) Centered on the current position of the robot, divide the environment around the robot into multiple sub-regions. For each sub-region, select the clustered boundary point with the maximum gain as the candidate boundary point.
[0136] The RRT sampling algorithm has a large degree of randomness. In order to make the expansion of the RRT sampling algorithm tend to the unknown area as much as possible and cover evenly, provide a reference direction for the RRT sampling algorithm, so that the RRT sampling algorithm samples in a specified direction according to a certain probability. Divide the boundary points of the environment evenly into four parts centered on the robot, and select a boundary point with the maximum gain in each sub-region as the candidate boundary point. If there are no boundary points in a certain sub-region, then select multiple candidate boundary points in the sub-region with more boundary points. AsFigure 5 As shown, F L is a local boundary point, and Fs is a selected candidate boundary point. Figure 5 In this case, one candidate boundary point is selected on each of the left and right sides. Since there is no boundary point at the rear, two candidate boundary points are selected in the front.
[0137] For the gain function, the formula is as follows:
[0138]
[0139] Among them, p c represents the boundary point, G(p c ) represents the information gain value of the boundary point. The p c that outputs the maximum value is used as the final target boundary point. λ represents the adjustment coefficient, and f(p c ) represents the shortest distance from the current position to this boundary point, and this shortest distance is obtained through the A* algorithm. U(p c ) represents the proportion of unknown grid cells in the plane centered on p c . The plane is simplified to a square with a side length equal to the range of the lidar, that is, within the square centered on P c with a side length of L LIDAR , the proportion of unknown grid cells is:
[0140]
[0141] Among them, δ is the grid cell resolution. s represents the unknown grid cell; S un refers to all unknown grid cells.
[0142] The weights of the boundary points are calculated through this gain function, and the boundary point with the largest information gain is selected.
[0143] For the selection of local target boundary points, the gain function and the cost function (refer to the calculation of the cost function in the prior art) are comprehensively used to select boundary points. As many boundary points for exploring the unknown environment as possible are selected through the gain function. The cost function (the existing cost function in the RRT sampling algorithm) is used to evaluate a collision-free and smoothest route. In the cost function, the area closer to the obstacle has a higher cost, that is, the robot tends to select the boundary point and route with the minimum cost.
[0144] (5) Select the candidate boundary point with the maximum gain in each sub-region as the target boundary point.
[0145] After the candidate boundary points are extracted, the target boundary points are selected as the navigation target through the gain function. The clustered boundary points that are not selected and observed this time are pushed into a queue, called historical boundary points, which serve as global boundary points for subsequent exploration. Therefore, the boundary points are divided into two types according to time and space. One is the boundary points at the current time and within the robot's search range, called local boundary points; the other is the local boundary points detected in the past, not within the current search range, and not explored boundary points, called historical boundary points, as Figure 6 shown, F L is a local boundary point within the sliding window, and F G is a global boundary point.
[0146] In each iteration, first, the legality of all global boundary points is detected, that is, whether they have been detected, and then the detected global boundary points are removed. The legality judgment condition is:
[0147]
[0148] Among them, p in Legal(p) is a global boundary point, N(p) is a deleted neighborhood, m(q) is one of the three states of the grid cell, and Ⅱ() represents a logical judgment function. Both m(q) and m(r) are symbolic notations. Among them, m(q) refers to the state of the grid voxels around p being an unknown area state, and the number of these grid voxels in the unknown state is summed up. means that the number of grid voxels around p belonging to the unknown state should be greater than 1; m(r) refers to the grid voxels around p being a free driving area that can be passed through, and the number of these grid voxels in the passable area state is summed up. means that the number of grid voxels around p belonging to the passable state should be greater than 1; ∧ represents a logical judgment symbol, that is, the two conditions on the left and right need to be satisfied simultaneously, that is This represents the value of exploration;
[0149] This represents ensuring passability.
[0150] In another exemplary embodiment of the present application, in step 106, for the selection strategy of the global target boundary points, for the global boundary points, considering that their number is large, and as the exploration progresses, the distribution range becomes wider and wider, the scale of the probabilistic roadmap becomes larger, and the path search is time-consuming. If the method of selecting local target boundary points is still used to select the target global boundary points (also called global target boundary points), the path search will cause a problem of excessive computational complexity, and the exploration efficiency of the robot will be greatly reduced. There are existing literatures based on greedy strategies, selecting the nearest boundary point or the boundary point with the largest gain calculated based on a certain function, but this method ignores the observation of subsequent boundary points, as Figure 7(a) in it. At the same time, considering that as the exploration progresses, more and more known areas are available, after reaching the global boundary point, it is very likely that no new boundary points will be generated, that is, no new unknown areas are observed. In this case, more attention should be paid to the length of the robot's path and time consumption. Therefore, the principle for considering the access order of global boundary points is to complete the access to all global boundary points in the shortest time. Therefore, the Traveling Salesman Problem (TSP) algorithm is used to determine the order of selecting global boundary points, that is, the sum of the shortest paths that do not repeat the access to each boundary point, as Figure 7 in (b), until the number of global boundary points in the map is 0, and the exploration ends. The TSP algorithm is executed during the exploration of global boundary points, but new local boundary points may appear during the execution. At this time, the exploration method needs to be switched to the local exploration strategy. When no new local boundary points are generated, it switches back to the global strategy, and then selects a nearest global boundary point at the current position of the robot to explore. The TSP algorithm goes to a global boundary point that is the nearest to the current position of the robot in sequence. If no new local boundary points are generated during the journey, the algorithm continues. If local boundary points are generated, the global exploration strategy changes to the local exploration strategy for exploration.
[0151] Therefore, in step 106, when selecting the target global boundary point from all currently unprobed global boundary points, it specifically includes:
[0152] (1) Aiming to complete the access to all currently unprobed global boundary points in the shortest time, use the TSP algorithm to determine the access order of all currently unprobed global boundary points.
[0153] (2) Take the unprobed global boundary point corresponding to the first access target in the access order as the target global boundary point.
[0154] In this application, after each map update, traverse the planned area (sliding window) centered on the robot on the map, and all V uknown cells adjacent to the V freeThe unit is marked as a boundary point and pushed into the local boundary point queue after downsampling. The boundary point gain is calculated through the defined gain function. When pushing into the queue, the one with a smaller gain is pushed in first, that is, the boundary point at the end of the queue always maintains the latest time and the largest gain. At the same time, the global boundary point queue is detected, and the illegal global boundary points are removed. Since the boundary points are divided into local boundary points and global boundary points, the selection is also divided into the selection of local boundary points and the selection of global boundary points. The number of local boundary points is limited, so the size of the observable unknown area is mainly considered. For global boundary points, due to the large number and the total time requirement for exploration, the distance cost is mainly considered. Therefore, the autonomous exploration strategy is depth-first. During the autonomous exploration process, the boundary points around the robot are continuously extracted until no new boundary points are extracted, that is, 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 to continue the exploration. In fact, as the robot moves, the boundary points are continuously updated at a certain frequency, and the selected boundary points may disappear. Therefore, the selection of boundary points will be adjusted and updated in real time during the robot's movement.
[0155] The present application also provides an application scenario, which applies the above-mentioned autonomous exploration method based on boundaries and stratification. Specifically: The autonomous exploration method based on boundaries and stratification provided in this embodiment can be applied to the robot autonomous exploration scenario. This scenario includes a data collection link (for collecting the environmental information detected by the robot detection component and the current position of the robot) and an autonomous exploration link (for performing the autonomous detection process based on boundaries and stratification according to the collected data). The autonomous exploration method based on boundaries and stratification provided in this embodiment belongs to the autonomous exploration link.
[0156] In an exemplary embodiment, a computer device is provided. The computer device can be a server or a terminal, and its internal structure diagram can be as Figure 8As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O), and a communication interface. Among them, the processor, the memory, and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data such as local boundary points, global boundary points, and feasible paths. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with external terminals through a network connection. When the computer program is executed by the processor, it implements an autonomous exploration method based on boundaries and stratification.
[0157] Those skilled in the art can understand that Figure 8 the structure shown in is only a block diagram of some structures related to the solution of this application, and does not constitute a limitation on the computer device to which the solution of this application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements. In an exemplary embodiment, a computer device is provided, including a memory and a processor. A computer program is stored in the memory, and when the processor executes the computer program, the steps in the above method embodiments are implemented.
[0158] In an exemplary embodiment, a computer-readable storage medium is provided, storing a computer program, and when the computer program is executed by the processor, the steps in the above method embodiments are implemented.
[0159] In an exemplary embodiment, a computer program product is provided, including a computer program, and when the computer program is executed by the processor, the steps in the above method embodiments are implemented.
[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 for analysis, stored data, displayed data, 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 relevant data need to comply with relevant regulations.
[0161] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, database, or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memories. 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), magnetoresistive 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 be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.
[0162] The databases involved in the embodiments provided in the present application can include at least one of relational databases and non-relational databases. Non-relational databases can include distributed databases based on blockchain, etc., without limitation. The processors involved in the embodiments provided in the present application can be general-purpose processors, central processors, graphics processors, digital signal processors, programmable logics, data processing logics based on quantum computing, etc., without limitation.
[0163] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, 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, it should be considered as the scope described in this specification.
[0164] Specific examples are used in this article to elaborate on the principles and implementation manners of the present application. The description of the above embodiments is only used to help understand the method and its core idea of the present application; at the same time, for those of ordinary skill in the art, according to the idea of the present application, there will be changes in the specific implementation manners and application scopes. In summary, the content of this specification should not be construed as a limitation to the present application.
Claims
1. An autonomous exploration method based on boundaries and stratification, characterized in that, Including: Obtaining the environmental information detected by the robot detection component and the current position of the robot; Constructing a two-dimensional grid map of the current detection area according to the current environmental information, and determining the state of each grid cell in the two-dimensional grid map; the state of the grid cell includes an unknown area, an obstacle area, and a free driving area; Setting a dynamic sliding window in the current two-dimensional grid map according to the current position of the robot; the size of the dynamic sliding window is determined according to the environmental uncertainty, the distribution of obstacles, and the movement speed of the robot; When a new boundary point is generated within the current dynamic sliding window, determining a target boundary point among the boundary points within the current dynamic sliding window, taking the non-target boundary points as global boundary points, and deleting the detected global boundary points among all the current global boundary points; the boundary point refers to the grid cell corresponding to the free driving area where it intersects with the unknown area; the detected global boundary point refers to the global boundary point where the grid cells within a preset range around it are all free driving areas; Taking the target boundary point as a guiding point, using the RRT sampling algorithm to determine a feasible path from the current position of the robot to the target boundary point, controlling the robot to move to the target boundary point according to the feasible path, and returning to the step "Obtaining the environmental information detected by the robot detection component and the current position of the robot"; When no new boundary point is generated within the current dynamic sliding window, selecting a target global boundary point among all the current undetected global boundary points, taking the target global boundary point as the target boundary point, and returning to the step "Taking the target boundary point as a guiding point, using the RRT sampling algorithm to determine a feasible path from the current position of the robot to the target boundary point, controlling the robot to move to the target boundary point according to the feasible path".
2. The autonomous exploration method based on boundaries and layering according to claim 1, characterized in that Determining the state of each grid cell in the two-dimensional grid map specifically includes: Calculate the log-odds of each grid cell in the two-dimensional grid map; the calculation formula for log-odds is: where z t refers to the sensor observation data obtained by sensors such as lidar and depth camera at time t; l(m i,j ∣z 1:t ) is the log-odds of grid m i,j at time t; l(m i,j ∣z 1:t-1 ) is the log-odds at time t-1; p(z t ∣m i,j =1) represents the likelihood probability that the sensor observes z t when the grid is occupied; p(z t ∣m i,j =0) represents the likelihood probability that the sensor observes z t when the grid is free; Calculate the occupancy probability of each grid cell according to the log odds; the expression for the occupancy probability is: where p(m i,j ) represents the occupancy probability of the grid cell; Dividing the state of each grid cell according to the occupancy probability of each grid cell.
3. The autonomous exploration method based on boundaries and stratification according to claim 2, wherein Dividing the state of each grid cell according to the occupancy probability of each grid cell specifically includes: If the occupancy probability of the grid cell is less than or equal to the first preset value, the corresponding grid cell is regarded as a free driving area; If the occupancy probability of the grid cell is greater than or equal to the second preset value, the corresponding grid cell is regarded as an obstacle area; If the occupancy probability of the grid cell is greater than the first preset value and less than the second preset value, the corresponding grid cell is regarded as an unknown area.
4. The autonomous exploration method based on boundary and stratification according to claim 2, characterized in that Setting a dynamic sliding window according to the current position of the robot specifically includes: Determining the environmental dynamic factor of the current detection area according to the occupancy probability of each grid cell in the two-dimensional grid map corresponding to the detection area of the current position of the robot; Determining the obstacle density in the two-dimensional grid map corresponding to the detection area of the current position of the robot, and determining the complexity factor of the current detection area according to the obstacle density; Determining the speed factor of the current detection area according to the current movement speed of the robot; Determining the size of the dynamic sliding window according to the environmental dynamic factor, the complexity factor, and the speed factor; Setting the dynamic sliding window according to the size of the dynamic sliding window and the preset window length-width ratio.
5. The autonomous exploration method based on boundaries and layering according to claim 4, characterized in that, The calculation expression for the size of the dynamic sliding window is: N = N base ·f dynamic (ε)·f complex (D)·f speed (v); Among them, N represents the size of the dynamic sliding window; N base represents the preset basic window size; f dynamic (ε) represents the environmental dynamic factor; ε represents the information entropy value, and the information entropy value is determined according to the occupancy probability; f complex (D) represents the complexity factor; D represents the obstacle density; f speed (v) represents the speed factor; v represents the movement speed of the robot.
6. The autonomous exploration method based on boundary and stratification according to claim 1, characterized in that Determine a 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 the boundary points within the current dynamic sliding window to obtain downsampled boundary points; Cluster the downsampled boundary points, and consider the boundary points in the same cluster as the same boundary point to obtain clustered boundary points; With the current position of the robot as the center, divide the environment around the robot into multiple sub-regions; For each sub-region, select the clustered boundary point with the maximum gain 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 boundary and layer based autonomous exploration method according to claim 1, wherein Select a target global boundary point from all the currently unprobed global boundary points, specifically including: Aiming to complete the visit to all the currently unprobed global boundary points in the shortest time, use the TSP algorithm to determine the visit order of all the currently unprobed global boundary points; Take the unprobed global boundary point corresponding to the first visit target in the visit order as the target global boundary point.
8. A computer device, comprising: A memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor executes the computer program to implement the boundary and hierarchical based 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 the computer program is executed by the processor, it implements the boundary and hierarchical based autonomous exploration method according to any one of claims 1-7.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the boundary and hierarchical based autonomous exploration method according to any one of claims 1-7.
Citation Information
Patent Citations
Indoor robot autonomous exploration method and system based on boundary driving
CN113805590A
Multi-robot autonomous exploration method and system based on improved rapid exploration random tree
CN115248592A
Ground unmanned platform autonomous navigation method and device for complex scene
CN118189975A
Ground medium detection method and apparatus and cleaning device
WO2024067852A1