Indoor differential robot autonomous mapping optimization method, storage medium and equipment

By using grid maps, cost maps and breadth-first search algorithms in the independent map construction technology of differential robots, combining navigation information and dynamic adjustment of weight factors, the independent map construction process of the robot in complex environments is optimized, and the exploration efficiency and Navigation fluency.

CN119472692AInactive Publication Date: 2025-02-18JIANGSU ZHONGKE ZHONGDE INTELLIGENT TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510019165.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-07
Publication Date
2025-02-18
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The existing independent mapping technology for differential robots is inefficient in exploration in complex environments, easily trapped in local optimization, and frequent navigation re-planning, resulting in high calculation consumption in the mapping process.

Method used

Using an indoor differential robot's independent map optimization method, by constructing raster maps and cost maps, combining navigation information, using the breadth-first search algorithm for cutting-edge boundary search, calculating the cost function to select navigation points, and dynamically adjusting the potential cost Weighting factor and angle cost weighting factor.

Benefits of technology

It reduces the calculations during the map creation process, improves exploration efficiency, reduces the speed reduction caused by approaching the target point and the time-consuming time caused by restarting, and enhances the smoothness of the robot's navigation in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119472692A_ABST
    Figure CN119472692A_ABST
Patent Text Reader

Abstract

The invention discloses an indoor differential robot autonomous mapping optimization method, a storage medium and equipment, and relates to the technical field of robot autonomous mapping methods, and the method comprises the following steps: constructing a grid map, and sending the grid map in real time; the sent grid map is converted into a costmap cost map; a breadth-first search algorithm is used for carrying out leading edge boundary search, and obtained leading edges are stored in a leading edge array; the cost of the first N leading edges in the leading edge array is calculated through a cost function, the leading edge area with the minimum cost is selected for navigation, and a navigation point is selected as the mass center of the leading edge area; monitoring the navigation state, starting the next frontier boundary search when approaching the target point, and adding the frontier of the target point into the blacklist when the navigation fails; and when the boundary exploration cannot explore the boundary or all the boundaries are added into the blacklist, the autonomous mapping is ended. Calculation can be reduced, navigation information is combined, and the technical effect of improving exploration efficiency is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robot autonomous mapping methods, and in particular to an autonomous mapping optimization method for an indoor differential-speed robot. Background Art

[0002] In recent years, with the increasing popularity of the robotics industry, a wide variety of robots have appeared in indoor scenarios, ranging from helping with food and package delivery to sweeping and mopping floors, making them very convenient to use. Currently, most robots require a map of their surroundings before use. This scanning and map construction typically requires manual movement or remote control of the robot, which is time-consuming and user-friendly when the map is large. Some environments are inaccessible to humans, making it impossible to construct a complete map. To address these issues, robots need to be able to autonomously explore and construct a complete map of an unknown environment.

[0003] In the existing technology, the autonomous mapping technology of differential robots is based on the ROS robot system framework, using the slam algorithm for positioning and mapping, the move_base algorithm for navigation, and the explore_lite algorithm for autonomous exploration.

[0004] While autonomous mapping technology for differential robots is available, the solution is still immature and requires significant optimization. For example, a simple frontier selection strategy can lead to local optima, causing the robot to linger in a confined area and be unable to effectively enter new areas. Furthermore, the lack of integrated navigation information leads to low exploration efficiency in complex environments due to frequent navigation and replanning. Summary of the Invention

[0005] The purpose of the present invention is to provide an autonomous mapping optimization method for an indoor differential robot, which can reduce the calculation in the mapping process and can combine navigation information to reduce the time consumed by the robot's speed reduction due to approaching the target point and the time consumed by the robot re-accelerating after reaching the target point, thereby improving the exploration efficiency.

