Mobile robot path planning method and system suitable for complex environment and application
By obtaining map information in complex environments and calculating the shortest safe path, the existing path planning algorithm solves the problems of long search time, many turning points, and difficult to avoid concave obstacles in complex environments, and achieves efficient and safe path planning effects.
Patent Information
- Application Number
- CN202411439337.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-15
- Publication Date
- 2025-02-25
AI Technical Summary
The existing path planning algorithms have problems in complex environments such as long search time, many path turning points, difficult to avoid concave obstacles, and failure to reserve safe distances, resulting in unsatisfactory path planning results.
A mobile robot path planning method is proposed for complex environments. By obtaining the environment map, the starting point and end point of the path are determined and converted into a binary map. When planning the path, the shortest safe path is calculated based on the location and boundary information of the obstacles to ensure that the robot reserves a safe distance during the path planning process.
It realizes efficient calculation of safe and collision-free paths in complex environments, reduces path turning points, avoids the problem of falling into concave areas, and improves path planning efficiency and performance.
Smart Images

Figure CN119512074A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of mobile robot path planning, and relates to a mobile robot path planning method, system and application suitable for complex environments. Background Art
[0002] With the rapid development of unmanned systems, robots have played an increasingly important role in people's work and life. Mobile robots are widely used in industrial manufacturing, agriculture, cleaning, medical treatment, underwater operations and logistics. Path planning is a key technology in mobile robot unmanned systems. It can calculate a safe and collision-free path from the robot's starting position to the target end position based on specific obstacle information in different environments. Path planning is essentially an NP problem. Traditional path planning algorithms are prone to problems such as long calculation time, high complexity, and easy to fall into local extreme values when dealing with NP problems. Heuristic algorithms have been developed to address the difficulties faced by traditional path planning algorithms in path planning. Among them, meta-heuristic algorithms find processing methods close to the optimal solution by searching the solution space, but their calculations are highly random, and they cannot obtain unique solutions or real-time solutions. Currently, the most commonly used heuristic algorithm in path planning is the A* algorithm. However, the A* algorithm has the disadvantages of long search time, many turning points in the search path, being trapped in a concave area when facing a concave obstacle, and failing to reserve a safe distance when encountering an obstacle. Its path planning effect in a complex environment is not ideal, and there is a problem that the route obtained by path planning is not the optimal path for the mobile robot. Summary of the invention
[0003] The A* algorithm, the most widely used heuristic algorithm in the existing path planning, has the disadvantages of long search time, many turning points in the searched path, falling into a concave area when facing a concave obstacle, and failing to reserve a safe distance when encountering an obstacle. Its path planning effect in complex environments is not ideal, and there is a problem that the route obtained by path planning is not the optimal path for the mobile robot. The present invention proposes a mobile robot path planning method, system and application suitable for complex environments.
[0004] The specific technical solution of a mobile robot path planning method suitable for complex environments of the present invention is as follows:
[0005] Step 1: Obtain an environment map, determine a path planning starting point and a path planning end point in the environment map, and convert the map into a binary map;
[0006] Step 2: When performing path planning, there are usually two situations: one is that when there is no obstacle between the straight line segment between the starting point and the end point of the path planning in the environmental map, the path connecting the starting point and the end point of the path planning is directly used as the planned path; the other is that when there are one or more obstacles between the straight line segment between the starting point and the end point of the path planning in the environmental map, one or more segmented paths are determined according to the positions of the obstacles, and each group of segmented paths connected end to end between the starting point and the end point of the path planning are spliced as the alternative planned path;
[0007] Step 3: Output the planned robot path.
[0008] Specifically,
[0009] The mobile robot obtains map environment information based on the currently provided map, including the robot position, path starting point, path end point, and obstacle information. Assume that the path starting point is A(x s ,y s ), the end point of the path is B(x g ,y g ), the present invention refers to the path starting point A and the path end point B as the global path starting point A and the global path end point B, and connecting point A and point B to obtain a straight line segment Define n irregular obstacles between the global path starting point A and the global path end point B, define the safe distance r reserved when the mobile robot encounters an obstacle, define each global path that does not pass through the obstacle as an alternative path, and a map may contain one or more reachable global paths. Then proceed as follows:
[0010] Step 1: Use analytic geometry to find the straight line segment based on the coordinates of point A and point B The two-point equation of (yy s )(x g -x s )=(xx s )(y g -y s ).
[0011] Step 2: When n is 0, the straight line segment The corresponding line segment is the path planning result, jump to step 9. Otherwise, based on the straight line segment The two-point form equation can be used to calculate the corresponding general form straight line equation and point-slope form straight line equation.
[0012] Step 3: Align the straight line segments For each obstacle passed through, its position on the straight line segment is calculated based on the obstacle boundary point information The two farthest boundary points on both sides are defined as obstacle boundary points. The obstacle passed through is obtained to obtain the obstacle boundary point set.
[0013] Step 4: Update the obstacle boundary point set based on the map environment boundary information, and filter out the points in the obstacle boundary point set that are also the map environment boundary. When the corresponding obstacle boundary points are all map environment boundary points, after the obstacle boundary point set is updated, there are no obstacle boundary points in the boundary point set, that is, there is no collision-free reachable path between any global path start point and global path end point, jump to step 10; when judging the obstacle boundary point set in the segmented path, if the obstacle boundary point set is empty at this time, the straight segment of this segmented path is an unreachable path, jump to step 9.
[0014] Step 5: For the current obstacle boundary point set Calculate the difference between the straight line segment and Vertical distance:
[0015]
[0016] Step 6: Select line segments from the obstacle boundary point set based on the calculation in step 5 The farthest obstacle boundary points on both sides are denoted as and
[0017] Step 7: Based on the obstacle boundary point C' l,max , C' r,max Coordinate values, boundary points to straight line segments Distance perpendicular to the line segment The properties and reserved safety distance of the straight line segment Moving boundary points on both sides and
[0018] Step 8: Based on the global path starting point A, move the boundary point O l,max and O l,max , the global path end point B, obtain the global path composed of straight line segments and The global path that does not pass through obstacles is added to the set of candidate paths.
[0019] Step 9: If there is a global path through the obstacle, treat each local path straight line segment that constitutes the global path through the obstacle as a straight line segment Jump to step 1 to update this straight line segment. Otherwise, select the shortest path among the alternative paths as the planned path.
[0020] Step 10: If there is no safe collision-free path from the start point to the end point, output null; otherwise, output the planned safe collision-free path.
[0021] Furthermore, the step 2 includes the following specific steps:
[0022] When n is 0, the straight line segment Without passing through any obstacles, according to the line segment axiom, the line segment between two points is the shortest. That is, the optimal path for path planning from the current path starting point A to the current path end point B, jump to step 9. When n>=1, the straight line segment Pass through the obstacle. Based on step 1, get the straight line segment The two-point equation of (yy s )(x g -x s )=(xx s )(y g -y s ) is converted into the general straight line equation A 0 *x+B 0 *y+C 0 =0, we can get A 0 =y s -y g , B 0 =x g -x s , C 0 =x s *y g -y s *x g , convert it into the point-slope form of the straight line equation y = k 0 *x+b 0 When k 0 =y g -y s / x g -x s , b 0 =y s -x s (y g -y s ) / (x g -x s ).
[0023] Furthermore, the step 3 includes the following specific steps:
[0024] There are two boundary points that define a single irregular obstacle in the map, which are located on the straight line segment. On both sides, for each boundary point on each side, it is the distance straight line segment The farthest boundary point. Get the straight line segment The intersection of its direction from point A to point B with each obstacle At this time, the boundary point set corresponding to the obstacle is 1,2), where j is the jth obstacle and i is the i-th obstacle boundary point.
[0025] Furthermore, step 4 includes the following specific steps:
[0026] Determine whether all points in the obstacle boundary point set in the segmented path are boundary points in the map environment. If so, it means that there is currently no path from the path starting point A to the path end point B, and jump to step 9. Otherwise, remove the obstacle boundary points that are the map environment boundary points, and get the new obstacle boundary point set as
[0027] Furthermore, step 6 includes the following specific steps:
[0028] Step 6.1: According to Calculate the obstacle boundary points When V is greater than 0, the obstacle boundary point is on the straight line segment. On the left side, (C' j,i ,s j,i )Deposit into D l When V is less than 0, it is in the straight line segment On the right side, (C' j,i ,s j,i )Deposit into D r middle.
[0029] Step 6.2: Traverse D l Elements in the middle, get the obstacle boundary points and straight line segments Vertical distance j,i The maximum value of The farthest obstacle boundary point on the left is recorded as Traverse D r The middle element, the line segment can be obtained by the same logic The farthest obstacle boundary point on the right is recorded as
[0030] Furthermore, the step 7 includes the following specific steps:
[0031] Step 7.1: Based on the boundary points of the obstacles C' r,max Coordinate values, and boundary points to straight line segments Distance perpendicular to the line segment The properties of the obstacle can be calculated by The point slope equations of the straight line segments are: y = k l,max *x+b l,max , y = k r,max *x+b r,max .
[0032] Step 7.2: Based on the reserved safety distance r when the mobile robot encounters an obstacle, define the mobile boundary point that the mobile robot can reach as the position of the obstacle boundary point plus the safety distance, and update the mobile boundary point to the straight line segment The vertical distance is: d j,i =s j,i +r. At this time, the boundary point of the obstacle is C' l,max The corresponding moving boundary point The calculation is:
[0033]
[0034] Similarly, we can calculate Coordinate values:
[0035]
[0036] Furthermore, the step 8 includes the following specific steps:
[0037] Step 8.1: Connect the global path starting point A and the moving boundary point O l,max Get straight line segment Connect moving boundary points O l,max and the global path end point B to obtain a straight line segment Similarly, we can get the straight line segment and
[0038] Step 8.2: Merge local path line segments and Get the global path Similarly, local path straight line segments can be merged and Get the global path If the global path does not pass through obstacles, it is added to the set of candidate paths.
[0039] Furthermore, in step 9, if there is an alternative path that passes through an obstacle, the straight line segment that passes through the obstacle jumps to step 1 for calculation, and the global alternative path is updated based on the calculation result. Until all paths in the alternative path set do not pass through obstacles, the shortest alternative path is selected as the planned path.
[0040] Furthermore, the planned path output in step 10 is the shortest alternative path selected from the alternative paths in step 9. When the alternative path set is empty, there is no safe collision-free path from the starting point to the end point, and the output planned path is empty.
[0041] The present invention also discloses a mobile robot path planning system suitable for complex environments, the system is used to implement the above path planning method, including: an environment map acquisition module, an obstacle detection module, a path calculation module, a boundary point calculation module, a mobile boundary point determination module, a path optimization module, and a path output module;
[0042] The environment map acquisition module acquires environment map data, determines the starting point and end point of the path planning, and converts the environment map into a binary map;
[0043] The obstacle detection module detects the straight line segment between the starting point A and the end point B of the path Obstacle situation on the vehicle, determine whether there are one or more obstacles;
[0044] The path calculation module is in the straight line segment Directly determine the path when there are no obstacles To plan the path; when there are obstacles, the shortest safe path is calculated based on the obstacle location and boundary information;
[0045] The boundary point calculation module calculates the straight line segment Obstacle boundary points on both sides, generate an initial obstacle boundary point set, and update the obstacle boundary point set based on the boundary information of the map environment;
[0046] The moving boundary point determination module calculates the position of the moving boundary point that ensures the mobile robot reserves a safe distance during the path planning process;
[0047] The path optimization module constructs a global candidate path set based on the calculation results, recursively calculates the local path, screens out the global path that does not pass through obstacles and selects the shortest path as the final planned path;
[0048] The output module outputs a planned safe collision-free path or a status indicating that the path is unreachable.
[0049] The present invention also provides the application of the above-mentioned path planning method or the above-mentioned path planning system in scenarios such as industrial warehouse material handling, urban underground pipeline inspection, and post-disaster search and rescue missions.
[0050] The beneficial effects of the present invention include: in view of the problems that the A* algorithm, the most widely used heuristic algorithm in existing path planning, has a long search time, the searched path has many turning points, it will fall into a concave area when facing a concave obstacle, and the search path fails to reserve a safe distance when encountering an obstacle, the present invention proposes a mobile robot path planning method suitable for complex environments to complete the calculation of a safe and collision-free path from the robot's starting position to the target end position based on the map information of the complex environment. The present invention recursively uses the line segment axiom to calculate the local path based on the boundary information of the planned path passing through the obstacle and the specified safety distance to obtain the global alternative path from the starting point to the end point, and selects the shortest global alternative path as the planned path. Among them, the path planning based on the safety distance solves the damage to the mobile robot itself and the obstacle when approaching the obstacle; in addition, this method can not only complete the path planning in a complex environment with flat, concave and convex obstacles, but also does not have the problem of many turning points in the planned path, thereby improving the efficiency of path planning. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without paying any creative work.
[0052] Figure 1 A flowchart for updating the local path based on obstacle boundary information and safety distance.
[0053] Figure 2 It is the overall flow chart of the present invention.
[0054] Figure 3 It is a schematic diagram of the path of the present invention with and without obstacles. Figure 3 (a) is a schematic diagram of a path without obstacles; Figure 3 (b) Schematic diagram of the planned path when there are obstacles.
[0055] Figure 4 The figure is a schematic diagram of a planning path using the method of the present invention in a complex environment of a specific embodiment.
[0056] Figure 5 This is a comparison diagram of the path planning method of the present invention and the A* algorithm. Figure 5 (a) is the planning path of the present invention, Figure 5 (b) Path planning for the A* algorithm. DETAILED DESCRIPTION
[0057] The present invention is further described in detail with reference to the following specific examples and drawings. The process, conditions, experimental methods, etc. for implementing the present invention, except for the contents specifically mentioned below, are all common knowledge and common common sense in the art and are not particularly limited by the present invention.
[0058] The mobile robot obtains map environment information based on the currently provided map. The black area in the map is an obstacle, and the white area is a reachable area. Its content is: robot position, path starting point, path end point, obstacle information. Assume that the path starting point is A(x s ,y s ), the end point of the path is B(x g ,y g ), the present invention refers to the path starting point A and the path end point B as the global path starting point A and the global path end point B, and connecting point A and point B to obtain a straight line segment Define n irregular obstacles between the global path starting point A and the global path end point B, define the safe distance r reserved when the mobile robot encounters an obstacle, define each global path that does not pass through the obstacle as an alternative path, and a map may contain one or more reachable global paths. When passing through an obstacle, the global candidate path is composed of local paths. The solution of the local path is based on the boundary information of the obstacle passed through and the safety distance. The calculation process is as follows: Figure 1 The present invention proposes a mobile robot path planning method suitable for complex environments. Figure 2 As shown, first, it is necessary to obtain an environmental map, determine the path planning starting point and the path planning end point in the environmental map, and convert it into a binary map; when the path planning starting point and the end point straight line segment in the environmental map When there are no obstacles between the starting and ending points of the path planning, As a planned path; or, when the path planning start and end straight line segments in the environment map When the path contains one or more obstacles, one or more segmented paths are determined according to the positions of the obstacles, and each group of segmented paths connected end to end between the path planning starting point and the end point are spliced together as alternative planning paths; finally, the robot path obtained by planning is output.
[0059] In the global path planning process, when the path planning start and end straight line segments in the environment map When crossing one or more obstacles, the following steps are involved:
[0060] Step 2.1: Calculate the number of obstacles on the straight line segment. The boundary points on both sides are used to obtain the obstacle boundary point set;
[0061] Step 2.2, based on the map environment boundary information, the obstacle boundary point set is updated, and the points in the set that are also the map environment boundaries are filtered out to form a new obstacle boundary point set;
[0062] Step 2.3, calculate the moving boundary points for the mobile robot to move, and construct the lines connecting the path planning starting point, the path planning end point and the moving boundary points as the segmented path; when the lines connecting the path planning starting point, the path planning end point and the moving boundary points pass through one or more obstacles, repeat steps 2.1-2.3 until the lines connecting the newly obtained moving boundary points and the two path points before and after them do not pass through the obstacles;
[0063] Step 2.4, respectively combine each group of segmented paths between the starting point and the end point of the path planning, construct a global path that does not pass through obstacles and add it to the candidate path set;
[0064] Step 2.5: Select the shortest path in the candidate path set as the planned path.
[0065] Specifically,
[0066] Step 1: Use analytic geometry to find the straight line segment based on the coordinates of point A and point B The two-point equation of (yy s )(x g -x s )=(xx s )(y g -y s ).
[0067] Step 2: When n is 0, the straight line segment The corresponding line segment is the path planning result, jump to step 9. Otherwise, based on the straight line segment The two-point form equation can be used to calculate the corresponding general form straight line equation and point-slope form straight line equation.
[0068] Specifically, when n is 0, the straight line segment Without passing through any obstacles, according to the line segment axiom, the line segment between two points is the shortest. That is, the optimal path for path planning from the current path starting point A to the current path end point B is as follows Figure 3 As shown in (a), the blue solid line segment in the figure is the planned path, jump to step 9. When n>=1, the straight line segment Pass through the obstacle. Based on step 1, get the straight line segment The two-point equation of (yy s )(x g -x s )=(xx s )(y g -y s) is converted into the general straight line equation A 0 *x+B 0 *y+C 0 =0, we can get A 0 =y s -y g , B 0 =x g -x s , C 0 =x s *y g -y s *x g , convert it into the point-slope form of the straight line equation y = k 0 *x+b 0 When k 0 =y g -y s / x g -x s , b 0 =y s -x s (y g -y s ) / (x g -x s ).
[0069] Step 3: Align the straight line segments For each obstacle passed through, the location of each obstacle on the straight line segment is calculated based on the boundary point information of each obstacle. The two farthest boundary points on both sides are defined as obstacle boundary points. For each obstacle passed through, the obstacle boundary point set is obtained.
[0070] Specifically, there are two boundary points that define a single irregular obstacle in the map, which are located on the straight line segment On both sides, for each boundary point on each side, it is the distance straight line segment The farthest boundary point. Get the straight line segment The intersection of its direction from point A to point B with each obstacle At this time, the boundary point set corresponding to the obstacle is Where j is the jth obstacle and i is the i-th obstacle boundary point.
[0071] Step 4: Update the obstacle boundary point set based on the map environment boundary information, and filter out the points in the obstacle boundary point set that are also the map environment boundary. When the corresponding obstacle boundary points are all map environment boundary points, after the obstacle boundary point set is updated, there are no obstacle boundary points in the boundary point set, that is, there is no collision-free reachable path between any global path start point and global path end point, jump to step 10; when judging the obstacle boundary point set in the segmented path, if the obstacle boundary point set is empty at this time, the straight segment of this segmented path is an unreachable path, jump to step 9.
[0072] Specifically, determine whether all points in the obstacle boundary point set in the segmented path are boundary points in the map environment. If so, it means that there is currently no path from the path starting point A to the path end point B, and jump to step 9. Otherwise, remove the obstacle boundary points that are the boundary points of the map environment, and obtain a new obstacle boundary point set:
[0073] Step 5: For the current obstacle boundary point set Calculate the difference between the straight line segment and Vertical distance:
[0074]
[0075] Step 6: Select line segments from the obstacle boundary point set based on the calculation in step 5 The farthest obstacle boundary points on both sides are denoted as and
[0076] Specifically, step 6 includes the following specific steps:
[0077] Step 6.1: According to Calculate the obstacle boundary points When V is greater than 0, the obstacle boundary point is on the straight line segment. On the left side, (C' j,i ,s j,i )Deposit into D l When V is less than 0, it is in the straight line segment On the right side, (C' j,i ,s j,i )Deposit into D r middle.
[0078] Step 6.2: Traverse D l Elements in the middle, get the obstacle boundary points and straight line segments Vertical distance j,i The maximum value of The farthest obstacle boundary point on the left is recorded as Traverse D r The middle element, the line segment can be obtained by the same logic The farthest obstacle boundary point on the right is recorded as
[0079] Step 7: Based on the obstacle boundary point C' l,max , C' r,max Coordinate values, boundary points to straight line segments Distance perpendicular to the line segment The properties and reserved safety distance of the straight line segment Moving boundary points on both sides and
[0080] Specifically, step 7 includes the following specific steps:
[0081] Step 7.1: Based on the boundary points C' of the obstacles l,max , C' r,max Coordinate values, and boundary points to straight line segments Distance perpendicular to the line segment The properties of the obstacle can be calculated by The point slope equations of the straight line segments are: y = k l,max *x+b l,max , y = k r,max* x+b r,max .
[0082] Step 7.2: Based on the reserved safety distance r when the mobile robot encounters an obstacle, define the mobile boundary point that the mobile robot can reach as the position of the obstacle boundary point plus the safety distance, and update the mobile boundary point to the straight line segment The vertical distance is: d j,i =s j,i +r. At this time, the boundary point of the obstacle is C' l,max The corresponding moving boundary point The calculation is:
[0083]
[0084] Similarly, we can calculate The coordinate value of .
[0085] Step 8: Based on the global path starting point A, move the boundary point O l,max and O l,max , the global path end point B, obtain the global path composed of straight line segments and The global path that does not pass through obstacles is added to the set of candidate paths.
[0086] Specifically, step 8 includes the following specific steps:
[0087] Step 8.1: Connect the global path starting point A and the moving boundary point O l,maxGet straight line segment Connect moving boundary points O l,max and the global path end point B to obtain a straight line segment Similarly, we can get the straight line segment and
[0088] Step 8.2: Merge local path line segments and Get the global path Similarly, local path straight line segments can be merged and Get the global path If the global path does not pass through obstacles, it is added to the set of candidate paths.
[0089] Step 9: If there is a global path through the obstacle, treat each local path straight line segment that constitutes the global path through the obstacle as a straight line segment Jump to step 1 to update this straight line segment. Otherwise, select the shortest path among the alternative paths as the planned path.
[0090] Specifically, in step 9, if there is an alternative path that passes through an obstacle, the straight line segment that passes through the obstacle jumps to step 1 for calculation, and the global alternative path is updated based on the calculation result. Until all paths in the alternative path set do not pass through obstacles, the shortest alternative path is selected as the planned path. At this time, the global alternative path is calculated recursively using the line segment axiom based on the boundary information of the planned path passing through the obstacle and the specified safety distance. Figure 3 As shown in (b), the yellow dotted line is the intermediate path generated in the process of calculating the alternative path, the red dotted line is the vertical distance between the obstacle boundary point and the route passing through the obstacle, the blue dotted line path is the alternative global planning path, the blue solid line path is the selected global planning path, and the green path point is the turning point of the path planning.
[0091] Step 10: If there is no safe collision-free path from the start point to the end point, output null; otherwise, output the planned safe collision-free path.
[0092] Specifically, the planned path output in step 10 is the shortest alternative path selected from the alternative paths in step 9. When the alternative path set is empty, there is no safe collision-free path from the starting point to the end point, and the output planned path is empty.
[0093] Based on the real environment, a binary plane map is obtained, and the present invention is applied to path planning in a complex environment with flat, concave and convex obstacles. Based on the boundary information of the planned path passing through the obstacles and the specified safety distance, the line segment axiom is recursively used to calculate the local path to obtain the global alternative path from the starting point to the end point. At this time, the alternative path through the concave and convex obstacles calculated based on this map is as follows: Figure 4 As shown in the figure, the blue solid line path is the shortest global planning path selected based on the alternative paths. At this time, the turning point of the path planning is 3, and the mobile robot needs to turn three times to reach the target point.
[0094] The corresponding comparison diagram when the method of the present invention and the A* algorithm are used for path planning is as follows: Figure 5 Specifically, the planning path of the present invention is as follows Figure 5 As shown in (a), the blue solid line path is the shortest global planning path selected based on the alternative paths. At this time, the mobile robot only needs to turn once to reach the end point B of the global path. The A* algorithm is a heuristic search algorithm. When using the A* algorithm to plan a path, the map is preprocessed to obtain a grid map. The coordinate origin of the grid map is located in the upper left corner of the two-dimensional plane map, the downward direction is the y-axis, and the right direction is the x-axis. The grid size is 10*10, and the size of the binary plane map based on the real environment is 724*685, and the corresponding grid map size is 72*68, that is, the grid map is composed of 72 grids in the y-axis direction and 68 grids in the x-axis direction. At this time, the planned path obtained by using the A* algorithm for path planning is as follows Figure 5 As shown in (b), the two red path points from top to bottom are the starting point and end point of the path planning, and the green path point in the middle is the path planned using the A* algorithm.
[0095] When the algorithm is evaluated using path planning length, number of turns, and calculation time, the results are shown in Table 1.
[0096] Path planning length Number of turns Calculation time The algorithm of the present invention plans the path 68 1 0.23 seconds A* algorithm plans the path 122 51 0.71 seconds
[0097] Based on the data in Table 1, it can be seen that the path planned by the algorithm of the present invention with reserved safety distance reduces the path length by about 44.3%, the number of turns by about 98%, and the calculation time by about 67.6% respectively compared with the path planned by the A* algorithm. This greatly alleviates the problems of the A* algorithm in path planning, such as long search time, many turning points in the searched path, falling into a concave area when facing a concave obstacle, and failure to reserve a safety distance for the search path when encountering an obstacle, thereby improving the efficiency and performance of path planning.
[0098] The complex environment path planning method and system of the present invention can be used in scenarios such as industrial warehouse material handling, urban underground pipeline inspection, and post-disaster search and rescue missions.
[0099] In the material handling scenario of industrial warehouses, mobile robots are often used for material handling. Warehouses usually contain dense shelves and fixed equipment, and robots need to efficiently move items along complex paths. First, the system obtains a two-dimensional plan of the warehouse and generates a binary map, marking obstacles such as shelves and equipment; after the robot receives the handling task, the system determines the location where the item is picked up as the starting point of the path, and the point where the item is delivered as the end point of the path. Assume that the starting point is A(x s ,y s ), the end point is B(x g ,y g ); If there are no obstacles between the pickup point and the delivery point, the system directly generates the shortest path from A to B; Path planning when there are obstacles: When there are obstacles such as shelves or equipment between the pickup point and the delivery point, the system will divide the straight path from A to B into multiple segmented paths according to the location of the obstacles. By calculating the boundary point set of each obstacle, the system gradually generates segmented paths, bypasses the obstacles, and ensures that the robot always maintains a safe distance when bypassing; The system selects the shortest and obstacle-free path as the final planned path and outputs it to the robot to perform the handling task.
[0100] In the urban underground pipeline inspection scenario, the robot needs to conduct regular inspections in the urban underground pipeline network to check the pipeline status and record any areas that need maintenance. First, the system converts the two-dimensional map of the underground pipeline into a binary image, marks the main channel and branch, and distinguishes between passable and impassable areas; the inspection robot enters the pipeline from the entrance A(x s ,y s ) and arrive at the designated checkpoint B(x g ,y g ). If there are no obstacles between the entrance and the checkpoint, the system will generate a direct shortest path; when there are obstacles such as water accumulation and soil accumulation in the pipeline, the system will obtain the boundary of the obstacle through the boundary point calculation method and bypass the obstacle through the segmented path. When planning the path, the system will also consider the size of the robot to ensure that there is enough space for passage; the system will select the shortest path from the set of alternative paths to ensure that the robot can successfully complete the inspection task and record the pipeline status.
[0101] In the post-disaster search and rescue mission scenario, mobile robots are used to search and rescue survivors in the post-disaster environment. Since there are a large number of collapsed buildings and rubble in the post-disaster environment, the robot needs to work in a very complex environment. The system first obtains the plane map of the disaster area through the drone and generates a binary map, marking the collapsed buildings, rubble, etc. as obstacle areas; the robot starts from the safe area and goes to the search and rescue point. Assume that the search and rescue point is B(x g ,y g ), the system will automatically calculate the starting point A(xs ,y s ) to the search and rescue point B; in the complex environment of the disaster area, a straight path often passes through multiple obstacles. The system calculates the boundary points of each obstacle and recursively calculates the path to bypass the obstacles; if the robot encounters a new obstacle (such as a newly collapsed building) during the mission, the system will adjust the path in real time to ensure the continuation of the search and rescue mission by updating the boundary point set and calculating a new optimal path.
[0102] The above three scenarios demonstrate the specific application of this path planning method in different complex environments. Whether it is material handling, pipeline inspection or search and rescue missions, this method can effectively help robots cope with the challenges of complex obstacles and optimize their work efficiency.
[0103] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of complete hardware embodiments, complete software embodiments, or embodiments in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code. The scheme in the embodiments of the present application can be implemented in various computer languages, for example, object-oriented programming language Java and literal scripting language JavaScript, etc.
[0104] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0105] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0106] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0107] Although the preferred embodiments of the present application have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
[0108] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
[0109] The protection content of the present invention is not limited to the above embodiments. Without departing from the spirit and scope of the present invention, changes and advantages that can be thought of by those skilled in the art are included in the present invention and are protected by the attached claims.
Claims
1. A mobile robot path planning method suitable for complex environments, characterized in that: The path planning method comprises the following steps: Step 1: Obtain an environment map and determine the path planning starting point A(x s ,y s ) and the end point B(x g ,y g ), and converted into a binary map; Step 2: When the path planning starting point and end point straight line segments in the environment map When there are no obstacles between the starting and ending points of the path planning, As a planned path; or, when the path planning start and end straight line segments in the environment map When the path contains one or more obstacles, one or more segmented paths are determined according to the location of the obstacles, and each group of segmented paths connected end to end between the path planning starting point and the end point are combined and used as the alternative planning paths; Step 3: Output the planned robot path.
2. The path planning method according to claim 1, characterized in that: In step 2, when the path planning starting point and end point straight line segments in the environment map When traversing one or more obstacles, path planning involves the following steps: Step 2.1: Calculate the number of obstacles on the straight line segment. The boundary points on both sides are used to obtain the obstacle boundary point set; Step 2.2, based on the map environment boundary information, the obstacle boundary point set is updated, and the points in the set that are also the map environment boundaries are filtered out to form a new obstacle boundary point set; Step 2.3, calculating the moving boundary points for the mobile robot to move, and constructing the lines connecting the path planning starting point, the path planning end point and the moving boundary points as the segmented path; When the line connecting the path planning starting point, the path planning end point and the moving boundary point passes through one or more obstacles, repeat steps 2.1-2.3 until the line connecting the newly obtained moving boundary point and the two path points before and after it does not pass through the obstacles; Step 2.4, respectively combine each group of segmented paths between the starting point and the end point of the path planning, construct a global path that does not pass through obstacles and add it to the candidate path set; Step 2.5: Select the shortest path in the candidate path set as the planned path.
3. The path planning method according to claim 2, characterized in that: In step 2.1, the straight line segment When passing through an obstacle, obtain the boundary coordinate information of the obstacle and calculate the coordinates of the obstacles on the straight line segments. On both sides and away from the straight line segment The farthest point is defined as the boundary point corresponding to the obstacle n represents the number of obstacles; and / or, Traversing straight line segments All obstacles passed through are used to obtain the boundary points of each obstacle, which together constitute the obstacle boundary point set.
4. The path planning method according to claim 2, characterized in that: In step 2.2, the new obstacle boundary point set after filtering out the map environment boundary points is expressed as j represents the jth obstacle, i represents the i-th obstacle boundary point; or, When the straight line When all points in the corresponding obstacle boundary point set are points on the map environment boundary, after the obstacle boundary point set is updated, there are no obstacle boundary points in the set, and there is no collision-free reachable path between any global path start point and global path end point, and the output is empty; or, When judging the obstacle boundary point set in the segmented path, if the obstacle boundary point set is empty at this time, the straight segment of this segmented path is an unreachable path, and other reachable alternative paths are selected.
5. The path planning method according to claim 2, characterized in that: In step 2.3, the moving boundary point is the sum of the obstacle boundary point with the longest distance in the new obstacle boundary point set and the preset reserved safety distance r of the mobile robot when encountering an obstacle, denoted as and The coordinates of the farthest obstacle boundary points on both sides of the straight line segment are recorded as and The point-slope equations of the straight line segments obtained by perpendicularly connecting the obstacle boundary points to the straight line segments are: y = k l,max *x+b l,max , y = k r,max *x+b r,max .
6. The path planning method according to claim 5, characterized in that: The coordinates of the obstacle boundary point and the corresponding moving boundary point satisfy the following formula:
7. A mobile robot path planning system suitable for complex environments, characterized in that: The system is used to implement the path planning method according to any one of claims 1 to 6, comprising: an environment map acquisition module, an obstacle detection module, a path calculation module, a boundary point calculation module, a moving boundary point determination module, a path optimization module, and a path output module; The environment map acquisition module acquires environment map data, determines the starting point and end point of the path planning, and converts the environment map into a binary map; The obstacle detection module detects the straight line segment between the starting point A and the end point B of the path Obstacle situation on the vehicle, determine whether there are one or more obstacles; The path calculation module is in the straight line segment Directly determine the path when there are no obstacles To plan the path; when there are obstacles, the shortest safe path is calculated based on the obstacle location and boundary information; The boundary point calculation module calculates the straight line segment Obstacle boundary points on both sides, generate an initial obstacle boundary point set, and update the obstacle boundary point set based on the boundary information of the map environment; The moving boundary point determination module calculates the position of the moving boundary point that ensures the mobile robot reserves a safe distance during the path planning process; The path optimization module constructs a global candidate path set based on the calculation results, recursively calculates the local path, screens out the global path that does not pass through obstacles and selects the shortest path as the final planned path; The output module outputs a planned safe collision-free path or a status indicating that the path is unreachable.
8. Application of the path planning method as described in any one of claims 1 to 6, or the path planning system as described in claim 7 in industrial warehouse material handling, urban underground pipeline inspection, and post-disaster search and rescue mission scenarios.
Citation Information
Cited By
Route planning method and system for robot dog battlefield rescue
CN120121056A