A mobile robot autonomous environment exploration method and system in an unknown environment

By updating global and local maps, and combining obstacle occlusion information and reverse tracing trajectory generation, the problem of repeated exploration and low efficiency of mobile robots in unknown environments is solved, and efficient and accurate environmental exploration is achieved.

CN119270837BActive Publication Date: 2025-12-19HUAZHONG UNIV OF SCI & TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411294139.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-14
Publication Date
2025-12-19
Estimated Expiration
2044-09-14

AI Technical Summary

Technical Problem

Existing mobile robots suffer from problems such as repetitive exploration, getting trapped in local optima, and incomplete environmental exploration when autonomously exploring unknown environments, resulting in low efficiency and coverage.

Method used

The system updates the global real map, global exploration map, and obstacle occlusion map based on robot sensor data. It generates new trajectories by backtracking the trajectory, calculates the geometric center of unexplored areas using the local exploration map, and judges the exploration value by combining the obstacle occlusion map. This reduces blind spots and logical misjudgments, and improves exploration efficiency and coverage.

Benefits of technology

It reduces repetitive exploration and redundant paths, improves the efficiency and coverage of autonomous environmental exploration by robots in unknown environments, enhances the accuracy and adaptability of the environmental exploration process, and enables rapid and efficient completion of environmental exploration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119270837B_ABST
    Figure CN119270837B_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of intelligent robot environment exploration, and discloses a mobile robot autonomous environment exploration method and system in an unknown environment. The autonomous environment exploration method generates a new exploration trajectory branch through reverse trajectory backtracking until the entire environment is completely explored. In the local environment exploration process, the concept of an obstacle occlusion map is introduced. The area that cannot be accurately perceived by the robot sensor within the sensing range of the robot sensor due to being occluded by an obstacle is set as an obstacle occlusion area. In this way, various logical misjudgments caused by the unknown factors caused by the occlusion of the robot sensor by the obstacle are reduced, and the accuracy of the environment exploration process and the adaptability to complex unknown environments are enhanced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of intelligent robot environment exploration, and more particularly relates to a mobile robot autonomous environment exploration method and system in an unknown environment. BACKGROUND

[0002] With the rapid development of science and technology, intelligent mobile robots have become a key force in many fields such as industrial automation, service industry, military and scientific exploration, and are widely used in disaster rescue, park inspection, geological exploration, environment reconstruction and other tasks. In the execution of these tasks, robot autonomous environment exploration technology plays a crucial role, which not only can reduce the labor burden, improve the efficiency and safety of task execution, but more importantly, it can also replace humans in extreme or dangerous environments to perform tasks.

[0003] Robot autonomous exploration technology in unknown environments includes robot exploration mapping, target point selection, path planning and navigation technology in unknown environments, and more complex dynamic obstacle avoidance of robots in unknown environments. Existing strategies for mobile robot autonomous exploration of unknown environments mainly include: environment exploration methods based on boundary ideas, environment exploration methods based on sampling and environment exploration methods based on graph search. In recent years, with the development of neural networks, deep reinforcement learning technology has also been applied to the field of robot autonomous exploration in unknown environments. However, the existing mobile robot autonomous exploration method in unknown environments has problems such as repeated exploration, easy to fall into local optimum, incomplete environment exploration, and needs to be improved in terms of environment exploration efficiency and coverage. SUMMARY

[0004] In view of the above defects or improvement needs of the prior art, the present application provides a mobile robot autonomous environment exploration method and system in an unknown environment, which aims to solve the problem of low efficiency and coverage of existing robot unknown environment exploration.

[0005] To achieve the above-mentioned purpose, according to one aspect of the present application, a mobile robot autonomous environment exploration method in an unknown environment is provided, which comprises the following steps:

[0006] (1) Based on the current position of the robot and the corresponding sensor data, update the global real map, the global exploration map and the obstacle occlusion map; wherein the obstacle occlusion map is a map that additionally adds an unknown area representing the occlusion of obstacles on the basis of the exploration map;

[0007] (2) Obtain a local exploration map in the vicinity of the current position of the robot, and mark the current obstacle occlusion region on the local exploration map using the current sensor data, and then determine whether the proportion of the unexplored region in the local exploration map updated with the obstacle occlusion region is less than a set threshold, if yes, it is considered that the vicinity of the current position of the robot is completely explored, and step (5) is performed; otherwise, it is considered that there is still an unexplored part in the vicinity of the current position of the robot, and step (3) is performed;

[0008] (3) Determine the next action of the robot according to the distribution of the unexplored region in the obtained local exploration map;

[0009] (4) The robot performs the next action to move to a new position, obtains new sensor data and uses the new sensor data to update the three kinds of maps; at the same time, the new position of the robot is recorded in the current trajectory list, and step (2) is performed;