[0006] The above technical objectives of the present invention are achieved through the following technical solutions: An indoor differential robot autonomous mapping optimization method includes the following steps: Build raster maps and send them in real time; Convert the sent raster map into a costmap; Use the breadth-first search algorithm to search the frontier boundary, and save the obtained frontier in the frontier array, where the distance from each frontier to the robot has a sorting feature from near to far; The cost function is used to calculate the cost of the first N frontiers in the frontier array, and the frontier with the minimum cost is selected. The centroid of the frontier is used as the navigation point, and navigation is performed according to the navigation point. Monitor the navigation status, start the next frontier search when approaching the target point, and add the frontier of the target point to the blacklist if navigation fails; Autonomous mapping ends when boundary exploration fails to find any boundaries or all boundaries are added to the blacklist.

[0007] Furthermore, the grid map is constructed by a cartographer based on the SLAM positioning and mapping method, and the data received by the cartographer includes lidar data and imu data.

[0008] Furthermore, the cost function is, ; Among them, d min is the minimum distance from the frontier to the robot; s is the size of the frontier; r is the resolution of the cost map; α is the weighting factor for potential cost, β is the weighting factor for gain, γ is the weighting factor for angular cost; ω is the angular difference between the robot and the starting point of the frontier.

[0009] Furthermore, β is set to 0.

[0010] Furthermore, d min Obtained via Manhattan distance.

[0011] Furthermore, the potential cost weight factor α and the angle cost weight factor γ in the cost function are dynamically adjusted through artificial intelligence technology.

[0012] Furthermore, the step of dynamically adjusting the potential cost weight factor α and the angle cost weight factor γ includes: Use reinforcement learning to dynamically adjust α and γ, interact with the environment and adjust weights based on reward signals, and automatically optimize strategies through continuous experimentation and learning. The model factors of reinforcement learning include state space, action space, and reward function. The state space includes the size of the frontier, the distance from the robot to the frontier, and the current map. The state space is represented as a vector: S = [frontier_distance, map]; The action space includes adjusting α and γ; the continuous action space A=[α,γ] where α,γ∈[0,10]; The reward function is R(S, A)=w1·exploration_gain, where exploration_gain is the exploration gain and w1 is the weight, indicating the relative importance of different objectives.

[0013] Furthermore, the next frontier boundary search is started when approaching the target point, specifically: a target point status feedback is sent when the distance from the target point is set, and when the front edge search receives the status feedback, the next frontier boundary search is started.

[0014] A storage medium stores a computer program, which, when executed by a processor, implements the autonomous mapping optimization method for an indoor differential robot.

[0015] A device includes a processor and a memory for storing a program executable by the processor. When the processor executes the program stored in the memory, the method for autonomous mapping optimization of an indoor differential robot is implemented.

[0016] In summary, the present invention has the following beneficial effects: The order of the searched boundary points is arranged from the nearest to the farthest distance from the machine. The final calculated frontier array is sorted from the nearest to the farthest. This application requests path planning from the path planner. The number of requested points is not all, but the first N. The specific path length can be obtained, which reduces a lot of calculations compared to requesting all boundary points. Increasing the angle cost makes the robot explore in the direction of the front of the robot as much as possible, reducing the probability of rotating and turning in place, so that the robot explores the innermost part of the room as much as possible, and then combines d min Cost, you can basically complete the exploration in the same room and then continue to explore other areas; In order to increase the fluency, the navigation information is also combined. There is no need to wait until the frontier centroid target point is reached before continuing the navigation to the next frontier centroid target point. The combined navigation move_base sends a signal to inform that the target point is about to be reached when the navigation approaches the set distance of the target point. At this time, the exploration can continue to calculate the next frontier centroid that needs to be navigated for navigation. This can reduce the time taken by the robot to slow down due to approaching the target point and the time taken by the robot to restart after reaching the target point. During the robot's navigation process, it is very likely that the target point is unreachable due to dynamic obstacles and other reasons. When the navigation report fails, the target point is added to the blacklist in time. Even if the point is found in the next exploration, navigation to the target point will not be initiated. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 This is a schematic diagram of the method flow in an indoor differential robot autonomous mapping optimization method according to this embodiment; Figure 2 This is a schematic diagram of a converted grid map in an indoor differential robot autonomous mapping optimization method according to this embodiment; Figure 3This is a schematic diagram of obtaining a frontier starting point in an indoor differential robot autonomous mapping optimization method according to this embodiment. DETAILED DESCRIPTION

