Mobile robot path planning method based on JPS
By modifying the heuristic function of the JPS algorithm and introducing the optimization of the path detection algorithm, combined with the advantages of A* and JPS algorithms, the problems of slow search speed, large data space occupation, path jitter and insecure in the existing path planning algorithm are solved, and more efficient, reliable and smooth path planning is achieved.
Patent Information
- Application Number
- CN202411377052.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2025-02-25
AI Technical Summary
Existing robot path planning algorithms, such as the A* algorithm and JPS algorithm, have problems such as slow search speed, large data space occupation, path jitter and unnecessary redundant operations, insufficient security and reliability, resulting in path search performance degraded and possible collision with obstacles.
By modifying the heuristic function of the JPS algorithm, forcing neighbor judgment and path detection algorithm optimization are introduced, and the path inflection point is optimized using the Dubbins curve to form a new path planning method. Combining the advantages of A* and JPS algorithms, a new algorithm is fused to form.
Improve path search efficiency, reliability and path length, optimize path curves, reduce path points and walking distances, and enhance path smoothness and security.
Smart Images

Figure CN119512067A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of artificial intelligence technology, and in particular to a mobile robot path planning method based on JPS. Background Art
[0002] When robots are performing tasks, it is necessary to move. How to move and the time it takes to move will directly affect the robot's work efficiency. Therefore, it is necessary to conduct in-depth research on the robot's path planning problem. Different path planning algorithms may also be used in different fields.
[0003] Traditional robot path planning algorithms often use the A* algorithm, but the A* algorithm has the following problems: 1. The search speed is too slow and there are too many unnecessary nodes. 2. The path situation is represented by connecting adjacent points, which takes up a large data space. 3. The path point situation may jitter, resulting in unnecessary redundant operations when the robot moves.
[0004] Among the existing path planning algorithms, the JPS algorithm is relatively powerful, but it also has the following problems: 1. One-way search may consume a lot of time. In some open areas, the JPS algorithm will have a huge overhead. 2. There are some unnecessary jump points, which can be optimized by going straight, reducing the jump points and the walking distance. 3. The JPS algorithm will generate a large number of paths that brush against the corners of obstacles. These areas are likely to collide with obstacles, and there are serious deficiencies in safety and reliability in actual application. 4. The turning method of the JPS algorithm is too simple and direct, which is not conducive to the movement of the robot in real situations. The above problems will indirectly or directly lead to many negative factors such as decreased path search performance, poor path conditions, possible collisions with obstacles, etc. Summary of the invention
[0005] The purpose of the present invention is to provide a mobile robot path planning method based on JPS to address the above-mentioned problems that currently exist, to construct a new and more effective algorithm, to achieve optimization in terms of algorithm efficiency, reliability, path optimization, etc., and to provide a new method support for the optimization of robot path planning.
[0006] The technical solution of the present invention is as follows:
[0007] A mobile robot path planning method based on JPS includes the following steps:
[0008] Modify the heuristic function of the algorithm and change the heuristic function to:
[0009] W+W s +W e *max(1,(speed*W e / pathse )),
[0010] Among them, W s is the actual weight from the starting point to the current point, W e is the estimated weight from the current point to the end point, path se is the Euclidean distance from the start point to the end point, speed is an automatic parameter, and the default value is 1.0;
[0011] Set forced neighbor determination and use the improved JPS calculation method to get the path. The improved JPS calculation method is:
[0012]
[0013] Among them, Eof[d] is the orthogonal decomposition function, which decomposes the two-dimensional vector [x, y] into two sets of vectors [x, 0] and [0, y]. 2n is the direction vector of the parent node pointing to the node, p is the coordinate position vector of the retrieval point, and j is [1,2,3,…,n] T Column vector of ;
[0014] The calculated path is optimized using the path detection algorithm, and the inflection point of the diagonal of the Dubins curve is used for optimization.
[0015] Furthermore, the specific calculation of the path obtained by optimizing the calculation using the path detection algorithm is:
[0016] NewPath=Refine(Ps,Pm,Pe),
[0017] Among them, Ps, Pm, and Pe are three adjacent points. It is determined whether there is a direct passage from Ps to Pe. If so, the Pm point is removed from the NewPath, and the parent node of Pe is changed to Ps. The distance between the two points is calculated and modified using the Euclidean distance.
[0018] Furthermore, the inflection point of the corner is optimized using the Dubins curve, and rounded corners are used instead of algorithmically generated corners.
[0019] Furthermore, the Dubins curve obtains linear function information of two paths when the inflection point is optimized, which are: 1 :y=k 1 x+b 1 and l 2 :y=k 2 x+b 2 , passing through the path point (x p ,y p ), optimized to (x p ,y p ) is the center of the circle and the radius is 0.5. The circle and the straight line l1 , l 2 Intersects at two points, namely p l1 (x l1 ,y l1 ) and p l2 (x l2 ,y l2 ), draw a perpendicular line through two points on the straight line, and the intersection of the two perpendicular lines is the center of the Dubins curve (x c ,y c ), draw the starting point with the center of the circle and the end point with p l1 and p l2 The minor arc of , that is, the optimized path of the Dubins curve of the corner.
[0020] Furthermore, the calculation method of the center of the circle is:
[0021]
[0022] (xx p ) 2 +(yy p ) 2 =0.5 2 ,
[0023]
[0024] Furthermore, the modification algorithm further includes the following steps before the heuristic function:
[0025] Obtain the map for subsequent path planning calculation;
[0026] Randomly mark the starting and ending locations.
[0027] Furthermore, the obtaining of the map as a subsequent path planning calculation specifically includes:
[0028] Generate a random map using the algorithm obtained from the python data package, and use four submaps, namely {Map map ,Map read ,Map fatherPoint ,Map distance}.
[0029] Furthermore, the random marking starting location and ending location specifically include:
[0030] The starting and ending points are randomly marked by a random function, denoted as P start , P end .
[0031] Compared with the prior art, the present invention has the following beneficial effects:
[0032] The A* algorithm and JPS algorithm are disassembled, and the two algorithms are organically combined. The advantages of the two algorithms are selected through their characteristics and integrated to form a new algorithm. The path detection algorithm is then used to check whether the path situation can be optimized to reduce path points or shorten the path. The path detection algorithm is used to improve the path search efficiency, reliability and path length. The Dubins curve method is used to effectively calculate and solve the problem of insufficiently smooth path corners, and the path information is re-stored to obtain a more effective path curve. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] Figure 1 The path graph planned by the existing path planning algorithm.
[0034] Figure 2 Roadmap planned for this application. DETAILED DESCRIPTION
[0035] It should be noted that relational terms such as "first" and "second" are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0036] The features and performance of the present invention are further described in detail below in conjunction with the embodiments.
[0037] See also Figure 1-2 , a mobile robot path planning method based on JPS, comprising the following steps:
[0038] Generate a random map using the algorithm obtained from the python data package, and use four submaps, namely {Map map ,Map read ,Map fatherPoint ,Map fistance}.
[0039] The starting and ending points are randomly marked by a random function, denoted as P start , P end .
[0040] Modify the heuristic function of the algorithm and change the heuristic function to:
[0041] W+Ws +W e *max(1,(speed*W e / path se )),
[0042] Among them, W s is the actual weight from the starting point to the current point, W e is the estimated weight from the current point to the end point, path se is the Euclidean distance from the start point to the end point, speed is an automatic parameter, the default value is 1.0; the introduced variables speed and path se , will make W e The weight factor becomes larger, and the algorithm will prioritize the search in the direction closer to the target node during the initial operation. The weight influence becomes larger, resulting in faster convergence. In the later stage of the search, due to speed*W e The gradual decrease cannot exceed the path se , the weight parameter will return to the situation in formula 1 and resume normal search.
[0043] Set forced neighbor determination and use the improved JPS calculation method to get the path. The improved JPS calculation method is:
[0044]
[0045] Among them, Eof[d] is the orthogonal decomposition function, which decomposes the two-dimensional vector [x, y] into two sets of vectors [x, 0] and [0, y]. 2n is the direction vector of the parent node pointing to the node, p is the coordinate position vector of the retrieval point, and j is [1,2,3,…,n] T Column vector of ;
[0046] The path obtained by optimizing the calculation using the path detection algorithm is specifically calculated as follows:
[0047] NewPath=Refine(Ps,Pm,Pe),
[0048] Among them, Ps, Pm, and Pe are three adjacent points. It is determined whether there is a direct passage from Ps to Pe. If so, the Pm point is removed from the NewPath, and the parent node of Pe is changed to Ps. The distance between the two points is calculated and modified using the Euclidean distance.
[0049] The inflection points of the corners are optimized using the Dubins curve, and rounded corners are used instead of algorithmically generated corners.
[0050] The Dubins curve obtains linear function information of two paths when the inflection point is optimized, which are: 1 :y=k 1 x+b1 and l 2 :y=k 2 x+b 2 , passing through the path point (x p ,y p ), optimized to (x p ,y p ) is the center of the circle and the radius is 0.5. The circle and the straight line l 1 , l 2 Intersects at two points, namely p l1 (x l1 ,y l1 ) and p l2 (x l2 ,y l2 ), draw a perpendicular line through two points on the straight line, and the intersection of the two perpendicular lines is the center of the Dubins curve (x c ,y c ), draw the starting point with the center of the circle and the end point with p l1 and p l2 The minor arc of , that is, the optimized path of the Dubins curve of the corner.
[0051] The method for calculating the center of the circle is:
[0052]
[0053] (xx p ) 2 +(yy p ) 2 =0.5 2 ,
[0054]
[0055] like Figure 1 and Figure 2 As shown, compared with the existing planning path algorithm and the planning path algorithm involved in this application, the path planned by the mobile robot path planning method based on JPS in this application is significantly shorter. By disassembling the A* algorithm and the JPS algorithm, the algorithm conditions of the two are organically combined, and the advantages of the two are selected for the internal problems of the algorithm, and a new algorithm is formed by fusion. Then, the path detection algorithm is used to check whether the path condition can be optimized to reduce path points or shorten the path. The path detection algorithm is used to improve the path efficiency, reliability and path length. Finally, the effective calculation based on the Dubins curve solves the problems of corners and insufficient smoothness, obtains a new path curve, and re-stores the path information to obtain a more effective path curve.
[0056] The above-mentioned embodiments only express the specific implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the protection scope of the present application. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the technical solution concept of the present application, and these all belong to the protection scope of the present application.
Claims
1. A mobile robot path planning method based on JPS, characterized in that: The following steps are involved: Modify the heuristic function of the algorithm and change the heuristic function to: W+W s +W e *max(1,(speed*We e / path se )), Among them, Ws s is the actual weight from the starting point to the current point, W e is the estimated weight from the current point to the end point, path se is the Euclidean distance from the start point to the end point, speed is an automatic parameter, and the default value is 1.0; Set forced neighbor determination and use the improved JPS calculation method to get the path. The improved JPS calculation method is: Among them, Eof[d] is the orthogonal decomposition function, which decomposes the two-dimensional vector [x, y] into two sets of vectors [x, 0] and [0, y]. 2n is the direction vector of the parent node pointing to the node, p is the coordinate position vector of the retrieval point, and j is [1,2,3,…,n] T Column vector of ; The calculated path is optimized using the path detection algorithm, and the inflection point of the diagonal of the Dubins curve is used for optimization.
2. According to a JPS-based mobile robot path planning method according to claim 1, it is characterized in that: The specific calculation of the path obtained by optimizing the calculation using the path detection algorithm is: NewPath=Refine(Ps,Pm,Pe), Among them, Ps, Pm, and Pe are three adjacent points. It is determined whether there is a direct passage from Ps to Pe. If so, the Pm point is removed from the NewPath, and the parent node of Pe is changed to Ps. The distance between the two points is calculated and modified using the Euclidean distance.
3. According to a JPS-based mobile robot path planning method according to claim 1, it is characterized in that: The inflection point of the corner is optimized using the Dubins curve, and rounded corners are used instead of algorithmically generated corners.
4. A mobile robot path planning method based on JPS according to claim 3, characterized in that: The Dubins curve obtains linear function information of two paths when the inflection point is optimized, which are: l1:y=k1x+b1 and l2:y=k2x+b2. p ,y p ), optimized to (x p ,y p ) is the center of the circle and the radius is 0.
5. The circle intersects with the straight lines l1 and l2 at two points, namely p l1 (x l1 ,y l1 ) and p l2 (x l2 ,y l2 ), draw a perpendicular line through two points on the straight line, and the intersection of the two perpendicular lines is the center of the Dubins curve (x c ,y c ), draw the starting point with the center of the circle and the end point with p l1 and p l2 The minor arc of , that is, the optimized path of the Dubins curve of the corner.
5. A mobile robot path planning method based on JPS according to claim 4, characterized in that: The calculation method of the center of the circle is: (xx p ) 2 +(yy p ) 2 =0.5 2 , 6. A mobile robot path planning method based on JPS according to claim 1, characterized in that: The heuristic function of the modification algorithm also includes the following steps: Obtain the map for subsequent path planning calculation; Randomly mark the starting and ending locations.
7. A mobile robot path planning method based on JPS according to claim 6, characterized in that: The obtaining of a map as a subsequent path planning calculation specifically includes: Generate a random map using the algorithm obtained from the python data package, and use four submaps, namely {Map map ,Map read ,Map fatherPoint ,Map distance }.
8. The mobile robot path planning method based on JPS according to claim 6, characterized in that: The random marking starting point and ending point specifically include: The starting and ending points are randomly marked by a random function, denoted as P start , P end .
Citation Information
Cited By
Robot walking path autonomous planning algorithm with differentiated obstacle avoidance capability
CN121632146A