[0010] (5) Traverse the historical positions of the current trajectory in reverse from the current position of the robot, that is, backtrack in reverse, and in each step of traversal, determine whether the historical position corresponding to the step is the first point of the current trajectory of the robot, if yes, step (8) is performed; otherwise, step (6) is performed;

[0011] (6) Obtain a local occlusion map corresponding to the historical position point corresponding to the current step, and determine whether the obtained local occlusion map has exploration value, if yes, the historical position point is a backtracking point in the current backtracking process, and step (7) is performed, if not, step (5) is performed;

[0012] (7) The robot moves to the backtracking point, and generates a new trajectory starting from the backtracking point; at the same time, the current trajectory of the robot is updated to the new trajectory, and the new trajectory is recorded in the trajectory list, and step (1) is performed;

[0013] (8) Determine whether the current trajectory is the first trajectory in the trajectory list, if not, switch the backtracking process from the current trajectory to the parent trajectory of the current trajectory, and continue to backtrack in reverse along the parent trajectory from the junction of the two trajectories, and continue to perform step (5); if yes, the global environment exploration is completed.

[0014] Further, the global exploration map refers to an environment map for the entire scene to be explored. The robot updates the global exploration map during the environment exploration process and uses the new exploration map for the next step of exploration. The global exploration map updating method is as follows: assuming that the actual sensing range of the robot sensor is L, a value l0 smaller than L is taken as the exploration range of the robot; if the robot does not detect an obstacle, the space between the robot and L-l0 is marked as explored; if an obstacle is detected, the position of the obstacle is updated as an obstacle, and the space between the robot and the obstacle is still updated as explored.

[0015] Further, the local exploration map refers to a piece of exploration map obtained by cutting a local area around the position of the robot from the global exploration map. After obtaining the local exploration map, an obstacle blocking area is added in the local exploration map. After adding the obstacle blocking information, the local exploration map is composed of an explored area, an unexplored area and an obstacle blocking area. Whether there is further exploration value in the local area where the robot is currently located is determined by calculating the proportion of the unexplored area in the entire local exploration map. If the proportion is less than a threshold set in advance, it is determined that the local area has no further exploration value, and step (5) is continued to be executed. Otherwise, it is considered that the local area still has further exploration value, and step (3) is jumped to for repeated execution of the local exploration behavior.

[0016] Further, the next action of the robot is determined by calculating the geometric center of the unexplored area in the local exploration map.

[0017] Further, when the local exploration map is a two-dimensional grid occupancy map, the calculation formula of the geometric center of the unexplored area is as follows:

[0018]

[0019]

[0020] wherein x i and y i represent the row coordinate and column coordinate of each grid corresponding to the unexplored area in the local exploration map, respectively, and T represents the number of all grids corresponding to the unexplored area.

[0021] The next position to which the robot should go is determined according to the relative position relationship between the geometric center of the unexplored area and the current position of the robot.

[0022] Further, for each step of backtracking, the local blocking map corresponding to the historical position point corresponding to the current step is obtained, and whether the unexplored area in the obtained local blocking map has exploration value is determined according to the size of the proportion of the unexplored area.

[0023] Further, if the proportion of unexplored areas in the local occlusion map corresponding to the historical position point is greater than a set threshold, it is considered that the current local occlusion map has exploration value, and the robot needs to start a new local exploration from the historical position point, which is called a backtracking point, and step (8) is continued. If the proportion of unexplored areas in the local exploration map corresponding to the historical position point is less than or equal to the set threshold, it is considered that it has no exploration value, and step (5) is continued.

[0024] Further, in step (3), the displacement size of each step of the robot is adjusted by adding a constant factor.

[0025] The application also provides a mobile robot autonomous environment exploration system in an unknown environment, which comprises a memory and a processor, the memory stores a computer program, and the processor executes the computer program to execute the mobile robot autonomous environment exploration method in an unknown environment as described above.

[0026] The application also provides a computer readable storage medium, which stores machine executable instructions, and the machine executable instructions, when called and executed by a processor, cause the processor to implement the mobile robot autonomous environment exploration method in an unknown environment as described above.

[0027] Overall, compared with the prior art, the mobile robot autonomous environment exploration method and system in an unknown environment provided by the application mainly have the following beneficial effects:

[0028] 1. The process of generating a new generated trajectory by reverse backtracking trajectory has a clear and describable logical sequence, and there is no random sampling process or other random factors, thereby reducing the blindness of the robot in the environment exploration process, reducing repeated exploration and redundant paths caused by random factors, and thereby improving the efficiency and coverage rate of the robot autonomous environment exploration in an unknown environment.

[0029] 2. The concept of obstacle occlusion map is introduced in the local environment exploration process, and the area that cannot be accurately perceived by the robot sensor within the sensing range due to occlusion by obstacles is set as an obstacle occlusion area. This way reduces various logical misjudgments caused by unknown factors due to occlusion of the robot sensor by obstacles, and enhances the accuracy and adaptability of the environment exploration process to complex unknown environments.