[0018] The specific embodiments of the present invention are further described below in conjunction with the accompanying drawings. This embodiment does not constitute a limitation of the present invention. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0019] An indoor differential robot autonomous mapping optimization method, such as Figure 1 As shown, it includes the following steps: Step S10, constructing a grid map and sending it in real time; The grid map is constructed by Cartographer based on the SLAM positioning and mapping method. Cartographer receives and processes data from multiple sensors (LiDAR, IMU, odometer, etc.). The data includes LiDAR data (scanning the surrounding environment to generate point clouds and provide high-precision distance measurement), IMU data (providing acceleration and angular velocity for inferring attitude changes) and odometer (optional, providing incremental changes in translation and rotation). Among them, Cartographer is an open source SLAM framework developed by Google, which is particularly suitable for building real-time 2D and 3D maps. It uses laser scanning and IMU (inertial measurement unit) fusion algorithms to achieve high-precision pose estimation and map construction in complex indoor and outdoor environments.

[0020] Specifically, in the preprocessing stage, Cartographer synchronizes the received data to a unified time base and filters the noise; it decomposes the entire map into multiple local submaps. Each submap is a dense map of a limited area. The construction process is as follows: Step S11, point cloud matching: Cartographer matches each frame of the point cloud with the current submap, uses a probability grid to represent the submap, and calculates the relative pose of the robot through scan matching technology; Step S12, IMU integration and prior estimation: IMU data is used for short-term posture prediction (Motion Model Prediction); Step S13, local optimization: use fast laser point cloud and submap matching (such as nonlinear optimization algorithm based on Ceres Solver) to adjust the pose of the current frame; Step S14: Generate a submap: Whenever a submap reaches a certain size or the robot moves a certain distance, Cartographer freezes the current submap and starts generating a new one. To reduce local cumulative errors, Cartographer uses a global optimization method based on Pose Graph Optimization. Step S15, pose graph construction: each submap and frame is treated as a node, and the constraints between nodes are provided by point cloud matching, IMU integration and loop closure detection; Step S16, Loop Closure Detection: When the robot returns to the previous area, Cartographer checks the matching relationship between the current point cloud and the historical submap and generates new constraints to eliminate drift; Step S17, global optimization: Use a nonlinear optimization method (such as Ceres Solver) to globally adjust the pose graph to correct for accumulated errors. Cartographer uses a dense probability grid to represent the environment. Each cell in the grid stores a probability value, indicating the likelihood that the location is occupied, i.e., the occupancy probability. The occupancy grid is updated based on sensor data. A low probability indicates that the location is unoccupied, and a high probability indicates that the location is occupied. Step S18, map synthesis: finally generating a complete global map by merging multiple submaps; Open the mapping mode according to the official configuration. This positioning and mapping solution relies on lidar data and imu data to build a map grid and send the grid to other modules in real time for use in the next step.

[0021] Step S20 converts the sent grid map into a costmap to prepare for frontier exploration; specifically, the map data sent by the slam module is processed. After processing the costmap in the move_base function package, each grid has a cost attribute with a value of 0-255, where 0 represents an idle grid, 255 represents an unknown grid, 254 represents a fatal obstacle grid, and 1-253 represents an obstacle expansion layer grid; The cost attribute of the above grid can also be obtained or further modified by other existing technologies, and the expansion cost value decreases as the distance between the robot and the obstacle increases; Figure 2 As shown, the white area represents the open area that can be driven, the black area represents the obstacle area that is occupied by obstacles, and the gray area represents the unknown area that has not been detected.

[0022] It can also define different tags based on the cost value of the cost map, for example: Fatal: Indicates that there is an actual obstacle in the cell; if the robot's center is in the cell, the robot will inevitably collide with the obstacle; Inscribed: This means the distance from the cell to the obstacle is less than the radius of the robot's inscribed circle. If the robot's center is in a cell with an "Inscribed" cost or higher, the robot will inevitably collide with the obstacle. Possibly circumscribed: This means that a cell is closer to an obstacle than the robot's circumscribed circle radius, but closer than the inscribed circle radius. If the robot's center is located in a cell with a cost equal to or higher than "Possibly circumscribed," the robot will not necessarily collide with the obstacle, depending on the robot's orientation. Free space: space without obstacles; Unknown: Unknown space.

