Intelligent ship path planning algorithm based on ADR-A*
By adopting a custom double-layer boundary expansion strategy, A* algorithm and adaptive direction restriction priority node search strategy in the intelligent ship path planning algorithm, the steering point is calculated and the full path coverage strategy is adopted, which solves the problem of difficult to generate path planning with multiple performances in complex chart environments in the existing technology, and achieves an efficient, safe and economical path planning effect.
Patent Information
- Application Number
- CN202411905088.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-23
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2044-12-23
AI Technical Summary
Existing intelligent ship path planning algorithms are difficult to generate comprehensive navigation paths that combine safety, economy, efficiency and smoothness in complex chart environments.
The intelligent ship path planning algorithm based on ADR-A* is adopted to process the chart through a custom double-layer boundary expansion strategy, combining the A* algorithm and the adaptive direction restriction priority node search strategy, the steering point is calculated and the critical path point is calculated using the full path coverage strategy.
Planning a comprehensive path that combines safety, smoothness, economy and efficiency in complex environments improves the feasibility, rationality and superiority of path planning.
Smart Images

Figure CN119826844A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of intelligent ship path planning, in particular to an intelligent ship path planning algorithm based on ADR-A*. Background Art
[0002] With the continuous growth of global trade, the rapid advancement of science and technology, and the continuous improvement of environmental protection awareness, smart ships, as an important carrier of the digital transformation of the shipping industry, are gradually entering the engineering application stage. Path planning, as one of its core elements, provides a strong guarantee for the safe and efficient navigation of smart ships. The current path planning algorithm mainly optimizes the single characteristics of the path, lacks a comprehensive navigable path that takes into account safety, economy, efficiency and smoothness, and the simulation experiment environment is relatively simple, which cannot fully reflect the path planning ability of the algorithm in a complex environment. In the process of industrialization of smart ships, there is an urgent need for a method to generate a comprehensive navigable path in a complex nautical environment. Summary of the invention
[0003] In view of the above problems, the present invention proposes an intelligent ship path planning algorithm based on ADR-A*.
[0004] The technical means adopted by the present invention are as follows:
[0005] An intelligent ship path planning algorithm based on ADR-A* includes the following steps:
[0006] Step 1: Process the obtained nautical chart based on a custom double-layer boundary puffing strategy to obtain a first-layer puffed nautical chart and a second-layer puffed nautical chart;
[0007] Step 2: Use the A* algorithm to perform path planning on the second-layer puffed chart to obtain all path point data of the second-layer puffed chart, wherein the sub-node list in the A* algorithm is obtained by using an adaptive direction-restricted priority node search strategy;
[0008] Step 3: Calculate the turning point data based on all the obtained path point data, and calculate the key path points in the first layer of puffed chart using the path full coverage strategy based on the obtained turning point data;
[0009] Step 4: Plan the chart environment path based on the calculated key path points.
[0010] Furthermore, the custom double-layer boundary expansion strategy includes the following steps:
[0011] Step 10, binarizing the obtained color chart to generate a binary chart;
[0012] Step 11, performing binary data boundary extraction on the binary nautical chart to obtain obstacle boundaries;
[0013] Step 12: Performing a first-layer puffing and a second-layer puffing based on the obstacle boundary to obtain a first-layer puffed nautical chart and a second-layer puffed nautical chart; wherein the distance of the second-layer puffing is greater than the distance of the first-layer puffing.
[0014] Furthermore, the adaptive direction-restricted priority node search strategy in the A* algorithm includes the following steps:
[0015] Step 20, obtain the current node coordinates and the end point coordinates;
[0016] Step 21, obtaining a search direction attribute according to the current node coordinates and the end point coordinates, and obtaining a priority node coordinate and a suboptimal node coordinate of the current node coordinate based on the search direction attribute;
[0017] Step 22, obtain the coordinates of the current suboptimal node, and determine whether the coordinates of the current suboptimal node are the end coordinates. If so, the path planning is completed and the node search ends; if not, execute step 23;
[0018] Step 23, determine whether the current suboptimal node coordinates are obstacle coordinates, if so, obtain the unreachable priority node coordinates according to the current suboptimal node coordinates and input them into the unreachable node list before executing step 24, if not, directly execute step 24;
[0019] Step 24, determine whether to traverse all suboptimal nodes. If so, obtain the coordinates of the reachable priority nodes and input them into the reachable node list; if not, return to step 22 and perform the next optimal node determination.
[0020] Further, the search direction attributes include above, below, left, right, upper left, lower left, upper right and lower right;
[0021] The strategy for obtaining the priority node coordinates and suboptimal node coordinates of the current node coordinates based on the search direction attribute is as follows:
[0022] When the search direction attribute is upward, the current node coordinates are (x, y), the priority node coordinates are (x-2, y), (x-2, y-1), (x-2, y-2), (x-1, y-2), (x, y-2), (x+1, y-2), (x+2, y), (x+2, y-1) and (x+2, y-2), and the suboptimal node coordinates are (x-1, y), (x-1, y-1), (x, y-1), (x+1, y) and (x+1, y-1);
[0023] When the search direction attribute is downward, the current node coordinates are (x, y), the priority node coordinates are (x-2, y), (x-2, y+1), (x-2, y+2), (x-1, y+2), (x, y+2), (x+1, y+2), (x+2, y), (x+2, y+1) and (x+2, y+2), and the suboptimal node coordinates are (x-1, y), (x-1, y+1), (x, y+1), (x+1, y) and (x+1, y+1);
[0024] When the search direction attribute is left, the current node coordinates are (x, y), the priority node coordinates are (x-2, y+2), (x-2, y+1), (x-2, y), (x-2, y-1), (x-2, y-2), (x-1, y+2), (x-1, y-2), (x, y+2) and (x, y-2), and the suboptimal node coordinates are (x-1, y+1), (x-1, y), (x-1, y-1), (x, y+1) and (x, y-1);
[0025] When the search direction attribute is right, the current node coordinates are (x, y), the priority node coordinates are (x, y+2), (x, y-2), (x+1, y+2), (x+1, y-2), (x+2, y+2), (x+2, y+1), (x+2, y), (x+2, y-1) and (x+2, y-2), and the suboptimal node coordinates are (x, y+1), (x, y-1), (x+1, y+1), (x+1, y) and (x+1, y-1);
[0026] When the search direction attribute is upper left, the current node coordinates are (x, y), the priority node coordinates are (x-2, y+2), (x-2, y+1), (x-2, y), (x-2, y-1), (x-2, y-2), (x-1, y-2), (x, y-2), (x+1, y-2) and (x+2, y-2), and the suboptimal node coordinates are (x-1, y+1), (x-1, y), (x-1, y-1), (x, y-1) and (x+1, y-1);
[0027] When the search direction attribute is lower left, the current node coordinates are (x, y), the priority node coordinates are (x-2, y+2), (x-2, y+1), (x-2, y), (x-2, y-1), (x-2, y-2), (x-1, y+2), (x, y+2), (x+1, y+2) and (x+2, y+2), and the suboptimal node coordinates are (x-1, y+1), (x-1, y), (x-1, y-1), (x, y+1) and (x+1, y+1);
[0028] When the search direction attribute is upper right, the current node coordinates are (x, y), the priority node coordinates are (x-2, y-2), (x-1, y-2), (x, y-2), (x+1, y-2), (x+2, y-2), (x+2, y-1), (x+2, y), (x+2, y+1) and (x+2, y+2), and the suboptimal node coordinates are (x-1, y-1), (x, y-1), (x+1, y-1), (x+1, y) and (x+1, y+1);
[0029] When the search direction attribute is lower right, the current node coordinates are (x, y), the priority node coordinates are (x-2, y+2), (x-1, y+2), (x, y+2), (x+1, y+2), (x+2, y+2), (x+2, y+1), (x+2, y), (x+2, y-1) and (x+2, y-2), and the suboptimal node coordinates are (x-1, y+1), (x, y+1), (x+1, y+1), (x+1, y) and (x+1, y-1).
[0030] Furthermore, if the current suboptimal node coordinates are obstacle coordinates, the strategy for obtaining the unreachable priority node coordinates based on the current suboptimal node coordinates is specifically as follows: when the line connecting the current node coordinates and the priority node coordinates passes through the grid corresponding to the current suboptimal node coordinates, the priority node coordinates are the unreachable priority node coordinates.
[0031] Furthermore, the calculation of key path points using the full path coverage strategy includes the following steps:
[0032] Step 300, obtaining any two turning point data, and using the two turning point data as the starting point coordinates (Xs, Ys) and the end point coordinates (Xe, Ye) respectively;
[0033] Step 301, creating a list points for storing coverage grid positions;
[0034] Step 302, calculate the minimum value Xmin of the horizontal coordinate, the maximum value Xmax of the horizontal coordinate, the minimum value Ymin of the vertical coordinate, the maximum value Ymax of the vertical coordinate, the absolute value Dx of the horizontal coordinate difference, and the absolute value Dy of the vertical coordinate difference according to the starting point coordinate and the end point coordinate;
[0035] Step 303, determine whether the absolute value of the horizontal coordinate difference Dx is 0, if so, execute step 304, if not, execute step 307;
[0036] Step 304, initializing the current Y to Ymin;
[0037] Step 305: Obtain the corresponding extended grid coordinates according to the current Y value, the extended grid coordinates are (Xs, Y), (Xs-1, Y) and (Xs+1, Y), and add the extended grid coordinates (Xs, Y), (Xs-1, Y) and (Xs+1, Y) to the list points;
[0038] Step 306, add 1 to the current Y value, and determine whether the Y value after adding 1 is greater than Ymax. If so, execute step 317, if not, return to step 305, and perform corresponding processing on the Y value after adding 1;
[0039] Step 307, calculate the equation of the straight line passing through the starting point coordinates (Xs, Ys) and the end point coordinates (Xe, Ye), and obtain the slope K and intercept b of the straight line equation;
[0040] Step 308, determine whether Dx is greater than Dy, if so, execute step 309, if not, execute step 313;
[0041] Step 309, initializing the current X to Xmin;
[0042] Step 310, calculate the Y value corresponding to the current X according to the straight line equation;
[0043] Step 311, rounding the Y value calculated by the straight line equation to obtain the rounded Y value round(Y), and obtaining the corresponding extended grid coordinates according to the rounded Y value round(Y), the extended grid coordinates are (X, round(Y)), (X, round(Y)-1), and (X, round(Y)+1), and the extended grid coordinates (X, round(Y)), (X, round(Y)-1), and (X, round(Y)+1) are added to the list points;
[0044] Step 312, add 1 to the current X value, and determine whether the X value after adding 1 is greater than Xmax. If so, execute step 317; if not, return to step 310 and perform corresponding processing on the X value after adding 1;
[0045] Step 313, initializing the current Y to Ymin;
[0046] Step 314, calculate the X value corresponding to the current Y according to the straight line equation;
[0047] Step 315: round the X value calculated by the line equation to obtain the rounded X value round(X), and obtain the corresponding extended grid coordinates according to the rounded X value round(X). The extended grid coordinates are (round(X), Y), (round(X)-1, Y), (round(X)+1, Y), and the extended grid coordinates are (round(X), Y), (round(X)-1, Y), (round(X)+1, Y) and added to the list points;
[0048] Step 316, add 1 to the current Y value, and determine whether the Y value after adding 1 is greater than Ymax. If so, execute step 317, if not, return to step 314 and perform corresponding processing on the Y value after adding 1;
[0049] Step 317, complete points calculation.
[0050] Furthermore, the method of using the A* algorithm to perform path planning processing on the second-layer puffed nautical chart to obtain all path point data of the second-layer puffed nautical chart includes the following steps:
[0051] Step 400: Initialize the OPEN table and the CLOSE table based on the second-layer puffed chart, and add the starting point as the current node Current to the OPEN table;
[0052] Step 401, determine whether the OPEN table is empty, if so, determine that the path planning fails and end the path planning, if not, execute step 402;
[0053] Step 402, determine whether the destination is in the OPEN table, if so, the path planning is successful, if not, execute step 403;
[0054] Step 403, calculate the F value of the nodes in the OPEN table according to the evaluation function of the A* algorithm, sort them according to the F value, define the node with the smallest value as the current node, and add the current node to the CLOSE table;
[0055] Step 404: According to the positional relationship between the current starting point and the end point, based on the adaptive direction restriction priority node search strategy, a list of sub-nodes to be detected is calculated;
[0056] Step 405, determine whether the end point is detected in the process of calculating the subnodes in step 404, if so, the path planning is successful, if not, execute step 406;
[0057] Step 406, determine whether the current child node is in the CLOSE table, if so, execute step 409, if not, execute step 407;
[0058] Step 407, determine whether the child node is in the OPEN table, if so, execute step 408, if not, add the current child node to the OPEN table, and execute step 409;
[0059] Step 408, determine whether the current F value of the child node is less than the F value of the node in the OPEN table. If so, update the OPEN table data, mainly including the parent node corresponding to the child node, the F value and the G value, and execute step 409. If not, do not change the OPEN table data, and directly execute step 409;
[0060] Step 409, determine whether the traversal of the child nodes is completed. If so, return to step 403 and continue calculating according to the updated OPEN table data. If not, return to step 405 and continue detecting the child nodes.
[0061] Furthermore, the specific process of calculating the turning point data from all the obtained path point data is as follows:
[0062] The equations of the lines passing through two adjacent path points are calculated in sequence. When the slopes of the equations of the two adjacent lines change, the path point where the two lines intersect is the turning point.
[0063] The specific process of calculating key path points using the full path coverage strategy in the first layer of puffed chart is as follows:
[0064] Step 50: connect the starting point with each turning point in turn, and determine whether each connection line crosses an obstacle based on the path full coverage strategy. If so, execute step 51. If not, determine whether the current turning point is the end point. If so, complete the key path point acquisition. If not, proceed to the next turning point connection.
[0065] Step 51: Take the previous turning point as the new starting point and key path point, and return to step 50.
[0066] Compared with the prior art, the intelligent ship path planning algorithm based on ADR-A* disclosed in the present invention has the following beneficial effects: the intelligent ship path planning algorithm based on ADR-A* disclosed in the present invention performs double-layer boundary expansion on the nautical chart, and adopts an adaptive direction restriction priority node search strategy in the calculation process of the sub-node list in the A* algorithm. At the same time, the key path points are calculated by calculating the turning points and adopting the full coverage strategy of the path to realize the path planning in the nautical chart environment, so that the ship path planning algorithm disclosed in the present invention can plan a comprehensive path with safety, smoothness, economy and efficiency in a complex environment, which effectively proves the feasibility, rationality and superiority of the algorithm, and can provide a new solution for the path planning of intelligent ships in a complex marine environment. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] Figure 1It is a flow chart of the intelligent ship path planning algorithm based on ADR-A* disclosed in the present invention;
[0068] Figure 2 It is a flow chart of the custom double-layer boundary expansion strategy disclosed in the present invention;
[0069] Figure 3 It is a schematic diagram of using the self-defined double-layer boundary expansion strategy disclosed in the present invention to expand the double-layer boundary of a nautical chart;
[0070] Figure 4 It is a schematic diagram of a puffed chart with one layer of boundaries;
[0071] Figure 5 It is a schematic diagram of the second-layer boundary puffing chart;
[0072] Figure 6 This is a flow chart of the path planning process for the second layer puffed chart using the A* algorithm disclosed in the present invention;
[0073] Figure 7 This is a flow chart of the adaptive direction restriction priority node search strategy in the present invention;
[0074] Figure 8 A distribution diagram of priority nodes and suboptimal nodes corresponding to eight search direction attributes in the adaptive direction-restricted priority node search strategy of the present invention;
[0075] Fig. 9 Schematic diagram of the unreachable situation of the priority node when the suboptimal node in the straight line direction is an obstacle;
[0076] Fig.10 Schematic diagram of the unreachable situation of the priority node when the suboptimal node in the diagonal direction is an obstacle;
[0077] Fig.11 It is a schematic diagram of the practical application of the adaptive direction restriction priority node search strategy of the present invention when the search direction attribute is the lower left;
[0078] Fig.12 It is a schematic diagram of the practical application of the adaptive direction restriction priority node search strategy of the present invention when the search direction attribute is below;
[0079] Fig.13 A schematic diagram for calculating turning points based on path points;
[0080] Fig.14 This is a flow chart of the path full coverage strategy in the present invention;
[0081] Fig.15 This is a schematic diagram of the path full coverage strategy in the present invention;
[0082] Fig.16A schematic diagram of extracting key nodes in the present invention;
[0083] Fig.17 This is a comparison chart of the optimization effects of path planning based on a custom double-layer expansion strategy and based on an existing expansion strategy;
[0084] Fig.18 For the Sea Figure 1 The simulation experiment results are shown in Figure 2.
[0085] Fig.19 For the Sea Figure 1 Data comparison chart of the middle path;
[0086] Fig. 20 For the Sea Figure 2 The simulation experiment results are shown in Figure 2.
[0087] Fig.21 For the Sea Figure 2 Data comparison chart of the middle path. DETAILED DESCRIPTION
[0088] like Figure 1 The figure shows a flow chart of the intelligent ship path planning algorithm based on ADR-A* disclosed in the present invention, which includes the following steps:
[0089] Step 1: Process the obtained nautical chart based on a custom double-layer boundary puffing strategy to obtain a first-layer puffed nautical chart and a second-layer puffed nautical chart;
[0090] Step 2: Use the A* algorithm to perform path planning on the second-layer puffed chart to obtain all path point data of the second-layer puffed chart, wherein the sub-node list in the A* algorithm is obtained by using an adaptive direction-restricted priority node search strategy;
[0091] Step 3: Calculate the turning point data based on all the obtained path point data, and calculate the key path points in the first layer of puffed chart using the path full coverage strategy based on the obtained turning point data;
[0092] Step 4: Plan the chart environment path based on the calculated key path points.
[0093] The intelligent ship path planning algorithm based on ADR-A* disclosed in the present invention performs double-layer boundary expansion on the nautical chart, and adopts an adaptive direction restriction priority node search strategy (Adaptive Direction Restriction Priority-node Search Strategy, ADRPSS) in the calculation process of the sub-node list in the A* algorithm. At the same time, the key path points are calculated by calculating the turning points and adopting the full path coverage strategy to realize the path planning in the nautical chart environment. The ship path planning algorithm disclosed in the present invention can plan a comprehensive path with safety, smoothness, economy and efficiency in a complex environment, which effectively proves the feasibility, rationality and superiority of the algorithm, and can provide a new solution for the path planning of intelligent ships in a complex marine environment. It can quickly plan a navigable path with a small number of turning points and a safe distance from obstacles, which has great safety significance and economic value.
[0094] Furthermore, if Figure 2 As shown, the custom double-layer boundary expansion strategy includes the following steps:
[0095] Step 10, binarizing the obtained color chart to generate a binary chart;
[0096] Step 11, performing binary data boundary extraction on the binary nautical chart to obtain obstacle boundaries;
[0097] Step 12: Performing a first-layer puffing and a second-layer puffing based on the obstacle boundary to obtain a first-layer puffed nautical chart and a second-layer puffed nautical chart; wherein the distance of the second-layer puffing is greater than the distance of the first-layer puffing.
[0098] Specifically, existing ship path planning generally uses the traditional A* algorithm for path planning. The path planned by the traditional A* algorithm is close to obstacles. In order to improve path safety, the path points need to be away from obstacles. The use of the expansion method can solve the above problems, but there are many path turning nodes in the existing path planning, which does not meet the smoothness and economy, and needs to be optimized. Since the path points are close to the obstacles, the probability of the path crossing the obstacles during optimization is relatively high, and the optimization effect is not good. In response to the above needs, this application proposes a custom double-layer boundary expansion strategy (Customizable Double-layer BoundaryExpansion Strategy, CDBES). The specific process of CDBES is to convert the sea Figure 2 Binarization, that is, binarizing the obtained color chart to generate a binary chart, extracting the obstacle boundary according to the binary data, and performing two puffing based on this boundary. The size of each puffing layer can be customized according to needs, but the puffing distance of the second layer should be greater than that of the first layer. Figure 3The specific situation of double-layer expansion is shown. Figure 3 The middle white area is the navigable waters, the gray-white area is the island and reef area, and the dark gray area outside the gray-white area is the obstacle boundary. The dark gray area is the first-layer puffing range, which is defined as the warning area in this application, and the final path must be outside the warning area to ensure the safety of the path. The light gray area outside the dark gray area is the range between the second-layer puffing and the first-layer puffing (the second-layer puffing includes the first-layer puffing part and the part outside the first-layer puffing). This article defines it as a buffer zone. The buffer zone provides a solution space for eliminating redundant nodes, and the final path can pass through this area. Figure 4 and Figure 5 It is shown that the custom double-layer boundary puffing strategy in the present invention finally generates two charts, namely the first-layer puffing chart and the second-layer puffing chart. Due to the use of the custom double-layer boundary puffing strategy, the present application has the following advantages, specifically: first, path planning is performed based on the second-layer puffing chart, and the initial path is generated outside the buffer zone; second, redundant nodes are eliminated based on the first-layer puffing chart. At this time, the path point and the warning area are separated by a buffer zone, and there is more room for solving feasible paths, which can fully optimize the path. Finally, a path with fewer turning points and no crossing of the warning area is generated, which improves the path smoothness and safety.
[0099] After the obtained nautical chart is subjected to double-layer boundary puffing processing based on the custom double-layer boundary puffing strategy, the A* algorithm is used to perform path planning processing on the obtained second-layer puffed nautical chart to obtain all the path point data of the second-layer puffed nautical chart. The specific process is as follows:
[0100] like Figure 6 As shown, the method of using the A* algorithm to perform path planning processing on the second-layer puffed nautical chart to obtain all path point data of the second-layer puffed nautical chart includes the following steps:
[0101] Step 400: Initialize the OPEN table and the CLOSE table based on the second-layer puffed chart, and add the starting point as the current node Current to the OPEN table;
[0102] Step 401, determine whether the OPEN table is empty, if so, determine that the path planning fails and end the path planning, if not, execute step 402;
[0103] Step 402, determine whether the destination is in the OPEN table, if so, the path planning is successful, if not, execute step 403;
[0104] Step 403, calculate the F value of the nodes in the OPEN table according to the evaluation function of the A* algorithm, sort them according to the F value, define the node with the smallest value as the current node, and add the current node to the CLOSE table;
[0105] Step 404: According to the positional relationship between the current starting point and the end point, based on the adaptive direction restriction priority node search strategy, a list of sub-nodes to be detected is calculated;
[0106] Step 405, determine whether the end point is detected in the process of calculating the subnodes in step 404, if so, the path planning is successful, if not, execute step 406;
[0107] Step 406, determine whether the current child node is in the CLOSE table, if so, execute step 409, if not, execute step 407;
[0108] Step 407, determine whether the child node is in the OPEN table, if so, execute step 408, if not, add the current child node to the OPEN table, and execute step 409;
[0109] Step 408, determine whether the current F value of the child node is less than the F value of the node in the OPEN table. If so, update the OPEN table data, mainly including the parent node corresponding to the child node, the F value and the G value, and execute step 409. If not, do not change the OPEN table data, and directly execute step 409;
[0110] Step 409, determine whether the traversal of the child nodes is completed. If so, return to step 403 and continue calculating according to the updated OPEN table data. If not, return to step 405 and continue detecting the child nodes.
[0111] In this application, the child node list in the A* algorithm is obtained by using an adaptive direction-restricted priority node search strategy, such as Figure 7 As shown, it specifically includes the following steps:
[0112] Step 20, obtain the current node coordinates and the end point coordinates;
[0113] Step 21, obtaining a search direction attribute according to the current node coordinates and the end point coordinates, and obtaining a priority node coordinate and a suboptimal node coordinate of the current node coordinate based on the search direction attribute;
[0114] Specifically, the search direction attributes include top, bottom, left, right, upper left, lower left, upper right and lower right; that is, the end point may be located at different positions of the current node; and the node search is performed based on different positions, specifically using the following strategy:
[0115] The strategy for obtaining the priority node coordinates and suboptimal node coordinates of the current node coordinates based on the search direction attribute is as follows: This patent performs path planning based on binary images. In computer software, the origin of image processing refers to the upper left corner of the image. When the search direction attribute is upward, the current node coordinates are (x, y), the priority node coordinates are (x-2, y), (x-2, y-1), (x-2, y-2), (x-1, y-2), (x, y-2), (x+1, y-2), (x+2, y), (x+2, y-1) and (x+2, y-2), and the suboptimal node coordinates are (x-1, y), (x-1, y-1), (x, y-1), (x+1, y) and (x+1, y-1);
[0116] When the search direction attribute is downward, the current node coordinates are (x, y), the priority node coordinates are (x-2, y), (x-2, y+1), (x-2, y+2), (x-1, y+2), (x, y+2), (x+1, y+2), (x+2, y), (x+2, y+1) and (x+2, y+2), and the suboptimal node coordinates are (x-1, y), (x-1, y+1), (x, y+1), (x+1, y) and (x+1, y+1);
[0117] When the search direction attribute is left, the current node coordinates are (x, y), the priority node coordinates are (x-2, y+2), (x-2, y+1), (x-2, y), (x-2, y-1), (x-2, y-2), (x-1, y+2), (x-1, y-2), (x, y+2) and (x, y-2), and the suboptimal node coordinates are (x-1, y+1), (x-1, y), (x-1, y-1), (x, y+1) and (x, y-1);
[0118] When the search direction attribute is right, the current node coordinates are (x, y), the priority node coordinates are (x, y+2), (x, y-2), (x+1, y+2), (x+1, y-2), (x+2, y+2), (x+2, y+1), (x+2, y), (x+2, y-1) and (x+2, y-2), and the suboptimal node coordinates are (x, y+1), (x, y-1), (x+1, y+1), (x+1, y) and (x+1, y-1);
[0119] When the search direction attribute is upper left, the current node coordinates are (x, y), the priority node coordinates are (x-2, y+2), (x-2, y+1), (x-2, y), (x-2, y-1), (x-2, y-2), (x-1, y-2), (x, y-2), (x+1, y-2) and (x+2, y-2), and the suboptimal node coordinates are (x-1, y+1), (x-1, y), (x-1, y-1), (x, y-1) and (x+1, y-1);
[0120] When the search direction attribute is lower left, the current node coordinates are (x, y), the priority node coordinates are (x-2, y+2), (x-2, y+1), (x-2, y), (x-2, y-1), (x-2, y-2), (x-1, y+2), (x, y+2), (x+1, y+2) and (x+2, y+2), and the suboptimal node coordinates are (x-1, y+1), (x-1, y), (x-1, y-1), (x, y+1) and (x+1, y+1);
[0121] When the search direction attribute is upper right, the current node coordinates are (x, y), the priority node coordinates are (x-2, y-2), (x-1, y-2), (x, y-2), (x+1, y-2), (x+2, y-2), (x+2, y-1), (x+2, y), (x+2, y+1) and (x+2, y+2), and the suboptimal node coordinates are (x-1, y-1), (x, y-1), (x+1, y-1), (x+1, y) and (x+1, y+1);
[0122] When the search direction attribute is lower right, the current node coordinates are (x, y), the priority node coordinates are (x-2, y+2), (x-1, y+2), (x, y+2), (x+1, y+2), (x+2, y+2), (x+2, y+1), (x+2, y), (x+2, y-1) and (x+2, y-2), and the suboptimal node coordinates are (x-1, y+1), (x, y+1), (x+1, y+1), (x+1, y) and (x+1, y-1);
[0123] That is, in this application, according to the positional relationship between the child node and the parent node, the nodes within the 8-neighborhood directly adjacent to the parent node are defined as suboptimal nodes, and the nodes within the 24-neighborhood and outside the 8-neighborhood indirectly adjacent to the parent node are defined as priority nodes. Figure 8 As shown in , the cross pattern part is the suboptimal node, and the diagonal pattern part is the priority node. Through this strategy, the algorithm only searches for the priority nodes during the path finding process, and can make adaptive adjustments based on the relative position relationship between the path point and the end point. Through this search strategy, the operation efficiency of the path planning algorithm is improved, and the goal orientation of the search process is improved;
[0124] Step 22, obtain the coordinates of the current suboptimal node, and determine whether the coordinates of the current suboptimal node are the end coordinates. If so, the path planning is completed and the node search ends; if not, execute step 23;
[0125] Step 23, determine whether the current suboptimal node coordinates are obstacle coordinates, if so, obtain the unreachable priority node coordinates according to the current suboptimal node coordinates and input them into the unreachable node list before executing step 24, if not, directly execute step 24;
[0126] Specifically, Fig. 9 and Fig.10 As shown in the figure, it is a schematic diagram of judging whether the priority node is feasible in the priority node search strategy with custom direction restrictions. When there is an obstacle in the straight line direction or diagonal direction of the node, the three priority nodes corresponding to the direction are all infeasible. That is, if the current suboptimal node coordinates are obstacle coordinates, the strategy for obtaining the unreachable priority node coordinates according to the current suboptimal node coordinates is as follows: when the line connecting the current node coordinates and the priority node coordinates passes through the grid corresponding to the current suboptimal node coordinates, the priority node coordinates are the unreachable priority node coordinates.
[0127] Fig.11 and Fig.12 Schematic diagram of the custom direction-restricted priority node search strategy in practical application. Fig.11 and Fig.12 The figure shows the distribution of priority nodes when the destination is located in two different directions and there are obstacles at the suboptimal nodes. Affected by the obstacles, 3 unreachable priority nodes are deleted and 5 reachable priority nodes are retained in both cases.
[0128] Step 24, determine whether to traverse all suboptimal nodes. If so, obtain the coordinates of the reachable priority nodes and input them into the reachable node list; if not, return to step 22 and perform the next optimal node determination.
[0129] The present invention obtains all the path point data of the second layer puffed chart through the above-disclosed ADR-A* algorithm (Adaptive Direction Restriction-A*, ADR-A*), then calculates the turning point data based on all the path point data obtained, and calculates the key path points in the first layer puffed chart using the path full coverage strategy based on the turning point data obtained, wherein the specific process of calculating the turning point data from all the path point data obtained is: sequentially calculating the straight line equations passing through two adjacent path points, when the slopes of the two adjacent straight line equations change, the path point where the two straight lines intersect is the turning point, such as Fig.13 In the figure, points A, B and C are all turning points;
[0130] like Fig.14As shown, the calculation of key path points using the full path coverage strategy includes the following steps:
[0131] Step 300, obtaining any two turning point data, and using the two turning point data as the starting point coordinates (Xs, Ys) and the end point coordinates (Xe, Ye) respectively;
[0132] Step 301, creating a list points for storing coverage grid positions;
[0133] Step 302, calculate the minimum value Xmin of the horizontal coordinate, the maximum value Xmax of the horizontal coordinate, the minimum value Ymin of the vertical coordinate, the maximum value Ymax of the vertical coordinate, the absolute value Dx of the horizontal coordinate difference, and the absolute value Dy of the vertical coordinate difference according to the starting point coordinate and the end point coordinate;
[0134] Step 303, determine whether the absolute value of the horizontal coordinate difference Dx is 0, if so, execute step 304, if not, execute step 307;
[0135] Step 304, initializing the current Y to Ymin;
[0136] Step 305: Obtain the corresponding extended grid coordinates according to the current Y value, the extended grid coordinates are (Xs, Y), (Xs-1, Y) and (Xs+1, Y), and add the extended grid coordinates (Xs, Y), (Xs-1, Y) and (Xs+1, Y) to the list points;
[0137] Step 306, add 1 to the current Y value, and determine whether the Y value after adding 1 is greater than Ymax. If so, execute step 317, if not, return to step 305, and perform corresponding processing on the Y value after adding 1;
[0138] Step 307, calculate the equation of the straight line passing through the starting point coordinates (Xs, Ys) and the end point coordinates (Xe, Ye), and obtain the slope K and intercept b of the straight line equation;
[0139] Step 308, determine whether Dx is greater than Dy, if so, execute step 309, if not, execute step 313;
[0140] Step 309, initializing the current X to Xmin;
[0141] Step 310, calculate the Y value corresponding to the current X according to the straight line equation;
[0142] Step 311, rounding the Y value calculated by the straight line equation to obtain the rounded Y value round(Y), and obtaining the corresponding extended grid coordinates according to the rounded Y value round(Y), the extended grid coordinates are (X, round(Y)), (X, round(Y)-1), and (X, round(Y)+1), and the extended grid coordinates (X, round(Y)), (X, round(Y)-1), and (X, round(Y)+1) are added to the list points;
[0143] Step 312, add 1 to the current X value, and determine whether the X value after adding 1 is greater than Xmax. If so, execute step 317; if not, return to step 310 and perform corresponding processing on the X value after adding 1;
[0144] Step 313, initializing the current Y to Ymin;
[0145] Step 314, calculate the X value corresponding to the current Y according to the straight line equation;
[0146] Step 315: round the X value calculated by the line equation to obtain the rounded X value round(X), and obtain the corresponding extended grid coordinates according to the rounded X value round(X). The extended grid coordinates are (round(X), Y), (round(X)-1, Y), (round(X)+1, Y), and the extended grid coordinates are (round(X), Y), (round(X)-1, Y), (round(X)+1, Y) and added to the list points;
[0147] Step 316, add 1 to the current Y value, and determine whether the Y value after adding 1 is greater than Ymax. If so, execute step 317, if not, return to step 314 and perform corresponding processing on the Y value after adding 1;
[0148] Step 317, complete points calculation.
[0149] Fig.15 Schematic diagram of the path full coverage strategy (PFCS). Fig.15 The medium grey filled areas represent the grids that need to be checked when judging the safety of the route. Fig.15The schematic diagram shows the grid that needs to be detected when the difference between the horizontal and vertical coordinates of the starting point and the end point is equal. Traditional path planning algorithms usually regard the path as a line segment with no width, and only detect whether the points on the line segment encounter obstacles when judging the safety of the path. This method may cause the path to be too close to the obstacle. Therefore, this patent proposes a full path coverage strategy, which effectively improves the safety of path planning by treating the path as an area with a certain width rather than a single line, so as to be more comprehensive when evaluating the safety of the path.
[0150] In this application, the specific process of calculating the key path points using the path full coverage strategy in the first layer of puffed chart is as follows:
[0151] Step 50: connect the starting point with each turning point in turn, and determine whether each connection line crosses an obstacle based on the path full coverage strategy. If so, execute step 51. If not, determine whether the current turning point is the end point. If so, complete the key path point acquisition. If not, proceed to the next turning point connection.
[0152] Step 51: Take the previous turning point as the new starting point and key path point, and return to step 50.
[0153] Fig.16 : This figure is a schematic diagram for extracting key nodes. Fig.16 The specific optimization process is as follows: connect the starting point s and the turning point p2, the line segment does not cross obstacles, and the turning point p1 between the two points is eliminated; connect the starting point s and the turning point p3, the line segment crosses obstacles, and p2 is the key path point. After extracting the key path point, take the key path point as the new starting point and continue to optimize the path; connect the turning point p2 and the end point e, and eliminate the turning point p3 between the two points; at this time, the end point is detected and the path optimization is completed. The optimized path is s-p2-e, and the key path point is p2.
[0154] like Fig.17 The comparison chart of the optimization effect of path planning based on the custom double-layer puffing strategy and the existing puffing strategy is shown. The solid line path in the figure is the path planned by the present invention based on the second layer puffing chart and the path optimized based on the first layer puffing chart, and the dots are its turning points. The dotted line path is the path planned based on the first layer puffing chart and the path optimized based on the first layer puffing chart, and the dots are its turning points. Fig.17 The results show that the customized double-layer expansion strategy not only keeps the path points away from obstacles, but also fully eliminates redundant nodes, thus improving the navigability and economy of the path.
[0155] Fig.18 and Fig. 20 These are simulation experiment results. Fig.19 and Fig.21All of them are data comparison charts. All experiments in this patent are simulated using QT. The chart size is 500×500, and the algorithm is run 20 times. The simulation experiment results are all closest to the average value. The data comparison chart shows that the results are the average value.
[0156] Fig.18 For the sea Figure 1 In the example, the starting point is (32,7) and the end point is (239,469). The ADR-A* algorithm (AdaptiveDirection Restriction-A*, ADR-A*) is compared with the A* algorithm, the Bidirectional A* algorithm (Bi-A*), and the Rapidly-exploring Random Trees Star (RRT*). Fig.19 From the data comparison chart, we can see that the number of turning points is optimized by at least 83.33%, the path length is optimized by at least 3.96%, and the running time is optimized by at least 53.6%.
[0157] Fig. 20 For the sea Figure 2 In the experiment, the starting point is (60,10) and the end point is (422,482). The ADR-A* algorithm is compared with the A* algorithm, the Bi-A* algorithm, and the RRT* algorithm. Fig.21 From the data comparison chart, we can see that the number of turning points is optimized by at least 83.33%, the path length is optimized by at least 3.96%, and the running time is optimized by at least 53.6%.
[0158] The intelligent ship path planning algorithm based on the ADR-A* algorithm disclosed in the present invention innovatively proposes three strategies. First, in order to improve the safety of the path, a custom double-layer boundary expansion strategy is proposed. The preprocessing of the nautical chart environment not only retains the real environmental characteristics of the obstacles, but also keeps the path points away from the obstacles, leaving optimization space for the subsequent elimination of redundant points. Secondly, in order to improve the search efficiency of the algorithm, an adaptive direction restriction priority node search strategy is proposed. During the path-finding process, the algorithm adaptively adjusts the position and number of search nodes according to the positional relationship between the path point and the end point and the distribution of obstacles, thereby increasing the accuracy and goal orientation of the path-finding process. Finally, in response to the problem of uneven paths, a path full coverage strategy is proposed. The key nodes are extracted, and the path is optimized based on the path full coverage strategy, and finally a shortest path with higher smoothness is obtained.
[0159] This patent discloses an intelligent ship path planning algorithm based on ADR-A*, and conducts comparative experiments with classic path planning algorithms (A*, Bi-A*, RRT*) in different nautical environments. The evaluation indicators of the experiment are path length, number of turning points and running time. The experimental results show that the three evaluation indicators of the ADR-A* algorithm are better than the other three path planning algorithms, indicating that the algorithm can plan a comprehensive path with safety, smoothness, economy and efficiency in a complex environment, effectively proving the feasibility, rationality and superiority of the algorithm, and can provide a new solution for path planning of intelligent ships in complex marine environments.
[0160] The above description is only a preferred specific implementation manner of the present invention, but the protection scope of the present invention is not limited thereto. Any technician familiar with the technical field can make equivalent replacements or changes according to the technical scheme and inventive concept of the present invention within the technical scope disclosed by the present invention, which should be covered by the protection scope of the present invention.
Claims
1. An intelligent ship path planning algorithm based on ADR-A*, characterized in that: The following steps are involved: Step 1: Process the obtained nautical chart based on a custom double-layer boundary puffing strategy to obtain a first-layer puffed nautical chart and a second-layer puffed nautical chart; Step 2: Use the A* algorithm to perform path planning on the second-layer puffed chart to obtain all path point data of the second-layer puffed chart, wherein the sub-node list in the A* algorithm is obtained by using an adaptive direction-restricted priority node search strategy; Step 3: Calculate the turning point data based on all the obtained path point data, and calculate the key path points in the first layer of puffed chart using the path full coverage strategy based on the obtained turning point data; Step 4: Plan the chart environment path based on the calculated key path points.
2. The intelligent ship path planning algorithm based on ADR-A* according to claim 1 is characterized in that: The custom double-layer boundary expansion strategy includes the following steps: Step 10, binarizing the obtained color chart to generate a binary chart; Step 11, performing binary data boundary extraction on the binary nautical chart to obtain obstacle boundaries; Step 12: Performing a first-layer puffing and a second-layer puffing based on the obstacle boundary to obtain a first-layer puffed chart and a second-layer puffed chart; wherein the distance of the second-layer puffing is greater than the distance of the first-layer puffing.
3. The intelligent ship path planning algorithm based on ADR-A* according to claim 1, characterized in that: The adaptive direction-limited priority node search strategy in the A* algorithm includes the following steps: Step 20, obtain the current node coordinates and the end point coordinates; Step 21, obtaining a search direction attribute according to the current node coordinates and the end point coordinates, and obtaining a priority node coordinate and a suboptimal node coordinate of the current node coordinate based on the search direction attribute; Step 22, obtain the coordinates of the current suboptimal node, and determine whether the coordinates of the current suboptimal node are the end coordinates. If so, the path planning is completed and the node search ends; if not, execute step 23; Step 23, determine whether the current suboptimal node coordinates are obstacle coordinates, if so, obtain the unreachable priority node coordinates according to the current suboptimal node coordinates and input them into the unreachable node list before executing step 24, if not, directly execute step 24; Step 24, determine whether to traverse all suboptimal nodes. If so, obtain the coordinates of the reachable priority nodes and input them into the reachable node list; if not, return to step 22 and perform the next optimal node determination.
4. The intelligent ship path planning algorithm based on ADR-A* according to claim 3 is characterized in that: The search direction attributes include top, bottom, left, right, upper left, lower left, upper right and lower right; The strategy for obtaining the priority node coordinates and suboptimal node coordinates of the current node coordinates based on the search direction attribute is as follows: When the search direction attribute is upward, the current node coordinates are (x, y), the priority node coordinates are (x-2, y), (x-2, y-1), (x-2, y-2), (x-1, y-2), (x, y-2), (x+1, y-2), (x+2, y), (x+2, y-1) and (x+2, y-2), and the suboptimal node coordinates are (x-1, y), (x-1, y-1), (x, y-1), (x+1, y) and (x+1, y-1); When the search direction attribute is downward, the current node coordinates are (x, y), the priority node coordinates are (x-2, y), (x-2, y+1), (x-2, y+2), (x-1, y+2), (x, y+2), (x+1, y+2), (x+2, y), (x+2, y+1) and (x+2, y+2), and the suboptimal node coordinates are (x-1, y), (x-1, y+1), (x, y+1), (x+1, y) and (x+1, y+1); When the search direction attribute is left, the current node coordinates are (x, y), the priority node coordinates are (x-2, y+2), (x-2, y+1), (x-2, y), (x-2, y-1), (x-2, y-2), (x-1, y+2), (x-1, y-2), (x, y+2) and (x, y-2), and the suboptimal node coordinates are (x-1, y+1), (x-1, y), (x-1, y-1), (x, y+1) and (x, y-1); When the search direction attribute is right, the current node coordinates are (x, y), the priority node coordinates are (x, y+2), (x, y-2), (x+1, y+2), (x+1, y-2), (x+2, y+2), (x+2, y+1), (x+2, y), (x+2, y-1) and (x+2, y-2), and the suboptimal node coordinates are (x, y+1), (x, y-1), (x+1, y+1), (x+1, y) and (x+1, y-1); When the search direction attribute is upper left, the current node coordinates are (x, y), the priority node coordinates are (x-2, y+2), (x-2, y+1), (x-2, y), (x-2, y-1), (x-2, y-2), (x-1, y-2), (x, y-2), (x+1, y-2) and (x+2, y-2), and the suboptimal node coordinates are (x-1, y+1), (x-1, y), (x-1, y-1), (x, y-1) and (x+1, y-1); When the search direction attribute is lower left, the current node coordinates are (x, y), the priority node coordinates are (x-2, y+2), (x-2, y+1), (x-2, y), (x-2, y-1), (x-2, y-2), (x-1, y+2), (x, y+2), (x+1, y+2) and (x+2, y+2), and the suboptimal node coordinates are (x-1, y+1), (x-1, y), (x-1, y-1), (x, y+1) and (x+1, y+1); When the search direction attribute is upper right, the current node coordinates are (x, y), the priority node coordinates are (x-2, y-2), (x-1, y-2), (x, y-2), (x+1, y-2), (x+2, y-2), (x+2, y-1), (x+2, y), (x+2, y+1) and (x+2, y+2), and the suboptimal node coordinates are (x-1, y-1), (x, y-1), (x+1, y-1), (x+1, y) and (x+1, y+1); When the search direction attribute is lower right, the current node coordinates are (x, y), the priority node coordinates are (x-2, y+2), (x-1, y+2), (x, y+2), (x+1, y+2), (x+2, y+2), (x+2, y+1), (x+2, y), (x+2, y-1) and (x+2, y-2), and the suboptimal node coordinates are (x-1, y+1), (x, y+1), (x+1, y+1), (x+1, y) and (x+1, y-1).
5. The intelligent ship path planning algorithm based on ADR-A* according to claim 4 is characterized in that: If the current suboptimal node coordinates are obstacle coordinates, the strategy for obtaining the unreachable priority node coordinates according to the current suboptimal node coordinates is as follows: when the line connecting the current node coordinates and the priority node coordinates passes through the grid corresponding to the current suboptimal node coordinates, the priority node coordinates are the unreachable priority node coordinates.
6. The intelligent ship path planning algorithm based on ADR-A* according to claim 1, characterized in that: The calculation of key path points using the full path coverage strategy includes the following steps: Step 300, obtaining any two turning point data, and using the two turning point data as the starting point coordinates (Xs, Ys) and the end point coordinates (Xe, Ye) respectively; Step 301, creating a list points for storing coverage grid positions; Step 302, calculate the minimum value Xmin of the horizontal coordinate, the maximum value Xmax of the horizontal coordinate, the minimum value Ymin of the vertical coordinate, the maximum value Ymax of the vertical coordinate, the absolute value Dx of the horizontal coordinate difference, and the absolute value Dy of the vertical coordinate difference according to the starting point coordinate and the end point coordinate; Step 303, determine whether the absolute value of the horizontal coordinate difference Dx is 0, if so, execute step 304, if not, execute step 307; Step 304, initializing the current Y to Ymin; Step 305: Obtain the corresponding extended grid coordinates according to the current Y value, the extended grid coordinates are (Xs, Y), (Xs-1, Y) and (Xs+1, Y), and add the extended grid coordinates (Xs, Y), (Xs-1, Y) and (Xs+1, Y) to the list points; Step 306, add 1 to the current Y value, and determine whether the Y value after adding 1 is greater than Ymax. If so, execute step 317, if not, return to step 305, and perform corresponding processing on the Y value after adding 1; Step 307, calculate the equation of the straight line passing through the starting point coordinates (Xs, Ys) and the end point coordinates (Xe, Ye), and obtain the slope K and intercept b of the straight line equation; Step 308, determine whether Dx is greater than Dy, if so, execute step 309, if not, execute step 313; Step 309, initializing the current X to Xmin; Step 310, calculate the Y value corresponding to the current X according to the straight line equation; Step 311, rounding the Y value calculated by the straight line equation to obtain the rounded Y value round(Y), and obtaining the corresponding extended grid coordinates according to the rounded Y value round(Y), the extended grid coordinates are (X, round(Y)), (X, round(Y)-1), and (X, round(Y)+1), and the extended grid coordinates (X, round(Y)), (X, round(Y)-1), and (X, round(Y)+1) are added to the list points; Step 312, add 1 to the current X value, and determine whether the X value after adding 1 is greater than Xmax. If so, execute step 317; if not, return to step 310 and perform corresponding processing on the X value after adding 1; Step 313, initializing the current Y to Ymin; Step 314, calculate the X value corresponding to the current Y according to the straight line equation; Step 315: round the X value calculated by the line equation to obtain the rounded X value round(X), and obtain the corresponding extended grid coordinates according to the rounded X value round(X). The extended grid coordinates are (round(X), Y), (round(X)-1, Y), (round(X)+1, Y), and the extended grid coordinates are (round(X), Y), (round(X)-1, Y), (round(X)+1, Y) and added to the list points; Step 316, add 1 to the current Y value, and determine whether the Y value after adding 1 is greater than Ymax. If so, execute step 317, if not, return to step 314 and perform corresponding processing on the Y value after adding 1; Step 317, complete points calculation.
7. The intelligent ship path planning algorithm based on ADR-A* according to claim 1, characterized in that: The method of using the A* algorithm to perform path planning processing on the second-layer puffed nautical chart to obtain all path point data of the second-layer puffed nautical chart includes the following steps: Step 400: Initialize the OPEN table and the CLOSE table based on the second-layer puffed chart, and add the starting point as the current node Current to the OPEN table; Step 401, determine whether the OPEN table is empty, if so, determine that the path planning fails and end the path planning, if not, execute step 402; Step 402, determine whether the destination is in the OPEN table, if so, the path planning is successful, if not, execute step 403; Step 403, calculate the F value of the nodes in the OPEN table according to the evaluation function of the A* algorithm, sort them according to the F value, define the node with the smallest value as the current node, and add the current node to the CLOSE table; Step 404: According to the positional relationship between the current starting point and the end point, based on the adaptive direction restriction priority node search strategy, a list of sub-nodes to be detected is calculated; Step 405, determine whether the end point is detected in the process of calculating the subnodes in step 404, if so, the path planning is successful, if not, execute step 406; Step 406, determine whether the current child node is in the CLOSE table, if so, execute step 409, if not, execute step 407; Step 407, determine whether the child node is in the OPEN table, if so, execute step 408, if not, add the current child node to the OPEN table, and execute step 409; Step 408, determine whether the current F value of the child node is less than the F value of the node in the OPEN table. If so, update the OPEN table data, mainly including the parent node corresponding to the child node, the F value and the G value, and execute step 409. If not, do not change the OPEN table data, and directly execute step 409; Step 409, determine whether the traversal of the child nodes is completed. If so, return to step 403 and continue calculating according to the updated OPEN table data. If not, return to step 405 and continue detecting the child nodes.
8. The intelligent ship path planning algorithm based on ADR-A* according to claim 1, characterized in that: The specific process of calculating the turning point data from all the path point data obtained is as follows: The equations of the lines passing through two adjacent path points are calculated in sequence. When the slopes of the equations of the two adjacent lines change, the path point where the two lines intersect is the turning point. The specific process of calculating key path points using the full path coverage strategy in the first layer of puffed chart is as follows: Step 50: connect the starting point with each turning point in turn, and determine whether each connection line crosses an obstacle based on the path full coverage strategy. If so, execute step 51. If not, determine whether the current turning point is the end point. If so, complete the key path point acquisition. If not, proceed to the next turning point connection. Step 51: Take the previous turning point as the new starting point and key path point, and return to step 50.
Citation Information
Patent Citations
Path planning method of grid map
CN112683275A
Multi-unmanned ship coverage path planning method and system facing dynamic environment interference
CN115686003A
Path planning algorithm based on fusion of few barrier sides and steering cost
CN116976535A
Stable movement global path planning method for indoor mobile robot
WO2023155371A1