[0030] 3. Through the trajectory and its corresponding occlusion map as a tool to record the robot's travel process and control the robot's backtracking process, so that the robot can quickly and efficiently find a new valuable backtracking point without moving itself, and then go to the point and start a new local exploration, which can reduce the length of the robot's actual movement and improve the efficiency of exploration in unknown environments.

[0031] 4. A new exploration trajectory branch is generated by reverse backtracking trajectory until the entire environment is fully explored. This reverse thinking is different from the general idea of existing methods in principle, and has good adaptability to unknown environment exploration tasks that cannot be planned in advance. BRIEF DESCRIPTION OF DRAWINGS

[0032] Figure 1 is a flowchart of a mobile robot autonomous environment exploration method in an unknown environment provided by the present application;

[0033] Figure 2 is a specific flowchart of a mobile robot autonomous environment exploration method in an unknown environment provided by an embodiment of the present application;

[0034] Figure 3 (a), (b), and (c) in are schematic diagrams of the global real map, the global exploration map, and the obstacle occlusion map mentioned in the present application, respectively;

[0035] Figure 4 is a schematic diagram of the local exploration process, the reverse backtracking process, and the growth process of the new trajectory mentioned in the specific embodiment of the present application;

[0036] Figure 5 is a schematic diagram of the complete unknown environment exploration process and the corresponding trajectory and backtracking point mentioned in the specific embodiment of the present application;

[0037] Figure 6 is a schematic diagram of the robot unknown environment exploration result mentioned in the specific embodiment of the present application. DETAILED DESCRIPTION

[0038] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in combination with the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and do not limit the present application. In addition, the technical features involved in each embodiment of the present application described below can be combined with each other as long as they do not conflict with each other.

[0039] Please refer to Figure 1 The mobile robot autonomous environment exploration method provided by the present application mainly includes the following steps:

[0040] Step 1, obtain the current position of the robot in the space to be explored and the corresponding sensor data, and initialize the current trajectory and the trajectory list.

[0041] wherein the current trajectory refers to the trajectory in which the robot is currently located, and the robot can only and must be on one trajectory at the same time. The trajectory list refers to the set of all trajectories generated in the process of exploring the environment by the robot. During the process of exploring the map, the robot finds a backtracking point each time, generates a new trajectory, and starts to explore a new local area with the backtracking point as the starting point of the new trajectory. Except for the first trajectory generated, each trajectory has its parent trajectory, which refers to the trajectory in which the first point of a trajectory is located before the trajectory is generated.

[0042] Step 2, update the global real map, the global exploration map, and the obstacle blocking map based on the current position of the robot and the corresponding sensor data; wherein the obstacle blocking map is a map that additionally adds an unknown area representing an area blocked by an obstacle to the exploration map.

[0043] The environment map is updated using sensor data and the current position information of the robot, including the global real map, the global exploration map, and the obstacle blocking map. The global exploration map refers to the environment map of the entire scene for exploration. The robot continuously updates the global exploration map during the process of environmental exploration, and uses the new exploration map for the next step of exploration. The global exploration map updating method is as follows: assuming that the actual perception range of the robot sensor is L, take a value l0 less than L as the exploration range of the robot. If the robot does not detect an obstacle, the space between the robot and L-l0 is marked as explored, and if an obstacle is detected, the position of the obstacle is updated as an obstacle, and the space between the robot and the obstacle is still updated as explored.

[0044] The global real map is the real map of the environment drawn by the robot during the exploration process. The difference between it and the global exploration map is the difference in the sensor perception range used when drawing the map. In order to ensure the integrity of the exploration and mapping, while reducing the interference of noise information in the environment, the farthest distance that can be detected by the sensor used to update the map in the global exploration map is smaller than the real sensor. When the robot completes the exploration using the global exploration map, the exploration coverage of the real exploration map will be higher. In particular, the global real environment map mentioned in the embodiment is only used to represent the environment map drawn by the actual perception ability of the robot sensor, and is generally used for method result comparison and performance analysis.

[0045] The obstacle-occluded map is a map that is obtained by adding an unknown area (hereinafter referred to as an occluded area) representing an area occluded by an obstacle to an exploration map. Specifically, a part of an area behind an obstacle that can be perceived by the robot is marked as the occluded area on the basis of the exploration map. In particular, in the process of establishing the obstacle-occluded map, since the occluded area is simultaneously affected by the distribution of the obstacle and the relative position relationship between the robot and the obstacle, each trajectory corresponds to an obstacle-occluded map that is specific to the trajectory and represents the occlusion effect of the obstacle on the robot's perception of the environment when the robot moves along the trajectory.