[0023] Step S30, searching for the frontier boundary of the unknown area; It includes calculating the frontier boundary of the grid map, using a breadth-first search algorithm, and saving the obtained frontier in a frontier array. Specifically, starting from the grid at the robot's current position, it is added to the search queue and marked as visited. Each time the search queue is taken out for the first time, its 8 neighboring grids are searched to see if they are idle. The idle grids and unvisited grids are added to the search queue. If the grid is an unknown grid and there is at least one idle grid in the 4 neighborhoods (up, down, left, and right) of the current neighboring grid, the current neighboring grid is marked as a boundary grid, and the boundary grid is added to the boundary search queue for a second breadth-first search to obtain a boundary area, which is then stored in a candidate boundary array. The above steps are repeated until the search queue is empty, and all boundary areas can be found.

[0024] Step S40, selection of a frontier boundary navigation point; The cost function is used to calculate the cost of the first N (in this embodiment, N=10) frontiers in the frontier array, and the frontier area with the minimum cost is selected for navigation. The navigation point is the centroid of the frontier area; it describes the average of the coordinates of each point in the frontier area grid, which is the center position of the frontier area. The centroid coordinates are sent to move_base for navigation; Figure 3 As shown, the circles represent all the frontier starting points traversed.

[0025] Among them, in the frontier boundary array calculated by the breadth-first search algorithm in step S30, the distance from each frontier to the robot has a sorting feature from near to far, and the distance d from the frontier starting position to the robot position in the first 10 elements (frontiers) in the array is minThe path is planned by the path planner of the requested navigation. The angle difference ω between the robot and the starting point of the frontier is calculated by the angle difference between the line connecting the initial point of the frontier and the robot position and the robot orientation. The range can be [-π, π]; Through the cost function , calculate the costs of these 10 frontiers.

[0026] This application is based on the explore algorithm. The exploration strategy is mainly implemented through the Frontier Search Algorithm, a typical boundary-based exploration strategy. The basic idea is to find the boundary (frontier) between the known area and the unknown area, and then select appropriate frontier points as exploration targets. The cost of each point in the frontier is calculated using a cost function that combines the minimum distance and the size of the frontier, which can be adjusted by a weight factor. Specifically expressed as , where d min is the minimum distance from the frontier to the robot; s is the frontier size (i.e., the number of grids in the frontier); r is the resolution of the cost map; α is the weight factor of the potential cost, and β is the weight factor of the gain; this cost function is designed to balance the efficiency and effectiveness of exploration, so that the robot can explore the unknown environment more effectively; However, during the application process, it is necessary to increase the robot and frontier angle cost, so that the final cost function is , γ is the angle cost weight factor; ω is the angle difference between the robot and the starting point of the frontier; It can use artificial intelligence technology to dynamically adjust the weights. The methods can be selected as follows: 1. Rule-based system: Use some heuristic rules to adjust the weights, such as adjusting different weight factors according to the density of obstacles or the size of unknown areas; 2. Reinforcement learning: This approach treats weight adjustment as a policy optimization problem, learning the optimal weight combination through interaction between the robot and the environment. 3. Model prediction: Collect a large amount of exploratory data and annotate the optimal weight combination (through experiments or simulations); then train a model through supervised learning to predict the optimal weight factors in real time; 4. Adaptive optimization algorithm: Use genetic algorithm or particle swarm optimization to achieve real-time optimization weights; 5. Neural Networks and Online Learning: Use neural networks to directly output weight factors based on environmental characteristics (maps, frontier distributions, etc.).

[0027] However, since the minimum distance from the frontier to the robot in the original explore algorithm cost function uses the Euclidean distance (the length between two points) and does not take into account obstacle information in the path, using this distance to determine the closest distance to the robot is not accurate. To optimize this problem, in this embodiment, dmin is obtained using the Manhattan distance, which is used for obstacle avoidance planning. However, since there may be a large number of frontier points generated by exploration, even dozens or hundreds of points, if each point requires a request to the navigation path planner to plan the path and calculate the length, the calculation will consume a lot of resources; based on this situation, the corresponding improvement measure of this embodiment is to combine the frontier search method to find the nearest frontier point.

