Robotic mapping method, computing device, and readable storage medium
By combining target biased sampling and a dual-tree RRT structure, the problems of low exploration efficiency and local optima in the RRT mapping method are solved, achieving high efficiency, global coverage and resource optimization in robot mapping.
Patent Information
- Application Number
- CN202610415810.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-03-31
- Publication Date
- 2026-06-26
AI Technical Summary
Existing autonomous exploration mapping methods, such as RRT mapping, suffer from low mapping exploration efficiency due to blind sampling, and the robot is prone to getting trapped in local optima.
A target-biased sampling strategy and a dual-tree fast exploration random tree (RRT) structure are adopted, combined with accessibility filtering and multi-factor exploration priority decision-making. By guiding the target point and dynamically adjusting the sampling probability and step size, a set of candidate exploration points is generated, and effective accessibility judgment and exploration priority decision-making are performed.
It improves the efficiency of mapping and exploration, reduces blind sampling and redundant node generation, avoids the robot getting stuck in local optima, and ensures complete environmental coverage and efficient use of computing resources.
Smart Images

Figure CN122281869A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and in particular to a robot mapping method, computing device, and readable storage medium. Background Technology
[0002] With the widespread application of robots in fields such as unmanned warehousing, disaster relief, and exploration of unknown areas, their ability to autonomously explore and construct environmental maps has become crucial. However, existing autonomous exploration mapping methods, such as the RRT mapping method, suffer from problems such as low mapping exploration efficiency due to blind sampling and robots being prone to getting trapped in local optima. Summary of the Invention
[0003] The purpose of this application is to provide a robot mapping method, computing device and readable storage medium that can improve mapping exploration efficiency, effectively filter out unreachable points and avoid local optima.
[0004] To achieve the above objectives: In a first aspect, embodiments of this application provide a robot mapping method, the method comprising: S1. Determine or update the target point in the current exploration direction; S2. Using a target-biased sampling strategy, the target point is used as the direction guide and the set of candidate exploration points is determined based on the current environmental map data; S3. The candidate exploration point set is sequentially subjected to accessibility filtering and multi-factor exploration priority decision to determine the next exploration point of the robot; S4. Control the robot to move to the next exploration point and update the environmental map data based on sensor data; S5. Repeat steps S2 to S4 until the conditions for completing the exploration of the area related to the target point are met. S6. Return to step S1 to update the target point until the global mapping termination condition is met.
[0005] In some embodiments, step S1 includes: If not all preset boundary vertices have been explored, the boundary vertex that is closest to the robot's current position and has not yet been explored will be determined as the target point. If all preset boundary vertices have been explored, then the center point of the region in the currently unexplored area that is closest to the robot's current position is determined as the target point.
[0006] In some embodiments, step S2 includes: Determine the temporary exploration boundary of the current map based on the current environmental map data; The target biased sampling strategy is used for iterative sampling until the generated sampling points are located on the temporary exploration boundary, and the sampling points located on the temporary exploration boundary are added to the candidate exploration point set as candidate exploration points.
[0007] In some embodiments, the target bias sampling strategy includes: Generate a random number; If the random number is less than the current sampling probability, then move the robot by a preset number of current sampling steps in the direction from the robot's current position to the target point to determine the sampling point; If the random number is greater than or equal to the current sampling probability, then Gaussian distribution sampling is performed according to the direction from the robot's current position to the target point; Wherein, the current sampling probability and / or the covariance matrix of the Gaussian distribution are dynamically adjusted according to the exploration progress; and / or, the sampling step size is dynamically adjusted between a preset maximum step size and a minimum step size according to the exploration progress.
[0008] In some embodiments, step S2 is implemented through a dual-tree fast exploration random tree (RRT) structure, which includes a global RRT tree with a preset fixed point as the root node and continuously accumulating, and a local RRT tree with the robot's current position as the root node and periodically resetting.
[0009] In some embodiments, the reachability filtering includes at least one of the following methods: Accessibility is determined by the ratio of the occupied area in the neighborhood of a candidate exploration point to the total area of the neighborhood; Reachability is determined based on the number of navigation planning failures at the candidate exploration points; Whether to permanently filter is determined based on the number of consecutive planning failures of the candidate exploration points.
[0010] In some embodiments, the multi-factor exploration priority decision is achieved by calculating the utility value U(p) of each candidate exploration point, U(p) = [α·I(p) + β·D(p) + γ·C(p)] / [R(p) + ε], where I(p) is the information gain, D(p) is the reciprocal of the distance between the candidate exploration point p and the robot's current distance, C(p) is the path tortuosity penalty, R(p) is the number of historical explorations, α, β, and γ are weighting coefficients, and ε is a preset decimal; and / or, The condition for completing the area exploration is: based on the updated environmental map data, it is determined that there are no unknown areas within the area where the target point is located that are not marked as failure points and are adjacent to the idle area.
[0011] In some embodiments, the method further includes: The region to be explored is divided into multiple grid cells; the region to be explored is determined based on all boundary vertices. The exploration status of each grid cell is determined based on the environmental map data; After all boundary vertices have been explored, guided supplementary sampling and exploration are performed on the grid cells whose exploration status is incomplete.
[0012] In a second aspect, embodiments of this application provide a computing device, including: a storage medium and a controller, wherein a computer program is stored on the storage medium, and the computer program, when executed by the controller, implements the robot mapping method as described in the first aspect.
[0013] Thirdly, embodiments of this application provide a readable storage medium storing a computer program, which, when executed by a processor, implements the robot mapping method as described in the first aspect.
[0014] The robot mapping method, computing device, and readable storage medium provided in this application include the following steps: S1, determining or updating the target point in the current exploration direction; S2, employing a target-biased sampling strategy, using the target point as the direction guide and determining a set of candidate exploration points based on the current environmental map data; S3, sequentially performing reachability filtering and multi-factor exploration priority decision on the candidate exploration point set to determine the robot's next exploration point; S4, controlling the robot to move to the next exploration point and updating the environmental map data based on sensor data; S5, repeating steps S2 to S4 until the area exploration completion conditions related to the target point are met; S6, returning to step S1 to update the target point until the global mapping termination condition is met. Thus, the target-biased sampling strategy guides random sampling to valuable unexplored directions, reducing blind sampling and redundant node generation, improving computational resource utilization efficiency and mapping exploration efficiency. Simultaneously, the reachability filtering mechanism effectively identifies and filters unreachable points, reducing navigation planning failures and preventing the robot from entering an infinite loop. Furthermore, by employing multi-factor exploration priority decision-making, local optima can be avoided, ensuring that the mapping covers all valuable unexplored areas, effectively solving the problem that traditional methods are prone to getting trapped in local optima. Attached Figure Description
[0015] Figure 1 This is a flowchart illustrating the robot mapping method provided in an embodiment of the present invention.
[0016] Figure 2 This is a schematic diagram of the boundary vertices in an embodiment of the present invention.
[0017] Figure 3 This is a schematic diagram of the structure of a computing device provided in an embodiment of the present invention. Detailed Implementation
[0018] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. In the following description relating to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements.
[0019] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, components, features, and elements with the same names in different embodiments of this application may have the same meaning or different meanings, the specific meaning of which must be determined by its interpretation in that specific embodiment or further in conjunction with the context of that specific embodiment.
[0020] It should be understood that although the terms first, second, third, etc., may be used herein to describe various information, such information should not be limited to these terms. These terms are used only to distinguish information of the same type from one another. For example, without departing from the scope of this document, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if," as used herein, can be interpreted as "when," "when," or "in response to determination." Furthermore, as used herein, the singular forms "a," "an," and "the" are intended to also include the plural forms unless the context indicates otherwise. It should be further understood that the terms "comprising," "including," indicate the presence of the stated feature, step, operation, element, component, item, kind, and / or group, but do not exclude the presence, occurrence, or addition of one or more other features, steps, operations, elements, components, items, kinds, and / or groups. The terms "or" and "and / or" as used herein are to be interpreted as inclusive, or mean any one or any combination thereof. Therefore, "A, B, or C" or "A, B, and / or C" means "any one of the following: A; B; C; A and B; A and C; B and C; A, B, and C". Exceptions to this definition will only occur if the combination of elements, functions, steps, or operations is inherently mutually exclusive in some way.
[0021] It should be understood that although the steps in the flowcharts of this application's embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some of the steps in the figures may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least a portion of the sub-steps or stages of other steps.
[0022] It should be noted that step designations such as S101 and S102 are used in this document for the purpose of more clearly and concisely describing the corresponding content, and do not constitute a substantial limitation on the order. In specific implementation, those skilled in the art may execute S102 first and then S101, etc., but these should all be within the protection scope of this application.
[0023] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.
[0024] In the following description, the use of suffixes such as "module," "part," or "unit" to denote elements is solely for the purpose of illustrative purposes and has no specific meaning in itself. Therefore, "module," "part," or "unit" may be used interchangeably.
[0025] This application provides a robot mapping method, which can be executed by a robot mapping device provided in this application. This device can be implemented in software and / or hardware, such as a server or a controller in a robot. In this embodiment, the executing entity of the method is a computing device, as shown below. Figure 1 The method provided in this embodiment includes: S1. Determine or update the target point for the current exploration direction.
[0026] The target point refers to the reference point that guides the robot's exploration direction. It can be a preset boundary vertex or the center point of an area that has not been explored.
[0027] It should be noted that before executing step S1, the computing device can acquire user-preset boundary vertices (e.g., A, B, C, D) and set a global starting point E (such as the robot's initial position). In the initial exploration phase, the boundary vertex closest to the global starting point E will be selected as the target point. Simultaneously, when the robot is located at the global starting point, the computing device can control the robot to collect surrounding sensor data through its installed vision or radar sensors and update the environmental map data based on this sensor data. This allows the environmental map data to reveal environmental information within a certain distance around the robot, such as whether it is an obstacle area, an open area, or an unknown area.
[0028] In one embodiment, step S1 includes: If not all the preset boundary vertices have been explored, the boundary vertex that is closest to the robot's current position and has not yet been explored will be determined as the target point. If all preset boundary vertices have been explored, then the center point of the region in the currently unexplored area that is closest to the robot's current position will be determined as the target point.
[0029] Boundary vertices are used to indicate the boundaries of the area to be explored. Optionally, the boundary vertices are the four vertices of the smallest bounding rectangle of the area to be explored. When all preset boundary vertices have not been explored (i.e., during the initial and main exploration phases), the computing device can determine the boundary vertex closest to the robot's current position that has not yet been explored as the target point. When all preset boundary vertices have been explored, the target point is determined by the center point of the currently unexplored area that is closest to the robot's current position. It is understood that there may be multiple currently unexplored areas, and the distance between the center point of different areas and the robot's current position may differ.
[0030] In this way, by prioritizing the exploration of the most recently unfinished boundary vertices, the robot can quickly and orderly explore the external boundaries of the environment, build the overall map skeleton, avoid getting stuck in the local areas in the early stages, and switch to the center point of the unexplored area after all vertices are completed. This enables the robot to actively search for and fill in the missing areas inside the skeleton, effectively solving the problem that traditional methods tend to ignore remote or valuable areas, and significantly improving the systematicness and completeness of the mapping.
[0031] S2. Adopt a target-biased sampling strategy, using the target point as the direction guide and based on the current environmental map data, determine the set of candidate exploration points.
[0032] Among them, the target-biased sampling strategy refers to directly sampling points along the direction from the robot's current position to the target point with a certain probability, based on random sampling, so that the growth of the fast exploration random tree is directional and the exploration towards the target point is accelerated.
[0033] In one embodiment, step S2 includes: Determine the temporary exploration boundary of the current map based on the current environmental map data; A target-biased sampling strategy is used for iterative sampling until the generated sampling points are located on the temporary exploration boundary. The sampling points located on the temporary exploration boundary are then added to the candidate exploration point set as candidate exploration points.
[0034] Specifically, the computing device can determine the temporary exploration boundary of the current map based on the current environmental map data, that is, the boundary between the known area (including obstacle area and free area) and the unknown area. Then, it can use a target bias sampling strategy to perform iterative sampling to obtain sampling points until the generated sampling points are located on the temporary exploration boundary, and add the sampling points located on the temporary exploration boundary to the candidate exploration point set.
[0035] The goal of sampling is to find new frontier points, or exploration points, near the temporary exploration boundary. Therefore, the computing device continuously performs target-biased sampling, adding each sampled point to the sampling point set until a newly sampled point lies above the current temporary exploration boundary. This indicates that the sampling has sufficiently covered the frontier of the currently known region, and only then is the newly sampled point added to the candidate exploration point set as a candidate exploration point. In this way, the candidate exploration point set is effectively limited to the local frontier region relevant to the current exploration progress, making each sampling more likely to generate valid candidate exploration points, thus improving the targeting and computational efficiency of the sampling.
[0036] In one embodiment, the target-biased sampling strategy includes: Generate a random number; If the random number is less than the current sampling probability, then move the robot by a preset number of the current sampling steps in the direction from the robot's current position to the target point to determine the sampling point; If the random number is greater than or equal to the current sampling probability, then Gaussian distribution sampling is performed according to the direction from the robot's current position to the target point; Among them, the current sampling probability and / or the covariance matrix of the Gaussian distribution are dynamically adjusted according to the exploration progress; and / or, the sampling step size is dynamically adjusted between the preset maximum step size and minimum step size according to the exploration progress.
[0037] Specifically, during each sampling, a random number is first generated. If this random number is less than a current sampling probability, a direct guidance mode is adopted. This involves starting from the robot's current position, moving one or more currently set sampling steps along the direction pointing to the target point, and directly using this position as a candidate exploration point. If the random number is greater than or equal to the current sampling probability, a Gaussian perturbation mode is adopted. This means the sampling point no longer falls precisely on the direction line, but follows a Gaussian distribution with the mean of that direction. The dispersion is controlled by the covariance matrix, which gives the sampling point a certain degree of random exploration while maintaining a general trend towards the target point. Furthermore, the current sampling probability, covariance matrix, and sampling step size are not fixed values, but are dynamically adjusted according to the exploration progress (e.g., the proportion of the explored area to the total estimated area). For example, as the exploration progresses, the sampling step size and current sampling probability are gradually reduced, shifting the exploration behavior from rapid initial expansion to finer scanning in the later stages.
[0038] When the random number is greater than or equal to the current sampling probability, it can be determined according to the formula. Calculate the corresponding sampling points , For the robot's position point, This is the directional covariance matrix, used to control the sampling concentration. The normalized target direction vector. Indicates The mean, The variance follows a normal distribution. The target point.
[0039] Among them, it can be based on the formula Adjust sampling probability , The initial sampling probability is set. The area of the explored region. This is to estimate the total area (i.e., the area of the region to be explored).
[0040] Meanwhile, the sampling step size can be adjusted according to the following formula. :
[0041] in, The upper bound of the step size. The lower bound of the step size is defined by the upper bound, which can be determined by considering sensor range, environment size, and computational efficiency. The lower bound can be set by considering environment resolution and the robot's minimum movement distance. In this way, direct sampling provides strong guidance, accelerating progress towards the target area, while Gaussian sampling maintains necessary randomness within the guidance range to discover unexpected paths. Simultaneously, parameters are dynamically adjusted to adapt to different exploration stages: initially, a large sampling step size and high sampling probability facilitate rapid exploration, while later, a small sampling step size and low sampling probability facilitate fine scanning.
[0042] In one embodiment, step S2 is implemented through a dual-tree fast exploration random tree (RRT) structure, which includes a global RRT tree with a preset fixed point as the root node and continuously accumulating, and a local RRT tree with the robot's current position as the root node and periodically reset.
[0043] The global RRT tree uses a fixed point, such as the robot's starting point, as its root node at the start of the task. It continuously grows and accumulates nodes throughout the entire mapping task cycle, forming a memory of the global exploration history. The local RRT tree uses the robot's current position as its root node, but its lifespan is shorter, typically being cleared and reset after a sub-exploration task (such as moving to a sampling point). During each sampling expansion step, new nodes are simultaneously added to both trees, leveraging the mutual growth of the two trees to accelerate spatial coverage. This balances the continuity of the global path with the efficiency of local replanning.
[0044] S3. Perform accessibility filtering and multi-factor exploration priority decision-making on the candidate exploration point set in sequence to determine the robot's next exploration point.
[0045] In this context, the robot's next exploration point is the next point it needs to move to, where it can continue acquiring sensor data and updating the environmental map. It's understandable that since candidate exploration points may be in difficult-to-reach locations such as narrow gaps or unnavigable areas, accessibility filtering and multi-factor exploration priority decision-making can be applied sequentially to the candidate exploration point set to determine the robot's next exploration point. Accessibility filtering is a mechanism for determining whether a sampling point is reachable, including geometric feature detection, navigation feedback filtering, and historical failure record filtering. Multi-factor exploration priority decision-making is a method that calculates utility values based on multiple factors such as information gain, distance, and path quality to select the optimal exploration point.
[0046] In one embodiment, reachability filtering includes at least one of the following methods: Accessibility is determined by the ratio of the occupied area in the neighborhood of a candidate exploration point to the total area of the neighborhood; Accessibility is determined based on the number of navigation planning failures at candidate exploration points; Whether to permanently filter candidates is determined by the number of consecutive planning failures at each candidate exploration point.
[0047] This can be achieved by checking the proportion of obstacle grids within a certain neighborhood (such as a 16-neighborhood) around a candidate exploration point, i.e., the ratio of the area occupied by the obstacle grids to the total area of the neighborhood. If the proportion is too high (exceeding the safety threshold), it is determined that the candidate exploration point may be located in a dead corner or narrow gap and is difficult to reach, so it is filtered out to achieve accessibility detection based on geometric features.
[0048] Candidate exploration points can be input into the robot's path planner for simulated navigation planning. If multiple navigation planning attempts fail, that is, if the number of navigation planning failures for a candidate exploration point is greater than a preset number, then the candidate exploration point is determined to be unreachable, so as to realize reachability detection based on navigation feedback.
[0049] Among them, points reported as unreachable by the navigation module in the path planner can be counted. When the number of consecutive navigation planning failures exceeds a certain threshold, the point is added to a blacklist (i.e., a set of failed points) and permanently filtered to avoid repeated attempts and save computing resources.
[0050] This greatly reduces the number of times the robot attempts to reach unreachable points, effectively preventing it from getting stuck in a vicious cycle due to repeated planning failures, and significantly improving the system's robustness and task execution efficiency.
[0051] In one embodiment, the multi-factor exploration priority decision is achieved by calculating the utility value U(p) of each candidate exploration point, U(p) = [α·I(p) + β·D(p) + γ·C(p)] / [R(p) + ε], where I(p) is the information gain, D(p) is the reciprocal of the distance between the candidate exploration point p and the robot's current distance, C(p) is the path tortuosity penalty term, R(p) is the number of historical explorations, α, β, and γ are weight coefficients, and ε is a preset decimal to prevent the denominator from being zero in the above formula.
[0052] In this approach, a utility value U(p) is calculated for each candidate exploration point p. The numerator is a weighted sum of several evaluation factors: information gain I(p) estimates the size of the unknown area that can be revealed by exploring the point; the distance factor D(p) is typically the reciprocal of the robot's distance to the point, encouraging exploration of nearby areas to save energy; and the path tortuosity penalty C(p) deducts points for points that require traversing complex paths. The denominator incorporates the number of historical explorations R(p) to lower the priority of points that have been considered multiple times but not visited, avoiding repeated decisions in certain areas. By adjusting the weighting coefficients α, β, and γ, the importance of different factors can be balanced. Thus, by comprehensively considering information gains, movement costs, and exploration equilibrium, more intelligent global exploration decisions are made, effectively avoiding local optima and redundant exploration.
[0053] S4. Control the robot to move to the next exploration point and update the environmental map data based on sensor data.
[0054] Specifically, the computing device can control the robot to move to the next exploration point, and acquire sensor data during the movement and / or after reaching the next exploration point, thereby updating the environmental map data based on the acquired sensor data, and then updating the temporary exploration boundary of the current map.
[0055] S5. Repeat steps S2 to S4 until the conditions for completing the exploration of the area related to the target point are met.
[0056] Specifically, the computing device determines whether the conditions for completing the exploration of the area related to the target point are met. If not, it returns to continue executing steps S2 to S4 until the conditions for completing the exploration of the area related to the target point are met.
[0057] The conditions for completing the area exploration are: based on the updated environmental map data, it is determined that there are no unknown areas within the target point's area that have not been marked as failure points and are adjacent to the free area.
[0058] Specifically, within the map area corresponding to the target point, check if there is a location that is a known free area, but its immediate neighboring area (adjacent pixels) is an unknown area, and this location is not near any known failure point. If no such location is found, it is considered that the area where the target point is located has been explored; otherwise, it is considered that the area where the target point is located has not been explored.
[0059] S6. Return to step S1 to update the target point until the global mapping termination condition is met.
[0060] After exploring the area where the current target point is located, you can return to step S1 to update the target point, and then continue to execute steps S2 to S5 until the global mapping termination condition is met.
[0061] The global mapping termination condition can be set according to actual needs, such as the ratio of the unexplored area to the total area of the area to be explored being lower than a preset ratio threshold, such as 2%.
[0062] In summary, the robot mapping method provided in the above embodiments, through a target-biased sampling strategy, can guide random sampling to valuable unexplored directions, reducing blind sampling and redundant node generation, and improving the efficiency of computational resource utilization and mapping exploration. Simultaneously, the reachability filtering mechanism can effectively identify and filter unreachable points, reducing the number of navigation planning failures and preventing the robot from getting stuck in an infinite loop. Furthermore, by employing multi-factor exploration priority decision-making, local optima can be avoided, ensuring that the mapping covers all valuable unexplored areas, effectively solving the problem of traditional methods easily getting trapped in local optima.
[0063] In one embodiment, the method further includes: The region to be explored is divided into multiple grid cells; the region to be explored is determined based on all boundary vertices. The exploration status of each grid cell is determined based on environmental map data; After all boundary vertices have been explored, guided supplementary sampling and exploration are performed on the grid cells whose exploration status is incomplete.
[0064] After exploring all the preset boundary vertex regions, the computing device first divides the entire area to be explored (the area defined by the boundary vertices) into multiple grid cells to form a fine-grained inspection grid. Then, based on the latest environmental map data, the exploration status of each grid cell is determined one by one (marked as "completed" or "incomplete"). For those grid cells marked as incomplete, guided supplementary sampling and exploration are performed. For example, starting from the center of the grid cell, exploration points are actively generated towards the unknown areas within it, driving the robot to selectively scan these missed areas, thus ensuring the completeness of the mapping. In this way, the mapping task can achieve and verify the preset high coverage standard, solving the problems of uncontrollable mapping completeness and easy blind spots in traditional methods.
[0065] For example, the method provided in this embodiment will be described below through a specific application scenario. This embodiment describes the specific process of a robot performing a complete mapping in an unknown office floor containing multiple rooms and corridors using the robot mapping method provided in this embodiment.
[0066] Step 1: System Initialization and Parameter Preset The operator places the robot at the floor entrance. Using the control terminal, the initial exploration area is defined by the four vertices A, B, C, and D of a rectangle (e.g., the coordinates of the four corners of the floor), and a global starting point E is set (e.g., the robot's initial position). Figure 2 As shown. Simultaneously, the preset algorithm parameters include: sampling probability. The initial value is 0.3, and the sampling step size range is... =1.5 meters =0.3 meters, and the global mapping termination threshold is when the unexplored area accounts for less than 2%. The robot starts, and its internal processor loads and runs the program of the robot mapping method provided in this embodiment.
[0067] The second step is the systematic exploration of the boundary framework. (1) Determine the initial target point. Calculate the distance between the robot's current position and the preset boundary vertices A, B, C, and D. Vertex A is found to be closest to the robot's current position, and its corresponding region (such as the lower left corner region) has not yet been explored. Therefore, vertex A is set as the first target point.
[0068] (2) Local loop exploration.
[0069] 1) Sampling: Based on the direction of the current target point A, a target-biased sampling strategy is initiated. First, if the random number of the first round of sampling is less than 0.3, a sampling point P1 is obtained by taking a step of 1.5 meters in the direction from point E to point A. If the random number of the first round of sampling is greater than 0.3, Gaussian sampling may be performed in the direction from point E to point A with a probability of 0.7. Next, the sampling step size and sampling probability are automatically adjusted, random numbers are generated again, and the next sampling point P2 is determined based on the adjusted sampling step size and sampling probability. This process is repeated until the generated sampling point is located on the temporary exploration boundary. At this point, the sampling point located on the temporary exploration boundary is added to the candidate exploration point set as a candidate exploration point.
[0070] Here, based on the currently established initial map (such as a map of the area with a radius of R near the robot), the temporary exploration boundary is determined to be roughly in front of the robot.
[0071] 2) Filtering and decision-making: Perform accessibility filtering and calculate utility value for each point in the candidate exploration point set, and select the point with the largest utility value as the next exploration point Pn.
[0072] 3) Movement and Mapping: Plan the path and drive the robot to Pn. Upon arrival, process visual sensor data such as LiDAR data, update the environmental map, illuminate a corridor area in front of the robot, and temporarily expand the exploration boundary outwards.
[0073] 4) Loop: If the area (lower left corner) of the current target point A has not been explored, return to the sampling step and repeat the filtering, decision-making and movement process.
[0074] (3) Area completion and target point switching.
[0075] The robot explores along the corridor towards the lower left corner, gradually covering area A. When it determines that there are no more "free-unknown" adjacent boundaries within area A that meet the criteria (not near the failure point), it considers area A explored. It then updates the target point, selecting the next nearest unfinished vertex as the new target point (e.g., B, the lower right corner), and returns to the local loop exploration step. This process repeats until areas C and D are also explored in sequence.
[0076] Step 3: Fine-grained completion of internal areas Once all boundary vertex regions have been marked, the main framework of the map is established, but areas such as room interiors and furniture gaps may still be missed. At this point, the entire map can be scanned to calculate the distance between the center point of all unexplored small areas (such as the doorway of an unopened room or behind a cabinet) and the robot's current position. The center point with the smallest corresponding distance (e.g., point Q, a suspected room entrance) is identified as the new target point. Simultaneously, with Q as the target point, the "sampling-filtering-decision-movement" cycle is restarted. Since the exploration progress is already high (e.g., exceeding 80%), according to dynamic adjustment rules, the sampling step size may have automatically decreased to 0.5 meters, directly sampling probability... The value was also reduced to 0.15, which made the exploration behavior more refined and cautious, suitable for operation in complex areas. The robot was guided to point Q, opened the door, and performed a complete local exploration of the room.
[0077] Step 4: Global Coverage After exploring multiple internal regions using the most valuable point strategy, the active exploration is considered essentially complete. At this point, the entire pre-defined rectangular area can be divided into grid cells with sides of 1 meter. Then, based on the final environmental map, refined exploration status judgment logic is applied to each grid cell. If a few grid cells (e.g., the corner behind a large potted plant) are found to be obscured by obstacles, they are marked as "incomplete." For these grid cells, guided sampling targets are actively generated. For example, the direction from the known free area in the grid to its unknown internal point is calculated, and a clear sampling instruction is generated based on this direction. The robot then performs final gap-filling movement and scanning according to this sampling instruction. When the status of all grid cells is marked as "complete," or the calculated proportion of globally unexplored areas is consistently below 2%, the global mapping termination condition is met, and the mapping task ends.
[0078] Based on the same inventive concept as the foregoing embodiments, the aforementioned method will be specifically described below through a specific example.
[0079] With the widespread application of robots in fields such as unmanned warehousing, disaster relief, and exploration of unknown areas, their ability to autonomously explore and construct environmental maps has become crucial. Autonomous exploration mapping methods based on fast exploratory random trees are one of the current mainstream technologies. They construct an exploration tree through random sampling to explore unknown areas in the environment.
[0080] However, traditional RRT (Real-Time Mapping) autonomous mapping methods have several significant drawbacks. First, their sampling process is completely random, resulting in a large number of invalid sampling points located in already explored areas or inside obstacles, wasting computational resources and leading to low exploration efficiency. Second, the sampling point selection mechanism is imperfect, and the robot may repeatedly attempt to go to practically inaccessible locations (such as areas completely enclosed by walls), causing the task to stall. More importantly, traditional methods lack global decision-making regarding the "exploration direction," making it easy for the robot to repeatedly explore local areas while ignoring unexplored areas in the distance, ultimately resulting in an incomplete map with omissions. Therefore, how to guide the robot to conduct directional and strategic systematic exploration while ensuring complete environmental coverage is a key problem that current technologies urgently need to solve.
[0081] To address the aforementioned issues, this example provides a robot mapping method based on directional guidance and reachability filtering using a dual-tree RRT. By improving the sampling strategy, target point filtering mechanism, and exploration priority decision-making, it solves problems such as blind exploration, unreachable target points, local optima, and incomplete coverage in existing technologies. The method includes the following steps: 1) Initialization: Start the mapping module, navigation module, and target point exploration module, load environment parameters, and initialize the dual-tree RRT (global tree and local tree).
[0082] like Figure 2 As shown, four initial boundary points A, B, C, and D are given; and a global initial exploration point E is given. The global RRT tree starts from the given map point E and is continuously accumulated without being cleared within a cycle; the local RRT tree starts from the robot's position and the tree structure is cleared after one exploration cycle is completed; where one exploration cycle is defined as the exploration of a target point from the initial point.
[0083] 2) Receive sensor data and update the 2D grid map in real time through the mapping module, marking obstacle areas, open areas, and unknown areas: .
[0084] 3) Exploration of Dual-Tree RRT Extensions A directional RRT tree exploration strategy is adopted to expand the global tree and local tree, dynamically adjusting the step size during the process to generate a collision-free path and an exploration point set F(p).
[0085] Target-biased sampling: Based on traditional random sampling, target direction guidance is introduced. The sampling strategy is as follows: First, a random number is generated; then, if the random number is less than the current sampling probability, the robot starts from its current position and moves along the direction pointing to the guided target point by a currently set sampling step size, and directly uses this position as the sampling point; if the random number is greater than or equal to the current sampling probability, then according to the formula... Calculate the corresponding sampling points , For the robot's position point, This is the directional covariance matrix, used to control the sampling concentration. The normalized target direction vector. Indicates The mean, The variance follows a normal distribution. The target point is defined as follows: Following the above method, when a sampling point is located on the temporary exploration boundary, it is added to the candidate exploration point set as a candidate exploration point. The global RRT tree starts from the specified initial point E, and the local RRT tree starts from the robot's current position. The starting point is the vertex closest to the robot's current position. Initially, the target point is selected as the vertex closest to the robot's current position. When the exploration state S of the area containing a vertex is completed, the exploration direction is switched to the other nearest vertex. If all vertices have been explored, the target point is switched to the center point of the area closest to the robot's position in the currently unexplored area, ensuring that the exploration always grows towards the unexplored area. After calculating a sampling point, the sampling probability is adjusted according to the sampling probability adjustment formula in the aforementioned embodiment, and the sampling step size is adjusted according to the corresponding sampling step size formula.
[0086] 4) Candidate exploration point filtering: Use the reachability filtering mechanism to remove unqualified candidate exploration points, so that the robot can effectively track and explore the determined exploration points later.
[0087] Geometric feature detection: A 16-neighborhood template is used to detect reachable points, and an adaptive threshold method is introduced to distinguish between feasible and infeasible points. For point p, its reachability criterion is:
[0088] in, This is the occupancy threshold within the neighborhood of point p, which can be adjusted as needed. When the ratio of the occupied area of the 16-neighborhood of point p to the total area of the 16-neighborhood of point p is greater than... At that time, it was determined to be an unreachable point.
[0089] Navigation feedback: If the navigation module reports that navigation planning for a point has failed, and the point still fails after n retries, then the point p is determined to be an unreachable point.
[0090] Historical failure record: Maintain a set of failure points If the number of consecutive planning failures at a certain point exceeds a threshold If so, it will be permanently filtered.
[0091] 5) Exploration point exploration priority decision: The utility value U(p) of the candidate exploration points obtained after filtering is calculated using a multi-factor exploration priority decision method. The optimal candidate exploration point is selected as the next exploration point. Then, the next exploration point is sent to the navigation module, which triggers the navigation module to conduct navigation and mapping exploration of the next exploration point and updates the two-dimensional grid map in real time during the walking process.
[0092] The multi-factor exploration priority decision is achieved by calculating the utility value U(p) of each candidate exploration point p, where U(p) = [α·I(p) + β·D(p) + γ·C(p)] / [R(p) + ε], I(p) is the information gain, D(p) is the reciprocal of the distance between the candidate exploration point p and the robot's current distance, C(p) is the path tortuosity penalty term, R(p) is the number of historical explorations, α, β, and γ are weight coefficients, and ε is a preset decimal to prevent the denominator from being zero in the above formula.
[0093] When the utility value of a certain area is consistently lower than the global average, a random exploration mode is triggered, forcing the exploration of remote areas. In this case, the random exploration mode has no directional constraints.
[0094] 6) Coverage inspection Repeat steps 3), 4), and 5) to update the grid exploration status in real time. When the exploration conditions are terminated, trigger the global coverage guarantee mechanism to check the exploration status of the entire area and guide the sampling of uncovered areas.
[0095] The global coverage guarantee mechanism includes: dividing the initially given exploration area into N unit grid areas, and tracking the exploration status S(c) of each unit in real time. S(c)=0 indicates that the exploration is not completed, and S(c)=1 indicates that the exploration is completed.
[0096] Explored areas: Check if map points within this area contain adjacent map regions with both "free" and "unknown" pixels. If so, determine if it is a complete exploration area. If it is within the point set, then mark it as having been explored.
[0097] Unexplored areas: If there are adjacent map areas with "idle" and "unknown" pixels, and these areas do not belong to the map area specified in the original text. If a point set is not fully explored, guided sampling will be performed again, starting from the center of the cell and using the map area adjacent to "idle" and "unknown" pixels as the direction guide to continue exploring the target point, and the exploration operation will be repeated.
[0098] 7) Termination Conditions The process stops when the proportion of unexplored areas relative to the entire area (i.e., the initially given exploration area) is below a threshold (e.g., 2%), and the autonomous mapping is complete.
[0099] Based on the same inventive concept as the foregoing embodiments, this embodiment of the invention provides a computing device, such as... Figure 3 As shown, the device includes: a processor 310 and a memory 311 storing a computer program; wherein, Figure 3 The processor 310 shown in the diagram does not indicate that there is only one processor 310, but only indicates the positional relationship of the processor 310 relative to other devices. In practical applications, there can be one or more processors 310; similarly, Figure 3 The memory 311 shown in the diagram has the same meaning, that is, it is only used to indicate the positional relationship of memory 311 relative to other devices. In practical applications, there can be one or more memories 311. When the processor 310 runs the computer program, a robot mapping method applied to the above-mentioned computing device is implemented.
[0100] The device may also include at least one network interface 312. The various components of the device are coupled together via a bus system 313. It is understood that the bus system 313 is used to implement communication between these components. In addition to a data bus, the bus system 313 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 3 The general designated all buses as Bus System 313.
[0101] The memory 311 can be volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferromagnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); magnetic surface memory can be disk storage or magnetic tape storage. Volatile memory can be random access memory (RAM), used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memory 311 described in the embodiments of the present invention is intended to include, but is not limited to, these and any other suitable types of memory.
[0102] The memory 311 in this embodiment of the invention is used to store various types of data to support the operation of the device. Examples of this data include: any computer programs used to operate on the device, such as operating systems and applications; contact data; phonebook data; messages; pictures; videos, etc. The operating system includes various system programs, such as the framework layer, core library layer, driver layer, etc., used to implement various basic services and handle hardware-based tasks. Applications can include various applications, such as media players, browsers, etc., used to implement various application services. Here, the program implementing the method of this embodiment of the invention can be included in the application.
[0103] Based on the same inventive concept as the foregoing embodiments, this embodiment also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the robot mapping method as described above.
[0104] 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.
[0105] In this document, the terms “comprising,” “including,” or any other variations thereof are intended to cover non-exclusive inclusion, which includes not only the elements listed but also other elements not expressly listed.
[0106] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A robot mapping method, characterized in that, The method includes the following steps: S1. Determine or update the target point in the current exploration direction; S2. Using a target-biased sampling strategy, the target point is used as the direction guide and the set of candidate exploration points is determined based on the current environmental map data; S3. The candidate exploration point set is sequentially subjected to accessibility filtering and multi-factor exploration priority decision to determine the next exploration point of the robot; S4. Control the robot to move to the next exploration point and update the environmental map data based on sensor data; S5. Repeat steps S2 to S4 until the conditions for completing the exploration of the area related to the target point are met. S6. Return to step S1 to update the target point until the global mapping termination condition is met.
2. The method according to claim 1, characterized in that, Step S1 includes: If not all preset boundary vertices have been explored, the boundary vertex that is closest to the robot's current position and has not yet been explored will be determined as the target point. If all preset boundary vertices have been explored, then the center point of the region in the currently unexplored area that is closest to the robot's current position is determined as the target point.
3. The method according to claim 1, characterized in that, Step S2 includes: Determine the temporary exploration boundary of the current map based on the current environmental map data; The target biased sampling strategy is used for iterative sampling until the generated sampling points are located on the temporary exploration boundary, and the sampling points located on the temporary exploration boundary are added to the candidate exploration point set as candidate exploration points.
4. The method according to any one of claims 1 to 3, characterized in that, The target biased sampling strategy includes: Generate a random number; If the random number is less than the current sampling probability, then move the robot by a preset number of current sampling steps in the direction from the robot's current position to the target point to determine the sampling point; If the random number is greater than or equal to the current sampling probability, then Gaussian distribution sampling is performed according to the direction from the robot's current position to the target point; Wherein, the current sampling probability and / or the covariance matrix of the Gaussian distribution are dynamically adjusted according to the exploration progress; and / or, the sampling step size is dynamically adjusted between a preset maximum step size and a minimum step size according to the exploration progress.
5. The method according to claim 4, characterized in that, Step S2 is achieved through a dual-tree fast exploration random tree (RRT) structure, which includes a global RRT tree with a preset fixed point as the root node and continuously accumulating, and a local RRT tree with the robot's current position as the root node and periodically resetting.
6. The method according to claim 1, characterized in that, The reachability filtering includes at least one of the following methods: Accessibility is determined based on the ratio of the occupied area in the neighborhood of the candidate exploration point to the total area of the neighborhood; Reachability is determined based on the number of navigation planning failures at the candidate exploration points; Whether to permanently filter is determined based on the number of consecutive planning failures of the candidate exploration points.
7. The method according to claim 5, characterized in that, The multi-factor exploration priority decision is achieved by calculating the utility value U(p) of each candidate exploration point, U(p) = [α·I(p) + β·D(p) + γ·C(p)] / [R(p) + ε], where I(p) is the information gain, D(p) is the reciprocal of the distance between the candidate exploration point p and the robot's current distance, C(p) is the path tortuosity penalty, R(p) is the number of historical explorations, α, β, and γ are weighting coefficients, and ε is a preset decimal; and / or, The condition for completing the area exploration is: based on the updated environmental map data, it is determined that there are no unknown areas within the area where the target point is located that are not marked as failure points and are adjacent to the idle area.
8. The method according to claim 2, characterized in that, The method further includes: The region to be explored is divided into multiple grid cells; the region to be explored is determined based on all boundary vertices. The exploration status of each grid cell is determined based on the environmental map data; After all boundary vertices have been explored, guided supplementary sampling and exploration are performed on the grid cells whose exploration status is incomplete.
9. A computing device, characterized in that, include: A storage medium and a controller, wherein a computer program is stored on the storage medium, and the computer program, when executed by the controller, implements the robot mapping method as described in any one of claims 1 to 8.
10. A readable storage medium, characterized in that, The system contains a computer program that, when executed by a processor, implements the robot mapping method as described in any one of claims 1 to 8.