[0046] Step 3: Obtain a local exploration map in the vicinity of the current position of the robot, and mark the current obstacle-occluded area on the local exploration map using the current sensor data. Then, determine whether the proportion of the unexplored area in the local exploration map that has been updated with the obstacle-occluded area is less than a set threshold. If yes, it is considered that the area in the vicinity of the current position of the robot has been fully explored, and the process proceeds to step 7. Otherwise, it is considered that there is still an unexplored part in the area in the vicinity of the current position of the robot, and the process proceeds to step 4.

[0047] The local exploration map refers to a piece of exploration map that is cut from the global exploration map with the position of the robot as the center. After obtaining the local exploration map, the same method as that used in step 2 to establish the occluded map is used to add the obstacle-occluded area to the local exploration map. After adding the obstacle-occluded information, the local exploration map is composed of the explored area, the unexplored area, and the obstacle-occluded area. Then, the proportion of the unexplored area in the local exploration map is calculated to determine whether there is further exploration value in the local area where the robot is currently located. If the proportion is less than a pre-set threshold, it is determined that the local area has no further exploration value, and the process can proceed to step 7. Otherwise, it is considered that there is still a value for further exploration in the local area, and the process jumps to step 4 to repeat the local exploration behavior.

[0048] Step 4: Determine the next action of the robot according to the distribution of the unexplored area in the obtained local exploration map.

[0049] The next action of the robot is calculated according to the distribution of the unexplored area in the local exploration map. In this embodiment, the next action of the robot is determined by calculating the geometric center of the unexplored area in the local exploration map. Taking a common two-dimensional grid occupancy map as an example, the calculation formula of the geometric center of the unexplored area is as follows:

[0050]

[0051] wherein x i and y irespectively represent the row coordinate and column coordinate of each grid corresponding to the unexplored region in the local exploration map, and T represents the number of all grids corresponding to the unexplored region.

[0052] According to the relative position relationship between the calculated geometric center of the unexplored region and the current position of the robot, the position to which the robot should go next can be determined. In particular, the displacement size of each step of the robot can be adjusted by adding a constant factor according to actual needs.

[0053] Step 5, the robot performs the next action to move to the new position, obtains new sensor data and uses it to update the three kinds of maps; at the same time, the new position of the robot is recorded in the current trajectory list.

[0054] The robot performs the action calculated in step 4, and then updates the environment map and the current trajectory information using the sensor data and the new position information. For the environment map, according to the description in step 2, the global exploration map, the global real map and the obstacle blocking map can be updated respectively.

[0055] Step 6, go to step 3.

[0056] Repeat steps 3-5 until the unexplored region in the local exploration map is less than the set threshold in step 3, which is considered to complete the current local region exploration, and the current local exploration process is ended, and step 7 can be started.

[0057] Step 7, starting from the current position of the robot, the historical positions of the current trajectory are traversed in reverse, that is, backtracking, and in each step of traversal, it is judged whether the historical position corresponding to the step is the first point of the current trajectory of the robot, if yes, go to step 10; otherwise, go to step 8.

[0058] When the robot completes a local region exploration process, starting from the current position on the blocking map corresponding to the current trajectory of the robot, each historical position of the current trajectory is traversed in reverse (hereinafter referred to as backtracking). In each step of traversal, it is necessary to judge whether the point is the first point of the current trajectory, if yes, step 10 is executed, otherwise step 8 is executed.

[0059] Step 8, obtain the local blocking map corresponding to the historical position point corresponding to the current step, and judge whether the obtained local blocking map has exploration value, if yes, the historical position point is the backtracking point of this backtracking process, and go to step 9, if no, go to step 7.

[0060] For each step of backtracking, the local occlusion map corresponding to the historical position point corresponding to the current step is obtained, and whether it has exploration value is judged according to the proportion of the unexplored area in the obtained local occlusion map. Specifically, if the proportion of the unexplored area in the local occlusion map corresponding to the historical position point is greater than the set threshold, it is considered that the current local occlusion map has exploration value, and the robot needs to start a new local exploration from the historical position point. The historical position point is called a backtracking point, and step 9 can be continued. If the proportion of the unexplored area in the local exploration map corresponding to the historical position point is less than or equal to the set threshold, it is considered that it has no exploration value, and it is turned to step 7 to continue backtracking.

[0061] Step 9, the robot moves to the feasible backtracking point, and generates a new trajectory with the feasible backtracking point as the starting point; at the same time, the current trajectory of the robot is updated to the newly generated trajectory, and the newly generated trajectory is recorded to the trajectory list, and step 2 is turned to.

[0062] The robot needs to move to the backtracking point in step 8, generate a new trajectory with the backtracking point as the starting point, and perform a new local exploration from the point. At the same time, the current trajectory of the robot needs to be updated to the newly generated trajectory, and the newly generated trajectory also needs to be recorded to the trajectory list; then, step 2 is jumped to and the subsequent steps are executed in turn.