[0028] Because we use a breadth-first search algorithm, the order of the searched boundary points must be arranged from closest to farthest from the machine. Therefore, the final calculated frontier boundary array is sorted from closest to farthest. However, since we only know the distance and not the specific scalar, we cannot calculate the cost of each frontier area using the cost function. To solve this problem, we can request a path planner. The number of points requested is not all, but the first N, such as the first 10 points in the boundary array. This can provide the specific path length and reduce a lot of calculations compared to requesting all boundary points.

[0029] The goal of autonomous indoor mapping is to quickly scan all locations and build a map. This requires scanning every room area. However, the s frontier size parameter in the cost function is not conducive to rapid map construction. Instead, it tries to explore areas with large frontier sizes, that is, areas with more unknown areas. Setting its weight factor β to 0 eliminates the frontier size cost, that is, removes the influence of small unknown areas, avoids exploring back and forth between two different rooms, and reduces exploration efficiency.

[0030] In some other embodiments, the weight factors α and γ are adjusted according to the corresponding weights through actual testing, and the specific steps include: Use reinforcement learning (RL) to dynamically adjust α and γ, interact with the environment, and adjust weights based on reward signals, automatically optimizing strategies through continuous experimentation and learning. Reinforcement learning model factors include state space, action space, and reward function. The state space includes the size of the frontier, the distance from the robot to the frontier, and the current map. The state space is represented as a vector: S = [frontier_distance, map]; The action space includes adjusting α and γ; the continuous action space A=[α,γ] where α,γ∈[0,10]; The reward function includes exploration gain (exploration_gain), which in this embodiment includes the growth of known areas and the efficiency of exploration; The reward function is R(S, A) = w1·exploration_gain, where w1 is the weight, indicating the relative importance of different objectives.

[0031] Reinforcement learning algorithms can be selected from existing Q-Learning, Deep Q Network (DQN), Proximal Policy Optimization (PPO), Deep Deterministic Policy Gradient (DDPG), etc., which are existing technologies and will not be described in detail here.

[0032] To implement the reinforcement learning model, this example uses DQN to implement reinforcement learning to adjust weights. An environment class is created in ROS to simulate a robot's exploration task, outputting states and accepting actions (i.e., adjusting α and γ). The agent is trained using DQN to learn, and through interaction with the environment, the agent adjusts weights and optimizes its exploration behavior. For detailed instructions, please refer to the application of reinforcement learning algorithms in existing technologies. Different reinforcement learning algorithms (such as Q-Learning, DQN, and PPO) can be selected based on task complexity to gradually improve exploration performance. The state space design, action space design, and reward function in reinforcement learning can be customized, and the appropriate space and function should be selected based on the application.

[0033] Step S50: Change the front navigation point according to the navigation information: Monitor the navigation status and start the next frontier search when approaching the target point. At the same time, add the frontier area of ​​the target point to the blacklist if navigation fails. In this embodiment, the next frontier boundary search starts when approaching the target point. Specifically, the state feedback of approaching the target point is increased through move_base, and the target point state feedback is sent when the distance from the target point is set (2m). When the frontier search receives the state feedback, the next frontier boundary search is started, and the cost function calculation of the next frontier navigation point is continued and the minimum cost frontier is selected for navigation. At the same time, when the frontier search receives the feedback from move_base and fails to navigate to the target point, the frontier area of ​​the target point is added to the blacklist to prevent the frontier from being selected for navigation next time.

[0034] Step S60: until the boundary exploration fails to find any boundary or all boundaries are added to the blacklist, the autonomous mapping ends.

[0035] This embodiment uses an indoor robot exploring a map as an example, mainly to improve the original exploration algorithm, which can greatly optimize the exploration time. In order to achieve better results, the weight factor can also be adjusted in a more detailed manner.

[0036] This embodiment also discloses a storage medium storing a computer program. When the computer program is executed by a processor, the above-mentioned indoor differential robot autonomous mapping optimization method is implemented.

