Roadway repair robot path planning method based on improved A* algorithm
By improving the A* algorithm and combining it with dynamic obstacle compensation and cubic B-spline curve processing, the path planning of the underground roadway repair robot is optimized, which solves the shortcomings of the traditional A* algorithm in complex environments and achieves more efficient and accurate path search.
Patent Information
- Application Number
- CN202510664951.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-22
- Publication Date
- 2025-11-07
AI Technical Summary
Traditional A* algorithms cannot effectively adapt to dynamic obstacle changes in underground tunnel environments, resulting in inaccurate path planning, excessively sharp angles, easy robot collisions with obstacles, and insufficient search speed and accuracy.
The improved A* algorithm optimizes path planning by introducing a dynamic obstacle compensation cost function and weighting coefficients, combined with cubic B-spline curve smoothing.
It improves the dynamic environmental adaptability, path smoothness, search efficiency and accuracy of path planning, reduces redundant nodes, and generates smoother and more practical alleyway repair paths.
Smart Images

Figure CN120909277A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of robot path planning, and particularly relates to a roadway repair robot path planning method based on an improved A* algorithm. BACKGROUND
[0002] The underground roadway environment is complex, and is subjected to high-difficulty working scenes such as dark illumination, much dust, complex structure, and many equipment obstacles. When the wall surface at a certain place of the roadway needs to be repaired, if artificial repair is rashly adopted, firstly, the risk of injury will be increased, and secondly, the working efficiency will be reduced due to problems such as decreased visual visibility and limited working range in the high-difficulty working scenes.
[0003] The A* algorithm is an optimized version of the Dijkstra algorithm, and the innovation of the A* algorithm compared with the traditional algorithm lies in the heuristic function h(x). By evaluating the nodes, the global search with purpose is obtained. In the search process, by considering the actual cost g(x) from the starting point to the current node, the cost g(x) of the current node to the surrounding non-obstacle nodes, and the evaluation cost h(x) of the current node to the target point, the selection of the next node is determined, and so on until the target node is searched. a-b
[0004] The path graph obtained by the traditional A* algorithm cannot be well applied to the roadway environment, and the important problems are that the included angle θ between the paths is too sharp, the traditional A* algorithm cannot dynamically evaluate and change according to the number of surrounding obstacles, and the speed and accuracy of the traditional A* algorithm still need to be improved.
[0005] The above problems will cause the robot to be unable to move strictly according to the planned path. Following the traditional A* algorithm may cause the robot to plan to move towards the place with many obstacles, so that the sharp included angle problem is more prominent and the obstacles are easily encountered. The robot cannot dynamically change the path according to the current environment, which causes redundant nodes, reduces the planning speed and accuracy. SUMMARY
[0006] In order to make the purpose, technical scheme and advantages of the present application more clear, the present application is further described in detail below in combination with the drawings and examples. It should be understood that the specific examples described herein are only used to explain the present application, and are not used to limit the present application.
[0007] In this application, unless otherwise clearly specified and limited, the terms "mounting", "connecting", "connecting", "fixing" and other terms should be understood broadly, for example, it can be fixedly connected, or it can be detachably connected, or integrally connected; it can be mechanically connected, or it can be electrically connected; it can be directly connected, or it can be indirectly connected through an intermediate medium, or it can be connected inside two elements. For those skilled in the art, the specific meaning of the above terms in the present application can be understood according to the specific circumstances. The term "and / or" used herein includes any and all combinations of one or more related listed items.
[0008] The application provides a roadway repair robot path planning method based on improved A* algorithm, comprising the following steps:
[0009] Step 1: perceive the surrounding environment through sensors such as laser radar and camera, introduce the concept of configuration space, superimpose the size of the robot on the size of the obstacle, establish a two-dimensional grid map, and simplify the robot as a point combined with dynamic constraints for processing;
[0010] Step 2: set the starting point S and the target point G on the grid map, and initialize Open List1, Open List2, Closed List1, Closed List2 four containers;
[0011] Step 3: Put the starting point S and the target point G into Open List1 and Open List2 respectively, search the 8 neighborhoods around the starting point S and the target point G according to the direction of the roadway;
[0012] Step 4: label the searched nodes as occupied grid (obstacle exists) or free grid (obstacle does not exist) according to the grid map;
[0013] Step 5: perform traditional cost evaluation on non-obstacle nodes, and put all non-obstacle nodes based on the neighborhood around the starting point S into Open List1, and all non-obstacle nodes based on the neighborhood around the target point G into Open List2, select the node with the minimum cost from Open List1 and Open List2 respectively, and put the starting point S and the target point G into Closed List1 and Closed List2 respectively, repeat the above steps until the two routes overlap, and obtain a known optimal path;
[0014] Step 6: re-search the neighborhood based on the starting point S, and establish Open List3 and Closed List3, search in the 8 neighborhoods around the starting point S according to the direction of the roadway;
[0015] Step 7: Set the starting point S in the Closed List 3, for the unobstructed node, if it is in the Open List 3, then evaluate according to the improved cost evaluation formula; if not, judge whether it is the target point G, if not, then add the Open List 3, and then evaluate according to the improved cost evaluation formula;
[0016] Step 8: The lowest cost value point is preferred as the path, and the above steps are repeated until the target point G is found, and the path search is ended.
[0017] Further, the improved cost evaluation formula is:
[0018] F(x)=a*g(x)+b*h(x)+ρ * k(x)
[0019] Wherein:
[0020] g(x) is the actual cost value lost from the starting point to the current node, which is expressed as the distance between two points;
[0021] h(x) is the evaluation cost of the current node X to the target node G, and the Euclidean distance is used as the evaluation cost, wherein the current node coordinates X(x m , y m ), the target point coordinates G(x g , y g );
[0022] ρ is a dynamic change coefficient, which is related to the number of obstacles in the 8-neighborhood around the current node;
[0023] k(x) is a cost compensation function, which is related to the ratio of the number of obstacles around the current node to the number of all obstacles in the graph;
[0024] a is the weighting coefficient of the actual cost value g(x), which increases continuously with the distance between the robot and the target point;
[0025] b is the weighting coefficient of the evaluation cost h(x), which shows the influence of the evaluation cost h(x) in the total cost formula. Further, the determination method of the weighting coefficient a is:
[0026] a=log F’(x) (F’(x)-h(x)+1)
[0027] Wherein F'(x) is the best path generation value calculated by bidirectional traditional A* algorithm, F'(x)=g(x)+h(x) is fixed when the start point to the target point is determined, h(x) gradually decreases as the robot approaches the target point, the logarithm function logarithm F'(x)-h(x)+1 gradually increases and tends to F'(x), so that a tends to 1. The size of a reaches dynamic change with the change of distance, that is, the effect of g(x) in cost evaluation is gradually valued as the distance is reduced, which improves the accuracy of path search.
[0028] Further, the size of the weighting coefficient b represents the influence size of the evaluation value h(x) in the total cost formula, and the specific determination method is:
[0029] The dynamic environment influence factor epsilon is introduced, which is determined by the number of nodes d covered by the straight line distance from the current node to the target point and the number of obstacles o from the start point to the target point, and let Then b=e ε As the robot is closer and closer to the target point, the number of nodes d gradually decreases and the number of obstacles o around the start point to the target point is constant, the dynamic environment factor epsilon decreases, so that the weighting coefficient b decreases, which achieves the effect that the influence of the evaluation value h(x) gradually weakens as the distance is reduced, and further improves the speed of early path search and the accuracy of later period.
[0030] Further, the value method of the dynamic change coefficient rho is:
[0031] When the number of obstacles c around the current node reaches half or more of the exploration nodes, take [0.8, 1.0];
[0032] When the number of obstacles c around the current node is less than half of the exploration nodes, take [0.4, 0.8];
[0033] When there is no obstacle around the current node, take [0, 0.4].
[0034] The above exploration node number is 8, and the search is carried out in the 8 neighborhoods around the start point S according to the direction of the lane The z matrix is a search matrix, wherein 1 represents the start point S, and 2 represents the 8 unexplored neighborhoods around it. Binary method is used to judge whether there is an obstacle in the map. Wherein, P(map i )=1 represents that there is an obstacle in the grid, the grid is an occupied grid, which is represented as p(m i ). When P(map i )=0, it represents that there is no obstacle in the grid, the grid is a free grid, which is represented as
[0035] When c is greater than or equal to 4, i.e. more than half or more, p is taken as [0.8, 1.0]; when 0 < c < 4, i.e. not more than half and not zero, p is taken as [0.4, 0.8]; when c = 0, i.e. no obstacles around, p is taken as [0, 0.4].
[0036] Further, the formula of the cost compensation function k(x) is:
[0037]
[0038] Where q is the number of obstacles around the current node, and o is the number of obstacles from the starting point to the target point. For the dynamic compensation function k(x), the formula takes the number of obstacles q around the node as the consideration standard, and o is a fixed value as the denominator.
[0039] Further, the specific steps of step 8 of preferentially selecting the lowest cost value point as the path are:
[0040] According to the search according to the direction of the roadway, let the path node set P k ={p1, p2…p n}, at a certain point, the vector and judge the size of the angle θ between the two vectors;
[0041] Since the roadway is a straight passageway, when the angle between the two vectors is not more than 30°, it is considered that the path polyline is too sharp, and it is considered that the actual robot cannot move along the acute angle, so smoothing processing or re-planning of the route is required.
[0042] Further, the smoothing processing of the path is performed using a cubic B-spline curve equation, and the specific steps are:
[0043] In the node interval that needs to be smoothed, a cubic B-spline curve equation formula is introduced: Where P i is the control point, and k = 3 in N i,k (x), i.e. N i,3 (x) is a cubic B-spline basis function, which is defined by the Cox-de Boor recursive formula:
[0044]
[0045] Generally, uniform B-spline functions are used for processing. For uniform cubic B-spline, the node interval is 1, and the piecewise expression of the basis function in the parameter interval u∈[0, 1) is:
[0046]
[0047] Substitute the above basis function into In the middle, get the cubic spline curve, calculate the cubic spline curve; Select the key inflection point of the sharp corner, use the generated cubic spline curve for curve fitting to realize the smoothing of the path.
[0048] For the required robot parameter state, positioning information, pose, and surrounding environment perception and map construction, laser radar and inertial measurement unit (IMU) are used for measurement and real-time feedback to the terminal.
[0049] The terminal needs to upload to the edge end for data processing and strategy selection, and upload these data to the cloud. The cloud makes all data selection decisions in the decision library, and downloads to the edge end for compression, and then transmits to the terminal to execute instructions. Among them, the terminal refers to a robot processor with low-level computing power, the edge end refers to a gateway or local server with medium-level computing power, and the cloud refers to a large server with high-level computing power.
[0050] Compared with the prior art, the application has the following advantages:
[0051] 1. Enhanced dynamic environment adaptability: By introducing an obstacle compensation cost function and a weighting coefficient, the robot can dynamically evaluate the number of obstacles around the current node to avoid multi-obstacle areas and reduce the probability of path bending and collision with obstacles. This improvement solves the problem that the traditional A* algorithm cannot dynamically evaluate changes according to the number of obstacles around.
[0052] 2. Improved path smoothness: To address the problem of excessively sharp path angles in the tunnel environment, the application uses a 3B spline curve equation to smooth the path, making the overall route more smooth and improving the practicality of the path and the smoothness of the robot's walking.
[0053] 3. Balancing path search efficiency and accuracy: By adjusting the weighting coefficients a and b of the actual cost g(x) and the evaluation cost h(x), the application achieves the effect of emphasizing search speed when the robot approaches the starting point and emphasizing path accuracy when approaching the target point. This dynamic adjustment mechanism improves the efficiency of path search while ensuring the accuracy of the path.
[0054] 4. Reducing redundant nodes and improving search speed: The application uses a search strategy that searches in the 8 neighborhoods around the starting point in the direction of the tunnel, taking into account the narrow transverse area of the tunnel and avoiding the generation of redundant nodes, thereby improving the search speed.
[0055] 5、Comprehensive performance improvement: through the comprehensive application of the above improvement measures, the path generated by the application in the roadway environment is smoother, has fewer angles, and pays more attention to the actual walking road conditions of the robot, thereby significantly improving the overall performance of the path planning.
[0056] In summary, through the improvements in dynamic environment adaptability enhancement, path smoothness improvement, path search efficiency and accuracy, redundant node reduction, and comprehensive performance improvement, the path planning capability of the roadway repair robot in the complex underground roadway environment is significantly improved. BRIEF DESCRIPTION OF DRAWINGS
[0057] The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application.
[0058] The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application. Figure 1 The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application.
[0059] The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application. Figure 2 The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application.
[0060] The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application. Figure 3 The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application.
[0061] The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application. Figure 4 The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application.
[0062] The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application. Figure 5 The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application.
[0063] The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application. Figure 6 The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application.
[0064] The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application. Figure 5 The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application. Figure 6 The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, illustrate the application, and are used to explain the application together with the embodiments of the application, and do not constitute a limitation on the application.Figure 6 The shaded area in the middle circle represents the route nodes after rounding. The angle between the original route and the existing route after smoothing is represented. The angle between the original route and the existing route before smoothing is represented.
[0065] Appendix Figure 7 This is a flowchart for determining the optimal choice of a known path.
[0066] Appendix Figure 8 This is a diagram showing the retrieval path under the condition that the target point coordinates are different in 6 different attempts, starting from the same point.
[0067] Appendix Figure 9 This diagram illustrates the expected results in a real-world tunnel environment and compares them with the results of traditional algorithms.
[0068] Appendix Figure 10 The diagram shows the overall performance of the two algorithms in a tunnel environment. The starting point S is the initial position of the robot car. There are three search routes in the diagram. The shaded and black areas represent obstacles. The robot car below the hydraulic support and the path nodes are represented by dashed lines. Detailed Implementation
[0069] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. Of course, the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0070] Implementation Case 1: As attached Figure 1 As shown, this invention provides a path planning method for a roadway repair robot based on an improved A* algorithm, comprising the following steps:
[0071] Step 1: Perceive the surrounding environment through sensors such as LiDAR and cameras, introduce the concept of configuration space, superimpose the robot size onto the obstacle size, establish a two-dimensional grid map, and simplify the robot into a point and process it in combination with dynamic constraints;
[0072] Step 2: Set the starting point S and the target point G on the raster map, and initialize four containers: Open List1, Open List2, Closed List1, and Closed List2;
[0073] Step 3: Place the starting point S and the target point G into Open List1 and Open List2 respectively, and search the 8 neighborhoods around the starting point S and the target point G according to the direction of the lane;
[0074] Step 4: Label the searched nodes according to the way obstacles and non-obstacles are represented in the raster map. Where P(map) i) = 1, representing the presence of obstacles in the grid, the grid is occupied grid, represented as p(m i ) = 0, representing the absence of obstacles in the grid, the grid is free grid, represented as f(m i ) = 0, representing the absence of obstacles in the grid, the grid is free grid, represented as f(m
[0075] Step 5: As shown in the accompanying Figure 2 , for non-obstacle nodes, i.e. point set. According to the traditional F'(x) = g(x) + h(x) cost evaluation, and all based on the neighborhood of the starting point S points are put into Open List1, all based on the neighborhood of the target point G points are put into Open List2, respectively, from which the minimum cost nodes x1, x2 are selected, and the starting point S and the target point G are put into Closed List1 and Closed List2 respectively. Take x1, x2 as the current node, repeat the above steps until the two routes overlap, thus completing the bidirectional A* path search, obtaining a known optimal path, whose cost value is F'(x);
[0076] Step 6: Based on the starting point S, re-search the neighborhood and establish Open List3 and Closed List3, search in the 8 neighborhoods around the starting point S according to the direction of the roadway z matrix is the search matrix, where 0 represents the starting point S, and 2 represents the 8 unexplored neighborhoods around it, as shown in the accompanying Figure 3 , the center is the starting point S, and the surrounding is the neighborhood to be searched. After searching, according to the description in step 4 , where 0 represents no obstacle and 1 represents obstacle.
[0077] Step 7: Put the starting point S in Closed List3. For the above obstacle-free nodes, first judge whether it is in Open List3, if it exists, then evaluate according to the improved formula: . Otherwise, preferentially judge whether it is the target point G, if not, add it to Open List3, and then evaluate using the improved formula.
[0078] Step 8: Optimize the lowest cost value point as the path, repeat the above steps until the target point G is found, and the path search ends.
[0079] Example 2:
[0080] The difference between Example 2 and Example 1 is that Example 2 mainly elaborates on the improved formula, including the reason for proposing the formula, the physical meaning, and the effect.
[0081] The improved cost evaluation formula is:
[0082] F(x) = a*g(x) + b*h(x) + p * k(x)
[0083] Wherein:
[0084] g(x) is the actual cost value lost from the starting point to the current node, which is expressed as the distance between two points;
[0085] h(x) is the evaluation cost of the current node X to the target node G, which uses the Euclidean distance as the evaluation cost, wherein the current node coordinates X(x m , y m ), the target point coordinates G(x g , y g );
[0086] p is a dynamic change coefficient, which is related to the number of obstacles in the 8-neighborhood around the current node; attached Figure 3 The 8-neighborhood search is performed according to the direction of the roadway, which not only avoids the generation of redundant nodes due to the small transverse area of the roadway, but also improves the search speed.
[0087] k(x) is a cost compensation function, which is related to the ratio of the number of obstacles around the current node to the number of all obstacles in the graph;
[0088] a is the weighting coefficient of the actual cost value g(x), which increases continuously as the distance between the robot and the target point decreases;
[0089] b is the weighting coefficient of the evaluation cost h(x), which represents the influence of the evaluation cost h(x) in the total cost formula.
[0090] Since the positions of the starting point S and the target point G are fixed, the known optimal path cost F'(x) obtained by the bidirectional A* algorithm in Example 1 is fixed. As shown in the attached Figure 4 The ellipse is an ellipse with the starting point S and the target point G as the foci. Within the range of the ellipse, F'(x) is constant, and the long axis of the ellipse represents g(x) and the short axis represents h(x).
[0091] Based on the above reasoning, let a = log F’(x) (F'(x)-h(x)+1), since If h(x) is related to the distance between the current node and the target node, then h(x) gradually decreases as the robot gradually approaches the target node, and (F'(x)-h(x)+1) gradually approaches F'(x), at which time a gradually approaches 1 from 0. This reflects that the influence of the actual value g(x) is increasingly emphasized as the target node is approached, achieving the purpose of improving accuracy.
[0092] The size of the weighting coefficient b represents the influence of the evaluation value h(x) in the total cost formula, and the specific determination method is:
[0093] A dynamic environment factor ε is introduced, which is determined by the number of nodes d covered by the straight line distance from the current node to the target node and the number of obstacles o from the starting point to the target node, and let Then b = e ε As the robot approaches the target node, the number of nodes d gradually decreases and the number of obstacles o around the starting point to the target node remains unchanged, the dynamic environment factor ε decreases, thereby the weighting coefficient b decreases, achieving the effect that the influence of the evaluation value h(x) gradually weakens as the distance is reduced, thereby improving the speed of the early path search and paying attention to the accuracy of the later period.
[0094] For the dynamic change coefficient ρ, when the number of obstacles c around the current node reaches half or more of the exploration nodes (c is greater than or equal to four), ρ takes [0.8, 1.0]; when the number of obstacles c around the current node is less than half of the exploration nodes (c is greater than zero and less than four), ρ takes [0.4, 0.8]; when there is no obstacle around the current node, ρ takes [0, 0.4] (c is equal to zero). The effect is that when the number of surrounding obstacles is large, the weight of the dynamic compensation function k(x) is increased, and when the number of surrounding obstacles is small, the weight of the dynamic compensation function is reduced.
[0095] For the dynamic compensation function k(x), in order to enable the robot to dynamically adapt to the value of the surrounding obstacles, let Where q is the number of obstacles around the current node, and o is the number of obstacles from the starting point to the target node. This formula takes the number of obstacles q around the node as the evaluation standard, and o is a fixed value as the denominator. The effect is that if the number of obstacles around the current node is relatively large in the total number of obstacles, the search cost evaluation is increased to avoid the robot searching into the multi-obstacle area.
[0096] When the robot approaches the starting point S, the weighting of h(x) is large (b is large), and the weighting of g(x) is small (a ≈ 0). The large weighting of h(x) represents strong directionality and fast search speed. When b = 1 and a = 0, the formula at this time is F(x) = h(x) + ρ * k(x), also known as the greedy formula, which improves the search speed, improves the efficiency and reduces the accuracy.
[0097] When the robot approaches the goal point G, the weight of h(x) is small (b≈0) and the weight of g(x) is constant 1 (a=1), which approaches the real situation. At this time, the formula is F(x)=g(x)+p*k(x), which means that the node cost is evaluated according to the real cost and dynamic compensation formula, the speed of path search is obviously reduced, and the accuracy is significantly improved.
[0098] Example Three: This example is based on the path optimization of step 8 in example one, which is explained in detail through diagrams.
[0099] The specific steps of optimizing the lowest cost point as the path in step 8 are as follows:
[0100] The path optimization condition flow is shown in the attached Figure 7 : According to the direction of the roadway, set the path node set P k ={p1, p2…p n}, at a certain point, the vector and judge the size of the angle θ between the two vectors;
[0101] Since the roadway is a straight passage, when the angle between the two vectors does not exceed 30°, it is considered that the path polyline is too sharp, and it is considered that the actual robot cannot move along this acute angle, so it needs to be smoothed or re-planned. As shown in the attached Figure 5 , re-search the nodes or as shown in the attached Figure 6 , use a cubic B-spline curve to smooth the route. Otherwise, save the path and take it as the optimized path.
[0102] The smoothing of the path adopts the cubic B-spline curve equation, and the specific steps are as follows:
[0103] In the node interval that needs to be smoothed, introduce the cubic B-spline curve equation formula: Where P i is the control point, k=3 in N i,k (x), that is, N i,3 (x) is the cubic B-spline basis function, which is defined by the Cox-de Boor recursive formula:
[0104]
[0105] Generally, uniform B-spline functions are used. For uniform cubic B-spline, the node interval is 1, and the piecewise expression of the basis function in the parameter interval u∈[0, 1) is:
[0106]
[0107] Substitute the above basis function into In the third embodiment, a cubic spline curve is obtained, and the cubic spline curve is calculated; key inflection points with excessively sharp corners are selected, and curve fitting is performed on the generated cubic spline curve to achieve path smoothing. Figure 6 The path is smoothed according to the cubic B-spline curve, and the cubic B-spline curve can reduce the corner between paths according to key inflection points (sharp corner points). When there are many nodes, the overall route tends to be a smooth curve, and the practicality is improved compared with the traditional path. Figure 8 The effect diagram of the improved A* algorithm with six different target points is shown in the figure. It can be seen from the figure that the searched path almost does not have excessively sharp corners, and the accuracy of the path is improved, and more attention is paid to the actual walking conditions of the robot. Figure 9 The path search will selectively avoid the multi-obstacle area according to the number of surrounding obstacles, thereby reducing the probability of path bending and colliding with obstacles. Specifically, the compensation function is in effect. The route search is performed in the area with fewer obstacles to avoid searching in the multi-obstacle area. Figure 10 The total diagram of the path effect comparison of the two algorithms in the actual tunnel environment is shown in the figure. It can be seen from the figure that the path generated by the improved A* algorithm is smoother and has fewer corners than the path generated by the traditional A*, and is more practical. The problem of excessively sharp corners between paths is solved, and the traditional A* algorithm cannot dynamically evaluate and change according to the number of surrounding obstacles. The accuracy and efficiency of path search are improved.
[0108] Case four: This example mainly explains the real-time parameter measurement of the robot
[0109] For the required robot parameter state, positioning information, pose, and perception of the surrounding environment and map construction, an inertial measurement unit (IMU) and a laser radar (MID 360) are used for measurement, and real-time feedback is provided to the terminal.
[0110] The terminal needs to upload to the edge end for data processing and strategy selection, and upload these data to the cloud. The cloud makes decisions in the decision-making database, and downloads to the edge end for compression, and then transmits to the terminal to execute instructions. The terminal refers to a robot processor with low-level computing power, the edge end refers to a gateway or local server with medium-level computing power, and the cloud refers to a large server with high-level computing power.
[0111] The above only describes the preferred embodiments of the present application, and is not intended to limit the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A method for path planning of a roadway repair robot based on an improved A* algorithm, characterized in that, The method comprises the following steps: Step 1: the surrounding environment is perceived by a laser radar and a camera, a configuration space concept is introduced, the robot size is superimposed on the obstacle size, a two-dimensional grid map is established, and the robot is simplified as a point combined with a dynamic constraint for processing; Step 2: a starting point S and a target point G are set on the grid map, and four containers, Open List1, Open List2, Closed List1 and Closed List2, are initialized; Step 3: the starting point S and the target point G are respectively put into Open List1 and Open List2, and eight neighborhoods around the starting point S and the target point G are searched according to a lane direction; Step 4: the searched nodes are marked as occupied grids or free grids according to the grid map, the occupied grids represent that there are obstacles, and the free grids represent that there are no obstacles; Step 5: the non-obstacle nodes are evaluated by a traditional cost, all non-obstacle nodes based on the neighborhoods around the starting point S are put into Open List1, all non-obstacle nodes based on the neighborhoods around the target point G are put into Open List2, the nodes with the minimum cost are selected from Open List1 and Open List2 respectively, the starting point S and the target point G are respectively put into Closed List1 and Closed List2, the above steps are repeated until two routes overlap, and a known optimal path is obtained; Step 6: the neighborhood search is re-performed based on the starting point S, Open List3 and Closed List3 are established, and the search is performed in eight neighborhoods around the starting point S according to the lane direction; Step 7: the starting point S is placed in Closed List3, for the non-obstacle node, if the node is in Open List3, the node is evaluated according to an improved cost evaluation formula; if the node is not in Open List3, it is judged whether the node is the target point G, if not, the node is added into Open List3, and then the node is evaluated according to the improved cost evaluation formula; Step 8: the node with the lowest cost value is selected as a path, the above steps are repeated until the target point G is found, and the path search is ended.
2. The improved A* algorithm-based path planning method for a roadway repair robot according to claim 1, wherein, The improved cost evaluation formula is: F(x)=a*g(x)+b*h(x)+ρ*k(x) wherein: g(x) is an actual cost value lost from the starting point to the current node, and is represented as the distance between two points; The evaluation cost from the current node X to the target node G is taken as the Euclidean distance, wherein the current node coordinates X(x m , y m ), and the target point coordinates G(x g , y g ). ρ is a dynamic change coefficient, and the value of the dynamic change coefficient is related to the number of obstacles in eight neighborhoods around the current node; k(x) is a cost compensation function, and the size of the cost compensation function is related to the ratio of the number of obstacles around the current node to the number of all obstacles in the map; a is a weighting coefficient of the actual cost value g(x), and the size of the weighting coefficient a is increased with the distance between the robot and the target point being continuously shortened; b is a weighting coefficient of the evaluation cost h(x), and the size of the weighting coefficient b represents the influence size of the evaluation cost h(x) in the total cost formula.
3. The improved A* algorithm-based path planning method for a roadway repair robot according to claim 2, wherein, The formula of the weighting coefficient a is: a = log F’(x) (F'(x) - h(x) + 1) wherein F'(x) is the optimal path cost value calculated by using the bidirectional traditional A* algorithm, and h(x) is gradually reduced with the robot approaching the target point, so that a tends to 1.
4. The improved A* algorithm-based path planning method for a roadway repair robot according to claim 2, wherein, The size of the weighting coefficient b represents the influence of the evaluation value h(x) in the total cost formula, and the specific determination method is: A dynamic environment impact factor ε is introduced, which is determined by the number of nodes d covered by the straight line distance from the current node to the target point and the number of obstacles o from the starting point to the target point, and let Then b = e ε As the robot gets closer to the target point, the number of nodes d gradually decreases while the number of obstacles o around the starting point to the target point remains unchanged, the dynamic environment factor ε decreases, thereby the weighting coefficient b decreases, achieving the effect that the influence of the evaluation function value h(x) gradually weakens as the distance shrinks, and further improving the speed of the early path search and paying attention to the accuracy of the later period.
5. The improved A* algorithm-based path planning method for a roadway repair robot according to claim 2, wherein, The value method of the dynamic change coefficient p is: When the number of obstacles c around the current node reaches half or more of the exploration node, take [0.8, 1.0]; When the number of obstacles c around the current node is less than half of the exploration node, take [0.4, 0.8]; When there is no obstacle around the current node, take [0, 0.4].
6. The improved A* algorithm-based path planning method for a roadway repair robot according to claim 2, wherein, The formula of the cost compensation function k(x) is: Where q is the number of obstacles around the current node, and o is the number of obstacles from the starting point to the target point. For the dynamic compensation function k(x), the formula takes the number of obstacles q around the node as the standard, and o is a fixed value as the denominator.
7. The improved A* algorithm-based path planning method for a roadway repair robot according to claim 1, wherein, The specific steps of step 8 to prefer the lowest cost value point as the path are: According to the direction of the roadway, search, set path node set P k ={p1, p2…p n}, at a certain point vector and Determine the size of the angle θ between the two vectors; Since the tunnel is a straight passage, when the angle between the two vectors does not exceed 30°, it is considered that the path polyline is too sharp, and it is considered that the actual robot cannot move along this acute angle, so smoothing or re-planning the route is required.
8. The improved A* algorithm tunnel repair robot path planning method according to claim 7, characterized in that, The smoothing of the path uses a cubic B-spline curve equation, and the specific steps are: In the node interval which needs to be smoothed, the cubic B-spline curve equation formula is introduced: Where, P i is the control point, N i,k (x) is the cubic B-spline basis function, which is defined by Cox-de Boor recursive formula: i,3 (x) for k = 3, namely N Generally, uniform B-spline functions are used for processing. For uniform cubic B-spline, the node spacing is 1, and the piecewise expression of the basis function in the parameter interval u∈[0, 1) is: The above base function is substituted into A cubic spline curve is obtained, and the cubic spline curve is calculated; key turning points with too sharp corners are selected, and curve fitting is performed by using the generated cubic spline curve to realize path smoothing.