[0063] Step 10, it is judged whether the current trajectory is the first one in the trajectory list; if not, it is indicated that the current trajectory has a parent trajectory, and the backtracking process is switched from the current trajectory to the parent trajectory of the current trajectory, and the backtracking is continued from the junction of the two trajectories in the reverse direction of the parent trajectory, and step 7 is continued to be executed. If yes, it is indicated that all trajectories have been backtracked, and there is no backtracking point that meets the backtracking condition, and at this time it is considered that the global environment exploration is completed, and the whole environment exploration task is ended.

[0064] Step 7, because it is judged in step 7 that the historical position point is the first point of the current trajectory, it is needed to continue to judge whether the current trajectory is the first trajectory in the trajectory list, if yes, it is indicated that the first point of the first trajectory has been backtracked, and there is no trajectory point that can be backtracked, and at this time it is considered that the global environment exploration is completed, and the global exploration process is ended; if not, it is indicated that the current trajectory has a parent trajectory, and the backtracking process is switched from the current trajectory to the parent trajectory of the current trajectory, and the backtracking process is continued from the junction of the two trajectories, that is, step 7 is executed.

[0065] The application also provides a mobile robot autonomous environment exploration system in an unknown environment, the system comprising a memory and a processor, the memory storing a computer program, and the processor executing the computer program executes the mobile robot autonomous environment exploration method in an unknown environment as described above.

[0066] The application further provides a computer readable storage medium storing machine executable instructions, which, when invoked and executed by a processor, cause the processor to implement the method for autonomous environment exploration of a mobile robot in an unknown environment as described above.

[0067] The application will be further described in detail below with reference to a mobile robot equipped with a two-dimensional laser radar sensor. Please refer to Figure 2 , which specifically includes the following steps:

[0068] Step 1, build a simulation environment of a space to be explored and a robot model, obtain the current position of the robot in the space to be explored and laser radar data, and initialize a current trajectory and a trajectory list. The current trajectory refers to a trajectory in which the robot is currently located, and the trajectory list refers to a set of all trajectories generated in the process of exploring the environment by the robot. In the process of exploring the map, the robot generates a new trajectory every time a backtracking point is found, representing a new round of local area exploration starting from the backtracking point. Each trajectory has some basic attributes, including a unique name, a parent trajectory name, an intersection point serial number, a trajectory point list, and a serial number of the current position of the robot in the trajectory point list, and an obstacle blocking map unique to the trajectory. Among them, when a trajectory takes a certain point on another trajectory as a starting point, the latter is called the parent trajectory of the former. In particular, the name of the parent trajectory of the first trajectory generated by the robot in the process of exploring the unknown environment is recorded as -1, and the name of the first trajectory is recorded as 0. The names of other new trajectories generated thereafter increase in natural numbers. The trajectory point list is a list recording all coordinate values passed by the robot on the trajectory. The first value of the trajectory point list is the coordinate of the intersection point of the trajectory and its parent trajectory.

[0069] Step 2, update the environment map based on the laser radar data and the current position information of the robot, including a global exploration map, a global real map, and an obstacle blocking map. As shown in Figure 3 , the update process of the three environment maps is shown in (a), (b), and (c). Figure 3 (a), (b), and (c) in Figure 3 correspond to the update processes of the global real map, the global exploration map, and the obstacle blocking map, respectively.

[0070] The global exploration map refers to an environment map for exploration of the entire scene. The robot updates the global exploration map during the environment exploration process and uses the new exploration map for the next step of exploration. The global exploration map updating method is as follows: assuming that the real exploration range of the robot sensor is L, if the robot does not detect an obstacle, the space between the robot and L-l0 is updated as explored (l0 is a relatively small value compared with L, which can be modified according to the actual situation); if an obstacle is detected, the position of the obstacle is updated as an obstacle, and the space between the robot and the obstacle is updated as explored. Specifically, as shown in (b) of FIG. 1, the white part represents the explored area, the gray part represents the unexplored area, and the black part represents the obstacle edge. Figure 3

[0071] The global real map is an environment real map drawn by the robot during the exploration process. The difference between the global real map and the global exploration map is that the sensor sensing range used for drawing the map is different. In order to ensure the integrity of the exploration and mapping, and at the same time reduce the interference of noise information in the environment, the farthest distance that can be detected by the laser radar used for updating the map in the global exploration map is smaller than that of the real laser radar. When the robot completes the exploration using the global exploration map, the exploration coverage of the real exploration map will be higher. Specifically, as shown in (a) of FIG. 2, the white part represents the explored area, the gray part represents the unexplored area, and the black part represents the obstacle edge. In particular, the real environment map is not used for exploration in the embodiment, but only used for result comparison and method performance analysis. Figure 3