[0037] This embodiment also discloses a device, including a processor and a memory for storing a program executable by the processor. When the processor executes the program stored in the memory, the above-mentioned indoor differential robot autonomous mapping optimization method is implemented.

[0038] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Those skilled in the art may make various modifications or equivalent substitutions to the present invention within the essence and protection scope of the present invention, and such modifications or equivalent substitutions should also be deemed to fall within the protection scope of the technical solution of the present invention.

Claims

1. An indoor differential robot autonomous mapping optimization method, characterized by: The following steps are included: Build raster maps and send them in real time; Convert the sent raster map into a costmap; Use the breadth-first search algorithm to search the frontier boundary, and save the obtained frontier in the frontier array, where the distance from each frontier to the robot has a sorting feature from near to far; The cost of the first N frontiers in the frontier array is calculated through the cost function, and the frontier with the smallest cost is selected. The centroid of the frontier is used as the navigation point, and navigation is performed according to the navigation point; Monitor the navigation status, start the next frontier boundary search when approaching the target point, and add the frontier of the target point to the blacklist when navigation fails; Autonomous mapping ends when boundary exploration fails to find any boundaries or all boundaries are added to the blacklist.

2. The method for autonomous mapping optimization of an indoor differential robot according to claim 1, characterized in that: The grid map is constructed by a cartographer in a SLAM-based positioning and mapping method, and the data received by the cartographer includes lidar data and imu data.

3. The method for autonomous mapping optimization of an indoor differential robot according to claim 1, characterized in that: The cost function is specifically: ; Among them, d min is the minimum distance from the frontier to the robot; s is the size of the frontier; r is the resolution of the cost map; α is the weight factor for potential cost, β is the weight factor for gain, γ is the weight factor for angular cost; ω is the angular difference between the robot and the starting point of the frontier.

4. The method for autonomous mapping optimization of an indoor differential robot according to claim 3, characterized in that: Set β to 0.

5. The method for autonomous mapping optimization of an indoor differential robot according to claim 3 or 4, characterized in that: d min Obtained through Manhattan distance.

6. The method for autonomous mapping optimization of an indoor differential robot according to claim 4, characterized in that: The potential cost weight factor α and the angle cost weight factor γ in the cost function are dynamically adjusted through artificial intelligence technology.

7. The method for autonomous mapping optimization of an indoor differential robot according to claim 6, characterized in that: The steps of dynamically adjusting the potential cost weight factor α and the angle cost weight factor γ include: Use reinforcement learning to dynamically adjust α and γ, interact with the environment and adjust weights based on reward signals, and automatically optimize strategies through continuous experimentation and learning; The model factors of reinforcement learning include state space, action space and reward function; The state space includes the size of the frontier, the distance from the robot to the frontier, and the current map. The state space is represented as a vector: S = [frontier_distance, map]; The action space includes adjusting α and γ; the continuous action space A=[α,γ] where α,γ∈[0,10]; The reward function is R(S, A)=w1·exploration_gain, where exploration_gain is the exploration gain and w1 is the weight, indicating the relative importance of different objectives.

8. The method for autonomous mapping optimization of an indoor differential robot according to claim 1, characterized in that: The next frontier boundary search starts when approaching the target point, specifically: sending target point status feedback when the distance from the target point is set, and starting the next frontier boundary search when the front edge search receives the status feedback.

9. A storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, an autonomous mapping optimization method for an indoor differential robot as claimed in any one of claims 1 to 8 is implemented.

10. A device comprising a processor and a memory for storing a program executable by the processor, characterized in that: When the processor executes the program stored in the memory, an autonomous mapping optimization method for an indoor differential robot as described in any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Unmanned vehicle adaptive path planning method based on dynamic window method and near-end strategy

    CN116679719A

  • Unmanned vehicle autonomous mapping method, system and device and storage medium

    CN117782055A

  • Self-adaptive trajectory tracking method for model predictive control parameters of autonomous underwater vehicle

    CN118192646A

  • Method for quickly and autonomously exploring and mapping by mobile robot

    CN118550282A

  • Sea wave multi-model fusion method based on reinforcement learning

    CN119249366A