[0072] The obstacle occlusion map is used to solve the problem that the exploration effect is poor due to the obstacle occlusion when the robot explores an unknown environment. When the laser radar carried by the robot detects an obstacle, since the laser radar can only perceive the distance between the obstacle and the robot, the state of the space behind the obstacle cannot be accurately described. This uncertainty of information will lead the exploration method to make wrong decisions in this scenario, affecting the effect of environment exploration. The obstacle occlusion map updating method is as follows: within the sensor detection range of the robot, if no obstacle is detected, the space between the robot and the maximum sensor detection range is updated as explored; if an obstacle is detected, the space between the robot and the obstacle is updated as explored, and the space between the obstacle and the maximum sensor detection range is updated as an occlusion area. Specifically, as shown in (c) of FIG. 3, the white part represents the explored area, the gray part represents the unexplored area, and the black part represents the obstacle occlusion area. Figure 3

[0073] ​​​Each trajectory generated during the exploration process has its own unique obstacle occlusion map. This is because the obstacle occlusion area in the obstacle occlusion map is related to the robot's position, and the robot's exploration process will also affect the obstacle occlusion maps of other trajectories. Therefore, when updating the obstacle occlusion map, it is necessary not only to update the obstacle occlusion map of the current trajectory in the above way, but also to update the obstacle occlusion maps of other trajectories in the same way as the exploration map update method.

[0074] Step 3: Extract a local exploration map of the current location from the updated global exploration map, and update the obstacle occlusion area of ​​the local map using radar data. The local exploration map is a fixed-size map extracted from the global exploration map with the robot's current location as the center. Similarly, the size of the local exploration map can be adjusted according to the actual situation. The local exploration map extracted from the global exploration map cannot be directly used for environmental exploration because it does not include obstacle occlusion information. Instead, it needs to be updated using the current sensor information. The specific update method is as follows: if no obstacle is detected, no update is needed; if an obstacle is detected, the space between the obstacle and the maximum detection range of the sensor in the local exploration map is updated as the obstacle occlusion area. After the update, the local exploration map consists of the explored area, the unexplored area, and the obstacle occlusion area. Next, by calculating the proportion of gray pixels in the local exploration map and determining whether it is less than a pre-given threshold (taking 5% as an example), it can be determined whether the local area is still worth exploring. If the proportion of gray area is less than 5%, the local area is considered to have been explored completely, and proceed to step 7; otherwise, the local area is considered not to have been explored completely, and proceed to step 4.

[0075] In step 4, based on the local exploration map generated in step 3, the geometric center method is used to calculate the robot's next action. The specific steps are as follows: First, taking a two-dimensional grid map as an example, the geometric center of the unexplored area is calculated using the following formula:

[0076]

[0077] Where, x i y i These represent the row and column coordinates of each grid cell in the unexplored area on the local exploration map, respectively, and T represents the number of unexplored area grid cells in the grid map.

[0078] The local exploration map center (i.e., the robot's current location) and the geometric center of the unexplored area (x) center y center The coordinate deviation can be used to determine the robot's optimal next displacement. The specific displacement can be linearly corrected based on the actual robot's mobility and exploration task requirements, and does not need to be a constant value.

[0079] In step 5, the robot moves along the result of step 4, and then updates the environment map and the trajectory information using the sensor information and the new position information. Specifically, the coordinate of the position point where the robot is located after moving is added to the current trajectory point list, and the serial number of the current point in the trajectory point list is incremented by 1. For the environment map, the global exploration map, the global real map, and the obstacle blocking map are updated according to step 2.

[0080] Steps 3-5 are repeatedly executed until it is determined in step 3 that the proportion of unexplored areas in the local exploration map is less than 5%, at which time it is considered that the current local area exploration is complete, the loop is exited, and step 7 is executed. In combination Figure 4 As shown, Figure 4 for representing the trajectory generation process in the robot environment exploration process, wherein the point S where the upper left five-pointed star is located represents the starting point of the robot environment exploration, the hollow small circle represented by the letter represents the position of the robot when the local area exploration is completed, that is, the last point of each trajectory. The solid circle represented by the number represents the backtracking point. Figure 4 In step 3, SA is the first trajectory of the robot environment exploration. The robot starts from point S and continuously executes steps 3-5 to reach point A. At this time, the proportion of unexplored areas in the local exploration map that the robot can observe will be lower than the given threshold, which means that the robot has completed the first local area exploration. The trajectory SA generated by this local exploration is the first trajectory.

[0081] Step 7, reverse backtracking process. When the robot completes a local area exploration, it starts to traverse the history points of the current trajectory in reverse from the current position on the obstacle blocking map corresponding to the trajectory. In each step of the traversal, first determine whether the point currently being traversed is the first point of the current trajectory. If so, execute step 11; if not, reverse to the previous point and execute step 8 based on the point. In combination Figure 4 As shown, if the current position is point A, determine whether point A is the first point of trajectory SA. If so, execute step 11; if not, access the previous point of point A.

[0082] Step 8, obtain the local exploration map corresponding to the point with the decreased serial number and determine whether it has exploration value. Specifically, a rectangular area around the point is extracted from the obstacle blocking map of the current trajectory described in step 2 as the local exploration map, and then it is determined whether the proportion of unexplored areas in the local exploration map is less than the given threshold (for example, 6%). If the proportion of unexplored areas is greater than 6%, it is considered that the point still has exploration value, the point is recorded as a backtracking point, and step 9 is executed. If the proportion of unexplored areas is less than or equal to 6%, it is considered that the point has no exploration value, the reverse backtracking is continued, and step 7 is returned to and executed. In combination Figure 4As shown in the figure, point 1 is the first backtracking point that meets the conditions.

[0083] Step 9: The robot moves to the backtracking point mentioned in Step 8 and generates a new trajectory starting from that point. As mentioned above, when creating this new trajectory, its basic information needs to be recorded simultaneously, and the new trajectory also needs to be added to the trajectory list of the entire exploration task. Next, the robot needs to use the first point of this new trajectory as the starting point to jump back to Step 2 to begin a new round of local exploration, until this local exploration process also ends. (Combined with...) Figure 4 As shown, 1B is a new trajectory generated from trajectory SA. Trajectory 1B explores some areas that its parent trajectory SA had not explored.

[0084] Step 10, following Step 7: Since Step 7 determined that this point is the first point of the current trajectory, we should now continue to determine if the current trajectory is the first trajectory in the trajectory list. Specifically, we check if the parent trajectory name of the current trajectory is -1. If it is, it means the current trajectory has no parent trajectory, i.e., we have backtracked to the first point of the first trajectory, and there are no more points to backtrack to. At this point, we consider the global environment exploration complete and end the exploration. If the parent trajectory name of the current trajectory is not -1, it means the current trajectory has a parent trajectory. We switch the backtracking process from the current trajectory to its parent trajectory and continue backtracking, executing Step 7. Figure 4 As shown, if the current point is point 1, the corresponding current trajectory is 1B, and its parent trajectory is trajectory SA. The current trajectory is set to SA. Starting from point 1, the trajectory continues to backtrack backwards along trajectory SA until a second backtracking point that meets the conditions is found. Figure 4 Point 2 in the map. Continue in this manner until the environmental exploration is complete.

[0085] by Figure 5 Taking a scenario with multiple rooms and obstacles as an example, the robot starts its environmental exploration from point S in the upper left corner. The multiple trajectories generated during this environmental exploration process, following the steps and implementation methods described above, are as follows: Figure 5 As shown. Specifically, in this exploration task, the robot's key movement processes are as follows: Starting point S → Trajectory SA → Backtracking point 1 → Trajectory 1B → Backtracking point 2 → Trajectory 2C → Backtracking point 3 → Trajectory 3D → Backtracking point 4 → Trajectory 4E → Backtracking point 5 → Trajectory 5F → Backtracking point 6 → Trajectory 6G → Backtracking point 7 → Trajectory 7H → Backtracking point 8 → Trajectory 8I → Backtracking point 9 → Trajectory 9J → Backtracking point 10 → Trajectory 10K → Backtracking point 11 → Trajectory 11L → Starting point S. The global real-world map of the environment, drawn based on the actual data from the robot's onboard 2D LiDAR, is as follows: Figure 6 As shown, it can be observed that the entire environment has been fully explored.

[0086] Those skilled in the art can easily understand that the above description is only the preferred embodiment of the present application, and is not intended to limit the present application. Any modification, equivalent replacement and improvement made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A method for autonomous environment exploration of a mobile robot in an unknown environment, characterized in that: The method includes the following steps: (1) Based on the robot's current position and corresponding sensor data, update the global real map, global exploration map and obstacle occlusion map; among which, the obstacle occlusion map is an additional map added to the exploration map to represent unknown areas occluded by obstacles; (2) Obtain a local exploration map near the robot's current location, and use the current sensor data to mark the current obstacle occlusion area on the local exploration map. Then determine whether the proportion of unexplored areas in the updated local exploration map of obstacle occlusion areas is less than a set threshold. If so, it is considered that the area near the robot's current location has been explored and proceed to step (5); otherwise, it is considered that there are still unexplored parts in the area near the robot's current location and proceed to step (3). (3) Determine the robot's next action based on the distribution of unexplored areas in the obtained local exploration map; (4) The robot performs the next action to move to the new location, acquires new sensor data and uses it to update the three maps; at the same time, the robot's new location is recorded to the current trajectory list and then proceeds to step (2); (5) Starting from the robot's current position, traverse the historical positions of the current trajectory in reverse, i.e. backtrack in reverse. In each step of the traversal, determine whether the historical position corresponding to the step is the first point of the robot's current trajectory. If yes, go to step (8); otherwise, go to step (6). (6) Obtain the local occlusion map corresponding to the historical location point of the current step, and determine whether the obtained local occlusion map has exploration value. If it has exploration value, the historical location point is the backtracking point of this backtracking process, and proceed to step (7). If it has no exploration value, proceed to step (5). (7) The robot moves to the backtracking point and generates a new trajectory starting from the backtracking point; at the same time, the robot's current trajectory is updated to the new trajectory, and the new trajectory is recorded in the trajectory list, and then proceeds to step (1). (8) Determine whether the current trajectory is the first one in the trajectory list; if not, switch the backtracking process from the current trajectory to the parent trajectory of the current trajectory, and continue backtracking in the reverse direction of the parent trajectory from the intersection of the two trajectories, and continue to execute step (5); if yes, the global environment exploration is completed.

2. The method for autonomous environment exploration of a mobile robot in an unknown environment as described in claim 1, characterized in that: A global exploration map is an environmental map of the entire scene used for exploration. The robot continuously updates the global exploration map during environmental exploration and uses the new exploration map to proceed with the next step of exploration. The global exploration map update method is as follows: Assume that the actual perception range of the robot's sensors is L, and now take a value l0 less than L as the robot's exploration range; if the robot does not detect an obstacle, then the space between the robot and L–l0 is marked as explored; if an obstacle is detected, then the location of the obstacle is updated to an obstacle, and the space between the robot and the obstacle is still updated as explored.

3. The method for autonomous environment exploration of a mobile robot in an unknown environment as described in claim 1, characterized in that: A local exploration map is an exploration map captured on the global exploration map with the robot's location as the center. After obtaining the local exploration map, obstacle occlusion areas are added to the local exploration map. After adding obstacle occlusion information, the local exploration map consists of explored areas, unexplored areas, and obstacle occlusion areas. The proportion of unexplored areas in the local exploration map to the entire local exploration map is calculated to determine whether there is still value in further exploration in the local area where the robot is currently located. If the proportion is less than a pre-set threshold, it is determined that the local area has no value for further exploration, and step (5) is continued. Otherwise, it is considered that the local area still has value for further exploration, and step (3) is skipped to repeat this local exploration behavior.

4. The method for autonomous environment exploration of a mobile robot in an unknown environment as described in claim 1, characterized in that: The robot's next move is determined by calculating the geometric center of the unexplored area in the local exploration map.

5. The method for autonomous environment exploration of a mobile robot in an unknown environment as described in claim 4, characterized in that: When the local exploration map is a two-dimensional grid occupying the map, the formula for calculating the geometric center of the unexplored area is: Where, x i y i These represent the row and column coordinates of each grid cell in the local exploration map for the unexplored area, respectively, and T represents the number of all grid cells corresponding to the unexplored area; The next location the robot should go to is determined based on the relative position between the calculated geometric center of the unexplored area and the robot's current location.

6. The method for autonomous environment exploration of a mobile robot in an unknown environment as described in any one of claims 1-5, characterized in that: For each backtracking step, obtain the local occlusion map corresponding to the historical position point of the current step, and determine whether it has exploration value based on the proportion of unexplored areas in the obtained local occlusion map.

7. The method for autonomous environment exploration of a mobile robot in an unknown environment as described in claim 6, characterized in that: If the proportion of unexplored areas in the partial occlusion map corresponding to the historical location point is greater than the set threshold, the current partial occlusion map is considered to have exploration value, and the robot needs to start a new local exploration from the historical location point. This historical location point is called the backtracking point, and the robot continues to execute step (8). If the proportion of unexplored areas in the partial exploration map corresponding to the historical location point is less than or equal to the set threshold, it is considered to have no exploration value, and the robot goes to step (5) to continue backtracking. At the same time, if the backtracking process has continued to the starting point of the entire environmental exploration task, it is determined that there are no more points that can be backtracked, and the entire environmental exploration task is considered to be completed.

8. The method for autonomous environment exploration of a mobile robot in an unknown environment as described in any one of claims 1-5, characterized in that: In step (3), the displacement of the robot at each step is adjusted by adding a constant factor.

9. A mobile robot autonomous environment exploration system for unknown environments, characterized in that: The system includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it performs the autonomous environment exploration method for mobile robots in unknown environments as described in any one of claims 1-8.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores machine-executable instructions, which, when invoked and executed by a processor, cause the processor to implement the autonomous environment exploration method for a mobile robot in an unknown environment as described in any one of claims 1-8.

Citation Information

Patent Citations

  • System and method for robot to autonomously seek source and explore in unknown environment

    CN115727852A

  • Mobile robot autonomous exploration mapping method suitable for indoor unknown environment

    CN118500375A